From ffe55f29549d80078e289543904953e21a218e9a Mon Sep 17 00:00:00 2001 From: cuijiaming <1410452759@qq.com> Date: Sat, 1 Apr 2023 00:52:56 +0800 Subject: [PATCH] =?UTF-8?q?=E6=AF=94=E5=A1=AB=E9=A1=B9=E6=A0=A1=E9=AA=8C?= =?UTF-8?q?=EF=BC=8C=E5=B8=82=E5=9C=BA=E6=B8=85=E5=8D=95=E5=AF=BC=E5=85=A5?= =?UTF-8?q?=E3=80=81=E5=AF=BC=E5=87=BA=E3=80=81=E6=A8=A1=E6=9D=BF=E4=B8=8B?= =?UTF-8?q?=E8=BD=BD=E5=A2=9E=E4=BA=A4=E4=BB=98=E7=89=A9=E6=A8=A1=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/AuthDummyInventoryInfoEO.java | 14 +- .../entity/AuthDummyInventoryInfoEOEn.java | 22 +- .../AuthDummyInventoryInfoEOServiceImpl.java | 185 ++++--- .../ProjectCertificationInventoryEO.java | 21 +- .../ProjectCertificationInventoryEOEn.java | 19 +- ...ctCertificationInventoryEOServiceImpl.java | 489 +++++++++--------- .../ProjectLawsInventoryEOServiceImpl.java | 5 +- .../ProjectRelatedPersonnelServiceImpl.java | 26 +- 8 files changed, 425 insertions(+), 356 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/entity/AuthDummyInventoryInfoEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/entity/AuthDummyInventoryInfoEO.java index c587bb7a1..d4e9f4589 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/entity/AuthDummyInventoryInfoEO.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/entity/AuthDummyInventoryInfoEO.java @@ -63,34 +63,34 @@ public class AuthDummyInventoryInfoEO implements Serializable { private java.lang.String sysOrgCode; /**类别*/ - @Excel(name = "*类别", width = 15) + @Excel(name = "类别", width = 15) @ApiModelProperty(value = "类别") private java.lang.String category; /**检验项目*/ - @Excel(name = "*检验项目", width = 15) + @Excel(name = "检验项目", width = 15) @ApiModelProperty(value = "检验项目") private java.lang.String inspectionItem; /**配置项*/ - @Excel(name = "*配置项", width = 15) + @Excel(name = "配置项", width = 15) @ApiModelProperty(value = "配置项") private java.lang.String configItem; /**WVTA ID*/ - @Excel(name = "*WVTA ID", width = 15) + @Excel(name = "WVTA ID", width = 15) @ApiModelProperty(value = "WVTA ID") private java.lang.String wvtaId; /**标准编号*/ - @Excel(name = "*编号", width = 15) + @Excel(name = "编号", width = 15) @ApiModelProperty(value = "编号") private java.lang.String serialNumber; /**责任领域*/ @ApiModelProperty(value = "责任领域") private java.lang.String dutyTerritory; - @Excel(name = "*责任领域", width = 15) + @Excel(name = "责任领域", width = 15) @TableField(exist = false) // 责任领域名称 private String dutyTerritoryName; @@ -107,7 +107,7 @@ public class AuthDummyInventoryInfoEO implements Serializable { @ApiModelProperty(value = "交付物类型") private String deliverableType; @TableField(exist = false) - @Excel(name = "*交付物类型", width = 15) + @Excel(name = "交付物类型", width = 15) // 交付物类型名称 private String deliverableTypeName; // 交付物类型名称-英文 diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/entity/AuthDummyInventoryInfoEOEn.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/entity/AuthDummyInventoryInfoEOEn.java index e7f53d6c4..4cbe07987 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/entity/AuthDummyInventoryInfoEOEn.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/entity/AuthDummyInventoryInfoEOEn.java @@ -60,27 +60,27 @@ public class AuthDummyInventoryInfoEOEn implements Serializable { private String sysOrgCode; /**类别*/ - @Excel(name = "*Category", width = 15) + @Excel(name = "Category", width = 15) @ApiModelProperty(value = "类别") private String category; /**检验项目*/ - @Excel(name = "*Inspection Items", width = 15) + @Excel(name = "Inspection Items", width = 15) @ApiModelProperty(value = "检验项目") private String inspectionItem; /**配置项*/ - @Excel(name = "*Configuration Item", width = 15) + @Excel(name = "Configuration Item", width = 15) @ApiModelProperty(value = "配置项") private String configItem; /**WVTA ID*/ - @Excel(name = "*WVTA ID", width = 15) + @Excel(name = "WVTA ID", width = 15) @ApiModelProperty(value = "WVTA ID") private String wvtaId; /**标准编号*/ - @Excel(name = "*Number", width = 15) + @Excel(name = "Number", width = 15) @ApiModelProperty(value = "标准编号") private String serialNumber; @@ -88,7 +88,7 @@ public class AuthDummyInventoryInfoEOEn implements Serializable { @ApiModelProperty(value = "责任领域") private String dutyTerritory; @TableField(exist = false) - @Excel(name = "*Responsible Field", width = 15) + @Excel(name = "Responsible Field", width = 15) // 责任领域名称 private String dutyTerritoryName; /**责任领域名称-英文**/ @@ -100,11 +100,19 @@ public class AuthDummyInventoryInfoEOEn implements Serializable { @ApiModelProperty(value = "交付物") private String deliverable; + /**交付物模板*/ + @ApiModelProperty(value = "交付物模板") + private java.lang.String deliverableTemplate; + /**交付物模板名称**/ + @TableField(exist = false) + @Excel(name = "Deliverable Template", width = 40) + private String deliverableTemplateName; + /**交付物类型*/ @ApiModelProperty(value = "交付物类型") private String deliverableType; @TableField(exist = false) - @Excel(name = "*Deliverable Type", width = 15) + @Excel(name = "Deliverable Type", width = 15) // 交付物类型名称 private String deliverableTypeName; // 交付物类型名称-英文 diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/service/impl/AuthDummyInventoryInfoEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/service/impl/AuthDummyInventoryInfoEOServiceImpl.java index 6fb49863b..517f60ac3 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/service/impl/AuthDummyInventoryInfoEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/service/impl/AuthDummyInventoryInfoEOServiceImpl.java @@ -62,6 +62,7 @@ import org.jeecgframework.poi.excel.entity.enmus.ExcelType; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; +import org.springframework.mock.web.MockMultipartFile; import org.springframework.stereotype.Service; import java.io.*; @@ -515,9 +516,9 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl 1){ @@ -659,43 +660,6 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl 1) { dataList.add(rowList); } @@ -736,6 +700,44 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl 300){ - String message = ""; - if(CutEnum.CN.getValue().equals(authDummyInventoryInfoEOTemp.getCut())){ - message = errorMsg + "WVTA ID不能超过300个字符, "; - }else{ - message = errorMsg + " The WVTA ID cannot contain more than 300 characters, "; - } - msgList.add(message); - } - } //类别 - if(StringUtils.isNotBlank(category)){ if(category.length() > 300){ String message = ""; if(CutEnum.CN.getValue().equals(authDummyInventoryInfoEOTemp.getCut())){ - message = errorMsg + "类别不能超过300个字符, "; + message = errorMsg + "类别不能超过300个字符"; }else{ - message = errorMsg + " The Category cannot contain more than 300 characters, "; + message = errorMsg + " The Category cannot contain more than 300 characters"; } msgList.add(message); } } //检验项目 - if(StringUtils.isNotBlank(inspectionItem)){ if(inspectionItem.length() > 300){ String message = ""; if(CutEnum.CN.getValue().equals(authDummyInventoryInfoEOTemp.getCut())){ - message = errorMsg + "检验项目不能超过300个字符, "; + message = errorMsg + "检验项目不能超过300个字符"; }else{ - message = errorMsg + " The InspectionItem cannot contain more than 300 characters, "; + message = errorMsg + " The InspectionItem cannot contain more than 300 characters"; } msgList.add(message); } } //配置项 - if(StringUtils.isNotBlank(configItem)){ if(configItem.length() > 300){ String message = ""; if(CutEnum.CN.getValue().equals(authDummyInventoryInfoEOTemp.getCut())){ - message = errorMsg + "配置项不能超过300个字符, "; + message = errorMsg + "配置项不能超过300个字符"; }else{ - message = errorMsg + " The ConfigItem cannot contain more than 300 characters, "; + message = errorMsg + " The ConfigItem cannot contain more than 300 characters"; + } + msgList.add(message); + } + } + //WVTA ID + if(StringUtils.isNotBlank(wvtaId)){ + if(wvtaId.length() > 300){ + String message = ""; + if(CutEnum.CN.getValue().equals(authDummyInventoryInfoEOTemp.getCut())){ + message = errorMsg + "WVTA ID不能超过300个字符"; + }else{ + message = errorMsg + " The WVTA ID cannot contain more than 300 characters"; } msgList.add(message); } @@ -891,6 +894,10 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl msgList, String nameCn, String nameEn) { + String value = ""; + if (StringUtils.isNotBlank(deliverableTemplate)) { + StringBuilder sb = new StringBuilder(); + for (String fileName : deliverableTemplate.split(",")) { + List nowFileList = new ArrayList<>(); + + nowFileList = FileUnZip.readFileByFilename(zipEntryName, fileName,authDummyInventoryInfoEO.getCut(),errorMsg,msgList,nameCn,nameEn); + + if (nowFileList.size() == 0) { +// if(CutEnum.CN.getValue().equals(projectCertificationInventoryEO.getCut())){ +// errorMsg += "压缩包中没有" + fileName + "文件; "; +// }else{ +// errorMsg += " Not in the zip package" + fileName + "file; "; +// } +// msgList.add(errorMsg); + } else { + try { + FileInputStream input = new FileInputStream(nowFileList.get(0)); + MultipartFile multipartFile = + new MockMultipartFile(nowFileList.get(0).getName(), nowFileList.get(0).getName(), "text/plain", input); + //文件存入文件表 + OSSFile ossFile = iOSSFileService.uploadLocalOfCos(multipartFile, "", null,null); + if (org.apache.commons.lang3.ObjectUtils.isNotEmpty(ossFile)) { + sb.append(ossFile.getId() + ","); + } + } catch (IOException e) { + log.error("市场认证清单导入"+e.getMessage()); + } + } + } + if (StringUtils.isNotBlank(sb)) { + value = sb.substring(0, sb.length() - 1); + } + } + return value; + } + private String getTreeId(List categoryList, AuthDummyInventoryInfoEO authDummyInventoryInfoEOTemp, List treeNameList, String value) { StringBuilder sb = new StringBuilder(); @@ -940,9 +987,9 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl finalValueList = valueList; List diffList = list.stream().filter(e -> !finalValueList.contains(e)).collect(Collectors.toList()); if (CutEnum.CN.getValue().equals(authDummyInventoryInfoEO.getCut())) { - errorMsg += nameCn + "中的" + StringUtils.join(diffList,",") + "与数据字典不匹配, "; + errorMsg += nameCn + "中的" + StringUtils.join(diffList,",") + "与数据字典不匹配"; } else { - errorMsg += nameEn + " " + StringUtils.join(diffList,",") + " does not match the data dictionary, "; + errorMsg += nameEn + " " + StringUtils.join(diffList,",") + " does not match the data dictionary"; } msgList.add(errorMsg); } @@ -1121,6 +1168,7 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl list = Arrays.asList(title.split(",")); int index = 0; @@ -1242,7 +1291,7 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl listUserName = new ArrayList<>(); +// listUserName = sysUserMapper.getListUserName(); +// listUserName = listUserName.stream().distinct().collect(Collectors.toList()); + + //获取当前的责任人 + String dutyPerson = projectCertificationInventoryEO.getDutyPerson(); + //获取当前的责任领域 + List dutyTerritoryList = new ArrayList<>(); + dutyTerritoryList = Arrays.asList(projectCertificationInventoryEO.getDutyTerritory().split(",")); + dutyTerritoryList = dutyTerritoryList.stream().distinct().collect(Collectors.toList()); + //获取当前的projectId + String projectId = projectCertificationInventoryEO.getProjectLibraryId(); + //根据责任领域个projectId去查相关人员名单 + List projectRelatedPersonnelList = projectRelatedPersonnelService.queryByProjectIdAndDutyTerritoy(projectId, dutyTerritoryList); + + //根据相关人员名单获取的工程接口人 + List enginnerList = new ArrayList<>(); + for(ProjectRelatedPersonnel relatedPersonnel : projectRelatedPersonnelList){ + enginnerList.add(relatedPersonnel.getEngineeringInterfacePerson()); + } + for(ProjectRelatedPersonnel relatedPersonnel : projectRelatedPersonnelList){ + //如果工程接口人不为空的话 + if(enginnerList.size()>0){ + //判断哪个不存在 再去去存入 + if(!enginnerList.contains(dutyPerson)){ + relatedPersonnel.setEngineerAttSet(dutyPerson); +// projectRelatedPersonnelService.editById(relatedPersonnel); + } + }else { + //工程接口人为空的话,直接将责任设置到认证工程师下 + relatedPersonnel.setEngineerAttSet(dutyPerson); +// projectRelatedPersonnelService.editById(relatedPersonnel); + } + } + + this.projectRelatedPersonnelService.updateBatchById(projectRelatedPersonnelList); + //设置权限 先删后加 List adds = new ArrayList<>(); if (ObjectUtils.isNotEmpty(projectCertificationInventoryEO.getSdt())) { @@ -2757,13 +2803,13 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl 1) { dataList.add(rowList); } @@ -2987,6 +2990,50 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl listUserName = new ArrayList<>(); +// listUserName = sysUserMapper.getListUserName(); +// listUserName = listUserName.stream().distinct().collect(Collectors.toList()); + + List userNameList = datas.stream().map(ProjectCertificationInventoryEO::getDutyPersonName).distinct().collect(Collectors.toList()); + List listUserName = this.sysUserService.querySysUserByUserNameList(userNameList); + //编号验证 verifySerialNumber(datas,projectCertificationInventoryEOTemp); for (ProjectCertificationInventoryEO projectCertificationInventoryEO : datas) { @@ -3095,159 +3149,69 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl 200){ + + + //类别 + if(StringUtils.isNotBlank(category)){ + if(category.length() > 300){ String message = ""; if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){ - message = errorMsg + "报告编号不能超过200个字符, "; + message = errorMsg + "类别不能超过300个字符"; }else{ - message = errorMsg + " The Report No cannot contain more than 200 characters, "; + message = errorMsg + " The Category cannot contain more than 300 characters"; } msgList.add(message); } } - //产品型号 - if(StringUtils.isNotBlank(productModel)){ - if(productModel.length() > 200){ + //检验项目 + if(StringUtils.isNotBlank(inspectionItem)){ + if(inspectionItem.length() > 300){ String message = ""; if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){ - message = errorMsg + "产品型号不能超过200个字符, "; + message = errorMsg + "检验项目不能超过300个字符"; }else{ - message = errorMsg + " The Product Model cannot contain more than 200 characters, "; + message = errorMsg + " The InspectionItem cannot contain more than 300 characters"; } msgList.add(message); } } - //生产企业名称 - if(StringUtils.isNotBlank(productionEnterpriseName)){ - if(productionEnterpriseName.length() > 200){ + //配置项 + if(StringUtils.isNotBlank(configItem)){ + if(configItem.length() > 300){ String message = ""; if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){ - message = errorMsg + "生产企业名称不能超过200个字符, "; + message = errorMsg + "配置项不能超过300个字符"; }else{ - message = errorMsg + " The Name Of Manufacturer cannot contain more than 200 characters, "; + message = errorMsg + " The ConfigItem cannot contain more than 300 characters"; } msgList.add(message); } } //WVTA ID - if(StringUtils.isNotBlank(wvtaId)){ if(wvtaId.length() > 300){ String message = ""; if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){ - message = errorMsg + "WVTA ID不能超过300个字符, "; + message = errorMsg + "WVTA ID不能超过300个字符"; }else{ - message = errorMsg + " The WVTA ID cannot contain more than 300 characters, "; + message = errorMsg + " The WVTA ID cannot contain more than 300 characters"; } msgList.add(message); } } -// else { -// String message = ""; -// if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){ -// message = errorMsg + "WVTA ID不能为空, "; -// }else{ -// message = errorMsg + " The WVTA ID cannot null, "; -// } -// msgList.add(message); -// } - //类别 - - if(StringUtils.isNotBlank(category)){ - if(category.length() > 300){ - String message = ""; - if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){ - message = errorMsg + "类别不能超过300个字符, "; - }else{ - message = errorMsg + " The Category cannot contain more than 300 characters, "; - } - msgList.add(message); - } - } -// else { -// String message = ""; -// if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){ -// message = errorMsg + "类别不能为空, "; -// }else{ -// message = errorMsg + " The Category cannot null, "; -// } -// msgList.add(message); -// } - //检验项目 - - if(StringUtils.isNotBlank(inspectionItem)){ - if(inspectionItem.length() > 100){ - String message = ""; - if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){ - message = errorMsg + "检验项目不能超过300个字符, "; - }else{ - message = errorMsg + " The InspectionItem cannot contain more than 300 characters, "; - } - msgList.add(message); - } - } -// else { -// String message = ""; -// if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){ -// message = errorMsg + "检验项目不能为空, "; -// }else{ -// message = errorMsg + " The InspectionItem cannot null, "; -// } -// msgList.add(message); -// } - //配置项 - - if(StringUtils.isNotBlank(configItem)){ - if(configItem.length() > 300){ - String message = ""; - if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){ - message = errorMsg + "配置项不能超过100个字符, "; - }else{ - message = errorMsg + " The ConfigItem cannot contain more than 300 characters, "; - } - msgList.add(message); - } - } -// else { -// String message = ""; -// if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){ -// message = errorMsg + "配置项不能为空, "; -// }else{ -// message = errorMsg + " The ConfigItem cannot null, "; -// } -// msgList.add(message); -// } //责任领域 - if(StringUtils.isNotBlank(dutyTerritory)){ value = pullMore(dictItemList, projectCertificationInventoryEO, errorMsg, dutyTerritory,msgList,"责任领域","Responsible Field","duty_territory"); if(StringUtils.isNotBlank(value)){ projectCertificationInventoryEO.setDutyTerritory(value); } } -// else { -// String message = ""; -// if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){ -// message = errorMsg + "责任领域不能为空, "; -// }else{ -// message = errorMsg + " The Responsible Field cannot null, "; -// } -// msgList.add(message); -// } //工程接口人(责任领域下的工程接口人) Map objectMap = iProjectRelatedPersonnelService.queryPersonByProjectId(projectCertificationInventoryEOTemp.getProjectLibraryId(), value); //工程接口人 List> mapPersonList = (List>) objectMap.get("engineeringInterfacePersonList"); - //所有人 -// List> allPersonList = (List>) objectMap.get("allPersonList"); - - List listUserName = new ArrayList<>(); - listUserName = sysUserMapper.getListUserName(); - listUserName = listUserName.stream().distinct().collect(Collectors.toList()); String nameCn = ""; @@ -3259,15 +3223,7 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl 200){ + String message = ""; + if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){ + message = errorMsg + "报告编号不能超过200个字符"; + }else{ + message = errorMsg + " The Report No cannot contain more than 200 characters"; + } + msgList.add(message); + } + } + //产品型号 + if(StringUtils.isNotBlank(productModel)){ + if(productModel.length() > 200){ + String message = ""; + if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){ + message = errorMsg + "产品型号不能超过200个字符"; + }else{ + message = errorMsg + " The Product Model cannot contain more than 200 characters"; + } + msgList.add(message); + } + } + //生产企业名称 + if(StringUtils.isNotBlank(productionEnterpriseName)){ + if(productionEnterpriseName.length() > 200){ + String message = ""; + if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){ + message = errorMsg + "生产企业名称不能超过200个字符"; + }else{ + message = errorMsg + " The Name Of Manufacturer cannot contain more than 200 characters"; + } + msgList.add(message); + } + } } return msgList; @@ -3367,29 +3334,33 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpllongdate){ - flag = false; - if(CutEnum.CN.getValue().equals(projectCertificationInventoryEO.getCut())){ - errorMsg += nameCn + "不能导入今天之前的日期, "; - }else{ - errorMsg += nameEn + " Cannot import dates before today, "; + }else{ + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + Date now = new Date(); + String nowStr = sdf.format(now); + Date now1 = null; + Date field1 = null; + try { + now1 = sdf.parse(nowStr); + field1 = sdf.parse(field); + long day = now1.getTime()-field1.getTime(); + if(day>0){ + flag = false; + if(CutEnum.CN.getValue().equals(projectCertificationInventoryEO.getCut())){ + errorMsg += nameCn + "不能导入今天之前的日期"; + }else{ + errorMsg += nameEn + " Cannot import dates before today"; + } + msgList.add(errorMsg); } - msgList.add(errorMsg); + } catch (ParseException e) { + e.printStackTrace(); } - } catch (ParseException e) { - e.printStackTrace(); } } return flag; @@ -3474,9 +3445,9 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl finalValueList = valueList; List diffList = list.stream().filter(e -> !finalValueList.contains(e)).collect(Collectors.toList()); if (CutEnum.CN.getValue().equals(projectCertificationInventoryEO.getCut())) { - errorMsg += nameCn + "中的" + StringUtils.join(diffList,",") + "与数据字典不匹配, "; + errorMsg += nameCn + "中的" + StringUtils.join(diffList,",") + "与数据字典不匹配"; } else { - errorMsg += nameEn + " " + StringUtils.join(diffList,",") + " does not match the data dictionary, "; + errorMsg += nameEn + " " + StringUtils.join(diffList,",") + " does not match the data dictionary"; } msgList.add(errorMsg); } @@ -3651,13 +3622,14 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl collect = bussDocumentLibraryEOList.stream() - .filter(e -> e.getSerialNumber().equals(projectCertificationInventoryEO.getSerialNumber())).collect(Collectors.toList()); - projectCertificationInventoryEO.setBussDocumentLibraryId(collect.get(0).getId()); - } } +// else{ +// for (ProjectCertificationInventoryEO projectCertificationInventoryEO : datas) { +// List collect = bussDocumentLibraryEOList.stream() +// .filter(e -> e.getSerialNumber().equals(projectCertificationInventoryEO.getSerialNumber())).collect(Collectors.toList()); +// projectCertificationInventoryEO.setBussDocumentLibraryId(collect.get(0).getId()); +// } +// } } } @@ -3706,29 +3678,40 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl list = Arrays.asList(title.split(",")); @@ -4008,7 +3991,11 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl engineerAttSetUsers = new ArrayList<>(); + if (StringUtils.isNotEmpty(projectRelatedPersonnel.getEngineerAttSet())){ + List engineerAttSetIdList = Arrays.asList(projectRelatedPersonnel.getEngineerAttSet().split(",")); + if (CollectionUtils.isNotEmpty(engineerAttSetIdList)) { + engineerAttSetIdList=engineerAttSetIdList.stream().distinct().collect(Collectors.toList()); + QueryWrapper userqueryWrapper = new QueryWrapper<>(); + userqueryWrapper.in("id ", engineerAttSetIdList); + certificationEngineerUsers = sysUserMapper.selectList(userqueryWrapper); + } + if(CollectionUtils.isNotEmpty(engineerAttSetUsers)) { + String engineerAttSetId = projectRelatedPersonnel.getEngineerAttSet(); + String engineerAttSetName = null; + StringBuilder certificationName = new StringBuilder(); + for (String data : engineerAttSetIdList) { + if (StringUtils.isNotEmpty(engineerAttSetId)) { + engineerAttSetName = engineerAttSetUsers.stream().filter(e -> data.equals(e.getId())) + .map(sysUser -> sysUser.getUsername()).collect(Collectors.joining(",")); + } + certificationName.append(engineerAttSetName).append(","); + } + projectRelatedPersonnel.setEngineerAttSetName(certificationName.substring(0,certificationName.toString().length()-1)); + } + } } } @@ -564,7 +587,6 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl wrapper = new QueryWrapper<>(); wrapper.eq("project_id",projectId).in("duty_territory",dutyTerritoryList); List projectRelatedPersonnels = baseMapper.selectList(wrapper); - return projectRelatedPersonnels;