fix: 81066 80301

This commit is contained in:
2024-01-30 15:28:30 +08:00
parent 6b6b1df416
commit 2318b584db
7 changed files with 30 additions and 34 deletions
@@ -159,7 +159,7 @@ public class ProcessEsAnnualInit implements Serializable {
/**
* 企标体系
*/
@Excel(name = "*标准体系", width = 25, orderNum = "7")
@Excel(name = "标准体系", width = 25, orderNum = "7")
@Dict(dictTable = "laws_tree_node", dicCode = "id", dicText = "node_name")
@ApiModelProperty(value = "企标体系")
private String enStandardSystem;
@@ -246,7 +246,7 @@ public class ProcessEsAnnualInit implements Serializable {
/**
* 零部件名称
*/
@Excel(name = "*零部件名称", width = 15, orderNum = "13")
@Excel(name = "零部件名称", width = 15, orderNum = "13")
@Dict(dictTable = "laws_part_name", dicCode = "code", dicText = "name")
@ApiModelProperty(value = "零部件名称")
private String componentName;
@@ -254,7 +254,7 @@ public class ProcessEsAnnualInit implements Serializable {
/**
* 授权部门
*/
@Excel(name = "*授权部门", width = 15, orderNum = "14")
@Excel(name = "授权部门", width = 15, orderNum = "14")
@Dict(dictTable = "sys_depart", dicCode = "id", dicText = "depart_name")
@ApiModelProperty(value = "授权部门")
private String authDept;
@@ -527,14 +527,6 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualI
}
private void cleanData(List<ProcessEsAnnualInit> list) {
// List<String> originStandardNoList = list.stream().map(ProcessEsAnnualInit::getOriginEnStandardNo).collect(Collectors.toList());
// LambdaQueryWrapper<LawsEnterpriseStandard> esWrapper = new LambdaQueryWrapper<>();
// esWrapper.in(LawsEnterpriseStandard::getStandardNumber, originStandardNoList);
// List<LawsEnterpriseStandard> esList = enterpriseStandardService.list(esWrapper);
// // 转换成key为企标编号的map
// Map<String, LawsEnterpriseStandard> esMap = esList.stream().collect(Collectors.toMap(LawsEnterpriseStandard::getStandardNumber, item -> item));
list.forEach(item -> {
// 如果是制定则去除掉所有的原企标名称 原企标编号
if (ESPProjectType.ENACT.getValue().equals(item.getProjectType())) {
@@ -569,10 +561,10 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualI
item.setContactUser(excelUtils.translateDictValue("CONCAT(realname, '(', username, ')')", "id", "sys_user", item.getContactUser(), listDict));
item.setStandardType(excelUtils.translateDictValue("esp_standard_type", item.getStandardType(), listDict));
item.setEnStandardClassification(excelUtils.translateDictValue("standard_grade_classify", item.getEnStandardClassification(), listDict));
item.setComponentName(excelUtils.translateDictValue("part_name", item.getComponentName(), listDict));
item.setDraftPlannedCompleteDate(importUtil.convertDate(item.getDraftPlannedCompleteDateString()));
item.setSolicitationDraftPlanCompleteDate(importUtil.convertDate(item.getSolicitationDraftPlanCompleteDateString()));
item.setPlanApprovalDate(importUtil.convertDate(item.getPlanApprovalDateString()));
item.setComponentName(excelUtils.translateDictValue("name", "code", "laws_part_name", item.getComponentName(), listDict));
});
}
@@ -618,11 +610,10 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualI
// 检查制修订类型 编号 名称
errMsg.append(validProjectType(plan, listDict, esList));
// 检查标准等级分类和授权部门
errMsg.append(excelUtils.validAuthDept(authDept, listDict, standardClassification, authDeptMap));
errMsg.append(excelUtils.validAuthDept(authDept, listDict, mainDraftingUnit, standardClassification, authDeptMap, false));
// 检查所有数据字典校验的字段
errMsg.append(excelUtils.validCooperateUnit(cooperationUnit, listDict));
errMsg.append(excelUtils.validMainDraftingUser(mainDraftingUser, listDict));
errMsg.append(excelUtils.validMainDraftingUnit(mainDraftingUnit, listDict));
errMsg.append(excelUtils.validMainDraftingUnitResponsiblePerson(mainDraftingUnitResponsiblePerson, listDict));
errMsg.append(excelUtils.validStandardPromoter(standardPromoter, listDict));
errMsg.append(excelUtils.validStandardSystem(standardSystem, listDict, false));
@@ -179,7 +179,7 @@ public class ProcessEsAnnualReport implements Serializable {
/**
* 企标等级分类
*/
@Excel(name = "*标准等级分类", width = 15, orderNum = "10")
@Excel(name = "标准等级分类", width = 15, orderNum = "10")
@Dict(dicCode = "standard_grade_classify")
@ApiModelProperty(value = "企标等级分类")
private String enStandardClassification;
@@ -235,6 +235,7 @@ public class ProcessEsAnnualReport implements Serializable {
/**
* 零部件名称
*/
@Dict(dictTable = "laws_part_name", dicCode = "code", dicText = "name")
@ApiModelProperty(value = "零部件名称")
private String componentName;
/**
@@ -315,7 +316,7 @@ public class ProcessEsAnnualReport implements Serializable {
/**
* 授权部门
*/
@Excel(name = "*授权部门", width = 15, orderNum = "5")
@Excel(name = "授权部门", width = 15, orderNum = "5")
@Dict(dictTable = "sys_depart", dicCode = "id", dicText = "depart_name")
@ApiModelProperty(value = "授权部门")
private String authDept;
@@ -429,14 +429,6 @@ public class ProcessEsAnnualReportServiceImpl extends ServiceImpl<ProcessEsAnnua
}
private void cleanData(List<ProcessEsAnnualReport> list) {
// List<String> originStandardNoList = list.stream().map(ProcessEsAnnualReport::getOriginEnStandardNo).collect(Collectors.toList());
//
// LambdaQueryWrapper<LawsEnterpriseStandard> esWrapper = new LambdaQueryWrapper<>();
// esWrapper.in(LawsEnterpriseStandard::getStandardNumber, originStandardNoList);
// List<LawsEnterpriseStandard> esList = enterpriseStandardService.list(esWrapper);
// // 转换成key为企标编号的map
// Map<String, LawsEnterpriseStandard> esMap = esList.stream().collect(Collectors.toMap(LawsEnterpriseStandard::getStandardNumber, item -> item));
list.forEach(item -> {
// 如果是制定则去除掉所有的原企标名称 原企标编号
if (ESPProjectType.ENACT.getValue().equals(item.getProjectType())) {
@@ -474,6 +466,7 @@ public class ProcessEsAnnualReportServiceImpl extends ServiceImpl<ProcessEsAnnua
item.setDraftPlannedCompleteDate(importUtil.convertDate(item.getDraftPlannedCompleteDateString()));
item.setSolicitationDraftPlanCompleteDate(importUtil.convertDate(item.getSolicitationDraftPlanCompleteDateString()));
item.setPlanApprovalDate(importUtil.convertDate(item.getPlanApprovalDateString()));
item.setComponentName(excelUtils.translateDictValue("name", "code", "laws_part_name", item.getComponentName(), listDict));
});
}
@@ -509,6 +502,7 @@ public class ProcessEsAnnualReportServiceImpl extends ServiceImpl<ProcessEsAnnua
String draftPlannedCompleteDateString = plan.getDraftPlannedCompleteDateString();
String solicitationDraftPlanCompleteDateString = plan.getSolicitationDraftPlanCompleteDateString();
String planApprovalDateString = plan.getPlanApprovalDateString();
String partName = plan.getComponentName();
StringBuilder errMsgHeader = new StringBuilder();
StringBuilder errMsg = new StringBuilder();
@@ -517,11 +511,10 @@ public class ProcessEsAnnualReportServiceImpl extends ServiceImpl<ProcessEsAnnua
// 检查制修订类型 编号 名称
errMsg.append(validProjectType(plan, listDict, esList));
// 检查标准等级分类和授权部门
errMsg.append(excelUtils.validAuthDept(authDept, listDict, standardClassification, authDeptMap));
errMsg.append(excelUtils.validAuthDept(authDept, listDict, mainDraftingUnit, standardClassification, authDeptMap, false));
// 检查所有数据字典校验的字段
errMsg.append(excelUtils.validCooperateUnit(cooperationUnit, listDict));
errMsg.append(excelUtils.validMainDraftingUser(mainDraftingUser, listDict));
errMsg.append(excelUtils.validMainDraftingUnit(mainDraftingUnit, listDict));
errMsg.append(excelUtils.validMainDraftingUnitResponsiblePerson(mainDraftingUnitResponsiblePerson, listDict));
errMsg.append(excelUtils.validStandardPromoter(standardPromoter, listDict));
errMsg.append(excelUtils.validWorkGroup(workGroup, listDict));
@@ -530,6 +523,7 @@ public class ProcessEsAnnualReportServiceImpl extends ServiceImpl<ProcessEsAnnua
errMsg.append(excelUtils.validSingleDateMustInputNotBeforeToday(draftPlannedCompleteDateString, "草稿计划完成日期"));
errMsg.append(excelUtils.validSingleDateMustInputNotBeforeToday(solicitationDraftPlanCompleteDateString, "征求意见稿计划完成日期"));
errMsg.append(excelUtils.validSingleDateMustInputNotBeforeToday(planApprovalDateString, "计划报批日期"));
errMsg.append(excelUtils.validPartName(partName, listDict, false));
// 如果数据有问题,则将提示信息添加到 errorMsgs 中
if (errMsg.length() > 0) {
errorMsgs.add(errMsgHeader.append(errMsg).toString());
@@ -261,8 +261,11 @@ public class ExcelUtils {
return "";
}
public String validAuthDept(String authDept, List<SysDictItemCore> listDict,
String standardClassification, Map<String, List<String>> authDeptMap) {
public String validAuthDept(String authDept, List<SysDictItemCore> listDict, String mainDraftingUnit,
String standardClassification, Map<String, List<String>> authDeptMap, boolean mustInput) {
// 先校验主起草部门
this.validMainDraftingUnit(mainDraftingUnit, listDict);
if (StrUtil.isBlank(authDept) && StrUtil.isBlank(standardClassification)) {
return "";
}
@@ -280,7 +283,11 @@ public class ExcelUtils {
String level = translateDictValue("standard_grade_classify", standardClassification, listDict);
if (StrUtil.isBlank(authDept)) {
return "'授权部门'不能为空。";
if (mustInput) {
return "'授权部门'不能为空。";
} else {
return "";
}
}
// 检查授权部门
if (!excelUtils.validDict("depart_name", authDept, "sys_depart", "id", false, listDict)) {
@@ -288,11 +295,14 @@ public class ExcelUtils {
}
// 将授权部门转换为idList
String deptIds = excelUtils.translateDictValue("depart_name", "id", "sys_depart", authDept, listDict);
List<String> deptList = new ArrayList<>(Arrays.asList(deptIds.split(",")));
String mainDraftUnitId = excelUtils.translateDictValue("depart_name", "id", "sys_depart", mainDraftingUnit, listDict);
if (level.equals("2") || level.equals("3")) {
boolean isMatching = isMatchingAuthDept(
Arrays.asList(deptIds.split(",")),
level.equals("2") ? authDeptMap.get("1") : authDeptMap.get("2")
);
List<String> levelOneIds = authDeptMap.get("1");
levelOneIds.add(mainDraftUnitId);
List<String> levelTwoIds = authDeptMap.get("2");
levelTwoIds.add(mainDraftUnitId);
boolean isMatching = isMatchingAuthDept(deptList, level.equals("2") ? levelOneIds : levelTwoIds);
if (!isMatching) {
return "'授权部门'和'标准等级分类'不匹配。";
}
@@ -435,7 +445,7 @@ public class ExcelUtils {
}
}
// 检查工作组
if (!excelUtils.validDict("part_name", value, null, null, true, listDict)) {
if (!excelUtils.validDict("code", value, "laws_part_name", "name", true, listDict)) {
return "'零部件名称'无效。";
}
return "";