From 6366e5a0454b949a04aa04a5931e07b9ff6567ff Mon Sep 17 00:00:00 2001 From: wangzhijiang Date: Tue, 28 Mar 2023 10:10:21 +0800 Subject: [PATCH] =?UTF-8?q?67129=20studio=E7=BC=96=E8=BE=91=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E5=BA=93=E8=AE=A4=E8=AF=81=E5=B7=A5=E7=A8=8B=E5=B8=88?= =?UTF-8?q?=EF=BC=8C=E5=90=8C=E6=AD=A5=E5=BE=85=E5=8A=9E=E4=B8=AD=E5=BF=83?= =?UTF-8?q?=E8=AE=A4=E8=AF=81=E6=B5=81=E7=A8=8B=E5=BE=85=E5=8A=9E=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/ProjectLibraryBaseServiceImpl.java | 89 +++++++++++++++++++ 1 file changed, 89 insertions(+) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java index 2dcf32327..275729a9d 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java @@ -33,8 +33,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.StringUtils; +import com.jero.modules.todoCenter.entity.ProcessInfoDetailEO; +import com.jero.modules.todoCenter.service.IProcessInfoDetailEOService; import com.jero.modules.top.entity.TopProjectEO; import com.jero.modules.top.service.ITopProjectEOService; +import com.jero.modules.wkflow.enums.FlowTypeEnum; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.ObjectUtils; import org.apache.poi.hssf.usermodel.HSSFSheet; @@ -147,6 +150,9 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl certificationEngineerIdList = Arrays.asList(projectLibraryBase.getCertificationEngineer().split(",")); + QueryWrapper pciQueryWrap = new QueryWrapper<>(); + pciQueryWrap.lambda().eq(ProjectCertificationInventoryEO::getProjectLibraryId, projectLibraryBase.getId()); + List pciEOList = this.projectCertificationInventoryEOService.list(pciQueryWrap); + + if(CollectionUtils.isNotEmpty(pciEOList)){ + // 清单待校核的数据 + List pciToBeCheckedList = pciEOList.stream().filter(pci -> { + boolean flag = false; + if(StringUtils.equals(pci.getFlowStatus(),CertificationInventoryFlowStatusEnum.LIST_TO_BE_CHECKED.getValue())){ + flag = true; + } + return flag; + }).collect(Collectors.toList()); + // 如果该项目下清单待校核的数据不为空,给这些认证工程师分配待办任务。 + if(CollectionUtils.isNotEmpty(pciToBeCheckedList)){ + // 删除待办中心(是这个项目库的 pre-Homo流程的待办任务, 认证工程师接受任务节点的数据) + QueryWrapper pidRemoveWrap = new QueryWrapper<>(); + pidRemoveWrap.lambda().eq(ProcessInfoDetailEO::getProcessInfoId, projectLibraryBase.getId()); + pidRemoveWrap.lambda().eq(ProcessInfoDetailEO::getTaskDefinitionKey,CertificationFlowNodeEnum.RZGCSJSRW.getKey()); + pidRemoveWrap.lambda().eq(ProcessInfoDetailEO::getFlowType,FlowTypeEnum.CERTIFICATION_LC.getValue()); + this.processInfoDetailEOService.remove(pidRemoveWrap); + + // 给认证工程师分配任务 + List processInfoDetailEOList = new ArrayList<>(); + for (String userId : certificationEngineerIdList) { + ProcessInfoDetailEO processInfoDetailEO = new ProcessInfoDetailEO(); + processInfoDetailEO.setUserId(userId); + processInfoDetailEO.setTaskDefinitionKey(CertificationFlowNodeEnum.RZGCSJSRW.getKey()); + processInfoDetailEO.setCreateTime(new Date()); + processInfoDetailEO.setStatus(TaskStatusEnum.NOT_DONE.getValue()); + processInfoDetailEO.setProcessInfoId(projectLibraryBase.getId()); + processInfoDetailEO.setActiProcInstId(projectLibraryBase.getId()); + processInfoDetailEO.setFlowType(FlowTypeEnum.CERTIFICATION_LC.getValue()); + processInfoDetailEOList.add(processInfoDetailEO); + } + this.processInfoDetailEOService.saveBatch(processInfoDetailEOList); + } + + // 结果待提交的数据 + List pciToBeReviewEDList = pciEOList.stream().filter(pci -> { + boolean flag = false; + if(StringUtils.equals(pci.getFlowStatus(),CertificationInventoryFlowStatusEnum.RESULTS_TO_BE_REVIEWED.getValue())){ + flag = true; + } + return flag; + }).collect(Collectors.toList()); + + if(CollectionUtils.isNotEmpty(pciToBeReviewEDList)){ + // 删除待办中心(是这个项目库的 pre-Homo流程的待办任务, 认证工程师审查 任务节点的数据) + QueryWrapper pidRemoveWrap = new QueryWrapper<>(); + pidRemoveWrap.lambda().eq(ProcessInfoDetailEO::getProcessInfoId, projectLibraryBase.getId()); + pidRemoveWrap.lambda().eq(ProcessInfoDetailEO::getTaskDefinitionKey,CertificationFlowNodeEnum.RZGCSSC.getKey()); + pidRemoveWrap.lambda().eq(ProcessInfoDetailEO::getFlowType,FlowTypeEnum.CERTIFICATION_LC.getValue()); + this.processInfoDetailEOService.remove(pidRemoveWrap); + + // 给认证工程师分配任务 + List processInfoDetailEOList = new ArrayList<>(); + for (String userId : certificationEngineerIdList) { + ProcessInfoDetailEO processInfoDetailEO = new ProcessInfoDetailEO(); + processInfoDetailEO.setUserId(userId); + processInfoDetailEO.setTaskDefinitionKey(CertificationFlowNodeEnum.RZGCSSC.getKey()); + processInfoDetailEO.setCreateTime(new Date()); + processInfoDetailEO.setStatus(TaskStatusEnum.NOT_DONE.getValue()); + processInfoDetailEO.setProcessInfoId(projectLibraryBase.getId()); + processInfoDetailEO.setActiProcInstId(projectLibraryBase.getId()); + processInfoDetailEO.setFlowType(FlowTypeEnum.CERTIFICATION_LC.getValue()); + processInfoDetailEOList.add(processInfoDetailEO); + } + this.processInfoDetailEOService.saveBatch(processInfoDetailEOList); + } + } + } + } + /** * 通过id删除 *