This commit is contained in:
lijiarao
2023-12-08 16:38:38 +08:00
parent 92ef122f54
commit c740371d98
6 changed files with 30 additions and 9 deletions
@@ -264,13 +264,19 @@ public class ActivitiController {
@DictPoint
@GetMapping("/getNodeList")
@ApiImplicitParams({
@ApiImplicitParam(name = "processDefinitionKey", value = "流程定义key"),
@ApiImplicitParam(name = "processDefinitionId", value = "流程定义id"),
@ApiImplicitParam(name = "processInstanceId", value = "流程实例id(这个参数会去查绑定好的用户)")
})
@ApiOperation("获得节点列表")
public Result<List<ProcessNode>> getNodeList(String processDefinitionId,String processInstanceId) {
public Result<List<ProcessNode>> getNodeList(String processDefinitionKey,String processDefinitionId,String processInstanceId) {
if (StringUtils.isBlank(processDefinitionId)){
processDefinitionId = repositoryService.createProcessDefinitionQuery() // 创建部署信息查询器
.processDefinitionKey(processDefinitionKey) // 根据流程部署key查询
.latestVersion() // 根据版本倒序取最后一个版本
.singleResult().getId();
}
//查询节点信息
List<ProcessNode> nodeList = processNodeService.getNodeList(processDefinitionId,processInstanceId);
return Result.OK(nodeList);
}
@@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.common.api.vo.Result;
import com.jero.common.system.query.QueryGenerator;
import com.jero.common.system.vo.LoginUser;
import com.jero.modules.activiti.entity.ProcessAll;
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
@@ -18,9 +17,7 @@ import com.jero.modules.activiti.vo.ResolveTaskParam;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.activiti.engine.RuntimeService;
import org.activiti.engine.task.Task;
import org.activiti.engine.task.TaskQuery;
import org.activiti.engine.history.HistoricTaskInstance;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.jetbrains.annotations.NotNull;
@@ -28,8 +25,6 @@ import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -31,6 +31,12 @@ public class ProcessAll {
@ApiModelProperty(value="流程名称")
private String prcName;
/**
* 流程定义id
*/
@ApiModelProperty(value="流程定义id")
private String processDefinitionId;
/**
* 流程实例id
*/
@@ -33,6 +33,13 @@ public class ProcessNode {
@ApiModelProperty(value = "流程定义id")
private String processDefinitionId;
/**
* xml节点Id
*/
@TableField(value = "xml_node_id")
@ApiModelProperty(value = "xml节点Id")
private String xmlNodeId;
/**
* 节点名称
*/
@@ -84,6 +84,7 @@ public class MyGlobalEventListener implements ActivitiEventListener {
String name = parent.getProcessDefinitionName();
//新增流程总表信息(剩余的内容在启动流程时填充)
ProcessAll processAll = new ProcessAll();
processAll.setProcessDefinitionId(processDefinitionId);
processAll.setProcessInstanceId(processInstanceId);
processAll.setPrcType(ProcessTypeEnum.getValueByName(name));
processAll.setPrcStatus(ProcessStatusEnum.INCOMPLETE.getValue());
@@ -14,13 +14,17 @@ import com.jero.modules.activiti.enums.ProcessTypeEnum;
import com.jero.modules.activiti.vo.DelegateTaskParam;
import com.jero.modules.activiti.vo.ResolveTaskParam;
import com.jero.common.api.vo.ResultCommon;
import org.activiti.engine.HistoryService;
import org.activiti.engine.RuntimeService;
import org.activiti.engine.TaskService;
import org.activiti.engine.history.HistoricTaskInstance;
import org.activiti.engine.history.HistoricTaskInstanceQuery;
import org.activiti.engine.task.Task;
import org.apache.shiro.SecurityUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
import java.util.Objects;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -41,6 +45,8 @@ public class ProcessAllService extends ServiceImpl<ProcessAllMapper, ProcessAll>
private RuntimeService runtimeService;
@Resource
private TaskService taskService;
@Resource
private HistoryService historyService;
public ProcessAll getByProcessInstanceId(String processInstanceId){
LambdaQueryWrapper<ProcessAll> wrapper = new LambdaQueryWrapper<>();
@@ -76,10 +82,10 @@ public class ProcessAllService extends ServiceImpl<ProcessAllMapper, ProcessAll>
WorkCenterService classByValue = null;
try {
classByValue = (WorkCenterService) Class.forName(ProcessTypeEnum.getClassByValue(prcType)).newInstance();
classByValue.changeToDraft(processAll.getProjectId());
}catch (Exception e) {
log.error(e.getMessage(),e);
}
classByValue.changeToDraft(processAll.getProjectId());
//todo 同步删除操作到统一待办
}