From 8fab3d8a3d0ebe6bc1f202b3005893dee9100571 Mon Sep 17 00:00:00 2001 From: wangzhijiang <1358525938@qq.com> Date: Wed, 21 Jun 2023 17:43:34 +0800 Subject: [PATCH] =?UTF-8?q?71256=20=E4=BF=AE=E6=94=B9=E8=AE=A4=E8=AF=81?= =?UTF-8?q?=E6=B8=85=E5=8D=95=E6=88=AA=E6=AD=A2=E6=97=A5=E6=9C=9F=EF=BC=8C?= =?UTF-8?q?=E5=90=8C=E6=AD=A5=E5=BE=85=E5=8A=9E=E4=BB=BB=E5=8A=A1=E6=98=8E?= =?UTF-8?q?=E7=BB=86=E4=B8=AD=E6=88=AA=E6=AD=A2=E6=97=A5=E6=9C=9F=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...rojectCertificationInventoryEOService.java | 7 ++ ...ctCertificationInventoryEOServiceImpl.java | 79 +++++++++++++++++-- 2 files changed, 78 insertions(+), 8 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectCertificationInventoryEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectCertificationInventoryEOService.java index e8b43edfa..2a53d7390 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectCertificationInventoryEOService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectCertificationInventoryEOService.java @@ -310,4 +310,11 @@ public interface IProjectCertificationInventoryEOService extends IService groupByCertificationProgress(List pciEos); + + /** + * 同步待办中心明细数据-认证清单 截止日期 + * @param endTime + * @param editEndTimeCertificationInventoryEOS + */ + void syncProcessInfoDetailEndTime(Date endTime, List editEndTimeCertificationInventoryEOS); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectCertificationInventoryEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectCertificationInventoryEOServiceImpl.java index 03843587c..c1076d716 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectCertificationInventoryEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectCertificationInventoryEOServiceImpl.java @@ -213,6 +213,9 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl userIdList = Arrays.asList(projectLibraryBase.getCertificationEngineer().split(",")); @@ -609,28 +612,30 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl certificationQueryWrap = new QueryWrapper<>(); certificationQueryWrap.lambda().in(ProjectCertificationInventoryEO::getId,idList); - certificationQueryWrap.lambda().in(ProjectCertificationInventoryEO::getFlowStatus,flowStatusList); +// certificationQueryWrap.lambda().in(ProjectCertificationInventoryEO::getFlowStatus,flowStatusList); List projectCertificationInventoryEOS = this.list(certificationQueryWrap); if(CollectionUtils.isNotEmpty(projectCertificationInventoryEOS)){ - projectCertificationInventoryEOS = projectCertificationInventoryEOS.stream().filter(certificationInventory -> { + List pciEoListTemp = projectCertificationInventoryEOS.stream().filter(certificationInventory -> { boolean flag = false; - if(projectCertificationInventoryEO.getEndTime() != null && certificationInventory.getEndTime() != null){ - if(!projectCertificationInventoryEO.getEndTime().equals(certificationInventory.getEndTime())){ - flag = true; + if(StringUtils.equals(certificationInventory.getFlowStatus(),CertificationInventoryFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue())){ + if(projectCertificationInventoryEO.getEndTime() != null && certificationInventory.getEndTime() != null){ + if(!projectCertificationInventoryEO.getEndTime().equals(certificationInventory.getEndTime())){ + flag = true; + } } } return flag; }).collect(Collectors.toList()); - if (CollectionUtils.isNotEmpty(projectCertificationInventoryEOS)) { - ProjectLibraryBase projectLibraryBase = this.projectLibraryBaseService.selectById(projectCertificationInventoryEOS.get(0).getProjectLibraryId()); + if (CollectionUtils.isNotEmpty(pciEoListTemp)) { + ProjectLibraryBase projectLibraryBase = this.projectLibraryBaseService.selectById(pciEoListTemp.get(0).getProjectLibraryId()); if(ObjectUtils.isNotEmpty(projectLibraryBase)){ List userIdList = Arrays.asList(projectLibraryBase.getCertificationEngineer().split(",")); List userInfoList = this.sysUserService.querySysUserListByIdList(userIdList); this.sendMessageByTemplateId( - projectCertificationInventoryEOS, + pciEoListTemp, TemplateInfoEnum2.CERTIFICATION_MESSAGE14.getValue(), userIdList, userInfoList, @@ -638,6 +643,8 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl pciEoList) { + pciEoList = pciEoList.stream().filter(pciEo -> { + boolean flag = false; + if(!newEndTime.equals(pciEo.getEndTime())){ + flag = true; + } + return flag; + }).collect(Collectors.toList()); + + if(CollectionUtils.isNotEmpty(pciEoList)){ + List pciIdList = pciEoList.stream().map(ProjectCertificationInventoryEO::getId).distinct().collect(Collectors.toList()); + + QueryWrapper pidQueryWrap = new QueryWrapper<>(); + pidQueryWrap.lambda().eq(ProcessInfoDetailEO::getFlowType,FlowTypeEnum.CERTIFICATION_LC.getValue()); + pidQueryWrap.lambda().in(ProcessInfoDetailEO::getProjectLawsInventoryId,pciIdList); + List pidEoList = this.processInfoDetailEOService.list(pidQueryWrap); + + if(CollectionUtils.isNotEmpty(pidEoList)){ + List updatePidEoList = new ArrayList<>(); + for (ProjectCertificationInventoryEO pciEo : pciEoList) { + String pciEoId = pciEo.getId(); + String flowStatus = pciEo.getFlowStatus(); + // 如果该数据为 结果待提交或审查退回的时候 + if (StringUtils.equals(flowStatus,CertificationInventoryFlowStatusEnum.RESULTS_TO_BE_SUBMITTED.getValue()) + || StringUtils.equals(flowStatus,CertificationInventoryFlowStatusEnum.RESULTS_TO_BE_SUBMITTED.getValue()) ) { + List pidEoListTemp = pidEoList.stream().filter(pidEo -> { + boolean flag = ( + StringUtils.equals(pidEo.getProjectLawsInventoryId(),pciEoId) + && StringUtils.equals(pidEo.getStatus(),TaskStatusEnum.NOT_DONE.getValue()) + && StringUtils.equals(pidEo.getTaskDefinitionKey(),CertificationFlowNodeEnum.ZRRTJRW.getKey()) + ); + return flag; + }).collect(Collectors.toList()); + updatePidEoList.addAll(pidEoListTemp); + }else if(StringUtils.equals(flowStatus,CertificationInventoryFlowStatusEnum.RESULTS_TO_BE_REVIEWED.getValue())){ + List pidEoListTemp = pidEoList.stream().filter(pidEo -> { + boolean flag = ( + StringUtils.equals(pidEo.getProjectLawsInventoryId(),pciEoId) + && StringUtils.equals(flowStatus,TaskStatusEnum.NOT_DONE.getValue()) + && StringUtils.equals(pidEo.getTaskDefinitionKey(),CertificationFlowNodeEnum.RZGCSSC.getKey()) + ); + return flag; + }).collect(Collectors.toList()); + updatePidEoList.addAll(pidEoListTemp); + } + } + + if(CollectionUtils.isNotEmpty(updatePidEoList)){ + updatePidEoList.forEach(pidEo -> pidEo.setEndTime(newEndTime)); + this.processInfoDetailEOService.updateBatchById(updatePidEoList); + } + } + } + } + @Override public Map>> queryDutyPersonByProjectId(Map params) { Map>> result = new HashMap<>();