feat: scc流程结束入库
This commit is contained in:
+6
@@ -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";
|
||||
|
||||
}
|
||||
|
||||
+58
-1
@@ -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("法规符合性排查流程结束监听器结束执行");
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user