fix(企标稽查计划流程): 81837

This commit is contained in:
yjz
2024-02-07 10:22:59 +08:00
parent f7318275c5
commit 8123a6f72c
2 changed files with 37 additions and 11 deletions
@@ -10,17 +10,23 @@ import com.jero.common.util.MessageUtils;
import com.jero.common.util.SnowflakeUtils;
import com.jero.modules.activiti.entity.ProcessAll;
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
import com.jero.modules.activiti.entity.ProcessNode;
import com.jero.modules.activiti.enums.CommitFlagEnum;
import com.jero.modules.activiti.enums.FinishFlagEnum;
import com.jero.modules.activiti.enums.VariableTypeEnum;
import com.jero.modules.activiti.process.common.entity.ProcessDraft;
import com.jero.modules.activiti.process.common.service.ProcessDraftService;
import com.jero.modules.activiti.process.esinspectplan.common.EsInspectPlanCommon;
import com.jero.modules.activiti.service.ProcessAllService;
import com.jero.modules.activiti.service.ProcessApprovalRecordService;
import com.jero.modules.activiti.service.ProcessNodeService;
import com.jero.modules.activiti.util.SpringContextUtil;
import lombok.extern.slf4j.Slf4j;
import org.activiti.bpmn.model.Process;
import org.activiti.bpmn.model.UserTask;
import org.activiti.engine.HistoryService;
import org.activiti.engine.RepositoryService;
import org.activiti.engine.RuntimeService;
import org.activiti.engine.TaskService;
import org.activiti.engine.history.HistoricProcessInstance;
import org.activiti.engine.task.Task;
@@ -61,6 +67,12 @@ public class ProcessAspect {
private ProcessApprovalRecordService processApprovalRecordService;
@Resource
private ProcessDraftService processDraftService;
@Resource
private RuntimeService runtimeService;
@Resource
private ProcessAllService processAllService;
@Resource
private ProcessNodeService processNodeService;
private static final String PROCESS_ALL = "processAll";
private static final List<String> SPECIAL_NODE = Arrays.asList(EsInspectPlanCommon.PROCESS_NODE_3);
private static final String SAVE_BY_DRAFT = "2";
@@ -258,6 +270,30 @@ public class ProcessAspect {
log.info("==========流程发起、审批、驳回。删除草稿后置方法结束==========");
}
@AfterReturning("processServiceFlowTransfer()")
public void doAfterFlowTransfer(JoinPoint jp) {
log.info("==========流程转办后置方法开始==========");
if (!Objects.isNull(jp.getArgs())) {
String taskId = JSON.parseObject(JSON.toJSONString(jp.getArgs()[0]), String.class);
String userId = JSON.parseObject(JSON.toJSONString(jp.getArgs()[1]), String.class);
ProcessApprovalRecord processApprovalRecord = processApprovalRecordService.getToDoByTaskId(taskId);
String processInstanceId = processApprovalRecord.getProcessInstanceId();
ProcessAll processAll = processAllService.getByProcessInstanceId(processInstanceId);
TaskService taskService = SpringContextUtil.getBean(TaskService.class);
Task task = taskService.createTaskQuery().taskId(processApprovalRecord.getTaskId()).singleResult();
// 查询节点信息
ProcessNode processNode = processNodeService.getOne(
new LambdaQueryWrapper<ProcessNode>()
.eq(ProcessNode::getProcessDefinitionId, processAll.getProcessDefinitionId())
.eq(ProcessNode::getXmlNodeId, processApprovalRecord.getNodeId()));
if (!Objects.isNull(processNode) && VariableTypeEnum.STRING.getName().equals(processNode.getVariableType())){
runtimeService.setVariable(task.getExecutionId(), processNode.getVariableName(), userId);
}
}
log.info("==========流程转办后置方法结束==========");
}
private static void setProperty(LoginUser loginUser, String infoJsonStr, ProcessApprovalRecord processApprovalRecord, ProcessAll processAll, ProcessDraft processDraft) {
// 属性拷贝
BeanUtils.copyProperties(processAll, processDraft);
@@ -3,15 +3,11 @@ package com.jero.modules.activiti.process.esinspect.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.jero.modules.activiti.entity.ProcessAll;
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
import com.jero.modules.activiti.process.esinspect.common.EsInspectCommon;
import com.jero.modules.activiti.process.esinspect.entity.ProcessEsInspect;
import com.jero.modules.activiti.process.esinspect.service.IProcessEsInspectService;
import com.jero.modules.activiti.service.WorkCenterService;
import com.jero.modules.activiti.util.SpringContextUtil;
import lombok.extern.slf4j.Slf4j;
import org.activiti.engine.RuntimeService;
import org.activiti.engine.TaskService;
import org.activiti.engine.task.Task;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -41,12 +37,6 @@ public class EsInspectFlow implements WorkCenterService {
@Override
public void handleTransfer(ProcessAll processAll, ProcessApprovalRecord processApprovalRecord, String toUserId) {
if (EsInspectCommon.PROCESS_NODE_2.equals(processApprovalRecord.getNodeId())
|| EsInspectCommon.PROCESS_NODE_4.equals(processApprovalRecord.getNodeId())){
RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class);
TaskService taskService = SpringContextUtil.getBean(TaskService.class);
Task task = taskService.createTaskQuery().taskId(processApprovalRecord.getTaskId()).singleResult();
runtimeService.setVariable(task.getExecutionId(), "leader", toUserId);
}
}
}