feat: 企标制修订流程流程流转相关代码

This commit is contained in:
2024-09-24 14:40:52 +08:00
parent 8ff06e4c27
commit 54dce5847a
5 changed files with 128 additions and 195 deletions
@@ -6,8 +6,6 @@ package com.jero.modules.activiti.process.esRevisionAdvice.common;
*/ */
public class RevisionTaskNodeIdConstant { public class RevisionTaskNodeIdConstant {
/** 主起草人分发 */
public static final String MAIN_DRAFT_USER_DISTRIBUTE = "Activity_0v98tow";
/** 法规工程师确认是否开启征求意见 */ /** 法规工程师确认是否开启征求意见 */
public static final String CONFIRM_ADVISE = "Activity_1siuksf"; public static final String CONFIRM_ADVISE = "Activity_1siuksf";
/** 设计工程师填写意见 */ /** 设计工程师填写意见 */
@@ -16,5 +14,8 @@ public class RevisionTaskNodeIdConstant {
public static final String ADVICE_COLLECT = "Activity_1riqzkp"; public static final String ADVICE_COLLECT = "Activity_1riqzkp";
/** 法规工程师派号 */ /** 法规工程师派号 */
public static final String SET_STANDARD_NUMBER = "Activity_1ralk8e"; public static final String SET_STANDARD_NUMBER = "Activity_1ralk8e";
/** 征求意见人员 */
public static final String ADVICE_USER_LIST = "adviceUserList";
/** 开启征求意见 */
public static final String OPEN = "open";
} }
@@ -103,19 +103,25 @@ public class EsRevisionAdvice implements Serializable {
@Dict(dicCode = "consultation_opinion") @Dict(dicCode = "consultation_opinion")
private String handleAdvice; private String handleAdvice;
/**
* 0无意见 1有意见
*/
@ApiModelProperty(value = "0无意见 1有意见")
@Dict(dicCode = "yn")
private String haveNoOpinion;
/** /**
* 理由 * 理由
*/ */
@ApiModelProperty(value = "理由") @ApiModelProperty(value = "理由")
private String reason; private String reason;
/**
* 轮数
*/
@ApiModelProperty(value = "轮数")
@Dict(dicCode = "batch_num")
private Integer batchNum;
/**
* 标准Id
*/
@ApiModelProperty(value = "标准Id")
private String standardId;
@TableField(exist = false) @TableField(exist = false)
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
} }
@@ -1,11 +1,28 @@
package com.jero.modules.activiti.process.esRevisionAdvice.listener; package com.jero.modules.activiti.process.esRevisionAdvice.listener;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.PropertyNamingStrategy;
import com.jero.modules.activiti.process.common.enums.StandardStateEnum;
import com.jero.modules.activiti.process.esRevisionAdvice.entity.EsRevisionAdvice;
import com.jero.modules.activiti.process.esRevisionAdvice.entity.ProcessEsRevision;
import com.jero.modules.activiti.process.esRevisionAdvice.service.EsRevisionAdviceService;
import com.jero.modules.activiti.process.esRevisionAdvice.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.service.EnterpriseStandardPlanService; import com.jero.modules.laws.enterprise.service.EnterpriseStandardPlanService;
import com.jero.modules.tag.enums.TableNameEnum;
import org.activiti.engine.delegate.DelegateExecution; import org.activiti.engine.delegate.DelegateExecution;
import org.activiti.engine.delegate.ExecutionListener; import org.activiti.engine.delegate.ExecutionListener;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
import static com.jero.modules.laws.common.constant.FieldCommon.MAIN_DRAFT_USER;
/** /**
* @author: Mzaxd * @author: Mzaxd
@@ -17,91 +34,59 @@ public class ProcessESRevisionEndListener implements ExecutionListener {
@Resource @Resource
private EnterpriseStandardPlanService espService; private EnterpriseStandardPlanService espService;
// @Resource @Resource
// private EsRevisionService esRevisionService; private EsRevisionService esRevisionService;
//
// @Resource
// private EnterpriseStandardReviewMeetingRecordService rmrService;
//
// @Resource
// private EnterpriseStandardRmrEvaluateDetailService rmrDetailService;
//
// @Resource
// private ILawsCommonService lawsCommonService;
//
// @Resource
// private IBusProcessModelHisService busProcessModelHisService;
@Resource
private EsRevisionAdviceService esAdviceService;
@Resource
private ILawsCommonService lawsCommonService;
@Override @Override
public void notify(DelegateExecution delegateExecution) { public void notify(DelegateExecution delegateExecution) {
// 获取流程实例Id // 获取流程实例Id
String processInstanceId = delegateExecution.getProcessInstanceId(); String processInstanceId = delegateExecution.getProcessInstanceId();
// 根据流程Id获取业务数据 // 根据流程Id获取业务数据
// LambdaQueryWrapper<ProcessEsRevision> revisionWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<ProcessEsRevision> revisionWrapper = new LambdaQueryWrapper<>();
// revisionWrapper.eq(ProcessEsRevision::getProcessInstanceId, processInstanceId); revisionWrapper.eq(ProcessEsRevision::getProcessInstanceId, processInstanceId);
// // 获取企标相关数据 // 获取企标相关数据
// ProcessEsRevision data = esRevisionService.getOne(revisionWrapper); ProcessEsRevision data = esRevisionService.getOne(revisionWrapper);
// Map<String, Object> variables = JSON.parseObject(data.getBusinessJson(), Map.class); // 将数据转换为Map
// String inspectContentJson = data.getInspectContentJson(); Map<String, Object> variables = transMap(data);
// List<LinkedHashMap<String, Object>> inspectContentList; // 发布企标
// if (StrUtil.isNotBlank(inspectContentJson)) { String esId = lawsCommonService.commonAdd(variables);
// inspectContentList = // 所有意见设置标准Id
// JSON.parseObject(inspectContentJson, new TypeReference<List<LinkedHashMap<String, Object>>>() {}); LambdaQueryWrapper<EsRevisionAdvice> adviceWrapper = new LambdaQueryWrapper<>();
// variables.put(FieldCommon.CHECK_LIST, inspectContentList); adviceWrapper.eq(EsRevisionAdvice::getProcessInstanceId, processInstanceId);
// } List<EsRevisionAdvice> list = esAdviceService.list(adviceWrapper);
// // 将标准号进行拆分后填充字段 if (!list.isEmpty()) {
// String standardNumber = (String) variables.get(FieldCommon.STANDARD_NUMBER); list.forEach(item -> item.setStandardId(esId));
// if (StringUtils.isNotBlank(standardNumber)) { }
// Map<String, String> map = EnterpriseStandardUtil.splitStandardNumber(standardNumber); // 更新企标计划状态
// variables.putAll(map); String espId = data.getEspId();
// // 如果没有主起草人,则需要填充主起草人 EnterpriseStandardPlan esp = espService.getById(espId);
// } espService.updateById(esp);
// // 主起草人 }
// String mainDraftUser = (String) variables.get(FieldCommon.MAIN_DRAFTING_USER);
// if (StringUtils.isBlank(mainDraftUser)) { private Map<String, Object> transMap(ProcessEsRevision data) {
// variables.put(FieldCommon.MAIN_DRAFTING_USER, data.getMainDraftUser()); Map<String, Object> variables;
// } // 转换 创建 ObjectMapper 实例并设置命名策略
// // 标准状态 ObjectMapper objectMapper = new ObjectMapper();
// variables.put(FieldCommon.STANDARD_STATE, StandardStateEnum.RELEASE.getStateValue()); objectMapper.setPropertyNamingStrategy(PropertyNamingStrategy.SNAKE_CASE);
// String tryFlag = (String) variables.get(FieldCommon.TRY_FLAG); // 将对象转换为 Map<String, Object>
// if (tryFlag != null) { variables = objectMapper.convertValue(data, Map.class);
// if (tryFlag.equals(YesOrNoEnum.YES.getValue())) { variables.put(FieldCommon.MODULE, TableNameEnum.ENTERPRISE_STANDARDS.getValue());
// variables.put(FieldCommon.STANDARD_STATE, StandardStateEnum.TRIAL_OPERATION.getStateValue()); // 主起草人
// } String mainDraftUser = (String) variables.get(MAIN_DRAFT_USER);
// } variables.put(FieldCommon.MAIN_DRAFTING_USER, mainDraftUser);
// variables.put(FieldCommon.RELEASE_DATE, data.getReleaseDate()); // 标准状态
// variables.put(FieldCommon.IMPLEMENTATION_DATE, data.getImplementDate()); variables.put(FieldCommon.STANDARD_STATE, StandardStateEnum.CURRENTLY_EFFECTIVE.getStateValue());
// variables.put(FieldCommon.MAIN_DRAFTING_UNIT_RESPONSIBLE_PERSON, data.getApprovalUser()); String standardId = IdWorker.getIdStr();
// variables.put(FieldCommon.MODULE, TableNameEnum.ENTERPRISE_STANDARDS.getValue()); variables.put(FieldCommon.ID, standardId);
// variables.put(FieldCommon.AUTH_DEPT, data.getAuthDept()); String onEditFile = data.getOnEditFile();
// String standardId = IdWorker.getIdStr(); // 发布稿
// variables.put(FieldCommon.ID, standardId); variables.put(FieldCommon.FILE_PUBLISH_OF_ORIGINAL, onEditFile);
// // minio上传在线编辑文件 return variables;
// String onEditFile = data.getOnEditFile();
// if (StringUtils.isNotBlank(onEditFile)) {
// String fileId = busProcessModelHisService.saveProcessFileToOss(onEditFile);
// variables.put(FieldCommon.FILE_PUBLISH_OF_ORIGINAL, fileId);
// }
// // 发布企标
// lawsCommonService.commonAdd(variables);
// String espId = data.getEspId();
// EnterpriseStandardPlan esp = espService.getById(espId);
// // 保存评审会记录
// EnterpriseStandardReviewMeetingRecord esRmr = new EnterpriseStandardReviewMeetingRecord();
// esRmr.setStandardId(standardId);
// esRmr.setPlanId(esp.getId());
// esRmr.setReviewDate(data.getReviewDate());
// esRmr.setReviewUser(data.getReviewUser());
// 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);
// // 更新企标计划状态
// espService.updateById(esp);
} }
} }
@@ -1,22 +1,18 @@
package com.jero.modules.activiti.process.esRevisionAdvice.service.impl; package com.jero.modules.activiti.process.esRevisionAdvice.service.impl;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.api.SendMessageAPI;
import com.jero.common.api.dto.message.SendMessageDTO; import com.jero.common.api.dto.message.SendMessageDTO;
import com.jero.common.api.vo.ResultCommon; import com.jero.common.api.vo.ResultCommon;
import com.jero.common.aspect.TranslationAspect;
import com.jero.common.constant.enums.YesOrNoEnum; import com.jero.common.constant.enums.YesOrNoEnum;
import com.jero.common.exception.JeroBootException; import com.jero.common.exception.JeroBootException;
import com.jero.modules.activiti.entity.ProcessAll; import com.jero.modules.activiti.entity.ProcessAll;
import com.jero.modules.activiti.entity.ProcessApprovalRecord; import com.jero.modules.activiti.entity.ProcessApprovalRecord;
import com.jero.modules.activiti.enums.ProcessStatusEnum;
import com.jero.modules.activiti.enums.ProcessTypeEnum; import com.jero.modules.activiti.enums.ProcessTypeEnum;
import com.jero.modules.activiti.process.common.enums.ProcessType; import com.jero.modules.activiti.process.common.enums.ProcessType;
import com.jero.modules.activiti.process.common.service.ActFlowCommonService; import com.jero.modules.activiti.process.common.service.ActFlowCommonService;
import com.jero.modules.activiti.process.common.service.ProcessDraftService;
import com.jero.modules.activiti.process.esRevisionAdvice.entity.EsRevisionAdvice; import com.jero.modules.activiti.process.esRevisionAdvice.entity.EsRevisionAdvice;
import com.jero.modules.activiti.process.esRevisionAdvice.entity.HandleAdviceEnum;
import com.jero.modules.activiti.process.esRevisionAdvice.entity.ProcessEsRevision; import com.jero.modules.activiti.process.esRevisionAdvice.entity.ProcessEsRevision;
import com.jero.modules.activiti.process.esRevisionAdvice.entity.vo.ProcessRevisionVO; import com.jero.modules.activiti.process.esRevisionAdvice.entity.vo.ProcessRevisionVO;
import com.jero.modules.activiti.process.esRevisionAdvice.mapper.EsRevisionMapper; import com.jero.modules.activiti.process.esRevisionAdvice.mapper.EsRevisionMapper;
@@ -27,15 +23,13 @@ import com.jero.modules.activiti.process.fb.dto.BasicTaskInfoDTO;
import com.jero.modules.activiti.process.fb.service.IProcessHandleService; import com.jero.modules.activiti.process.fb.service.IProcessHandleService;
import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO; import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO;
import com.jero.modules.activiti.service.ProcessAllService; import com.jero.modules.activiti.service.ProcessAllService;
import com.jero.modules.activiti.service.ProcessApprovalRecordService;
import com.jero.modules.activiti.service.ProcessNodeLinkService; import com.jero.modules.activiti.service.ProcessNodeLinkService;
import com.jero.modules.laws.common.constant.FieldCommon;
import com.jero.modules.laws.common.constant.MessageTemplateCodeCommon;
import com.jero.modules.laws.enterprise.entity.ESPProjectStatus; import com.jero.modules.laws.enterprise.entity.ESPProjectStatus;
import com.jero.modules.laws.enterprise.entity.EnterpriseStandardPlan; import com.jero.modules.laws.enterprise.entity.EnterpriseStandardPlan;
import com.jero.modules.laws.enterprise.service.EnterpriseStandardPlanService; import com.jero.modules.laws.enterprise.service.EnterpriseStandardPlanService;
import com.jero.modules.laws.system.service.ILawsContactManageService;
import com.jero.modules.sys.utils.UserUtils; import com.jero.modules.sys.utils.UserUtils;
import com.jero.modules.system.service.ISysUserDepartService;
import com.jero.modules.system.service.ISysUserService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.activiti.engine.RuntimeService; import org.activiti.engine.RuntimeService;
import org.activiti.engine.TaskService; import org.activiti.engine.TaskService;
@@ -48,7 +42,6 @@ import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static com.jero.modules.activiti.common.ActivitiCommon.MAIN_INSTANCE_ID; import static com.jero.modules.activiti.common.ActivitiCommon.MAIN_INSTANCE_ID;
import static com.jero.modules.activiti.common.ActivitiCommon.PASS;
import static com.jero.modules.activiti.process.esRevisionAdvice.common.RevisionTaskNodeIdConstant.*; import static com.jero.modules.activiti.process.esRevisionAdvice.common.RevisionTaskNodeIdConstant.*;
/** /**
@@ -87,25 +80,7 @@ public class EsRevisionServiceImpl extends ServiceImpl<EsRevisionMapper, Process
private EsRevisionAdviceService adviceService; private EsRevisionAdviceService adviceService;
@Resource @Resource
private TranslationAspect translationAspect; private SendMessageAPI sendMessageAPI;
@Resource
private ISysUserDepartService sysUserDepartService;
// @Resource
// private SendMessageAPI sendMessageAPI;
@Resource
private ILawsContactManageService contactManageService;
@Resource
private ProcessApprovalRecordService parService;
@Resource
private ISysUserService userService;
@Resource
private ProcessDraftService prcDraftService;
@Override @Override
public void startProcess(ProcessInfoVO<ProcessRevisionVO> processInfoVO) { public void startProcess(ProcessInfoVO<ProcessRevisionVO> processInfoVO) {
@@ -193,35 +168,24 @@ public class EsRevisionServiceImpl extends ServiceImpl<EsRevisionMapper, Process
if (Objects.nonNull(data)) { if (Objects.nonNull(data)) {
detailQueryWrapper.eq(EsRevisionAdvice::getProcessInstanceId, processInstanceId); detailQueryWrapper.eq(EsRevisionAdvice::getProcessInstanceId, processInstanceId);
adviceList = adviceService.list(detailQueryWrapper); adviceList = adviceService.list(detailQueryWrapper);
// 筛选出最新一轮
if (!adviceList.isEmpty()) {
Map<Integer, List<EsRevisionAdvice>> map = adviceList.stream().collect(Collectors.groupingBy(EsRevisionAdvice::getBatchNum));
// 获取轮数最大的轮数
Integer maxNum = this.calculateAdviceBatchNum(adviceList);
adviceList = map.get(maxNum);
}
} }
// 获取当前流程 // 获取当前流程
ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(processInstanceId).singleResult();
String processDefinitionId = processInstance.getProcessDefinitionId();
String xmlNodeId = record.getNodeId(); String xmlNodeId = record.getNodeId();
// 设置流程信息 // 设置流程信息
switch (xmlNodeId) { switch (xmlNodeId) {
case CONFIRM_ADVISE: case CONFIRM_ADVISE:
// 判断是否开启征求意见子流程 设置流程变量
// boolean adviceFlag = !data.getAdviceFlag().equals(YesOrNoEnum.NO.getValue());
// if (adviceFlag) {
// List<String> adviceUserList = Arrays.asList(data.getAdviceUsers().split(","));
// taskService.setVariable(taskId, "adviceUserList", adviceUserList);
// taskService.setVariable(taskId, "open", true);
// // 保存流程数据
// saveOrUpdate(data);
// userMap.put("mainDraftCollectUser", mainDraftUser);
// userMap.put("contactUser", data.getContactUser());
// processNodeLinkService.incrementSaveNodeUserLink(processDefinitionId, processInstanceId, userMap);
// } else {
// taskService.setVariable(taskId, "open", false);
// }
break;
case ADVICE: case ADVICE:
case ADVICE_COLLECT:
case SET_STANDARD_NUMBER: case SET_STANDARD_NUMBER:
break;
case ADVICE_COLLECT:
processVo.setAdviceList(adviceList);
} }
// 设置流程变量等相关信息 // 设置流程变量等相关信息
processVo.setProcessInfo(data); processVo.setProcessInfo(data);
@@ -255,30 +219,42 @@ public class EsRevisionServiceImpl extends ServiceImpl<EsRevisionMapper, Process
// 获取流程实例ID // 获取流程实例ID
String processDefinitionId = processInstance.getProcessDefinitionId(); String processDefinitionId = processInstance.getProcessDefinitionId();
Map<String, Object> userMap = new HashMap<>(); Map<String, Object> userMap = new HashMap<>();
LambdaQueryWrapper<EsRevisionAdvice> detailQueryWrapper = new LambdaQueryWrapper<>();
detailQueryWrapper.eq(EsRevisionAdvice::getProcessInstanceId, processInstanceId);
List<EsRevisionAdvice> dbAdviceList = adviceService.list(detailQueryWrapper);
// 筛选出最新一轮
Integer maxBatchNum = this.calculateAdviceBatchNum(dbAdviceList);
switch (xmlNodeId) { switch (xmlNodeId) {
case CONFIRM_ADVISE: case CONFIRM_ADVISE:
// 判断是否开启征求意见子流程 设置流程变量 // 判断是否开启征求意见子流程 设置流程变量
boolean adviceFlag = !data.getAdviceFlag().equals(YesOrNoEnum.NO.getValue()); boolean adviceFlag = !data.getAdviceFlag().equals(YesOrNoEnum.NO.getValue());
if (adviceFlag) { if (adviceFlag) {
List<String> adviceUserList = Arrays.asList(data.getAdviceUsers().split(",")); List<String> adviceUserList = Arrays.asList(data.getAdviceUsers().split(","));
taskService.setVariable(taskId, "adviceUserList", adviceUserList); taskService.setVariable(taskId, ADVICE_USER_LIST, adviceUserList);
taskService.setVariable(taskId, "open", true); taskService.setVariable(taskId, OPEN, true);
// 保存流程数据 // 保存流程数据
saveOrUpdate(data); saveOrUpdate(data);
// userMap.put("mainDraftCollectUser", mainDraftUser); userMap.put(ADVICE_USER_LIST, data.getAdviceUsers());
// userMap.put("contactUser", data.getContactUser()); processNodeLinkService.saveNodeUserLink(processDefinitionId, processInstanceId, userMap);
processNodeLinkService.incrementSaveNodeUserLink(processDefinitionId, processInstanceId, userMap);
} else { } else {
taskService.setVariable(taskId, "open", false); taskService.setVariable(taskId, OPEN, false);
} }
break; break;
case ADVICE: case ADVICE:
// 保存意见数据
adviceList.forEach(advice -> advice.setProcessInstanceId(processInstanceId));
adviceList.forEach(advice -> advice.setBatchNum(maxBatchNum));
adviceService.saveBatch(adviceList);
case ADVICE_COLLECT: case ADVICE_COLLECT:
// 保存数据
adviceService.updateBatchById(adviceList);
// 给主起草人发消息
String mainDraftUser = (String) taskService.getVariable(taskId, FieldCommon.MAIN_DRAFT_USER);
this.sendMessageToMainDraftUser(mainDraftUser, processInstanceId, maxBatchNum);
case SET_STANDARD_NUMBER: case SET_STANDARD_NUMBER:
// 保存数据
updateById(data);
} }
runtimeService.setVariable(processInstanceId, PASS, true);
// 审批节点 // 审批节点
actFlowCommonService.completeTask(taskId, curUserId); actFlowCommonService.completeTask(taskId, curUserId);
// 更新审批表为完成,填充数据 // 更新审批表为完成,填充数据
@@ -289,56 +265,20 @@ public class EsRevisionServiceImpl extends ServiceImpl<EsRevisionMapper, Process
processHandleService.saveToSnapshot(processInfoVO, curUserId); processHandleService.saveToSnapshot(processInfoVO, curUserId);
} }
private void sendMessageToMainDraftUser(ProcessEsRevision revision, String processInstanceId) { private Integer calculateAdviceBatchNum(List<EsRevisionAdvice> adviceList) {
ProcessAll processAll = processAllService.getByProcessInstanceId(processInstanceId); return adviceList.stream().mapToInt(EsRevisionAdvice::getBatchNum).max().orElse(0);
List<EsRevisionAdvice> advices = revision.getAdvices();
Map<String, List<EsRevisionAdvice>> adviceMap = advices.stream()
.collect(Collectors.groupingBy(EsRevisionAdvice::getCreateUserId));
// 按照Map的Key遍历
for (String userId : adviceMap.keySet()) {
List<EsRevisionAdvice> adviceList = adviceMap.get(userId);
// 只有未被采纳和部分采纳才发消息
if (adviceList.stream().allMatch(advice -> HandleAdviceEnum.AGREE.getValue().equals(advice.getHandleAdvice()))) {
continue;
}
SendMessageDTO sendMessageDTO = new SendMessageDTO();
// sendMessageDTO.setTemplateCode(MessageTemplateCodeCommon.ES_REVISION_ADVICE);
sendMessageDTO.setToUserId(userId);
Map<String, String> sendMap = new HashMap<>();
sendMap.put("prcNum", processAll.getPrcNum());
sendMap.put("prcName", processAll.getPrcName());
StringBuilder msg = new StringBuilder();
for (EsRevisionAdvice advice : adviceList) {
// 采纳的不发消息
if (HandleAdviceEnum.AGREE.getValue().equals(advice.getHandleAdvice())) {
continue;
}
msg.append(advice.getClauseNum()).append(" ").append(advice.getClauseName());
if (HandleAdviceEnum.DISAGREE.getValue().equals(advice.getHandleAdvice())) {
msg.append(" 未被采纳,");
} else {
msg.append(" 被部分采纳,");
}
msg.append("理由为:").append(advice.getReason()).append(";");
}
// 去除最后一个分号
if (StrUtil.isNotBlank(msg)) {
msg.deleteCharAt(msg.length() - 1);
}
sendMap.put("msg", msg.toString());
sendMessageDTO.setMap(sendMap);
// sendMessageAPI.sendMessage(sendMessageDTO);
}
} }
private void sendMessageToMainDraftUser(String mainDraftUser, String processInstanceId, Integer maxBatchNum) {
// @Override ProcessAll processAll = processAllService.getByProcessInstanceId(processInstanceId);
public void updateAllPlanDate() { SendMessageDTO sendMessageDTO = new SendMessageDTO();
// 从流程主表找到所有企标制修订流程 sendMessageDTO.setTemplateCode(MessageTemplateCodeCommon.ES_REVISION_ADVICE);
List<ProcessAll> processAlls = processAllService.list(new LambdaQueryWrapper<ProcessAll>() sendMessageDTO.setToUserId(mainDraftUser);
// .eq(ProcessAll::getPrcType, ProcessTypeEnum.ES_REVISION.getValue()) Map<String, String> sendMap = new HashMap<>();
.ne(ProcessAll::getPrcStatus, ProcessStatusEnum.WITHDRAWN.getValue())); sendMap.put("prcNum", processAll.getPrcNum());
// this.updatePlanDateByProcessInstanceId(processAlls); sendMap.put("batchNum", maxBatchNum.toString());
sendMessageDTO.setMap(sendMap);
sendMessageAPI.sendMessage(sendMessageDTO);
} }
} }
@@ -14,6 +14,7 @@ public class MessageTemplateCodeCommon {
public static final String URGING = "urging"; // 催办 public static final String URGING = "urging"; // 催办
public static final String REPLACE_STANDARD_NEW = "replace_standard_new"; // 当前标准引用的标准有新版本标准 public static final String REPLACE_STANDARD_NEW = "replace_standard_new"; // 当前标准引用的标准有新版本标准
public static final String IMPLEMENTATION_DATE_NEW_STANDARD = "implementation_date_new_standard"; // 代替标准到实施日期 public static final String IMPLEMENTATION_DATE_NEW_STANDARD = "implementation_date_new_standard"; // 代替标准到实施日期
public static final String ES_REVISION_ADVICE = "es_revision_advice"; // 代替标准到实施日期
} }