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 2615ca8cf..e74921d7a 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 @@ -90,14 +90,14 @@ (pli.design_duty_id =#{ncrTrackVO.duty} or pli.prehomo_duty_id =#{ncrTrackVO.duty} or pli.verify_duty_id =#{ncrTrackVO.duty}) and --> - - ( + ) + diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/NcrTrackServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/NcrTrackServiceImpl.java index c673e6334..91c89f8d2 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/NcrTrackServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/NcrTrackServiceImpl.java @@ -37,7 +37,11 @@ import com.jero.modules.system.service.ISysDictService; import com.jero.modules.system.service.ISysUserService; import com.jero.modules.system.service.impl.SysDictItemServiceImpl; import com.jero.modules.system.util.PDFUtils; +import com.jero.modules.todoCenter.enums.DesignComplianceFlowNodeKeyEnum; +import com.jero.modules.wkflow.entity.ProcessHistoryEO; import com.jero.modules.wkflow.enums.FlowTypeEnum; +import com.jero.modules.wkflow.service.impl.ProcessHistoryEOServiceImpl; +import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; import org.apache.poi.ss.usermodel.Workbook; @@ -102,6 +106,8 @@ public class NcrTrackServiceImpl extends ServiceImpl @Autowired private BussDocumentLibraryEOServiceImpl bussDocumentLibraryEOService; @Autowired + private ProcessHistoryEOServiceImpl processHistoryEOService; + @Autowired private IOSSFileService iOSSFileService; @Value(value = "${jero.path.upload}") private String uploadpath; @@ -321,6 +327,36 @@ public class NcrTrackServiceImpl extends ServiceImpl } } + if(!trackVOList.isEmpty()){ + //流程实例id + List prcIdList = trackVOList.stream() + .filter(e -> StringUtils.isNotBlank(e.getPrcId())).map(NcrTrackVO::getPrcId).collect(Collectors.toList()); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.orderByAsc("create_time"); + queryWrapper.lambda().in(ProcessHistoryEO::getActiProcInstId, prcIdList); + List processHistoryEOList = processHistoryEOService.list(queryWrapper); + this.processHistoryEOService.disposeData(processHistoryEOList,ncrTrackVO.getCut()); + for (NcrTrackVO trackVO : trackVOList) { + trackVO.setCreateTime(null); + List collect = processHistoryEOList.stream().filter(e -> StringUtils.isNotBlank(e.getActiProcInstId()) + && e.getActiProcInstId().equals(trackVO.getPrcId())).collect(Collectors.toList()); + //创建时间为任务节点为符合性审查,处理结果为不符合或待追踪的操作时间 + //更新时间为最新的流程时间 + if(!collect.isEmpty()){ + //更新时间 + trackVO.setUpdateTime(collect.get(collect.size()-1).getCreateTime()); + //创建时间 + List processHistoryEOS = collect.stream().filter(e -> StringUtils.isNotBlank(e.getTaskDefinitionKey()) + && DesignComplianceFlowNodeKeyEnum.FGGCSSH.getValue().equals(e.getTaskDefinitionKey()) + && (ComplianceFlowStatusEnum.INCONFORMITY.getValue().equals(e.getOperatorResult()) || ComplianceFlowStatusEnum.TO_TRACK.getValue().equals(e.getOperatorResult()))).collect(Collectors.toList()); + + if (CollectionUtils.isNotEmpty(processHistoryEOS)) { + trackVO.setCreateTime(processHistoryEOS.get(0).getCreateTime()); + } + } + } + } + List trackVOListTemp = new ArrayList<>(); List ncrTrackVOListTemp = ncrTrackVO.getNcrTrackVOList(); 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 a89283f22..ae9423dc4 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 @@ -96,6 +96,7 @@ import com.jero.modules.wkflow.enums.FlowTypeEnum; import com.jero.modules.wkflow.feginClient.impl.TaskFeignClientImpl; import com.jero.modules.wkflow.feginClient.impl.WorkFlowFeignClientImpl; import com.jero.modules.wkflow.service.IProcessHistoryEOService; +import com.jero.modules.wkflow.service.impl.ProcessHistoryEOServiceImpl; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; @@ -286,6 +287,8 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl processInfoDetailEOS = new ArrayList<>(); + List projectLawsInventoryIdList = result.stream().map(e -> (String) e.get("id")).collect(Collectors.toList()); + List processHistoryEOList = new ArrayList<>(); + if(ObjectUtils.isNotEmpty(projectLawsInventoryIdList)){ + QueryWrapper processInfoDetailEOQueryWrapper = new QueryWrapper<>(); + processInfoDetailEOQueryWrapper.lambda().in(ProcessInfoDetailEO::getProjectLawsInventoryId,projectLawsInventoryIdList); + processInfoDetailEOQueryWrapper.orderByDesc("create_time"); + processInfoDetailEOS = this.processInfoDetailEOService.list(processInfoDetailEOQueryWrapper); + if(ObjectUtils.isNotEmpty(processInfoDetailEOS)){ + List actiProcInstIdList = processInfoDetailEOS.stream().map(ProcessInfoDetailEO::getActiProcInstId).collect(Collectors.toList()); + if(ObjectUtils.isNotEmpty(actiProcInstIdList)){ + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.orderByAsc("create_time"); + queryWrapper.lambda().in(ProcessHistoryEO::getActiProcInstId, actiProcInstIdList); + processHistoryEOList = processHistoryEOService.list(queryWrapper); + if(ObjectUtils.isNotEmpty(processHistoryEOList)){ + this.processHistoryEOServiceImpl.disposeData(processHistoryEOList,cut); + } + } + } + } + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); for (Map dataMap : result) { dataMap.put("uuid",dataMap.get("id")); //相关法规 @@ -10402,16 +10428,48 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl processInfoDetailEOQueryWrapper = new QueryWrapper<>(); - processInfoDetailEOQueryWrapper.lambda().eq(ProcessInfoDetailEO::getProjectLawsInventoryId,(String)dataMap.get("id")); - processInfoDetailEOQueryWrapper.lambda().eq(ProcessInfoDetailEO::getFlowType,flowType); - processInfoDetailEOQueryWrapper.orderByDesc("create_time"); - List processInfoDetailEOS = this.processInfoDetailEOService.list(processInfoDetailEOQueryWrapper); - if(CollectionUtils.isNotEmpty(processInfoDetailEOS)){ - dataMap.put("actiProcInstId",processInfoDetailEOS.get(0).getActiProcInstId()); + // 更新时间,创建时间 + if(ObjectUtils.isNotEmpty(processInfoDetailEOS)){ + List collect = processInfoDetailEOS.stream() + .filter(e -> StringUtils.isNotBlank(e.getFlowType()) && e.getFlowType().equals(flowType)).collect(Collectors.toList()); + if(CollectionUtils.isNotEmpty(collect)){ + dataMap.put("actiProcInstId",collect.get(0).getActiProcInstId()); + if(ObjectUtils.isNotEmpty(processHistoryEOList)){ + List processHistoryEOSTemp = processHistoryEOList.stream().filter(e -> StringUtils.isNotBlank(e.getActiProcInstId()) + && e.getActiProcInstId().equals(collect.get(0).getActiProcInstId())).collect(Collectors.toList()); + //创建时间为任务节点为符合性审查,处理结果为不符合或待追踪的操作时间 + //更新时间为最新的流程时间 + if(!processHistoryEOSTemp.isEmpty()){ + //更新时间 + if(ObjectUtils.isNotEmpty(processHistoryEOSTemp.get(processHistoryEOSTemp.size()-1).getCreateTime())){ + dataMap.put("updateTime",sdf.format(processHistoryEOSTemp.get(processHistoryEOSTemp.size()-1).getCreateTime())); + } + //创建时间 + List processHistoryEOS = processHistoryEOSTemp.stream().filter(e -> StringUtils.isNotBlank(e.getTaskDefinitionKey()) + && DesignComplianceFlowNodeKeyEnum.FGGCSSH.getValue().equals(e.getTaskDefinitionKey()) + && (ComplianceFlowStatusEnum.INCONFORMITY.getValue().equals(e.getOperatorResult()) || ComplianceFlowStatusEnum.TO_TRACK.getValue().equals(e.getOperatorResult()))).collect(Collectors.toList()); + + if (CollectionUtils.isNotEmpty(processHistoryEOS)) { + if(ObjectUtils.isNotEmpty(processHistoryEOS.get(0).getCreateTime())){ + dataMap.put("createTime",sdf.format(processHistoryEOS.get(0).getCreateTime())); + } + } + } + } + } } +// QueryWrapper processInfoDetailEOQueryWrapper = new QueryWrapper<>(); +// processInfoDetailEOQueryWrapper.lambda().eq(ProcessInfoDetailEO::getProjectLawsInventoryId,(String)dataMap.get("id")); +// processInfoDetailEOQueryWrapper.lambda().eq(ProcessInfoDetailEO::getFlowType,flowType); +// processInfoDetailEOQueryWrapper.orderByDesc("create_time"); +// List processInfoDetailEOS = this.processInfoDetailEOService.list(processInfoDetailEOQueryWrapper); +// if(CollectionUtils.isNotEmpty(processInfoDetailEOS)){ +// dataMap.put("actiProcInstId",processInfoDetailEOS.get(0).getActiProcInstId()); +// } } + + + } //新数据 List> mapList = getNewData(params, cut);