From be809bc752ab6d1d2984f6dd4c30a71eef58c53f Mon Sep 17 00:00:00 2001 From: caihaohan Date: Thu, 18 Jul 2024 08:27:02 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20scc=E6=B5=81=E7=A8=8B=E7=BB=93=E6=9D=9F?= =?UTF-8?q?=E5=85=A5=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ocessStandardComplianceCheckConstants.java | 6 ++ .../listener/ProcessSCCEndListener.java | 59 ++++++++++++++++++- 2 files changed, 64 insertions(+), 1 deletion(-) diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/standardComplianceCheck/common/ProcessStandardComplianceCheckConstants.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/standardComplianceCheck/common/ProcessStandardComplianceCheckConstants.java index a252e2bc..60f9705a 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/standardComplianceCheck/common/ProcessStandardComplianceCheckConstants.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/standardComplianceCheck/common/ProcessStandardComplianceCheckConstants.java @@ -73,4 +73,10 @@ public class ProcessStandardComplianceCheckConstants { public static final String AUTO_TASK_1 = "sid-95E41F78-FE01-4FEC-BF8B-EC11DFBA8824"; public static final String AUTO_TASK_2 = "autoTask_2"; public static final String AUTO_TASK_3 = "autoTask_3"; + + public static final String CONFORM_TO = "1"; + public static final String DISCREPANCY = "2"; + public static final String NOT_INVOLVE = "3"; + public static final String TO_BE_VERIFIED = "4"; + } diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/standardComplianceCheck/listener/ProcessSCCEndListener.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/standardComplianceCheck/listener/ProcessSCCEndListener.java index 2f48773f..5f24c284 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/standardComplianceCheck/listener/ProcessSCCEndListener.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/standardComplianceCheck/listener/ProcessSCCEndListener.java @@ -1,10 +1,28 @@ package com.jero.modules.activiti.process.standardComplianceCheck.listener; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.jero.modules.activiti.process.standardComplianceCheck.entity.ProcessStandardComplianceCheck; +import com.jero.modules.activiti.process.standardComplianceCheck.entity.ProcessStandardComplianceCheckDetail; +import com.jero.modules.activiti.process.standardComplianceCheck.service.IProcessStandardComplianceCheckDetailService; +import com.jero.modules.activiti.process.standardComplianceCheck.service.IProcessStandardComplianceCheckService; +import com.jero.modules.assessmentLibrary.entity.LawsConformityAssessmentLibrary; +import com.jero.modules.assessmentLibrary.entity.LawsConformityAssessmentLibraryDetail; +import com.jero.modules.assessmentLibrary.entity.LawsEvaluationNotMetLibrary; +import com.jero.modules.assessmentLibrary.service.ILawsConformityAssessmentLibraryDetailService; +import com.jero.modules.assessmentLibrary.service.ILawsConformityAssessmentLibraryService; +import com.jero.modules.assessmentLibrary.service.ILawsEvaluationNotMetLibraryService; +import com.jero.modules.laws.enterprise.util.BeanCopyUtils; import lombok.extern.slf4j.Slf4j; import org.activiti.engine.delegate.DelegateExecution; import org.activiti.engine.delegate.ExecutionListener; import org.springframework.stereotype.Component; +import javax.annotation.Resource; +import java.util.List; +import java.util.stream.Collectors; + +import static com.jero.modules.activiti.process.standardComplianceCheck.common.ProcessStandardComplianceCheckConstants.*; + /** * @author liJiaRao * @date 2023-06-18 15:43 @@ -13,10 +31,49 @@ import org.springframework.stereotype.Component; @Component public class ProcessSCCEndListener implements ExecutionListener { + @Resource + private IProcessStandardComplianceCheckService sccService; + + @Resource + private IProcessStandardComplianceCheckDetailService sccDetailService; + + @Resource + private ILawsConformityAssessmentLibraryService calService; + + @Resource + private ILawsConformityAssessmentLibraryDetailService calDetailService; + + @Resource + private ILawsEvaluationNotMetLibraryService notMetService; + @Override public void notify(DelegateExecution delegateExecution) { log.info("法规符合性排查流程结束监听器开始执行"); - + LambdaQueryWrapper sccWrapper = new LambdaQueryWrapper<>(); + LambdaQueryWrapper sccDetailWrapper = new LambdaQueryWrapper<>(); + // 找到流程数据 + String processInstanceId = delegateExecution.getProcessInstanceId(); + sccWrapper.eq(ProcessStandardComplianceCheck::getProcessInstanceId, processInstanceId); + ProcessStandardComplianceCheck scc = sccService.getOne(sccWrapper); + // 找到条款数据 + sccDetailWrapper.eq(ProcessStandardComplianceCheckDetail::getCheckId, scc.getId()); + List list = sccDetailService.list(sccDetailWrapper); + // 入库保存 + LawsConformityAssessmentLibrary lawsConformityAssessmentLibrary = BeanCopyUtils.copyBean(scc, LawsConformityAssessmentLibrary.class); + lawsConformityAssessmentLibrary.setId(null); + calService.save(lawsConformityAssessmentLibrary); + List lawsConformityAssessmentLibraryDetails = BeanCopyUtils.copyBeanList(list, LawsConformityAssessmentLibraryDetail.class); + lawsConformityAssessmentLibraryDetails.forEach(detail -> { + detail.setBindId(lawsConformityAssessmentLibrary.getId()); + }); + calDetailService.saveBatch(lawsConformityAssessmentLibraryDetails); + // 找出不符合和待验证的存入不符合项库 + List notList = lawsConformityAssessmentLibraryDetails + .stream().filter(detail -> detail.getResult().equals(DISCREPANCY) || + detail.getResult().equals(NOT_INVOLVE)).collect(Collectors.toList()); + List lawsEvaluationNotMetLibraries = BeanCopyUtils.copyBeanList(notList, LawsEvaluationNotMetLibrary.class); + lawsEvaluationNotMetLibraries.forEach(detail -> detail.setId(null)); + notMetService.saveBatch(lawsEvaluationNotMetLibraries); log.info("法规符合性排查流程结束监听器结束执行"); } }