feat: scc流程结束入库

This commit is contained in:
2024-07-18 08:27:02 +08:00
parent 9364401c1d
commit be809bc752
2 changed files with 64 additions and 1 deletions
@@ -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";
}
@@ -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<ProcessStandardComplianceCheck> sccWrapper = new LambdaQueryWrapper<>();
LambdaQueryWrapper<ProcessStandardComplianceCheckDetail> sccDetailWrapper = new LambdaQueryWrapper<>();
// 找到流程数据
String processInstanceId = delegateExecution.getProcessInstanceId();
sccWrapper.eq(ProcessStandardComplianceCheck::getProcessInstanceId, processInstanceId);
ProcessStandardComplianceCheck scc = sccService.getOne(sccWrapper);
// 找到条款数据
sccDetailWrapper.eq(ProcessStandardComplianceCheckDetail::getCheckId, scc.getId());
List<ProcessStandardComplianceCheckDetail> list = sccDetailService.list(sccDetailWrapper);
// 入库保存
LawsConformityAssessmentLibrary lawsConformityAssessmentLibrary = BeanCopyUtils.copyBean(scc, LawsConformityAssessmentLibrary.class);
lawsConformityAssessmentLibrary.setId(null);
calService.save(lawsConformityAssessmentLibrary);
List<LawsConformityAssessmentLibraryDetail> lawsConformityAssessmentLibraryDetails = BeanCopyUtils.copyBeanList(list, LawsConformityAssessmentLibraryDetail.class);
lawsConformityAssessmentLibraryDetails.forEach(detail -> {
detail.setBindId(lawsConformityAssessmentLibrary.getId());
});
calDetailService.saveBatch(lawsConformityAssessmentLibraryDetails);
// 找出不符合和待验证的存入不符合项库
List<LawsConformityAssessmentLibraryDetail> notList = lawsConformityAssessmentLibraryDetails
.stream().filter(detail -> detail.getResult().equals(DISCREPANCY) ||
detail.getResult().equals(NOT_INVOLVE)).collect(Collectors.toList());
List<LawsEvaluationNotMetLibrary> lawsEvaluationNotMetLibraries = BeanCopyUtils.copyBeanList(notList, LawsEvaluationNotMetLibrary.class);
lawsEvaluationNotMetLibraries.forEach(detail -> detail.setId(null));
notMetService.saveBatch(lawsEvaluationNotMetLibraries);
log.info("法规符合性排查流程结束监听器结束执行");
}
}