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") @Dict(dictTable = "laws_tree_node", dicCode = "id", dicText = "node_name")
@ApiModelProperty(value = "企标体系") @ApiModelProperty(value = "企标体系")
private String enStandardSystem; 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") @Dict(dictTable = "laws_part_name", dicCode = "code", dicText = "name")
@ApiModelProperty(value = "零部件名称") @ApiModelProperty(value = "零部件名称")
private String componentName; 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") @Dict(dictTable = "sys_depart", dicCode = "id", dicText = "depart_name")
@ApiModelProperty(value = "授权部门") @ApiModelProperty(value = "授权部门")
private String authDept; private String authDept;
@@ -527,14 +527,6 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualI
} }
private void cleanData(List<ProcessEsAnnualInit> list) { 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 -> { list.forEach(item -> {
// 如果是制定则去除掉所有的原企标名称 原企标编号 // 如果是制定则去除掉所有的原企标名称 原企标编号
if (ESPProjectType.ENACT.getValue().equals(item.getProjectType())) { 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.setContactUser(excelUtils.translateDictValue("CONCAT(realname, '(', username, ')')", "id", "sys_user", item.getContactUser(), listDict));
item.setStandardType(excelUtils.translateDictValue("esp_standard_type", item.getStandardType(), listDict)); item.setStandardType(excelUtils.translateDictValue("esp_standard_type", item.getStandardType(), listDict));
item.setEnStandardClassification(excelUtils.translateDictValue("standard_grade_classify", item.getEnStandardClassification(), 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.setDraftPlannedCompleteDate(importUtil.convertDate(item.getDraftPlannedCompleteDateString()));
item.setSolicitationDraftPlanCompleteDate(importUtil.convertDate(item.getSolicitationDraftPlanCompleteDateString())); item.setSolicitationDraftPlanCompleteDate(importUtil.convertDate(item.getSolicitationDraftPlanCompleteDateString()));
item.setPlanApprovalDate(importUtil.convertDate(item.getPlanApprovalDateString())); 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(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.validCooperateUnit(cooperationUnit, listDict));
errMsg.append(excelUtils.validMainDraftingUser(mainDraftingUser, listDict)); errMsg.append(excelUtils.validMainDraftingUser(mainDraftingUser, listDict));
errMsg.append(excelUtils.validMainDraftingUnit(mainDraftingUnit, listDict));
errMsg.append(excelUtils.validMainDraftingUnitResponsiblePerson(mainDraftingUnitResponsiblePerson, listDict)); errMsg.append(excelUtils.validMainDraftingUnitResponsiblePerson(mainDraftingUnitResponsiblePerson, listDict));
errMsg.append(excelUtils.validStandardPromoter(standardPromoter, listDict)); errMsg.append(excelUtils.validStandardPromoter(standardPromoter, listDict));
errMsg.append(excelUtils.validStandardSystem(standardSystem, listDict, false)); 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") @Dict(dicCode = "standard_grade_classify")
@ApiModelProperty(value = "企标等级分类") @ApiModelProperty(value = "企标等级分类")
private String enStandardClassification; private String enStandardClassification;
@@ -235,6 +235,7 @@ public class ProcessEsAnnualReport implements Serializable {
/** /**
* 零部件名称 * 零部件名称
*/ */
@Dict(dictTable = "laws_part_name", dicCode = "code", dicText = "name")
@ApiModelProperty(value = "零部件名称") @ApiModelProperty(value = "零部件名称")
private String componentName; 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") @Dict(dictTable = "sys_depart", dicCode = "id", dicText = "depart_name")
@ApiModelProperty(value = "授权部门") @ApiModelProperty(value = "授权部门")
private String authDept; private String authDept;
@@ -429,14 +429,6 @@ public class ProcessEsAnnualReportServiceImpl extends ServiceImpl<ProcessEsAnnua
} }
private void cleanData(List<ProcessEsAnnualReport> list) { 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 -> { list.forEach(item -> {
// 如果是制定则去除掉所有的原企标名称 原企标编号 // 如果是制定则去除掉所有的原企标名称 原企标编号
if (ESPProjectType.ENACT.getValue().equals(item.getProjectType())) { if (ESPProjectType.ENACT.getValue().equals(item.getProjectType())) {
@@ -474,6 +466,7 @@ public class ProcessEsAnnualReportServiceImpl extends ServiceImpl<ProcessEsAnnua
item.setDraftPlannedCompleteDate(importUtil.convertDate(item.getDraftPlannedCompleteDateString())); item.setDraftPlannedCompleteDate(importUtil.convertDate(item.getDraftPlannedCompleteDateString()));
item.setSolicitationDraftPlanCompleteDate(importUtil.convertDate(item.getSolicitationDraftPlanCompleteDateString())); item.setSolicitationDraftPlanCompleteDate(importUtil.convertDate(item.getSolicitationDraftPlanCompleteDateString()));
item.setPlanApprovalDate(importUtil.convertDate(item.getPlanApprovalDateString())); 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 draftPlannedCompleteDateString = plan.getDraftPlannedCompleteDateString();
String solicitationDraftPlanCompleteDateString = plan.getSolicitationDraftPlanCompleteDateString(); String solicitationDraftPlanCompleteDateString = plan.getSolicitationDraftPlanCompleteDateString();
String planApprovalDateString = plan.getPlanApprovalDateString(); String planApprovalDateString = plan.getPlanApprovalDateString();
String partName = plan.getComponentName();
StringBuilder errMsgHeader = new StringBuilder(); StringBuilder errMsgHeader = new StringBuilder();
StringBuilder errMsg = new StringBuilder(); StringBuilder errMsg = new StringBuilder();
@@ -517,11 +511,10 @@ public class ProcessEsAnnualReportServiceImpl extends ServiceImpl<ProcessEsAnnua
// 检查制修订类型 编号 名称 // 检查制修订类型 编号 名称
errMsg.append(validProjectType(plan, listDict, esList)); 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.validCooperateUnit(cooperationUnit, listDict));
errMsg.append(excelUtils.validMainDraftingUser(mainDraftingUser, listDict)); errMsg.append(excelUtils.validMainDraftingUser(mainDraftingUser, listDict));
errMsg.append(excelUtils.validMainDraftingUnit(mainDraftingUnit, listDict));
errMsg.append(excelUtils.validMainDraftingUnitResponsiblePerson(mainDraftingUnitResponsiblePerson, listDict)); errMsg.append(excelUtils.validMainDraftingUnitResponsiblePerson(mainDraftingUnitResponsiblePerson, listDict));
errMsg.append(excelUtils.validStandardPromoter(standardPromoter, listDict)); errMsg.append(excelUtils.validStandardPromoter(standardPromoter, listDict));
errMsg.append(excelUtils.validWorkGroup(workGroup, 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(draftPlannedCompleteDateString, "草稿计划完成日期"));
errMsg.append(excelUtils.validSingleDateMustInputNotBeforeToday(solicitationDraftPlanCompleteDateString, "征求意见稿计划完成日期")); errMsg.append(excelUtils.validSingleDateMustInputNotBeforeToday(solicitationDraftPlanCompleteDateString, "征求意见稿计划完成日期"));
errMsg.append(excelUtils.validSingleDateMustInputNotBeforeToday(planApprovalDateString, "计划报批日期")); errMsg.append(excelUtils.validSingleDateMustInputNotBeforeToday(planApprovalDateString, "计划报批日期"));
errMsg.append(excelUtils.validPartName(partName, listDict, false));
// 如果数据有问题,则将提示信息添加到 errorMsgs 中 // 如果数据有问题,则将提示信息添加到 errorMsgs 中
if (errMsg.length() > 0) { if (errMsg.length() > 0) {
errorMsgs.add(errMsgHeader.append(errMsg).toString()); errorMsgs.add(errMsgHeader.append(errMsg).toString());
@@ -261,8 +261,11 @@ public class ExcelUtils {
return ""; return "";
} }
public String validAuthDept(String authDept, List<SysDictItemCore> listDict, public String validAuthDept(String authDept, List<SysDictItemCore> listDict, String mainDraftingUnit,
String standardClassification, Map<String, List<String>> authDeptMap) { String standardClassification, Map<String, List<String>> authDeptMap, boolean mustInput) {
// 先校验主起草部门
this.validMainDraftingUnit(mainDraftingUnit, listDict);
if (StrUtil.isBlank(authDept) && StrUtil.isBlank(standardClassification)) { if (StrUtil.isBlank(authDept) && StrUtil.isBlank(standardClassification)) {
return ""; return "";
} }
@@ -280,7 +283,11 @@ public class ExcelUtils {
String level = translateDictValue("standard_grade_classify", standardClassification, listDict); String level = translateDictValue("standard_grade_classify", standardClassification, listDict);
if (StrUtil.isBlank(authDept)) { if (StrUtil.isBlank(authDept)) {
return "'授权部门'不能为空。"; if (mustInput) {
return "'授权部门'不能为空。";
} else {
return "";
}
} }
// 检查授权部门 // 检查授权部门
if (!excelUtils.validDict("depart_name", authDept, "sys_depart", "id", false, listDict)) { if (!excelUtils.validDict("depart_name", authDept, "sys_depart", "id", false, listDict)) {
@@ -288,11 +295,14 @@ public class ExcelUtils {
} }
// 将授权部门转换为idList // 将授权部门转换为idList
String deptIds = excelUtils.translateDictValue("depart_name", "id", "sys_depart", authDept, listDict); 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")) { if (level.equals("2") || level.equals("3")) {
boolean isMatching = isMatchingAuthDept( List<String> levelOneIds = authDeptMap.get("1");
Arrays.asList(deptIds.split(",")), levelOneIds.add(mainDraftUnitId);
level.equals("2") ? authDeptMap.get("1") : authDeptMap.get("2") List<String> levelTwoIds = authDeptMap.get("2");
); levelTwoIds.add(mainDraftUnitId);
boolean isMatching = isMatchingAuthDept(deptList, level.equals("2") ? levelOneIds : levelTwoIds);
if (!isMatching) { if (!isMatching) {
return "'授权部门'和'标准等级分类'不匹配。"; 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 "'零部件名称'无效。";
} }
return ""; return "";