diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/NcrTrackMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/NcrTrackMapper.xml index 637345b40..e5545435d 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/NcrTrackMapper.xml +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/NcrTrackMapper.xml @@ -113,9 +113,13 @@ and ( + design_flow_status =#{ncrTrackVO.inconformity} + or verify_flow_status =#{ncrTrackVO.inconformity} + ) + diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java index 848c2ccb8..55704bc95 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java @@ -58,6 +58,8 @@ import com.jero.modules.project.mapper.*; import com.jero.modules.project.service.*; import com.jero.modules.project.service.editImpl.ProjectLawsInventoryEOEditServiceImpl; import com.jero.modules.project.util.WordUtil; +import com.jero.modules.project.vo.NcrTrackVO; +import com.jero.modules.project.vo.ProblemManagementVO; import com.jero.modules.project.vo.ProjectTaskUrgVo; import com.jero.modules.split.common.FileUnZip; import com.jero.modules.system.entity.SysAnnouncement; @@ -73,6 +75,7 @@ import com.jero.modules.system.mapper.SysUserMapper; import com.jero.modules.system.service.IProjectUserDutyTerritoryService; import com.jero.modules.system.service.ISysAnnouncementService; import com.jero.modules.system.service.ISysDictItemService; +import com.jero.modules.system.service.ISysDictService; import com.jero.modules.system.service.ISysUserService; import com.jero.modules.system.service.impl.SysCategoryServiceImpl; import com.jero.modules.system.service.impl.SysDictItemServiceImpl; @@ -272,6 +275,12 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl> queryNotComplianList(Map params) { + //problemManagementEOService String cut = (String) params.get("cut"); List complianceFlowStatusList = new ArrayList<>(); @@ -10348,6 +10358,171 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl wrapper = new LambdaQueryWrapper<>(); + wrapper.like(ProblemManagementEO::getProjectId,params.get("projectLibraryId")); + List managementEOList = problemManagementEOService.list(wrapper); + //法规 + List lawsIdList = managementEOList.stream() + .filter(e->StringUtils.isNotBlank(e.getLawsId())).map(ProblemManagementEO::getLawsId).collect(Collectors.toList()); + //项目 + List projectIdList = managementEOList.stream() + .filter(e->StringUtils.isNotBlank(e.getProjectId())).map(ProblemManagementEO::getProjectId).collect(Collectors.toList()); + //相关文件 + List fileList = managementEOList.stream() + .filter(e -> StringUtils.isNotBlank(e.getFile())).map(ProblemManagementEO::getFile).collect(Collectors.toList()); + //审批证据 + List approvalEvidenceList = managementEOList.stream() + .filter(e -> StringUtils.isNotBlank(e.getApprovalEvidence())).map(ProblemManagementEO::getApprovalEvidence).collect(Collectors.toList()); + List connectList = new ArrayList<>(); + if(!fileList.isEmpty()){ + connectList.addAll(fileList); + } + if(!approvalEvidenceList.isEmpty()){ + connectList.addAll(approvalEvidenceList); + } + List fileInfoList = new ArrayList<>(); + if(!connectList.isEmpty()){ + fileInfoList = iOSSFileService.getFileInfosByConnectId(StringUtils.join(connectList,",")); + } + + List documentLibraryEOList = new ArrayList<>(); + if(!lawsIdList.isEmpty()){ + Set lawIdSet = new HashSet<>(); + for (String lawIds : lawsIdList) { + lawIdSet.addAll(Arrays.asList(lawIds.split(","))); + } + if(!lawIdSet.isEmpty()){ + LambdaQueryWrapper wrapperDocument = new LambdaQueryWrapper<>(); + wrapperDocument.in(BussDocumentLibraryEO::getId, lawIdSet); + documentLibraryEOList = bussDocumentLibraryEOService.list(wrapperDocument); + } + } + + List projectLibraryBaseList = new ArrayList<>(); + if(!projectIdList.isEmpty()){ + Set projectIdSet = new HashSet<>(); + for (String projectIds : projectIdList) { + projectIdSet.addAll(Arrays.asList(projectIds.split(","))); + } + if(!projectIdSet.isEmpty()){ + projectLibraryBaseList = problemManagementEOMapper.queryByIds(StringUtils.join(projectIdSet,",")); + } + } + List ncrTrackVOList = new ArrayList<>(); + List> mapList = new ArrayList<>(); + for (ProblemManagementEO problemManagementEO : managementEOList) { + Map map = new HashMap<>(); + map.put("title",problemManagementEO.getTitle()); + map.put("psIssue",problemManagementEO.getPsIssue()); + map.put("dutyTerritory",problemManagementEO.getDutyTerritory()); + map.put("problemState",problemManagementEO.getProblemState()); + map.put("description",problemManagementEO.getDescription()); + map.put("conclusion",problemManagementEO.getConclusion()); + //相关法规 + if(StringUtils.isNotBlank(problemManagementEO.getLawsId())){ + if(!documentLibraryEOList.isEmpty()){ + List documentLibraryEOListTemp = documentLibraryEOList.stream() + .filter(e->StringUtils.isNotBlank(problemManagementEO.getLawsId()) + && problemManagementEO.getLawsId().contains(e.getId())).collect(Collectors.toList()); + List serialNumberList = documentLibraryEOListTemp.stream().map(BussDocumentLibraryEO::getSerialNumber).collect(Collectors.toList()); + problemManagementEO.setLawsName(StringUtils.join(serialNumberList,",")); + map.put("lawsName",StringUtils.join(serialNumberList,",")); + map.put("lawsId",problemManagementEO.getLawsId()); + } + } + //相关项目 + if(StringUtils.isNotBlank(problemManagementEO.getProjectId())){ + List projectLibraryBaseListTemp = projectLibraryBaseList.stream() + .filter(e->StringUtils.isNotBlank(problemManagementEO.getProjectId()) + && problemManagementEO.getProjectId().contains(e.getId())).collect(Collectors.toList()); + //目标市场数据字典 + List targetMarketList = sysDictService.queryDictItemsByCode(DicCodeEnum.REGION.getCode()); + List projectNameList = new ArrayList<>(); + for (ProjectLibraryBase projectLibraryBase : projectLibraryBaseListTemp) { + //目标市场 + String targetMarket = problemManagementEOService.getMarket(cut, targetMarketList, projectLibraryBase); + //主项目的版本号 + String projectVersion = ""; + if(com.jero.modules.system.util.StringUtils.isBlank(projectLibraryBase.getParentId())){ + projectVersion = "00"; + }else{ + projectVersion = projectLibraryBase.getProjectVersion(); + } + projectNameList.add(projectLibraryBase.getProjectName() + + "-" + projectLibraryBase.getYearName() + + "-" + targetMarket + +"-"+projectVersion); + } + if(!projectNameList.isEmpty()){ + problemManagementEO.setProjectName(StringUtils.join(projectNameList,",")); + map.put("projectName",StringUtils.join(projectNameList,",")); + map.put("projectId",problemManagementEO.getProjectId()); + } + } + + //相关文件连接 + if(StringUtils.isNotBlank(problemManagementEO.getFileLink())){ + List list = new ArrayList<>(); + for (String fileLink : problemManagementEO.getFileLink().split(",")) { + ProblemManagementVO problemManagementVO = new ProblemManagementVO(); + problemManagementVO.setFileLink(fileLink); + list.add(problemManagementVO); + } + problemManagementEO.setFileLinkList(list); + map.put("fileLinkList",list); + } + + //审批证据连接 + if(StringUtils.isNotBlank(problemManagementEO.getApprovalEvidenceLink())){ + List list = new ArrayList<>(); + for (String approvalEvidenceLink : problemManagementEO.getApprovalEvidenceLink().split(",")) { + ProblemManagementVO problemManagementVO = new ProblemManagementVO(); + problemManagementVO.setApprovalEvidenceLink(approvalEvidenceLink); + list.add(problemManagementVO); + } + problemManagementEO.setApprovalEvidenceLinkList(list); + map.put("approvalEvidenceLinkList",list); + } + //进度追踪 + if(StringUtils.isNotBlank(problemManagementEO.getProgressTracking())){ + List list = new ArrayList<>(); + for (String progressTracking : problemManagementEO.getProgressTracking().split(",")) { + ProblemManagementVO problemManagementVO = new ProblemManagementVO(); + problemManagementVO.setProgressTracking(progressTracking); + list.add(problemManagementVO); + } + problemManagementEO.setProgressTrackingList(list); + map.put("progressTrackingList",list); + } + //相关文件 + if(StringUtils.isNotBlank(problemManagementEO.getFile())){ + List collect = fileInfoList.stream() + .filter(e -> e.getConnectId().equals(problemManagementEO.getFile())).collect(Collectors.toList()); + problemManagementEO.setFileList(collect); + map.put("fileList",collect); + } + //审批证据 + if(StringUtils.isNotBlank(problemManagementEO.getApprovalEvidence())){ + List collect = fileInfoList.stream() + .filter(e -> e.getConnectId().equals(problemManagementEO.getApprovalEvidence())).collect(Collectors.toList()); + problemManagementEO.setApprovalEvidenceFileList(collect); + map.put("approvalEvidenceFileList",collect); + + } + map.put("uuid",problemManagementEO.getId()); + map.put("flag",DataEnum.NEW.getValue()); + mapList.add(map); + NcrTrackVO ncrTrackVOTemp = new NcrTrackVO(); + BeanUtils.copyProperties(problemManagementEO,ncrTrackVOTemp); + ncrTrackVOTemp.setUuid(ncrTrackVOTemp.getId()); + ncrTrackVOTemp.setFlag(DataEnum.NEW.getValue()); + ncrTrackVOList.add(ncrTrackVOTemp); + } + if(ObjectUtils.isNotEmpty(mapList)){ + result.addAll(mapList); + } + return result; }