feat: 立项变更流程发消息
This commit is contained in:
+82
@@ -0,0 +1,82 @@
|
||||
package com.jero.modules.activiti.process.esInitChange.listener;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.jero.common.api.dto.message.SendMessageDTO;
|
||||
import com.jero.common.api.vo.SendMessageAPI;
|
||||
import com.jero.modules.activiti.entity.ProcessAll;
|
||||
import com.jero.modules.activiti.process.esInitChange.entity.ProcessEsInitChange;
|
||||
import com.jero.modules.activiti.process.esInitChange.entity.enums.ESPProjectType;
|
||||
import com.jero.modules.activiti.process.esInitChange.service.ProcessEsInitChangeService;
|
||||
import com.jero.modules.activiti.service.ProcessAllService;
|
||||
import com.jero.modules.laws.common.constant.MessageTemplateCodeCommon;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.activiti.engine.delegate.DelegateTask;
|
||||
import org.activiti.engine.delegate.TaskListener;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author: Mzaxd
|
||||
* @Date: 2024/1/26 15:58
|
||||
*/
|
||||
@Slf4j
|
||||
@Component("InitChangeMainDraftUserCopyStartListener")
|
||||
public class InitChangeMainDraftUserCopyStartListener implements TaskListener {
|
||||
|
||||
@Resource
|
||||
private SendMessageAPI sendMessageAPI;
|
||||
|
||||
@Resource
|
||||
private ProcessEsInitChangeService initChangeService;
|
||||
|
||||
@Resource
|
||||
private ProcessAllService processAllService;
|
||||
|
||||
/**
|
||||
* 责任部门变更,抄送主起草人节点开始监听器
|
||||
*
|
||||
* @param delegateExecution
|
||||
*/
|
||||
@Override
|
||||
public void notify(DelegateTask delegateTask) {
|
||||
log.info("抄送主起草人节点开始监听器开始执行");
|
||||
// 判断当前变更流程是否是责任部门变更流程
|
||||
String processInstanceId = delegateTask.getProcessInstanceId();
|
||||
LambdaQueryWrapper<ProcessEsInitChange> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(ProcessEsInitChange::getProcessInstanceId, processInstanceId);
|
||||
List<ProcessEsInitChange> esInitChanges = initChangeService.list(wrapper);
|
||||
if (esInitChanges.isEmpty()) {
|
||||
log.error("抄送主起草人节点开始监听器执行错误,未找到相关流程数据");
|
||||
return;
|
||||
}
|
||||
ProcessEsInitChange esInitChange = esInitChanges.get(0);
|
||||
if (esInitChange.getProjectType().equals(ESPProjectType.RESPONSIBLE_DEPT_CHANGE.getValue())) {
|
||||
// 获取流程变量
|
||||
String mainDraftUser = (String) delegateTask.getVariable("createUser");
|
||||
// 获取流程名称
|
||||
ProcessAll processAll = processAllService.getByProcessInstanceId(processInstanceId);
|
||||
SendMessageDTO sendMessageDTO = getSendMessageDTO(processAll, mainDraftUser, esInitChange);
|
||||
sendMessageAPI.sendMessage(sendMessageDTO);
|
||||
}
|
||||
log.info("抄送主起草人节点开始监听器执行结束");
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private static SendMessageDTO getSendMessageDTO(ProcessAll processAll, String mainDraftUser, ProcessEsInitChange esInitChange) {
|
||||
String prcName = processAll.getPrcName();
|
||||
// 发送消息
|
||||
SendMessageDTO sendMessageDTO = new SendMessageDTO();
|
||||
sendMessageDTO.setTemplateCode(MessageTemplateCodeCommon.ES_INIT_CHANGE_MAIN_DRAFT_USER_COPY);
|
||||
sendMessageDTO.setToUserId(mainDraftUser);
|
||||
Map<String, String> sendMap = new HashMap<>();
|
||||
sendMap.put("standardNumber", esInitChange.getOriginEnStandardNo());
|
||||
sendMap.put("prcName", prcName);
|
||||
sendMessageDTO.setMap(sendMap);
|
||||
return sendMessageDTO;
|
||||
}
|
||||
}
|
||||
+81
@@ -0,0 +1,81 @@
|
||||
package com.jero.modules.activiti.process.esInitChange.listener;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.jero.common.api.dto.message.SendMessageDTO;
|
||||
import com.jero.common.api.vo.SendMessageAPI;
|
||||
import com.jero.modules.activiti.entity.ProcessAll;
|
||||
import com.jero.modules.activiti.process.esInitChange.entity.ProcessEsInitChange;
|
||||
import com.jero.modules.activiti.process.esInitChange.service.ProcessEsInitChangeService;
|
||||
import com.jero.modules.activiti.service.ProcessAllService;
|
||||
import com.jero.modules.laws.common.constant.MessageTemplateCodeCommon;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.activiti.engine.delegate.DelegateTask;
|
||||
import org.activiti.engine.delegate.TaskListener;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
/**
|
||||
* @author: Mzaxd
|
||||
* @Date: 2023/10/10 14:14
|
||||
*/
|
||||
@Slf4j
|
||||
@Component("InitChangeNewMainDraftLeaderEndListener")
|
||||
public class InitChangeNewMainDraftLeaderEndListener implements TaskListener {
|
||||
|
||||
@Resource
|
||||
private SendMessageAPI sendMessageAPI;
|
||||
|
||||
@Resource
|
||||
private ProcessEsInitChangeService initChangeService;
|
||||
|
||||
@Resource
|
||||
private ProcessAllService processAllService;
|
||||
|
||||
/**
|
||||
* 责任部门变更,新起草部门主管级领导确认选择会签人员
|
||||
*
|
||||
* @param delegateExecution
|
||||
*/
|
||||
@Override
|
||||
public void notify(DelegateTask delegateTask) {
|
||||
log.info("新起草部门主管级领导结束监听器开始执行");
|
||||
// 发送消息
|
||||
String processInstanceId = delegateTask.getProcessInstanceId();
|
||||
LambdaQueryWrapper<ProcessEsInitChange> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(ProcessEsInitChange::getProcessInstanceId, processInstanceId);
|
||||
List<ProcessEsInitChange> esInitChanges = initChangeService.list(wrapper);
|
||||
if (esInitChanges.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
ProcessEsInitChange esInitChange = esInitChanges.get(0);
|
||||
// 获取流程变量
|
||||
List<String> relatedUserList = (List<String>) delegateTask.getVariable("relatedUserList");
|
||||
// 发送消息
|
||||
String relatedUsers = String.join(",", relatedUserList);
|
||||
// 获取流程名称
|
||||
ProcessAll processAll = processAllService.getByProcessInstanceId(processInstanceId);
|
||||
SendMessageDTO sendMessageDTO = getSendMessageDTO(processAll, relatedUsers, esInitChange);
|
||||
sendMessageAPI.sendMessage(sendMessageDTO);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private static SendMessageDTO getSendMessageDTO(ProcessAll processAll, String relatedUsers, ProcessEsInitChange esInitChange) {
|
||||
String prcName = processAll.getPrcName();
|
||||
// 发送消息
|
||||
SendMessageDTO sendMessageDTO = new SendMessageDTO();
|
||||
sendMessageDTO.setTemplateCode(MessageTemplateCodeCommon.ES_INIT_CHANGE_NEW_MAIN_DRAFT_LEADER_END);
|
||||
sendMessageDTO.setToUserId(relatedUsers);
|
||||
Map<String, String> sendMap = new HashMap<>();
|
||||
sendMap.put("standardNumber", esInitChange.getOriginEnStandardNo());
|
||||
sendMap.put("prcName", prcName);
|
||||
sendMessageDTO.setMap(sendMap);
|
||||
return sendMessageDTO;
|
||||
}
|
||||
|
||||
}
|
||||
-2
@@ -21,9 +21,7 @@ import org.activiti.engine.delegate.ExecutionListener;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author: Mzaxd
|
||||
|
||||
+4
@@ -23,4 +23,8 @@ public class MessageTemplateCodeCommon {
|
||||
public static final String PROJECT_ASSESS_COMPLETE = "project_assess_complete"; // 【项目合规评估完成提醒】
|
||||
public static final String PROJECT_STANDARD_COMPLETE = "project_standard_complete"; // 【法规合规评估完成提醒】
|
||||
public static final String URGING = "urging"; // 催办
|
||||
public static final String ES_INIT_CHANGE_NEW_MAIN_DRAFT_LEADER_END = "es_init_change_new_main_draft_leader_end"; // 【企标立项变更】新起草部门主管级领导确认选择会签人员
|
||||
public static final String ES_INIT_CHANGE_MAIN_DRAFT_USER_COPY = "es_init_change_main_draft_user_copy"; // 【企标立项变更】抄送主起草人
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user