feat: 企标制修订流程-最终监听器
This commit is contained in:
-48
@@ -1,48 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.jero.modules.activiti.process.esChange.mapper.ProcessEsChangeMapper">
|
||||
|
||||
<resultMap id="BaseResultMap" type="com.jero.modules.activiti.process.esChange.entity.ProcessEsChange">
|
||||
<id property="id" column="id" jdbcType="VARCHAR"/>
|
||||
<result property="createBy" column="create_by" jdbcType="VARCHAR"/>
|
||||
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
|
||||
<result property="updateBy" column="update_by" jdbcType="VARCHAR"/>
|
||||
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
|
||||
<result property="orgCode" column="org_code" jdbcType="VARCHAR"/>
|
||||
<result property="delFlag" column="del_flag" jdbcType="TINYINT"/>
|
||||
<result property="processInstanceId" column="process_instance_id" jdbcType="VARCHAR"/>
|
||||
<result property="standardNumber" column="standard_number" jdbcType="VARCHAR"/>
|
||||
<result property="standardName" column="standard_name" jdbcType="VARCHAR"/>
|
||||
<result property="standardSystem" column="standard_system" jdbcType="VARCHAR"/>
|
||||
<result property="standardCategory" column="standard_category" jdbcType="VARCHAR"/>
|
||||
<result property="gradeClassification" column="grade_classification" jdbcType="VARCHAR"/>
|
||||
<result property="englishName" column="english_name" jdbcType="VARCHAR"/>
|
||||
<result property="releaseDate" column="release_date" jdbcType="TIMESTAMP"/>
|
||||
<result property="implementationDate" column="implementation_date" jdbcType="TIMESTAMP"/>
|
||||
<result property="tryFlag" column="try_flag" jdbcType="TINYINT"/>
|
||||
<result property="trialPeriod" column="trial_period" jdbcType="VARCHAR"/>
|
||||
<result property="partName" column="part_name" jdbcType="VARCHAR"/>
|
||||
<result property="mainDraftingUser" column="main_drafting_user" jdbcType="VARCHAR"/>
|
||||
<result property="mainDraftingUnit" column="main_drafting_unit" jdbcType="VARCHAR"/>
|
||||
<result property="standardScope" column="standard_scope" jdbcType="VARCHAR"/>
|
||||
<result property="substituteStandardNumber" column="substitute_standard_number" jdbcType="VARCHAR"/>
|
||||
<result property="quotedStandard" column="quoted_standard" jdbcType="VARCHAR"/>
|
||||
<result property="associatedFile" column="associated_file" jdbcType="VARCHAR"/>
|
||||
<result property="acquisitionDegree" column="acquisition_degree" jdbcType="VARCHAR"/>
|
||||
<result property="internationalStandardNum" column="international_standard_num" jdbcType="VARCHAR"/>
|
||||
</resultMap>
|
||||
|
||||
<sql id="Base_Column_List">
|
||||
id,create_by,create_time,
|
||||
update_by,update_time,org_code,
|
||||
del_flag,process_instance_id,standard_number,
|
||||
standard_name,standard_system,standard_category,
|
||||
grade_classification,english_name,release_date,
|
||||
implementation_date,try_flag,trial_period,
|
||||
part_name,main_drafting_user,main_drafting_unit,
|
||||
standard_scope,substitute_standard_number,quoted_standard,
|
||||
associated_file,acquisition_degree,international_standard_num
|
||||
</sql>
|
||||
</mapper>
|
||||
-1
@@ -140,7 +140,6 @@ public class ProcessEsRevision implements Serializable {
|
||||
/**
|
||||
* 评审日期
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@ApiModelProperty(value = "评审日期")
|
||||
|
||||
+80
-1
@@ -1,16 +1,95 @@
|
||||
package com.jero.modules.activiti.process.esRevision.listener;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.TypeReference;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.jero.modules.activiti.process.esInitChange.entity.enums.ESPProjectStatus;
|
||||
import com.jero.modules.activiti.process.esRevision.entity.ProcessEsRevision;
|
||||
import com.jero.modules.activiti.process.esRevision.entity.vo.ReviewMeetingDetailVO;
|
||||
import com.jero.modules.activiti.process.esRevision.service.EsRevisionService;
|
||||
import com.jero.modules.laws.common.constant.FieldCommon;
|
||||
import com.jero.modules.laws.common.service.ILawsCommonService;
|
||||
import com.jero.modules.laws.enterprise.entity.EnterpriseStandardPlan;
|
||||
import com.jero.modules.laws.enterprise.entity.EnterpriseStandardReviewMeetingRecord;
|
||||
import com.jero.modules.laws.enterprise.entity.EnterpriseStandardRmrEvaluateDetail;
|
||||
import com.jero.modules.laws.enterprise.service.EnterpriseStandardPlanService;
|
||||
import com.jero.modules.laws.enterprise.service.EnterpriseStandardReviewMeetingRecordService;
|
||||
import com.jero.modules.laws.enterprise.service.EnterpriseStandardRmrEvaluateDetailService;
|
||||
import com.jero.modules.laws.enterprise.util.BeanCopyUtils;
|
||||
import com.jero.modules.laws.standard.entity.LawsEnterpriseStandard;
|
||||
import com.jero.modules.laws.standard.service.ILawsEnterpriseStandardService;
|
||||
import org.activiti.engine.delegate.DelegateExecution;
|
||||
import org.activiti.engine.delegate.ExecutionListener;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* @author: Mzaxd
|
||||
* @Date: 2023/12/19 11:59
|
||||
*/
|
||||
@Component
|
||||
public class ProcessESRevisionEndListener implements ExecutionListener {
|
||||
|
||||
@Resource
|
||||
private EnterpriseStandardPlanService espService;
|
||||
|
||||
@Resource
|
||||
private EsRevisionService esRevisionService;
|
||||
|
||||
@Resource
|
||||
private EnterpriseStandardReviewMeetingRecordService rmrService;
|
||||
|
||||
@Resource
|
||||
private EnterpriseStandardRmrEvaluateDetailService rmrDetailService;
|
||||
|
||||
@Resource
|
||||
private ILawsCommonService lawsCommonService;
|
||||
|
||||
@Resource
|
||||
private ILawsEnterpriseStandardService esService;
|
||||
|
||||
@Override
|
||||
public void notify(DelegateExecution delegateExecution) {
|
||||
|
||||
// 获取流程实例Id
|
||||
String processInstanceId = delegateExecution.getProcessInstanceId();
|
||||
// 根据流程Id获取业务数据
|
||||
LambdaQueryWrapper<ProcessEsRevision> revisionWrapper = new LambdaQueryWrapper<>();
|
||||
revisionWrapper.eq(ProcessEsRevision::getProcessInstanceId, processInstanceId);
|
||||
// 获取企标相关数据
|
||||
ProcessEsRevision data = esRevisionService.getOne(revisionWrapper);
|
||||
Map<String, Object> variables = JSON.parseObject(data.getBusinessJson(), Map.class);
|
||||
String inspectContentJson = data.getInspectContentJson();
|
||||
List<LinkedHashMap<String, Object>> inspectContentList;
|
||||
if (StrUtil.isNotBlank(inspectContentJson)) {
|
||||
inspectContentList =
|
||||
JSON.parseObject(inspectContentJson, new TypeReference<List<LinkedHashMap<String, Object>>>() {});
|
||||
variables.put(FieldCommon.CHECK_LIST, inspectContentList);
|
||||
}
|
||||
// 发布企标
|
||||
lawsCommonService.commonAdd(variables);
|
||||
String espId = data.getEspId();
|
||||
EnterpriseStandardPlan esp = espService.getById(espId);
|
||||
String newStandardNo = esp.getNewEnStandardNo();
|
||||
LambdaQueryWrapper<LawsEnterpriseStandard> esWrapper = new LambdaQueryWrapper<>();
|
||||
esWrapper.eq(LawsEnterpriseStandard::getStandardNumber, newStandardNo);
|
||||
LawsEnterpriseStandard es = esService.getOne(esWrapper);
|
||||
// 保存评审会记录
|
||||
EnterpriseStandardReviewMeetingRecord esRmr = new EnterpriseStandardReviewMeetingRecord();
|
||||
esRmr.setStandardId(es.getId());
|
||||
esRmr.setStandardNo(es.getStandardNumber());
|
||||
esRmr.setReviewDate(data.getReviewDate());
|
||||
rmrService.save(esRmr);
|
||||
// 保存评审会评审结果
|
||||
List<ReviewMeetingDetailVO> reviewMeetingDetailVOS = data.parseReviewMeetingDetails();
|
||||
List<EnterpriseStandardRmrEvaluateDetail> rmrEvaluateDetails =
|
||||
BeanCopyUtils.copyBeanList(reviewMeetingDetailVOS, EnterpriseStandardRmrEvaluateDetail.class);
|
||||
rmrEvaluateDetails.forEach(r -> r.setReviewMeetingId(esRmr.getId()));
|
||||
rmrDetailService.saveBatch(rmrEvaluateDetails);
|
||||
// 企标计划改为已完成
|
||||
esp.setProjectStatus(ESPProjectStatus.COMPLETED.getValue());
|
||||
espService.updateById(esp);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user