diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/entity/DummyInventoryInfoEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/entity/DummyInventoryInfoEO.java index 7dee14019..a1620bacd 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/entity/DummyInventoryInfoEO.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/entity/DummyInventoryInfoEO.java @@ -177,6 +177,9 @@ public class DummyInventoryInfoEO implements Serializable { @Dict(dicCode ="deliverable_template") private java.lang.String designDeliverableType; + @TableField(exist = false) + private java.lang.String designDeliverableTypeName; + /**设计符合性确认-交付物模板*/ @ApiModelProperty(value = "设计符合性确认-交付物模板") @@ -203,6 +206,8 @@ public class DummyInventoryInfoEO implements Serializable { @ApiModelProperty(value = "prehomo确认-交付物类型") @Dict(dicCode ="deliverable_template") private java.lang.String prehomoDeliverableType; + @TableField(exist = false) + private java.lang.String prehomoDeliverableTypeName; /**prehomo确认-交付物模板*/ @@ -230,6 +235,8 @@ public class DummyInventoryInfoEO implements Serializable { @ApiModelProperty(value = "验证符合性确认-交付物类型") @Dict(dicCode ="deliverable_template") private java.lang.String verifyDeliverableType; + @TableField(exist = false) + private java.lang.String verifyDeliverableTypeName; /**验证符合性确认-交付物模板*/ diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/impl/DummyInventoryBaseEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/impl/DummyInventoryBaseEOServiceImpl.java index 7ff33c661..10ed3ce21 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/impl/DummyInventoryBaseEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/impl/DummyInventoryBaseEOServiceImpl.java @@ -1146,7 +1146,7 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl list = Arrays.asList(infoDiff.get("designDeliverableType").split(",")); String infoDiffOld = list.get(0); - String infoDiffNew = list.get(1); + String infoDiffNew = "list.get(1)"; if (StringUtils.isBlank(contentLog)) { contentInfo += DummyInventoryBaseFieldEnum.DESIGN_DELIVERABLE_TYPE.getEnName() +" has been changed from " + infoDiffOld + " to " + infoDiffNew + ","; diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/impl/DummyInventoryInfoEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/impl/DummyInventoryInfoEOServiceImpl.java index b6a2c9c4f..30900ff91 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/impl/DummyInventoryInfoEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/impl/DummyInventoryInfoEOServiceImpl.java @@ -27,6 +27,7 @@ import com.jero.modules.oss.service.IOSSFileService; import com.jero.modules.split.common.FileUnZip; import com.jero.modules.system.entity.SysCategory; import com.jero.modules.system.entity.SysDictItem; +import com.jero.modules.system.mapper.SysCategoryMapper; import com.jero.modules.system.service.impl.SysCategoryServiceImpl; import com.jero.modules.system.service.impl.SysDictItemServiceImpl; import lombok.SneakyThrows; @@ -43,6 +44,7 @@ import org.aspectj.util.FileUtil; import org.jeecgframework.poi.excel.ExcelExportUtil; import org.jeecgframework.poi.excel.entity.ExportParams; import org.jeecgframework.poi.excel.entity.enmus.ExcelType; +import org.jetbrains.annotations.NotNull; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -84,6 +86,8 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl getPageInfo(DummyInventoryInfoEO dummyInventoryInfoEO,HttpServletRequest req) { @@ -672,16 +676,35 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl dummyInventoryInfoEOList) { - Set technologyTerritorySet = new HashSet<>(); - Set correspondingStandardSet = new HashSet<>(); +// Set technologyTerritorySet = new HashSet<>(); +// Set designDeliverableTypeSet = new HashSet<>(); +// Set PrehomoDeliverableTypeSet = new HashSet<>(); +// Set verifyDeliverableTypeSet = new HashSet<>(); List deliverableList = new ArrayList<>(); if(dummyInventoryInfoEOList.size() != 0){ for (DummyInventoryInfoEO record : dummyInventoryInfoEOList) { - //技术领域 - if(StringUtils.isNotBlank(record.getTechnologyTerritory())){ - List list = Arrays.asList(record.getTechnologyTerritory().split(",")); - technologyTerritorySet.addAll(list); - } +// //技术领域 +// if(StringUtils.isNotBlank(record.getTechnologyTerritory())){ +// List list = Arrays.asList(record.getTechnologyTerritory().split(",")); +// technologyTerritorySet.addAll(list); +// } +// //设计交付物类型 +// if(StringUtils.isNotBlank(record.getDesignDeliverableType())){ +// List list = Arrays.asList(record.getDesignDeliverableType().split(",")); +// designDeliverableTypeSet.addAll(list); +// } +// //pre交付物类型 +// if(StringUtils.isNotBlank(record.getPrehomoDeliverableType())){ +// List list = Arrays.asList(record.getPrehomoDeliverableType().split(",")); +// PrehomoDeliverableTypeSet.addAll(list); +// } +// +// //验证交付物类型 +// if(StringUtils.isNotBlank(record.getVerifyDeliverableType())){ +// List list = Arrays.asList(record.getVerifyDeliverableType().split(",")); +// verifyDeliverableTypeSet.addAll(list); +// } + //对应标准 // if(StringUtils.isNotBlank(record.getCorrespondingStandard())){ // List list = Arrays.asList(record.getCorrespondingStandard().split(",")); @@ -701,17 +724,6 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl bussDocumentLibraryEOList = new ArrayList<>(); -// if(correspondingStandardSet.size() != 0){ -// //对应标准 iBussDocumentLibraryEOService -// LambdaQueryWrapper wrapperTemp = new LambdaQueryWrapper<>(); -// wrapperTemp.in(BussDocumentLibraryEO::getId,correspondingStandardSet); -// bussDocumentLibraryEOList = iBussDocumentLibraryEOService.list(wrapperTemp); -// } - - - - //文件 List fileInfos = new ArrayList<>(); if(deliverableList.size() != 0){ @@ -719,52 +731,40 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl categoryList = new ArrayList<>(); - if(technologyTerritorySet.size() != 0){ - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.in(SysCategory::getId, technologyTerritorySet); - categoryList = sysCategoryService.list(wrapper); - } + List categoryList = categoryList = sysCategoryService.list(); +// if(technologyTerritorySet.size() != 0){ +// LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); +// wrapper.in(SysCategory::getId, technologyTerritorySet); +// categoryList = sysCategoryService.list(wrapper); +// } for (DummyInventoryInfoEO record : dummyInventoryInfoEOList) { - //对应标准 -// if(bussDocumentLibraryEOList.size() != 0 && StringUtils.isNotBlank(record.getCorrespondingStandard())){ -// StringBuilder stringBuilder = new StringBuilder(); -// for (String bussDocumentLibraryId : record.getCorrespondingStandard().split(",")) { -// List bussDocumentLibraryEOS = bussDocumentLibraryEOList.stream() -// .filter(e -> e.getId().equals(bussDocumentLibraryId)).collect(Collectors.toList()); -// if(bussDocumentLibraryEOS.size() != 0){ -// stringBuilder.append(bussDocumentLibraryEOS.get(0).getSerialNumber()+","); -// }else{ -// //手动输入的情况 -// stringBuilder.append(bussDocumentLibraryId + ","); -// } -// } -// if(StringUtils.isNotBlank(stringBuilder)){ -// String substring = stringBuilder.substring(0, stringBuilder.length() - 1); -// record.setCorrespondingStandardName(substring); -// } -// } //技术领域 if (categoryList.size() != 0 && StringUtils.isNotBlank(record.getTechnologyTerritory())) { List technologyTerritoryList = Arrays.asList(record.getTechnologyTerritory().split(",")); - StringBuilder sb = new StringBuilder(); - for (String technologyTerritory : technologyTerritoryList) { - List collect = categoryList.stream().filter(e -> technologyTerritory.equals(e.getId())).collect(Collectors.toList()); - if(collect.size() != 0){ - if (CutEnum.CN.getValue().equals(dummyInventoryInfoEO.getCut())) { - sb.append(collect.get(0).getName() + ","); - } else { - sb.append(collect.get(0).getEnName()); - } - } - } - String technologyTerritoryName = ""; - if (StringUtils.isNotBlank(sb)) { - technologyTerritoryName = sb.substring(0, sb.length() - 1); - } + String technologyTerritoryName = getTreeName(dummyInventoryInfoEO, categoryList, technologyTerritoryList); record.setTechnologyTerritoryName(technologyTerritoryName); } + //设计交付物模板 + if(StringUtils.isNotBlank(record.getDesignDeliverableType())){ + List designDeliverableTypeList = Arrays.asList(record.getDesignDeliverableType().split(",")); + String name = getTreeName(dummyInventoryInfoEO, categoryList, designDeliverableTypeList); + record.setDesignDeliverableTypeName(name); + } + + //pre交付物模板 + if(StringUtils.isNotBlank(record.getPrehomoDeliverableType())){ + List prehomoDeliverableTypeList = Arrays.asList(record.getPrehomoDeliverableType().split(",")); + String name = getTreeName(dummyInventoryInfoEO, categoryList, prehomoDeliverableTypeList); + record.setPrehomoDeliverableTypeName(name); + } + + //验证交付物模板 + if(StringUtils.isNotBlank(record.getVerifyDeliverableType())){ + List verifyDeliverableTypeList = Arrays.asList(record.getVerifyDeliverableType().split(",")); + String name = getTreeName(dummyInventoryInfoEO, categoryList, verifyDeliverableTypeList); + record.setVerifyDeliverableTypeName(name); + } //交付物类型模板 if(fileInfos.size() != 0){ @@ -792,6 +792,25 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl categoryList, List technologyTerritoryList) { + StringBuilder sb = new StringBuilder(); + for (String technologyTerritory : technologyTerritoryList) { + List collect = categoryList.stream().filter(e -> technologyTerritory.equals(e.getId())).collect(Collectors.toList()); + if(collect.size() != 0){ + if (CutEnum.CN.getValue().equals(dummyInventoryInfoEO.getCut())) { + sb.append(collect.get(0).getName() + ","); + } else { + sb.append(collect.get(0).getEnName()); + } + } + } + String technologyTerritoryName = ""; + if (StringUtils.isNotBlank(sb)) { + technologyTerritoryName = sb.substring(0, sb.length() - 1); + } + return technologyTerritoryName; + } + private String getFileName(DummyInventoryInfoEO dummyInventoryInfoEO,List fileInfos,String deliverableTemplate){ StringBuilder sb = new StringBuilder(); for (String s : deliverableTemplate.split(",")) { @@ -1055,6 +1074,14 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl collect = categoryList.stream().filter(e -> e.getSysDictId().equals(dictId)).collect(Collectors.toList()); + List treeNameList = new ArrayList<>(); + if(CutEnum.CN.getValue().equals(dummyInventoryInfoEOTemp.getCut())){ + treeNameList = collect.stream().map(SysCategory::getName).collect(Collectors.toList()); + }else{ + treeNameList = collect.stream().map(SysCategory::getEnName).collect(Collectors.toList()); + } int i = 3; List msgList = new ArrayList<>(); String value = ""; @@ -1182,9 +1209,10 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl categoryList, DummyInventoryInfoEO dummyInventoryInfoEOTemp, List treeNameList, String value) { + StringBuilder sb = new StringBuilder(); + for (String valueTemp : value.split(",")) { + if (treeNameList.contains(valueTemp)) { + List sysCategoryList = new ArrayList<>(); + if (CutEnum.CN.getValue().equals(dummyInventoryInfoEOTemp.getCut())) { + sysCategoryList = categoryList.stream().filter(e -> e.getName().equals(valueTemp)).collect(Collectors.toList()); + } else { + sysCategoryList = categoryList.stream().filter(e -> e.getEnName().equals(valueTemp)).collect(Collectors.toList()); + } + if (sysCategoryList.size() != 0) { + sb.append(sysCategoryList.get(0).getId() + ","); + } + } + } + if (StringUtils.isNotBlank(sb)) { + String substring = sb.substring(0, sb.length() - 1); + return substring; + } + return null; + } + private void verifySerialNumber(List dataList,DummyInventoryInfoEO dummyInventoryInfoEOTemp) { //文档库数据 List serialNumberList = dataList.stream().map(DummyInventoryInfoEO::getSerialNumber).collect(Collectors.toList()); @@ -1424,6 +1476,49 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl categoryList, List nameList,DummyInventoryInfoEO dummyInventoryInfoEO, + String errorMsg, String value,List msgList, + String nameCn,String nameEn,String dictCode) { + if (StringUtils.isNotBlank(value)) { + StringBuilder sb = new StringBuilder(); + for (String s : value.split(",")) { + if(!nameList.contains(s)){ + sb.append(s+","); + } + } + if(StringUtils.isNotBlank(sb)){ + String substring = sb.substring(0, sb.length() - 1); + if (CutEnum.CN.getValue().equals(dummyInventoryInfoEO.getCut())) { + errorMsg += nameCn + "中的" + substring + "与数据字典不匹配, "; + } else { + errorMsg += nameEn + " " + substring + " does not match the data dictionary, "; + } + msgList.add(errorMsg); + }else{ + StringBuilder sbTemp = new StringBuilder(); + for (String s : value.split(",")) { + List collect = new ArrayList<>(); + if(CutEnum.CN.getValue().equals(dummyInventoryInfoEO.getCut())){ + collect = categoryList.stream().filter(e -> s.equals(e.getName())).collect(Collectors.toList()); + if(collect.size() != 0){ + sbTemp.append(collect.get(0).getName()+","); + } + }else{ + collect = categoryList.stream().filter(e -> s.equals(e.getEnName())).collect(Collectors.toList()); + if(collect.size() != 0){ + sbTemp.append(collect.get(0).getEnName()+","); + } + } + } + if(StringUtils.isNotBlank(sbTemp)){ + String substring = sbTemp.substring(0, sbTemp.length() - 1); + return substring; + } + } + } + return null; + } + private String pullSingle(List dictItemList, DummyInventoryInfoEO dummyInventoryInfoEO, String errorMsg, String value,List msgList, String nameCn,String nameEn,String dictCode) { @@ -1857,23 +1952,36 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl collect = sysCategoryList.stream() - .filter(e -> s.equals(e.getId())).collect(Collectors.toList()); - if(collect.size() != 0){ - if(CutEnum.CN.getValue().equals(dummyInventoryInfoEO.getCut())){ - sb.append(collect.get(0).getName()+","); - }else{ - sb.append(collect.get(0).getEnName()+","); - } - } - } + StringBuilder sb = getStringBuilder(dummyInventoryInfoEO, sysCategoryList, technologyTerritory); if(StringUtils.isNotBlank(sb)){ String substring = sb.substring(0, sb.length() - 1); inventoryInfoEO.setTechnologyTerritory(substring); } } + //设计交付物类型 inventoryInfoEO + if(StringUtils.isNotBlank(inventoryInfoEO.getDesignDeliverableType())){ + StringBuilder sb = getStringBuilder(dummyInventoryInfoEO, sysCategoryList, inventoryInfoEO.getDesignDeliverableType()); + if(StringUtils.isNotBlank(sb)){ + String substring = sb.substring(0, sb.length() - 1); + inventoryInfoEO.setDesignDeliverableType(substring); + } + } + //pre交付物类型 + if(StringUtils.isNotBlank(inventoryInfoEO.getPrehomoDeliverableType())){ + StringBuilder sb = getStringBuilder(dummyInventoryInfoEO, sysCategoryList, inventoryInfoEO.getPrehomoDeliverableType()); + if(StringUtils.isNotBlank(sb)){ + String substring = sb.substring(0, sb.length() - 1); + inventoryInfoEO.setPrehomoDeliverableType(substring); + } + } + //验证交付物类型 + if(StringUtils.isNotBlank(inventoryInfoEO.getVerifyDeliverableType())){ + StringBuilder sb = getStringBuilder(dummyInventoryInfoEO, sysCategoryList, inventoryInfoEO.getVerifyDeliverableType()); + if(StringUtils.isNotBlank(sb)){ + String substring = sb.substring(0, sb.length() - 1); + inventoryInfoEO.setVerifyDeliverableType(substring); + } + } //设计交付物模板 if(StringUtils.isNotBlank(designDeliverableTemplate)){ String designDeliverableTemplateName = template(fileInfos, designDeliverableTemplate); @@ -1893,6 +2001,23 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl sysCategoryList, String technologyTerritory) { + StringBuilder sb = new StringBuilder(); + for (String s : technologyTerritory.split(",")) { + List collect = sysCategoryList.stream() + .filter(e -> s.equals(e.getId())).collect(Collectors.toList()); + if(collect.size() != 0){ + if(CutEnum.CN.getValue().equals(dummyInventoryInfoEO.getCut())){ + sb.append(collect.get(0).getName()+","); + }else{ + sb.append(collect.get(0).getEnName()+","); + } + } + } + return sb; + } + private String getPerson(DummyInventoryInfoEO dummyInventoryInfoEO, List sysDictItemList, String designInitiator) { if(StringUtils.isNotBlank(designInitiator)){ StringBuilder sb = new StringBuilder();