feat: 企标制修订流程流程流转相关代码
This commit is contained in:
+4
-3
@@ -6,8 +6,6 @@ package com.jero.modules.activiti.process.esRevisionAdvice.common;
|
||||
*/
|
||||
public class RevisionTaskNodeIdConstant {
|
||||
|
||||
/** 主起草人分发 */
|
||||
public static final String MAIN_DRAFT_USER_DISTRIBUTE = "Activity_0v98tow";
|
||||
/** 法规工程师确认是否开启征求意见 */
|
||||
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 SET_STANDARD_NUMBER = "Activity_1ralk8e";
|
||||
|
||||
/** 征求意见人员 */
|
||||
public static final String ADVICE_USER_LIST = "adviceUserList";
|
||||
/** 开启征求意见 */
|
||||
public static final String OPEN = "open";
|
||||
}
|
||||
|
||||
+13
-7
@@ -103,19 +103,25 @@ public class EsRevisionAdvice implements Serializable {
|
||||
@Dict(dicCode = "consultation_opinion")
|
||||
private String handleAdvice;
|
||||
|
||||
/**
|
||||
* 0无意见 1有意见
|
||||
*/
|
||||
@ApiModelProperty(value = "0无意见 1有意见")
|
||||
@Dict(dicCode = "yn")
|
||||
private String haveNoOpinion;
|
||||
|
||||
/**
|
||||
* 理由
|
||||
*/
|
||||
@ApiModelProperty(value = "理由")
|
||||
private String reason;
|
||||
|
||||
/**
|
||||
* 轮数
|
||||
*/
|
||||
@ApiModelProperty(value = "轮数")
|
||||
@Dict(dicCode = "batch_num")
|
||||
private Integer batchNum;
|
||||
|
||||
/**
|
||||
* 标准Id
|
||||
*/
|
||||
@ApiModelProperty(value = "标准Id")
|
||||
private String standardId;
|
||||
|
||||
@TableField(exist = false)
|
||||
private static final long serialVersionUID = 1L;
|
||||
}
|
||||
+63
-78
@@ -1,11 +1,28 @@
|
||||
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.tag.enums.TableNameEnum;
|
||||
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.Map;
|
||||
|
||||
import static com.jero.modules.laws.common.constant.FieldCommon.MAIN_DRAFT_USER;
|
||||
|
||||
/**
|
||||
* @author: Mzaxd
|
||||
@@ -17,91 +34,59 @@ 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 IBusProcessModelHisService busProcessModelHisService;
|
||||
@Resource
|
||||
private EsRevisionService esRevisionService;
|
||||
|
||||
@Resource
|
||||
private EsRevisionAdviceService esAdviceService;
|
||||
|
||||
@Resource
|
||||
private ILawsCommonService lawsCommonService;
|
||||
|
||||
@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);
|
||||
// }
|
||||
// // 将标准号进行拆分后填充字段
|
||||
// String standardNumber = (String) variables.get(FieldCommon.STANDARD_NUMBER);
|
||||
// if (StringUtils.isNotBlank(standardNumber)) {
|
||||
// Map<String, String> map = EnterpriseStandardUtil.splitStandardNumber(standardNumber);
|
||||
// variables.putAll(map);
|
||||
// // 如果没有主起草人,则需要填充主起草人
|
||||
// }
|
||||
// // 主起草人
|
||||
// String mainDraftUser = (String) variables.get(FieldCommon.MAIN_DRAFTING_USER);
|
||||
// if (StringUtils.isBlank(mainDraftUser)) {
|
||||
// variables.put(FieldCommon.MAIN_DRAFTING_USER, data.getMainDraftUser());
|
||||
// }
|
||||
// // 标准状态
|
||||
// variables.put(FieldCommon.STANDARD_STATE, StandardStateEnum.RELEASE.getStateValue());
|
||||
// String tryFlag = (String) variables.get(FieldCommon.TRY_FLAG);
|
||||
// if (tryFlag != null) {
|
||||
// if (tryFlag.equals(YesOrNoEnum.YES.getValue())) {
|
||||
// variables.put(FieldCommon.STANDARD_STATE, StandardStateEnum.TRIAL_OPERATION.getStateValue());
|
||||
// }
|
||||
// }
|
||||
// variables.put(FieldCommon.RELEASE_DATE, data.getReleaseDate());
|
||||
// variables.put(FieldCommon.IMPLEMENTATION_DATE, data.getImplementDate());
|
||||
// variables.put(FieldCommon.MAIN_DRAFTING_UNIT_RESPONSIBLE_PERSON, data.getApprovalUser());
|
||||
// variables.put(FieldCommon.MODULE, TableNameEnum.ENTERPRISE_STANDARDS.getValue());
|
||||
// variables.put(FieldCommon.AUTH_DEPT, data.getAuthDept());
|
||||
// String standardId = IdWorker.getIdStr();
|
||||
// variables.put(FieldCommon.ID, standardId);
|
||||
// // minio上传在线编辑文件
|
||||
// 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);
|
||||
LambdaQueryWrapper<ProcessEsRevision> revisionWrapper = new LambdaQueryWrapper<>();
|
||||
revisionWrapper.eq(ProcessEsRevision::getProcessInstanceId, processInstanceId);
|
||||
// 获取企标相关数据
|
||||
ProcessEsRevision data = esRevisionService.getOne(revisionWrapper);
|
||||
// 将数据转换为Map
|
||||
Map<String, Object> variables = transMap(data);
|
||||
// 发布企标
|
||||
String esId = lawsCommonService.commonAdd(variables);
|
||||
// 所有意见设置标准Id
|
||||
LambdaQueryWrapper<EsRevisionAdvice> adviceWrapper = new LambdaQueryWrapper<>();
|
||||
adviceWrapper.eq(EsRevisionAdvice::getProcessInstanceId, processInstanceId);
|
||||
List<EsRevisionAdvice> list = esAdviceService.list(adviceWrapper);
|
||||
if (!list.isEmpty()) {
|
||||
list.forEach(item -> item.setStandardId(esId));
|
||||
}
|
||||
// 更新企标计划状态
|
||||
String espId = data.getEspId();
|
||||
EnterpriseStandardPlan esp = espService.getById(espId);
|
||||
espService.updateById(esp);
|
||||
}
|
||||
|
||||
private Map<String, Object> transMap(ProcessEsRevision data) {
|
||||
Map<String, Object> variables;
|
||||
// 转换 创建 ObjectMapper 实例并设置命名策略
|
||||
ObjectMapper objectMapper = new ObjectMapper();
|
||||
objectMapper.setPropertyNamingStrategy(PropertyNamingStrategy.SNAKE_CASE);
|
||||
// 将对象转换为 Map<String, Object>
|
||||
variables = objectMapper.convertValue(data, Map.class);
|
||||
variables.put(FieldCommon.MODULE, TableNameEnum.ENTERPRISE_STANDARDS.getValue());
|
||||
// 主起草人
|
||||
String mainDraftUser = (String) variables.get(MAIN_DRAFT_USER);
|
||||
variables.put(FieldCommon.MAIN_DRAFTING_USER, mainDraftUser);
|
||||
// 标准状态
|
||||
variables.put(FieldCommon.STANDARD_STATE, StandardStateEnum.CURRENTLY_EFFECTIVE.getStateValue());
|
||||
String standardId = IdWorker.getIdStr();
|
||||
variables.put(FieldCommon.ID, standardId);
|
||||
String onEditFile = data.getOnEditFile();
|
||||
// 发布稿
|
||||
variables.put(FieldCommon.FILE_PUBLISH_OF_ORIGINAL, onEditFile);
|
||||
return variables;
|
||||
}
|
||||
}
|
||||
|
||||
+47
-107
@@ -1,22 +1,18 @@
|
||||
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.extension.service.impl.ServiceImpl;
|
||||
import com.jero.common.api.SendMessageAPI;
|
||||
import com.jero.common.api.dto.message.SendMessageDTO;
|
||||
import com.jero.common.api.vo.ResultCommon;
|
||||
import com.jero.common.aspect.TranslationAspect;
|
||||
import com.jero.common.constant.enums.YesOrNoEnum;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.modules.activiti.entity.ProcessAll;
|
||||
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.process.common.enums.ProcessType;
|
||||
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.HandleAdviceEnum;
|
||||
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.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.vo.ProcessInfoVO;
|
||||
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.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.EnterpriseStandardPlan;
|
||||
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.system.service.ISysUserDepartService;
|
||||
import com.jero.modules.system.service.ISysUserService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.activiti.engine.RuntimeService;
|
||||
import org.activiti.engine.TaskService;
|
||||
@@ -48,7 +42,6 @@ import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
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.*;
|
||||
|
||||
/**
|
||||
@@ -87,25 +80,7 @@ public class EsRevisionServiceImpl extends ServiceImpl<EsRevisionMapper, Process
|
||||
private EsRevisionAdviceService adviceService;
|
||||
|
||||
@Resource
|
||||
private TranslationAspect translationAspect;
|
||||
|
||||
@Resource
|
||||
private ISysUserDepartService sysUserDepartService;
|
||||
|
||||
// @Resource
|
||||
// private SendMessageAPI sendMessageAPI;
|
||||
|
||||
@Resource
|
||||
private ILawsContactManageService contactManageService;
|
||||
|
||||
@Resource
|
||||
private ProcessApprovalRecordService parService;
|
||||
|
||||
@Resource
|
||||
private ISysUserService userService;
|
||||
|
||||
@Resource
|
||||
private ProcessDraftService prcDraftService;
|
||||
private SendMessageAPI sendMessageAPI;
|
||||
|
||||
@Override
|
||||
public void startProcess(ProcessInfoVO<ProcessRevisionVO> processInfoVO) {
|
||||
@@ -193,35 +168,24 @@ public class EsRevisionServiceImpl extends ServiceImpl<EsRevisionMapper, Process
|
||||
if (Objects.nonNull(data)) {
|
||||
detailQueryWrapper.eq(EsRevisionAdvice::getProcessInstanceId, processInstanceId);
|
||||
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();
|
||||
// 设置流程信息
|
||||
switch (xmlNodeId) {
|
||||
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_COLLECT:
|
||||
|
||||
case SET_STANDARD_NUMBER:
|
||||
|
||||
break;
|
||||
case ADVICE_COLLECT:
|
||||
processVo.setAdviceList(adviceList);
|
||||
}
|
||||
// 设置流程变量等相关信息
|
||||
processVo.setProcessInfo(data);
|
||||
@@ -255,30 +219,42 @@ public class EsRevisionServiceImpl extends ServiceImpl<EsRevisionMapper, Process
|
||||
// 获取流程实例ID
|
||||
String processDefinitionId = processInstance.getProcessDefinitionId();
|
||||
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) {
|
||||
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);
|
||||
taskService.setVariable(taskId, ADVICE_USER_LIST, adviceUserList);
|
||||
taskService.setVariable(taskId, OPEN, true);
|
||||
// 保存流程数据
|
||||
saveOrUpdate(data);
|
||||
// userMap.put("mainDraftCollectUser", mainDraftUser);
|
||||
// userMap.put("contactUser", data.getContactUser());
|
||||
processNodeLinkService.incrementSaveNodeUserLink(processDefinitionId, processInstanceId, userMap);
|
||||
userMap.put(ADVICE_USER_LIST, data.getAdviceUsers());
|
||||
processNodeLinkService.saveNodeUserLink(processDefinitionId, processInstanceId, userMap);
|
||||
} else {
|
||||
taskService.setVariable(taskId, "open", false);
|
||||
taskService.setVariable(taskId, OPEN, false);
|
||||
}
|
||||
break;
|
||||
case ADVICE:
|
||||
|
||||
// 保存意见数据
|
||||
adviceList.forEach(advice -> advice.setProcessInstanceId(processInstanceId));
|
||||
adviceList.forEach(advice -> advice.setBatchNum(maxBatchNum));
|
||||
adviceService.saveBatch(adviceList);
|
||||
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:
|
||||
// 保存数据
|
||||
updateById(data);
|
||||
}
|
||||
runtimeService.setVariable(processInstanceId, PASS, true);
|
||||
// 审批节点
|
||||
actFlowCommonService.completeTask(taskId, curUserId);
|
||||
// 更新审批表为完成,填充数据
|
||||
@@ -289,56 +265,20 @@ public class EsRevisionServiceImpl extends ServiceImpl<EsRevisionMapper, Process
|
||||
processHandleService.saveToSnapshot(processInfoVO, curUserId);
|
||||
}
|
||||
|
||||
private void sendMessageToMainDraftUser(ProcessEsRevision revision, String processInstanceId) {
|
||||
ProcessAll processAll = processAllService.getByProcessInstanceId(processInstanceId);
|
||||
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 Integer calculateAdviceBatchNum(List<EsRevisionAdvice> adviceList) {
|
||||
return adviceList.stream().mapToInt(EsRevisionAdvice::getBatchNum).max().orElse(0);
|
||||
}
|
||||
|
||||
|
||||
// @Override
|
||||
public void updateAllPlanDate() {
|
||||
// 从流程主表找到所有企标制修订流程
|
||||
List<ProcessAll> processAlls = processAllService.list(new LambdaQueryWrapper<ProcessAll>()
|
||||
// .eq(ProcessAll::getPrcType, ProcessTypeEnum.ES_REVISION.getValue())
|
||||
.ne(ProcessAll::getPrcStatus, ProcessStatusEnum.WITHDRAWN.getValue()));
|
||||
// this.updatePlanDateByProcessInstanceId(processAlls);
|
||||
private void sendMessageToMainDraftUser(String mainDraftUser, String processInstanceId, Integer maxBatchNum) {
|
||||
ProcessAll processAll = processAllService.getByProcessInstanceId(processInstanceId);
|
||||
SendMessageDTO sendMessageDTO = new SendMessageDTO();
|
||||
sendMessageDTO.setTemplateCode(MessageTemplateCodeCommon.ES_REVISION_ADVICE);
|
||||
sendMessageDTO.setToUserId(mainDraftUser);
|
||||
Map<String, String> sendMap = new HashMap<>();
|
||||
sendMap.put("prcNum", processAll.getPrcNum());
|
||||
sendMap.put("batchNum", maxBatchNum.toString());
|
||||
sendMessageDTO.setMap(sendMap);
|
||||
sendMessageAPI.sendMessage(sendMessageDTO);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+1
@@ -14,6 +14,7 @@ public class MessageTemplateCodeCommon {
|
||||
public static final String URGING = "urging"; // 催办
|
||||
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 ES_REVISION_ADVICE = "es_revision_advice"; // 代替标准到实施日期
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user