From 8029c195b49f14d52c7b2e89780783c29f8c9bf3 Mon Sep 17 00:00:00 2001 From: caihaohan Date: Thu, 4 Jan 2024 11:41:03 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=80=81=E6=B3=95=E8=A7=84=E5=AF=BC?= =?UTF-8?q?=E5=85=A5=E6=8E=A5=E5=8F=A3=20=E7=8A=B6=E6=80=81=E4=BB=A3?= =?UTF-8?q?=E6=9B=BF=E8=A2=AB=E4=BB=A3=E6=9B=BF=E9=97=AE=E9=A2=98=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/OldSystemServiceImpl.java | 83 +++++++++++++++---- 1 file changed, 69 insertions(+), 14 deletions(-) diff --git a/laws-modules/src/main/java/com/jero/modules/laws/oldSystem/service/impl/OldSystemServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/laws/oldSystem/service/impl/OldSystemServiceImpl.java index 26d51cc0..dabce085 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/oldSystem/service/impl/OldSystemServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/oldSystem/service/impl/OldSystemServiceImpl.java @@ -179,6 +179,8 @@ public class OldSystemServiceImpl implements OldSystemService { this.oldSysFBImport(allDatalist, errImportList); } + // 统一清理代替被代替重复数据 + lawsReplacedStandardService.clearRepeatData(); if (!errImportList.isEmpty()) { this.exportWithExcel(response, errImportList, "OldSystemStandardErrorData.xls"); } @@ -591,7 +593,14 @@ public class OldSystemServiceImpl implements OldSystemService { } String standardState = dto.getBzzt(); - fb.setStandardState(standardState.equals("现行有效") ? "6" : "7"); + switch (standardState) { + case "现行有效": + fb.setStandardState("6"); + break; + case "作废": + fb.setStandardState("7"); + break; + } // 代替被代替特殊逻辑 fb.setSubstituteStandardNumber(dto.getTdbzh()); fb.setReplacedByStandardNumber(dto.getBtdbzh()); @@ -677,6 +686,16 @@ public class OldSystemServiceImpl implements OldSystemService { // 4. 遍历待保存或更新的列表,设置ID StringBuilder oldIds = new StringBuilder(); StringBuilder newIds = new StringBuilder(); + // 获取所有相关标准号 + List replaceStandardNoList = fbList.stream().map(LawsOverseasStandard::getStandardNumber).collect(Collectors.toList()); + replaceStandardNoList.addAll(fbList.stream().map(LawsOverseasStandard::getSubstituteStandardNumber).collect(Collectors.toList())); + replaceStandardNoList.addAll(fbList.stream().map(LawsOverseasStandard::getReplacedByStandardNumber).collect(Collectors.toList())); + // 清除所有外标 + LambdaQueryWrapper replacedStandardWrapper = new LambdaQueryWrapper<>(); + replacedStandardWrapper + .in(LawsReplacedStandard::getReplaced, replaceStandardNoList).or() + .in(LawsReplacedStandard::getReplacedBy, replaceStandardNoList); + lawsReplacedStandardService.remove(replacedStandardWrapper); for (LawsOverseasStandard entity : fbList) { LawsOverseasStandard existingEntity = standardNumberToEntityMap.get(entity.getStandardNumber()); if (existingEntity != null) { @@ -692,20 +711,18 @@ public class OldSystemServiceImpl implements OldSystemService { entity.setId(existingEntity.getId()); } + String standardNumber = entity.getStandardNumber(); String tdbzh = entity.getSubstituteStandardNumber(); String btdbzh = entity.getReplacedByStandardNumber(); // 代替标准号 // 先删除已经存储的关联 - String standardNumber = entity.getStandardNumber(); if (StringUtils.isNotBlank(tdbzh)) { - lawsReplacedStandardService.removeRelation(standardNumber, 1); lawsReplacedStandardService.addRelationOldSystemSync(tdbzh, standardNumber, 1); } // 被代替标准号 if (StringUtils.isNotBlank(btdbzh)) { List replaceCodeList = Arrays.asList(btdbzh.split(",")); replaceCodeList.forEach(replaceCode -> { - lawsReplacedStandardService.removeRelation(replaceCode, 1); lawsReplacedStandardService.addRelationOldSystemSync(standardNumber, replaceCode, 1); }); } @@ -1292,7 +1309,6 @@ public class OldSystemServiceImpl implements OldSystemService { log.info("企标体系导入结束"); } - // 在您的类中添加这个方法 private String buildPathToRoot(String nodeId, Map nodeIdMap) { // 获取当前节点 LawsTreeNode currentNode = nodeIdMap.get(nodeId); @@ -1536,7 +1552,17 @@ public class OldSystemServiceImpl implements OldSystemService { } String standardState = dto.getBzzt(); - gb.setStandardState(standardState.equals("现行有效") ? "6" : "7"); + switch (standardState) { + case "现行有效": + gb.setStandardState("6"); + break; + case "作废": + gb.setStandardState("7"); + break; + case "预发布": + gb.setStandardState("4"); + break; + } // 代替被代替特殊逻辑 gb.setSubstituteStandardNumber(dto.getTdbzh()); gb.setReplacedByStandardNumber(dto.getBtdbzh()); @@ -1618,6 +1644,17 @@ public class OldSystemServiceImpl implements OldSystemService { // 4. 遍历待保存或更新的列表,设置ID StringBuilder oldIds = new StringBuilder(); StringBuilder newIds = new StringBuilder(); + + // 获取所有相关标准号 + List replaceStandardNoList = gbList.stream().map(LawsDomesticStandard::getStandardNumber).collect(Collectors.toList()); + replaceStandardNoList.addAll(gbList.stream().map(LawsDomesticStandard::getSubstituteStandardNumber).collect(Collectors.toList())); + replaceStandardNoList.addAll(gbList.stream().map(LawsDomesticStandard::getReplacedByStandardNumber).collect(Collectors.toList())); + // 清除所有外标 + LambdaQueryWrapper replacedStandardWrapper = new LambdaQueryWrapper<>(); + replacedStandardWrapper + .in(LawsReplacedStandard::getReplaced, replaceStandardNoList).or() + .in(LawsReplacedStandard::getReplacedBy, replaceStandardNoList); + lawsReplacedStandardService.remove(replacedStandardWrapper); for (LawsDomesticStandard entity : gbList) { LawsDomesticStandard existingEntity = standardNumberToEntityMap.get(entity.getStandardNumber()); if (existingEntity != null) { @@ -1639,14 +1676,12 @@ public class OldSystemServiceImpl implements OldSystemService { // 先删除已经存储的关联 String standardNumber = entity.getStandardNumber(); if (StringUtils.isNotBlank(tdbzh)) { - lawsReplacedStandardService.removeRelation(standardNumber, 1); lawsReplacedStandardService.addRelationOldSystemSync(tdbzh, standardNumber, 1); } // 被代替标准号 if (StringUtils.isNotBlank(btdbzh)) { List replaceCodeList = Arrays.asList(btdbzh.split(",")); replaceCodeList.forEach(replaceCode -> { - lawsReplacedStandardService.removeRelation(replaceCode, 1); lawsReplacedStandardService.addRelationOldSystemSync(standardNumber, replaceCode, 1); }); } @@ -1750,7 +1785,20 @@ public class OldSystemServiceImpl implements OldSystemService { } } String standardState = dto.getBzzt(); - es.setStandardState(standardState.equals("现行有效") ? "6" : "7"); + switch (standardState) { + case "现行有效": + es.setStandardState("8"); + break; + case "作废": + es.setStandardState("9"); + break; + case "封存": + es.setStandardState("A"); + break; + case "预发布": + es.setStandardState("5"); + break; + } es.setGradeClassification(null); // 代替被代替特殊逻辑 es.setSubstituteStandardNumber(dto.getTdbzh()); @@ -1828,8 +1876,18 @@ public class OldSystemServiceImpl implements OldSystemService { // 4. 遍历待保存或更新的列表,设置ID StringBuilder oldIds = new StringBuilder(); StringBuilder newIds = new StringBuilder(); + + // 获取所有相关标准号 + List replaceStandardNoList = esList.stream().map(LawsEnterpriseStandard::getStandardNumber).collect(Collectors.toList()); + replaceStandardNoList.addAll(esList.stream().map(LawsEnterpriseStandard::getSubstituteStandardNumber).collect(Collectors.toList())); + replaceStandardNoList.addAll(esList.stream().map(LawsEnterpriseStandard::getReplacedByStandardNumber).collect(Collectors.toList())); + // 清除所有外标 + LambdaQueryWrapper replacedStandardWrapper = new LambdaQueryWrapper<>(); + replacedStandardWrapper + .in(LawsReplacedStandard::getReplaced, replaceStandardNoList).or() + .in(LawsReplacedStandard::getReplacedBy, replaceStandardNoList); + lawsReplacedStandardService.remove(replacedStandardWrapper); for (LawsEnterpriseStandard entity : esList) { - String curStandardNumber = entity.getStandardNumber(); LawsEnterpriseStandard existingEntity = standardNumberToEntityMap.get(entity.getStandardNumber()); if (existingEntity != null) { // 如果存在执行更新操作 @@ -1844,20 +1902,17 @@ public class OldSystemServiceImpl implements OldSystemService { entity.setId(existingEntity.getId()); } + String standardNumber = entity.getStandardNumber(); String tdbzh = entity.getSubstituteStandardNumber(); String btdbzh = entity.getReplacedByStandardNumber(); // 代替标准号 - // 先删除已经存储的关联 - String standardNumber = entity.getStandardNumber(); if (StringUtils.isNotBlank(tdbzh)) { - lawsReplacedStandardService.removeRelation(standardNumber, 1); lawsReplacedStandardService.addRelationOldSystemSync(tdbzh, standardNumber, 1); } // 被代替标准号 if (StringUtils.isNotBlank(btdbzh)) { List replaceCodeList = Arrays.asList(btdbzh.split(",")); replaceCodeList.forEach(replaceCode -> { - lawsReplacedStandardService.removeRelation(replaceCode, 1); lawsReplacedStandardService.addRelationOldSystemSync(standardNumber, replaceCode, 1); }); }