fix: 法规符合性评估库
This commit is contained in:
+21
-9
@@ -23,6 +23,7 @@ import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Comparator;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.stream.Collectors;
|
||||
@@ -70,9 +71,22 @@ public class ProcessSCCEndListener implements ExecutionListener {
|
||||
Page<ProcessApprovalRecord> processApprovalRecordPage = processApprovalRecordService
|
||||
.pageList(page, processApprovalRecord, COMPLETED_RECORD_LIST);
|
||||
List<ProcessApprovalRecord> processApprovalRecordList = processApprovalRecordPage.getRecords();
|
||||
// 找到流程数据
|
||||
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);
|
||||
// 找到流程的所有评估人
|
||||
boolean distribute = (boolean) delegateExecution.getVariable(DISTRIBUTE);
|
||||
String allAssessors;
|
||||
Date valuationTime = list.stream()
|
||||
.map(ProcessStandardComplianceCheckDetail::getValuationTime)
|
||||
.max(Comparator.naturalOrder())
|
||||
.orElse(new Date());
|
||||
if (distribute) {
|
||||
allAssessors = processApprovalRecordList.stream()
|
||||
.filter(task -> task.getNodeId().equals(DESIGNER_ENGINEER_EVALUATION))
|
||||
@@ -89,15 +103,6 @@ public class ProcessSCCEndListener implements ExecutionListener {
|
||||
.map(ProcessApprovalRecord::getUserId)
|
||||
.distinct()
|
||||
.collect(Collectors.joining(","));
|
||||
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);
|
||||
// 入库保存
|
||||
LambdaQueryWrapper<LawsConformityAssessmentLibrary> calWrapper = new LambdaQueryWrapper<>();
|
||||
calWrapper.eq(LawsConformityAssessmentLibrary::getStandardNumber, scc.getStandardNumber());
|
||||
@@ -106,6 +111,7 @@ public class ProcessSCCEndListener implements ExecutionListener {
|
||||
if (lawsConformityAssessmentLibrary == null) {
|
||||
lawsConformityAssessmentLibrary = BeanCopyUtils.copyBean(scc, LawsConformityAssessmentLibrary.class);
|
||||
lawsConformityAssessmentLibrary.setId(null);
|
||||
lawsConformityAssessmentLibrary.setValuationTime(valuationTime);
|
||||
lawsConformityAssessmentLibrary.setAllApprovalUser(allApprovalUsers);
|
||||
lawsConformityAssessmentLibrary.setAllAssessor(allAssessors);
|
||||
calService.save(lawsConformityAssessmentLibrary);
|
||||
@@ -123,6 +129,12 @@ public class ProcessSCCEndListener implements ExecutionListener {
|
||||
// 更新评估日期
|
||||
lawsConformityAssessmentLibrary.setAllApprovalUser(allApprovalUsers);
|
||||
lawsConformityAssessmentLibrary.setAllAssessor(allAssessors);
|
||||
// 如果大于原来的评估日期,则更新
|
||||
if (lawsConformityAssessmentLibrary.getValuationTime() == null ||
|
||||
lawsConformityAssessmentLibrary.getValuationTime().before(valuationTime)
|
||||
) {
|
||||
lawsConformityAssessmentLibrary.setValuationTime(valuationTime);
|
||||
}
|
||||
calService.updateById(lawsConformityAssessmentLibrary);
|
||||
}
|
||||
|
||||
|
||||
-1
@@ -84,7 +84,6 @@ public class LawsConformityAssessmentLibrary implements Serializable {
|
||||
/**
|
||||
* 适用市场
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "适用市场")
|
||||
@Dict(dicCode = "market_state")
|
||||
private String applicableMarket;
|
||||
|
||||
+4
-3
@@ -4,13 +4,13 @@ import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
import com.jero.common.aspect.annotation.Dict;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
*
|
||||
* @TableName laws_conformity_assessment_library_detail
|
||||
@@ -98,6 +98,7 @@ public class LawsConformityAssessmentLibraryDetail implements Serializable {
|
||||
/**
|
||||
* 评估结果
|
||||
*/
|
||||
@Dict(dicCode = "evaluation_result")
|
||||
@ApiModelProperty(value = "评估结果")
|
||||
private String result;
|
||||
|
||||
|
||||
+10
-11
@@ -6,7 +6,6 @@
|
||||
|
||||
<resultMap id="BaseResultMap" type="com.jero.modules.assessmentLibrary.entity.LawsConformityAssessmentLibrary">
|
||||
<id property="id" column="id" jdbcType="VARCHAR"/>
|
||||
<result property="source" column="source" jdbcType="VARCHAR"/>
|
||||
<result property="standardId" column="standard_id" jdbcType="VARCHAR"/>
|
||||
<result property="standardNumber" column="standard_number" jdbcType="VARCHAR"/>
|
||||
<result property="standardName" column="standard_name" jdbcType="VARCHAR"/>
|
||||
@@ -14,21 +13,21 @@
|
||||
</resultMap>
|
||||
|
||||
<sql id="Base_Column_List">
|
||||
id,source,standard_id,
|
||||
id,standard_id,
|
||||
standard_number,standard_name,valuation_time
|
||||
</sql>
|
||||
|
||||
<select id="queryByPage" resultType="com.jero.modules.assessmentLibrary.entity.LawsConformityAssessmentLibrary">
|
||||
select
|
||||
cs.id,
|
||||
cs.standard_id,
|
||||
d.standard_number,
|
||||
d.standard_name,
|
||||
d.applicable_market,
|
||||
cs.valuation_time
|
||||
select cs.id,
|
||||
cs.standard_id,
|
||||
IF(cs.standard_id IS NOT NULL, d.standard_number, cs.standard_number) AS standard_number,
|
||||
IF(cs.standard_id IS NOT NULL, d.standard_name, cs.standard_name) AS standard_name,
|
||||
lms.country as applicableMarket,
|
||||
cs.valuation_time
|
||||
from laws_conformity_assessment_library cs
|
||||
left join laws_domestic_standard as d on d.id = cs.standard_id
|
||||
${ew.customSqlSegment}
|
||||
left join laws_domestic_standard as d on d.id = cs.standard_id
|
||||
left join laws_market_standard as lms on lms.id = cs.applicable_market
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
<select id="detail"
|
||||
|
||||
+6
-2
@@ -84,8 +84,12 @@ public class LawsConformityAssessmentLibraryServiceImpl extends ServiceImpl<Laws
|
||||
"d.standard_number", lawsConformityAssessmentLibrary.getStandardNumber());
|
||||
queryWrapper.like(StringUtils.isNotBlank(lawsConformityAssessmentLibrary.getStandardName()),
|
||||
"d.standard_name", lawsConformityAssessmentLibrary.getStandardName());
|
||||
if (StringUtils.isNotBlank(lawsConformityAssessmentLibrary.getApplicableMarket())) {
|
||||
queryWrapper.in("d.applicable_market", Arrays.asList(lawsConformityAssessmentLibrary.getApplicableMarket().split(",")));
|
||||
String applicableMarkets = lawsConformityAssessmentLibrary.getApplicableMarket();
|
||||
if (StringUtils.isNotBlank(applicableMarkets)) {
|
||||
String[] split = applicableMarkets.split(",");
|
||||
for (String splitStr : split) {
|
||||
queryWrapper.like("lms.country", splitStr);
|
||||
}
|
||||
}
|
||||
if (StringUtils.isNotBlank(lawsConformityAssessmentLibrary.getSelections())) {
|
||||
queryWrapper.in("cs.id", Arrays.asList(lawsConformityAssessmentLibrary.getSelections().split(",")));
|
||||
|
||||
Reference in New Issue
Block a user