diff --git a/laws-modules/src/main/java/com/jero/modules/laws/common/service/impl/LawsCommonServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/laws/common/service/impl/LawsCommonServiceImpl.java index fad9cd96..39c373fa 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/common/service/impl/LawsCommonServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/common/service/impl/LawsCommonServiceImpl.java @@ -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 partNameIdList = partNameStandardService.getByStandardId(id); + if (CollectionUtils.isEmpty(partNameIdList)) { + return; + } // 根据标准id找到对应的零部件记录 LambdaQueryWrapper partNameLambdaQueryWrapper = new LambdaQueryWrapper<>(); partNameLambdaQueryWrapper.in(PartName::getCode, partNameIdList); @@ -767,6 +768,12 @@ public class LawsCommonServiceImpl implements ILawsCommonService { private void processPartName(Map parameterMap, String standardId) { // 零部件 String partName = (String) parameterMap.get(FieldCommon.PART_NAME); + if (partName == null) { + return; + } + // 先删后增 + partNameStandardService.remove(new LambdaUpdateWrapper() + .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 oldDataMap = getByIdAndModule(id, module, "2", standardNumber);