fix: 标准编辑涉及系统/部件bug

This commit is contained in:
2024-07-12 16:31:02 +08:00
parent b108f7e97f
commit 4f7f8736fe
@@ -1,5 +1,6 @@
package com.jero.modules.laws.common.service.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.text.CharSequenceUtil;
import cn.hutool.core.util.StrUtil;
@@ -11,12 +12,9 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.jero.common.api.vo.ResultCommon;
import com.jero.common.aspect.annotation.Dict;
import com.jero.common.constant.CommonConstant;
import com.jero.common.constant.enums.LanguageEnum;
import com.jero.common.constant.enums.YesOrNoEnum;
import com.jero.common.exception.JeroBootException;
@@ -506,6 +504,9 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
} else if (FieldCommon.PART_NAME.equals(key) && StringUtils.isNotBlank(value)) {
// 如果是零部件
List<String> partNameIdList = partNameStandardService.getByStandardId(id);
if (CollectionUtils.isEmpty(partNameIdList)) {
return;
}
// 根据标准id找到对应的零部件记录
LambdaQueryWrapper<PartName> partNameLambdaQueryWrapper = new LambdaQueryWrapper<>();
partNameLambdaQueryWrapper.in(PartName::getCode, partNameIdList);
@@ -767,6 +768,12 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
private void processPartName(Map<String, Object> parameterMap, String standardId) {
// 零部件
String partName = (String) parameterMap.get(FieldCommon.PART_NAME);
if (partName == null) {
return;
}
// 先删后增
partNameStandardService.remove(new LambdaUpdateWrapper<LawsPartNameStandard>()
.eq(LawsPartNameStandard::getStandardId, standardId));
if (StrUtil.isBlank(partName)) {
return;
}
@@ -778,7 +785,9 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
partNameStandard.setPartNameId(partNameId);
partNameStandardList.add(partNameStandard);
});
partNameStandardService.saveBatch(partNameStandardList);
if (CollUtil.isNotEmpty(partNameStandardList)) {
partNameStandardService.saveBatch(partNameStandardList);
}
}
/**
@@ -867,6 +876,8 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
// 处理新增和编辑时的代替标准、引用标准
processReplaced(parameterMap, standardNumber, module);
// 处理零部件
processPartName(parameterMap, id);
// 获取数据库里没修改的数据
Map<String, Object> oldDataMap = getByIdAndModule(id, module, "2", standardNumber);