|
@@ -9,18 +9,22 @@ import com.qmth.boot.api.exception.ApiException;
|
|
import com.qmth.distributed.print.business.activiti.custom.service.DefaultInstanceConvertToMultiInstance;
|
|
import com.qmth.distributed.print.business.activiti.custom.service.DefaultInstanceConvertToMultiInstance;
|
|
import com.qmth.distributed.print.business.activiti.custom.service.MultiWorkFlow;
|
|
import com.qmth.distributed.print.business.activiti.custom.service.MultiWorkFlow;
|
|
import com.qmth.distributed.print.business.bean.flow.*;
|
|
import com.qmth.distributed.print.business.bean.flow.*;
|
|
|
|
+import com.qmth.distributed.print.business.bean.flow.dto.*;
|
|
import com.qmth.distributed.print.business.bean.flow.link.FlowTaskLink;
|
|
import com.qmth.distributed.print.business.bean.flow.link.FlowTaskLink;
|
|
import com.qmth.distributed.print.business.bean.flow.link.FlowTaskNode;
|
|
import com.qmth.distributed.print.business.bean.flow.link.FlowTaskNode;
|
|
import com.qmth.distributed.print.business.bean.result.*;
|
|
import com.qmth.distributed.print.business.bean.result.*;
|
|
import com.qmth.distributed.print.business.entity.*;
|
|
import com.qmth.distributed.print.business.entity.*;
|
|
import com.qmth.distributed.print.business.enums.*;
|
|
import com.qmth.distributed.print.business.enums.*;
|
|
import com.qmth.distributed.print.business.service.*;
|
|
import com.qmth.distributed.print.business.service.*;
|
|
|
|
+import com.qmth.teachcloud.common.bean.dto.MqDto;
|
|
import com.qmth.teachcloud.common.bean.params.ApproveUserResult;
|
|
import com.qmth.teachcloud.common.bean.params.ApproveUserResult;
|
|
import com.qmth.teachcloud.common.bean.params.SysRoleGroupMemberMatch;
|
|
import com.qmth.teachcloud.common.bean.params.SysRoleGroupMemberMatch;
|
|
import com.qmth.teachcloud.common.bean.params.SysRoleGroupMemberMatchParams;
|
|
import com.qmth.teachcloud.common.bean.params.SysRoleGroupMemberMatchParams;
|
|
import com.qmth.teachcloud.common.bean.result.SysRoleGroupMemberMatchResult;
|
|
import com.qmth.teachcloud.common.bean.result.SysRoleGroupMemberMatchResult;
|
|
import com.qmth.teachcloud.common.config.DictionaryConfig;
|
|
import com.qmth.teachcloud.common.config.DictionaryConfig;
|
|
import com.qmth.teachcloud.common.contant.SystemConstant;
|
|
import com.qmth.teachcloud.common.contant.SystemConstant;
|
|
|
|
+import com.qmth.teachcloud.common.entity.BasicSchool;
|
|
|
|
+import com.qmth.teachcloud.common.entity.SysConfig;
|
|
import com.qmth.teachcloud.common.entity.SysOrg;
|
|
import com.qmth.teachcloud.common.entity.SysOrg;
|
|
import com.qmth.teachcloud.common.entity.SysUser;
|
|
import com.qmth.teachcloud.common.entity.SysUser;
|
|
import com.qmth.teachcloud.common.enums.*;
|
|
import com.qmth.teachcloud.common.enums.*;
|
|
@@ -47,6 +51,7 @@ import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
+import org.springframework.util.CollectionUtils;
|
|
import org.springframework.util.LinkedMultiValueMap;
|
|
import org.springframework.util.LinkedMultiValueMap;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
import javax.annotation.Resource;
|
|
@@ -346,7 +351,8 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
tfFlowApproveService.saveOrUpdate(tfFlowApprove);
|
|
tfFlowApproveService.saveOrUpdate(tfFlowApprove);
|
|
|
|
|
|
//流程流水日志
|
|
//流程流水日志
|
|
- TFFlowLog tfFlowLog = new TFFlowLog(sysUser.getSchoolId(), sysUser.getOrgId(), tfFlowJoin.getFlowId(), tfFlowJoin.getObjectId(), sysUser.getId(), sysUser.getId(), FlowApproveSetupEnum.END.getTitle(), tfFlowJoin.getObjectTable());
|
|
|
|
|
|
+ Task task = taskService.createTaskQuery().processInstanceId(String.valueOf(tfFlowJoin.getFlowId())).singleResult();
|
|
|
|
+ TFFlowLog tfFlowLog = new TFFlowLog(sysUser.getSchoolId(), sysUser.getOrgId(), tfFlowJoin.getFlowId(), tfFlowJoin.getObjectId(), sysUser.getId(), sysUser.getId(), FlowApproveSetupEnum.END.getTitle(), tfFlowJoin.getObjectTable(), Objects.nonNull(task) ? Long.parseLong(task.getId()) : null);
|
|
tfFlowLog.setApproveOperation(FlowApproveOperationEnum.END);
|
|
tfFlowLog.setApproveOperation(FlowApproveOperationEnum.END);
|
|
tfFlowLog.setApproveSetup(FlowApproveSetupEnum.END.getSetup());
|
|
tfFlowLog.setApproveSetup(FlowApproveSetupEnum.END.getSetup());
|
|
tfFlowLogService.save(tfFlowLog);
|
|
tfFlowLogService.save(tfFlowLog);
|
|
@@ -417,7 +423,8 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
// tfFlowJoinList.get(0).setFlowId(SystemConstant.convertIdToLong(flowId));
|
|
// tfFlowJoinList.get(0).setFlowId(SystemConstant.convertIdToLong(flowId));
|
|
// tfFlowJoinList.get(0).setObjectTable(flowType.getTable());
|
|
// tfFlowJoinList.get(0).setObjectTable(flowType.getTable());
|
|
// tfFlowJoinService.updateById(tfFlowJoinList.get(0));
|
|
// tfFlowJoinService.updateById(tfFlowJoinList.get(0));
|
|
- tfFlowLogService.save(new TFFlowLog(sysUser.getSchoolId(), sysUser.getOrgId(), SystemConstant.convertIdToLong(flowId), objectId, sysUser.getId(), sysUser.getId(), "提交流程", approveId, FlowApproveOperationEnum.SUBMIT, flowType.getTable()));
|
|
|
|
|
|
+ Task task = taskService.createTaskQuery().processInstanceId(flowId).singleResult();
|
|
|
|
+ tfFlowLogService.save(new TFFlowLog(sysUser.getSchoolId(), sysUser.getOrgId(), SystemConstant.convertIdToLong(flowId), objectId, sysUser.getId(), sysUser.getId(), "提交流程", approveId, FlowApproveOperationEnum.SUBMIT, flowType.getTable(), Objects.nonNull(task) ? Long.parseLong(task.getId()) : null));
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -487,7 +494,7 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
}
|
|
}
|
|
remark = Objects.nonNull(map.get(SystemConstant.APPROVE_REMARK)) ? map.get(SystemConstant.APPROVE_REMARK).toString() : null;
|
|
remark = Objects.nonNull(map.get(SystemConstant.APPROVE_REMARK)) ? map.get(SystemConstant.APPROVE_REMARK).toString() : null;
|
|
//流程流水日志
|
|
//流程流水日志
|
|
- tfFlowLog = new TFFlowLog(sysUser.getSchoolId(), sysUser.getOrgId(), flowId, tfFlowJoin.getObjectId(), sysUser.getId(), sysUser.getId(), remark, tfFlowJoin.getObjectTable());
|
|
|
|
|
|
+ tfFlowLog = new TFFlowLog(sysUser.getSchoolId(), sysUser.getOrgId(), flowId, tfFlowJoin.getObjectId(), sysUser.getId(), sysUser.getId(), remark, tfFlowJoin.getObjectTable(), Long.parseLong(task.getId()));
|
|
//判断流程审批是通过还是驳回
|
|
//判断流程审批是通过还是驳回
|
|
approvePass = (FlowApprovePassEnum) map.get(SystemConstant.APPROVE_OPERATION);
|
|
approvePass = (FlowApprovePassEnum) map.get(SystemConstant.APPROVE_OPERATION);
|
|
Map<String, FlowTaskResult> setupMap = (Map<String, FlowTaskResult>) flowProcessVarMap.get(SystemConstant.SETUP_MAP);
|
|
Map<String, FlowTaskResult> setupMap = (Map<String, FlowTaskResult>) flowProcessVarMap.get(SystemConstant.SETUP_MAP);
|
|
@@ -678,6 +685,7 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
tfFlowLog.setApproveUserApproveType(customFlowVarDto.getMultipleUserApproveType());
|
|
tfFlowLog.setApproveUserApproveType(customFlowVarDto.getMultipleUserApproveType());
|
|
}
|
|
}
|
|
map.put(SystemConstant.APPROVE_TF_FLOW_LOG, tfFlowLog);
|
|
map.put(SystemConstant.APPROVE_TF_FLOW_LOG, tfFlowLog);
|
|
|
|
+ map.put(SystemConstant.APPROVE_TF_FLOW_APPROVE, tfFlowApprove);
|
|
map.put(SystemConstant.AGGINESS_MAP, agginessMap);
|
|
map.put(SystemConstant.AGGINESS_MAP, agginessMap);
|
|
tfFlowApproveService.saveOrUpdate(tfFlowApprove);
|
|
tfFlowApproveService.saveOrUpdate(tfFlowApprove);
|
|
tfFlowLogService.save(tfFlowLog);
|
|
tfFlowLogService.save(tfFlowLog);
|
|
@@ -1013,7 +1021,8 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
@Transactional
|
|
@Transactional
|
|
- public boolean taskApproverExchange(String userId, String taskId) {
|
|
|
|
|
|
+ public Map<String, Object> taskApproverExchange(String userId, String taskId) {
|
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
|
|
SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
|
|
SysOrg sysOrg = commonCacheService.orgCache(sysUser.getOrgId());
|
|
SysOrg sysOrg = commonCacheService.orgCache(sysUser.getOrgId());
|
|
if (Objects.equals(String.valueOf(sysUser.getId()), userId)) {
|
|
if (Objects.equals(String.valueOf(sysUser.getId()), userId)) {
|
|
@@ -1077,7 +1086,7 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
String remark = Objects.nonNull(sysOrg) ? sysOrg.getName() : "无机构";
|
|
String remark = Objects.nonNull(sysOrg) ? sysOrg.getName() : "无机构";
|
|
String exchangeRemark = Objects.nonNull(exchangeSysOrg) ? exchangeSysOrg.getName() : "无机构";
|
|
String exchangeRemark = Objects.nonNull(exchangeSysOrg) ? exchangeSysOrg.getName() : "无机构";
|
|
//流程流水日志
|
|
//流程流水日志
|
|
- TFFlowLog tfFlowLog = new TFFlowLog(sysUser.getSchoolId(), sysUser.getOrgId(), tfFlowJoin.getFlowId(), tfFlowJoin.getObjectId(), sysUser.getId(), sysUser.getRealName() + "(" + remark + ")转" + exchangeUser.getRealName() + "(" + exchangeRemark + ")审批", FlowApproveOperationEnum.EXCHANGE, sysUser.getId(), String.valueOf(exchangeUser.getId()), tfFlowJoin.getObjectTable());
|
|
|
|
|
|
+ TFFlowLog tfFlowLog = new TFFlowLog(sysUser.getSchoolId(), sysUser.getOrgId(), tfFlowJoin.getFlowId(), tfFlowJoin.getObjectId(), sysUser.getId(), sysUser.getRealName() + "(" + remark + ")转" + exchangeUser.getRealName() + "(" + exchangeRemark + ")审批", FlowApproveOperationEnum.EXCHANGE, sysUser.getId(), String.valueOf(exchangeUser.getId()), tfFlowJoin.getObjectTable(), Long.parseLong(taskId));
|
|
CustomFlowVarDto customFlowVarDto = gson.fromJson(gson.toJson(agginessMap.get(userTask.getId())), CustomFlowVarDto.class);
|
|
CustomFlowVarDto customFlowVarDto = gson.fromJson(gson.toJson(agginessMap.get(userTask.getId())), CustomFlowVarDto.class);
|
|
if (customFlowVarDto.getApproveIds().size() == 1) {
|
|
if (customFlowVarDto.getApproveIds().size() == 1) {
|
|
customFlowVarDto.setApproveIds(new ArrayList<>(Arrays.asList(userId)));
|
|
customFlowVarDto.setApproveIds(new ArrayList<>(Arrays.asList(userId)));
|
|
@@ -1123,6 +1132,8 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
tfFlowLog.setApproveUserApproveType(customFlowVarDto.getMultipleUserApproveType());
|
|
tfFlowLog.setApproveUserApproveType(customFlowVarDto.getMultipleUserApproveType());
|
|
tfFlowLogService.save(tfFlowLog);
|
|
tfFlowLogService.save(tfFlowLog);
|
|
|
|
|
|
|
|
+ taskService.setVariable(task.getId(), SystemConstant.APPROVE_TF_FLOW_LOG, tfFlowLog);
|
|
|
|
+ taskService.setVariable(task.getId(), SystemConstant.APPROVE_TF_FLOW_APPROVE, tfFlowApprove);
|
|
if (!multiInstance) {
|
|
if (!multiInstance) {
|
|
if (Objects.equals(currActivityId, CustomFlowTypeEnum.USER_TASK.getId() + DefaultInstanceConvertToMultiInstance.DEFAULT_USER_TASK)) {
|
|
if (Objects.equals(currActivityId, CustomFlowTypeEnum.USER_TASK.getId() + DefaultInstanceConvertToMultiInstance.DEFAULT_USER_TASK)) {
|
|
taskService.setAssignee(taskId, userId);
|
|
taskService.setAssignee(taskId, userId);
|
|
@@ -1137,7 +1148,9 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
if (Objects.nonNull(o) && o instanceof ExamTask) {
|
|
if (Objects.nonNull(o) && o instanceof ExamTask) {
|
|
basicMessageService.sendNoticeTaskAuditFlow((ExamTask) o, Arrays.asList(approveUserResultExchange), MessageEnum.NOTICE_OF_AUDIT_CREATED);
|
|
basicMessageService.sendNoticeTaskAuditFlow((ExamTask) o, Arrays.asList(approveUserResultExchange), MessageEnum.NOTICE_OF_AUDIT_CREATED);
|
|
}
|
|
}
|
|
- return true;
|
|
|
|
|
|
+ map.put(SystemConstant.SUCCESS, true);
|
|
|
|
+ map.put(SystemConstant.APPROVE_TF_FLOW_LOG, tfFlowLog);
|
|
|
|
+ return map;
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -1719,6 +1732,10 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
if (Objects.nonNull(tfFlowApprove.getSetup()) && flowTaskResult.getSetup().intValue() == tfFlowApprove.getSetup().intValue()) {
|
|
if (Objects.nonNull(tfFlowApprove.getSetup()) && flowTaskResult.getSetup().intValue() == tfFlowApprove.getSetup().intValue()) {
|
|
currFlowTaskResult = flowTaskResult;
|
|
currFlowTaskResult = flowTaskResult;
|
|
currFlowTaskResult.setFlowId(flowId);
|
|
currFlowTaskResult.setFlowId(flowId);
|
|
|
|
+ List<Task> taskList = taskService.createTaskQuery().processInstanceId(String.valueOf(flowId)).list();
|
|
|
|
+ if (!CollectionUtils.isEmpty(taskList)) {
|
|
|
|
+ currFlowTaskResult.setTaskIdList(taskList.stream().map(s -> Long.parseLong(s.getId())).collect(Collectors.toList()));
|
|
|
|
+ }
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -1963,4 +1980,164 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
}
|
|
}
|
|
return flow;
|
|
return flow;
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 处理流程消息
|
|
|
|
+ *
|
|
|
|
+ * @param schoolId
|
|
|
|
+ * @param flowId
|
|
|
|
+ * @param flowApproveOperationEnum
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ @Override
|
|
|
|
+ public HandleMessageDto handleMessage(Long schoolId, Long flowId, FlowApproveOperationEnum flowApproveOperationEnum) {
|
|
|
|
+ SysConfig sysConfigFlowMsgType = commonCacheService.addSysConfigCache(schoolId, SystemConstant.FLOW_MESSAGE_TYPE);
|
|
|
|
+ List<Task> taskList = taskService.createTaskQuery().processInstanceId(String.valueOf(flowId)).list();
|
|
|
|
+ List<StandardFlowWorkMsg> standardFlowWorkMsgList = new LinkedList<>();
|
|
|
|
+ if (!CollectionUtils.isEmpty(taskList)) {
|
|
|
|
+ for (Task t : taskList) {
|
|
|
|
+ //待办消息
|
|
|
|
+ WorkResult workResult = examTaskService.getFlowInfo(flowId, Long.parseLong(t.getId()));
|
|
|
|
+ StandardFlowWorkMsg standardFlowWorkMsg = Objects.nonNull(workResult) ? GsonUtil.fromJson(GsonUtil.toJson(workResult), StandardFlowWorkMsg.class) : null;
|
|
|
|
+ if (Objects.nonNull(standardFlowWorkMsg)) {
|
|
|
|
+ standardFlowWorkMsg.setFlowType(TFCustomTypeEnum.ELECTRON_FLOW);
|
|
|
|
+ standardFlowWorkMsg.setFlowOperation(flowApproveOperationEnum);
|
|
|
|
+ standardFlowWorkMsg.setMessageType(FlowMsgTypeEnum.valueOf(sysConfigFlowMsgType.getConfigValue()));
|
|
|
|
+ standardFlowWorkMsgList.add(standardFlowWorkMsg);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ //待办消息
|
|
|
|
+ WorkResult workResult = examTaskService.getFlowInfo(flowId, null);
|
|
|
|
+ StandardFlowWorkMsg standardFlowWorkMsg = Objects.nonNull(workResult) ? GsonUtil.fromJson(GsonUtil.toJson(workResult), StandardFlowWorkMsg.class) : null;
|
|
|
|
+ if (Objects.nonNull(standardFlowWorkMsg)) {
|
|
|
|
+ standardFlowWorkMsg.setFlowType(TFCustomTypeEnum.ELECTRON_FLOW);
|
|
|
|
+ standardFlowWorkMsg.setFlowOperation(flowApproveOperationEnum);
|
|
|
|
+ standardFlowWorkMsg.setMessageType(FlowMsgTypeEnum.valueOf(sysConfigFlowMsgType.getConfigValue()));
|
|
|
|
+ standardFlowWorkMsgList.add(standardFlowWorkMsg);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ //流程详情
|
|
|
|
+ FlowViewResult flowViewResult = this.getFlowView(flowId);
|
|
|
|
+ StandardFlowViewMsg standardFlowViewMsg = Objects.nonNull(flowViewResult) ? GsonUtil.fromJson(GsonUtil.toJson(flowViewResult), StandardFlowViewMsg.class) : null;
|
|
|
|
+ if (Objects.nonNull(standardFlowViewMsg)) {
|
|
|
|
+ standardFlowViewMsg.setFlowType(TFCustomTypeEnum.ELECTRON_FLOW);
|
|
|
|
+ standardFlowViewMsg.setFlowOperation(flowApproveOperationEnum);
|
|
|
|
+ standardFlowViewMsg.setMessageType(FlowMsgTypeEnum.valueOf(sysConfigFlowMsgType.getConfigValue()));
|
|
|
|
+ }
|
|
|
|
+ return new HandleMessageDto(standardFlowWorkMsgList, standardFlowViewMsg);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 获取流程消息信息
|
|
|
|
+ *
|
|
|
|
+ * @param schoolId
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ @Override
|
|
|
|
+ public FlowMsgDto getFlowMsgData(Long schoolId) {
|
|
|
|
+ FlowMsgDto flowMsgDto = new FlowMsgDto();
|
|
|
|
+ if (Objects.nonNull(schoolId)) {
|
|
|
|
+ BasicSchool basicSchool = commonCacheService.schoolCache(schoolId);
|
|
|
|
+ if (Objects.nonNull(basicSchool)) {
|
|
|
|
+ SysConfig sysConfigOpenFlowMsgPush = commonCacheService.addSysConfigCache(schoolId, SystemConstant.OPEN_FLOW_MESSAGE_PUSH);
|
|
|
|
+ SysConfig sysConfigFlowMsgType = commonCacheService.addSysConfigCache(schoolId, SystemConstant.FLOW_MESSAGE_TYPE);
|
|
|
|
+ SysConfig sysConfigMqHostUrl = commonCacheService.addSysConfigCache(schoolId, SystemConstant.MQ_HOST_URL);
|
|
|
|
+
|
|
|
|
+ if (Objects.nonNull(sysConfigOpenFlowMsgPush)) {
|
|
|
|
+ flowMsgDto.setOpenFlowMsgPush(Boolean.valueOf(sysConfigOpenFlowMsgPush.getConfigValue()));
|
|
|
|
+ }
|
|
|
|
+ if (Objects.nonNull(sysConfigFlowMsgType)) {
|
|
|
|
+ flowMsgDto.setFlowMsgType(FlowMsgTypeEnum.valueOf(sysConfigFlowMsgType.getConfigValue()));
|
|
|
|
+ }
|
|
|
|
+ if (Objects.nonNull(sysConfigMqHostUrl)) {
|
|
|
|
+ flowMsgDto.setMqHostUrl(sysConfigMqHostUrl.getConfigValue());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return flowMsgDto;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 发送流程审批消息
|
|
|
|
+ *
|
|
|
|
+ * @param map
|
|
|
|
+ */
|
|
|
|
+ @Override
|
|
|
|
+ public void sendFlowTaskApproveMsg(Map<String, Object> map) {
|
|
|
|
+ SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
|
|
|
|
+ FlowMsgDto flowMsgDto = this.getFlowMsgData(sysUser.getSchoolId());
|
|
|
|
+ TFFlowLog tfFlowLog = (TFFlowLog) map.get(SystemConstant.APPROVE_TF_FLOW_LOG);
|
|
|
|
+ TFFlowApprove tfFlowApprove = (TFFlowApprove) map.get(SystemConstant.APPROVE_TF_FLOW_APPROVE);
|
|
|
|
+ if (Objects.nonNull(flowMsgDto.getOpenFlowMsgPush()) && flowMsgDto.getOpenFlowMsgPush()) {
|
|
|
|
+ Map<String, Object> mapVar = new HashMap<>();
|
|
|
|
+ mapVar.put(SystemConstant.FLOW_TASK_ID, tfFlowLog.getTaskId());
|
|
|
|
+ mapVar.put(SystemConstant.SCHOOL_ID, sysUser.getSchoolId());
|
|
|
|
+ MqDto mqDto = new MqDto(MqTagEnum.FLOW_MQ_DONE.getCode(), mapVar, String.valueOf(tfFlowLog.getFlowId()));
|
|
|
|
+ redisUtil.sendMessage(mqDto.getTopic(), mqDto);
|
|
|
|
+
|
|
|
|
+ if (tfFlowApprove.getStatus() != FlowStatusEnum.FINISH || tfFlowApprove.getStatus() != FlowStatusEnum.END) {
|
|
|
|
+ Map<String, Object> mapWorkVar = new HashMap<>();
|
|
|
|
+ mapWorkVar.put(SystemConstant.SCHOOL_ID, tfFlowLog.getSchoolId());
|
|
|
|
+ mapWorkVar.put(SystemConstant.APPROVE_OPERATION, tfFlowLog.getApproveOperation());
|
|
|
|
+ MqDto mqWorkDto = new MqDto(MqTagEnum.FLOW_MQ_WORK.getCode(), mapWorkVar, String.valueOf(tfFlowLog.getFlowId()));
|
|
|
|
+ redisUtil.sendMessage(mqWorkDto.getTopic(), mqWorkDto);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 发送流程转审消息
|
|
|
|
+ *
|
|
|
|
+ * @param map
|
|
|
|
+ */
|
|
|
|
+ @Override
|
|
|
|
+ public void sendFlowTaskExchangeMsg(Map<String, Object> map) {
|
|
|
|
+ TFFlowLog tfFlowLog = (TFFlowLog) map.get(SystemConstant.APPROVE_TF_FLOW_LOG);
|
|
|
|
+ if (tfFlowLog.getApproveOperation() == FlowApproveOperationEnum.EXCHANGE) {
|
|
|
|
+ FlowMsgDto flowMsgDto = this.getFlowMsgData(tfFlowLog.getSchoolId());
|
|
|
|
+ if (Objects.nonNull(flowMsgDto.getOpenFlowMsgPush()) && flowMsgDto.getOpenFlowMsgPush()) {
|
|
|
|
+ Map<String, Object> mapVar = new HashMap<>();
|
|
|
|
+ mapVar.put(SystemConstant.SCHOOL_ID, tfFlowLog.getSchoolId());
|
|
|
|
+ mapVar.put(SystemConstant.APPROVE_OPERATION, tfFlowLog.getApproveOperation());
|
|
|
|
+ MqDto mqDto = new MqDto(MqTagEnum.FLOW_MQ_WORK.getCode(), mapVar, String.valueOf(tfFlowLog.getFlowId()));
|
|
|
|
+ redisUtil.sendMessage(mqDto.getTopic(), mqDto);
|
|
|
|
+
|
|
|
|
+ Map<String, Object> mapDoneVar = new HashMap<>();
|
|
|
|
+ mapDoneVar.put(SystemConstant.FLOW_TASK_ID, tfFlowLog.getTaskId());
|
|
|
|
+ mapDoneVar.put(SystemConstant.SCHOOL_ID, tfFlowLog.getSchoolId());
|
|
|
|
+ MqDto mqDoneDto = new MqDto(MqTagEnum.FLOW_MQ_DONE.getCode(), mapDoneVar, String.valueOf(tfFlowLog.getFlowId()));
|
|
|
|
+ redisUtil.sendMessage(mqDoneDto.getTopic(), mqDoneDto);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 发送流程启动消息
|
|
|
|
+ *
|
|
|
|
+ * @param flowId
|
|
|
|
+ */
|
|
|
|
+ @Override
|
|
|
|
+ public void sendFlowStartMsg(Long flowId) {
|
|
|
|
+ SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
|
|
|
|
+ FlowMsgDto flowMsgDto = this.getFlowMsgData(sysUser.getSchoolId());
|
|
|
|
+ if (Objects.nonNull(flowMsgDto.getOpenFlowMsgPush()) && flowMsgDto.getOpenFlowMsgPush()) {
|
|
|
|
+ Map<String, Object> mapVar = new HashMap<>();
|
|
|
|
+ mapVar.put(SystemConstant.SCHOOL_ID, sysUser.getSchoolId());
|
|
|
|
+ mapVar.put(SystemConstant.APPROVE_OPERATION, FlowApproveOperationEnum.SUBMIT);
|
|
|
|
+ MqDto mqDto = new MqDto(MqTagEnum.FLOW_MQ_WORK.getCode(), mapVar, String.valueOf(flowId));
|
|
|
|
+ redisUtil.sendMessage(mqDto.getTopic(), mqDto);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 获取流程信息
|
|
|
|
+ *
|
|
|
|
+ * @param flowId
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ @Override
|
|
|
|
+ public StandardFlowData getFlowInfo(Long flowId) {
|
|
|
|
+ return tfCustomFlowService.findByFlowId(flowId);
|
|
|
|
+ }
|
|
}
|
|
}
|