diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esInitChange/mapper/xml/ProcessEsChangeMapper.xml b/laws-modules/src/main/java/com/jero/modules/activiti/process/esInitChange/mapper/xml/ProcessEsChangeMapper.xml deleted file mode 100644 index 991ed165..00000000 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esInitChange/mapper/xml/ProcessEsChangeMapper.xml +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 - - diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esRevision/entity/ProcessEsRevision.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esRevision/entity/ProcessEsRevision.java index aa5097c0..6598e560 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esRevision/entity/ProcessEsRevision.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esRevision/entity/ProcessEsRevision.java @@ -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 = "评审日期") diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esRevision/listener/ProcessESRevisionEndListener.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esRevision/listener/ProcessESRevisionEndListener.java index 32f13749..f08fc8c6 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esRevision/listener/ProcessESRevisionEndListener.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esRevision/listener/ProcessESRevisionEndListener.java @@ -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 revisionWrapper = new LambdaQueryWrapper<>(); + revisionWrapper.eq(ProcessEsRevision::getProcessInstanceId, processInstanceId); + // 获取企标相关数据 + ProcessEsRevision data = esRevisionService.getOne(revisionWrapper); + Map variables = JSON.parseObject(data.getBusinessJson(), Map.class); + String inspectContentJson = data.getInspectContentJson(); + List> inspectContentList; + if (StrUtil.isNotBlank(inspectContentJson)) { + inspectContentList = + JSON.parseObject(inspectContentJson, new TypeReference>>() {}); + variables.put(FieldCommon.CHECK_LIST, inspectContentList); + } + // 发布企标 + lawsCommonService.commonAdd(variables); + String espId = data.getEspId(); + EnterpriseStandardPlan esp = espService.getById(espId); + String newStandardNo = esp.getNewEnStandardNo(); + LambdaQueryWrapper 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 reviewMeetingDetailVOS = data.parseReviewMeetingDetails(); + List rmrEvaluateDetails = + BeanCopyUtils.copyBeanList(reviewMeetingDetailVOS, EnterpriseStandardRmrEvaluateDetail.class); + rmrEvaluateDetails.forEach(r -> r.setReviewMeetingId(esRmr.getId())); + rmrDetailService.saveBatch(rmrEvaluateDetails); + // 企标计划改为已完成 + esp.setProjectStatus(ESPProjectStatus.COMPLETED.getValue()); + espService.updateById(esp); } }