fix: 老法规导入接口 状态代替被代替问题修复

This commit is contained in:
2024-01-04 13:40:49 +08:00
parent 2832087868
commit 8029c195b4
@@ -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<String> 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<LawsReplacedStandard> 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<String> 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<String, LawsTreeNode> 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<String> 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<LawsReplacedStandard> 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<String> 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<String> 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<LawsReplacedStandard> 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<String> replaceCodeList = Arrays.asList(btdbzh.split(","));
replaceCodeList.forEach(replaceCode -> {
lawsReplacedStandardService.removeRelation(replaceCode, 1);
lawsReplacedStandardService.addRelationOldSystemSync(standardNumber, replaceCode, 1);
});
}