From 3672a4696bd5299ebad37ed6d5afd4dfa13123b8 Mon Sep 17 00:00:00 2001 From: wang1 <844966816@qq.com> Date: 星期二, 20 六月 2023 16:20:49 +0800 Subject: [PATCH] 主数据流程查询下一步按钮、流程中主数据参数 --- Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/impl/FlowEngineServiceImpl.java | 44 ++++++++++++++++++++++++-------------------- 1 files changed, 24 insertions(+), 20 deletions(-) diff --git a/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/impl/FlowEngineServiceImpl.java b/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/impl/FlowEngineServiceImpl.java index 297d6ca..add8a1d 100644 --- a/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/impl/FlowEngineServiceImpl.java +++ b/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/impl/FlowEngineServiceImpl.java @@ -16,8 +16,6 @@ */ package com.vci.ubcs.flow.engine.service.impl; -import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.fasterxml.jackson.databind.ObjectMapper; @@ -29,6 +27,7 @@ import com.vci.ubcs.flow.engine.entity.FlowExecution; import com.vci.ubcs.flow.engine.entity.FlowModel; import com.vci.ubcs.flow.engine.entity.FlowProcess; +import com.vci.ubcs.flow.engine.entity.FlowTaskDTO; import com.vci.ubcs.flow.engine.mapper.FlowMapper; import com.vci.ubcs.flow.engine.service.FlowEngineService; import com.vci.ubcs.flow.engine.utils.FlowCache; @@ -37,7 +36,6 @@ import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.collections4.MapUtils; import org.apache.commons.lang3.StringUtils; import org.flowable.bpmn.converter.BpmnXMLConverter; import org.flowable.bpmn.model.*; @@ -51,7 +49,6 @@ import org.flowable.engine.impl.persistence.entity.ExecutionEntityImpl; import org.flowable.engine.impl.persistence.entity.ProcessDefinitionEntityImpl; import org.flowable.engine.repository.Deployment; -import org.flowable.engine.repository.DeploymentQuery; import org.flowable.engine.repository.ProcessDefinition; import org.flowable.engine.repository.ProcessDefinitionQuery; import org.flowable.engine.runtime.ProcessInstance; @@ -67,17 +64,12 @@ import org.springblade.core.tool.utils.StringUtil; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; -import org.w3c.dom.*; -import org.xml.sax.InputSource; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; -import java.io.StringReader; import java.util.*; /** @@ -93,8 +85,6 @@ private static final String USR_TASK = "userTask"; private static final String IMAGE_NAME = "image"; private static final String XML_NAME = "xml"; - private static final String TASKID = "taskId"; - private static final String TASKNAME = "taskName"; private static final Integer INT_1024 = 1024; private static final BpmnJsonConverter BPMN_JSON_CONVERTER = new BpmnJsonConverter(); private static final BpmnXMLConverter BPMN_XML_CONVERTER = new BpmnXMLConverter(); @@ -500,29 +490,43 @@ * @return */ @Override - public List<Map<String,String>> getNodeByFlowableKey(String key){ + public List<FlowTaskDTO> getNodeByFlowableKey(String key){ String processDefinitionId = repositoryService.createProcessDefinitionQuery().latestVersion().processDefinitionKey(key).singleResult().getId(); BpmnModel bpmnModel = repositoryService.getBpmnModel(processDefinitionId); Process process = bpmnModel.getProcesses().get(0);//鍙湁涓�涓� - List<Map<String,String>> ll = new ArrayList<>(); + List<FlowTaskDTO> ll = new ArrayList<>(); if (CollectionUtils.isNotEmpty(process.getFlowElements())) { for (FlowElement flowElement : process.getFlowElements()) { if (flowElement instanceof UserTask) { - Map<String,String> mi = new HashMap<>(); - mi.put(TASKID,flowElement.getId()); - mi.put(TASKNAME,flowElement.getName()); - ll.add(mi); + FlowTaskDTO flowTaskUserC = new FlowTaskDTO(); + flowTaskUserC.setTaskId(flowElement.getId()); + flowTaskUserC.setTaskName(flowElement.getName()); + ll.add(flowTaskUserC); } } } return ll; } - @Override - public String getTaskIdString(){ - return TASKID; + public FlowTaskDTO getNodeByFlowableKey(String key, String taskId){ + String processDefinitionId = repositoryService.createProcessDefinitionQuery().latestVersion().processDefinitionKey(key).singleResult().getId(); + BpmnModel bpmnModel = repositoryService.getBpmnModel(processDefinitionId); + Process process = bpmnModel.getProcesses().get(0);//鍙湁涓�涓� + + FlowTaskDTO flowTaskUserC = new FlowTaskDTO(); + if (CollectionUtils.isNotEmpty(process.getFlowElements())) { + for (FlowElement flowElement : process.getFlowElements()) { + if (flowElement instanceof UserTask&&taskId.equals(flowElement.getId())) { + flowTaskUserC.setTaskId(flowElement.getId()); + flowTaskUserC.setTaskName(flowElement.getName()); + break; + } + } + } + return flowTaskUserC; } + /** * 鏄惁宸插畬缁� * -- Gitblit v1.9.3