From 3c157d4b768ffd904fd3a6d82c1b3658bab0647a Mon Sep 17 00:00:00 2001 From: zhuxinru Date: Mon, 1 Dec 2025 13:45:39 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E4=BB=BB=E5=8A=A1=E6=89=A7=E8=A1=8C?= =?UTF-8?q?=E6=B5=81=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../capability/controller/FlowController.java | 5 ++ .../com/sdm/capability/dao/FlowMapper.java | 2 +- .../model/entity/SimulationFlowNode.java | 8 -- .../model/entity/SimulationFlowTemplate.java | 3 + .../sdm/capability/service/IFlowService.java | 2 +- .../service/ISimulationFlowNodeService.java | 2 + .../service/impl/FlowServiceImpl.java | 16 ++++ .../impl/ISimulationFlowNodeServiceImpl.java | 16 ++-- .../flowable/dto/ExtensionElementsDTO.java | 4 +- .../entity}/flowable/dto/FlowElementDTO.java | 2 +- .../entity}/flowable/dto/ProcessDTO.java | 2 +- .../flowable/dto/ProcessDefinitionDTO.java | 2 +- .../executeConfig/BaseExecuteConfig.java | 2 +- .../executeConfig/CloudAppExecuteConfig.java | 2 +- .../DataProcessExecuteConfig.java | 2 +- .../executeConfig/DefaultExecuteConfig.java | 2 +- .../ExportWordScriptExecuteConfig.java | 2 +- .../executeConfig/HPCExecuteConfig.java | 2 +- .../executeConfig/HttpExecuteConfig.java | 2 +- .../executeConfig/LocalAppExecuteConfig.java | 2 +- .../entity/req/capability/FlowNodeDto.java | 6 -- .../resp/capability/FlowTemplateResp.java | 3 + .../resp/flowable}/DeployFlowableResp.java | 2 +- .../SimulationFlowFeignClientImpl.java | 15 ++++ .../FlowableClientFeignClientImpl.java | 31 ++++++++ .../ISimulationFlowFeignClient.java | 3 + .../inter/flowable/IFlowableFeignClient.java | 12 ++- .../controller/ProcessController.java | 5 +- .../flowable/delegate/UniversalDelegate.java | 4 +- .../delegate/handler/CloudAppHandler.java | 2 +- .../delegate/handler/DataProcessHandler.java | 2 +- .../delegate/handler/ExecutionHandler.java | 2 +- .../handler/ExportWordScriptHandler.java | 2 +- .../flowable/delegate/handler/HpcHandler.java | 2 +- .../delegate/handler/HttpHandler.java | 2 +- .../delegate/handler/LocalAppHandler.java | 2 +- .../sdm/flowable/process/ProcessService.java | 4 +- .../sdm/flowable/util/Dto2BpmnConverter.java | 9 +-- .../controller/SimulationRunController.java | 8 ++ .../project/model/entity/SimulationRun.java | 4 + .../project/model/req/SpdmNodeParamReq.java | 22 ++++++ .../service/ISimulationRunService.java | 2 + .../impl/SimulationRunServiceImpl.java | 73 +++++++++---------- 43 files changed, 200 insertions(+), 97 deletions(-) rename {flowable/src/main/java/com/sdm => common/src/main/java/com/sdm/common/entity}/flowable/dto/ExtensionElementsDTO.java (69%) rename {flowable/src/main/java/com/sdm => common/src/main/java/com/sdm/common/entity}/flowable/dto/FlowElementDTO.java (96%) rename {flowable/src/main/java/com/sdm => common/src/main/java/com/sdm/common/entity}/flowable/dto/ProcessDTO.java (84%) rename {flowable/src/main/java/com/sdm => common/src/main/java/com/sdm/common/entity}/flowable/dto/ProcessDefinitionDTO.java (86%) rename {flowable/src/main/java/com/sdm/flowable/config => common/src/main/java/com/sdm/common/entity/flowable}/executeConfig/BaseExecuteConfig.java (97%) rename {flowable/src/main/java/com/sdm/flowable/config => common/src/main/java/com/sdm/common/entity/flowable}/executeConfig/CloudAppExecuteConfig.java (55%) rename {flowable/src/main/java/com/sdm/flowable/config => common/src/main/java/com/sdm/common/entity/flowable}/executeConfig/DataProcessExecuteConfig.java (81%) rename {flowable/src/main/java/com/sdm/flowable/config => common/src/main/java/com/sdm/common/entity/flowable}/executeConfig/DefaultExecuteConfig.java (79%) rename {flowable/src/main/java/com/sdm/flowable/config => common/src/main/java/com/sdm/common/entity/flowable}/executeConfig/ExportWordScriptExecuteConfig.java (57%) rename {flowable/src/main/java/com/sdm/flowable/config => common/src/main/java/com/sdm/common/entity/flowable}/executeConfig/HPCExecuteConfig.java (53%) rename {flowable/src/main/java/com/sdm/flowable/config => common/src/main/java/com/sdm/common/entity/flowable}/executeConfig/HttpExecuteConfig.java (86%) rename {flowable/src/main/java/com/sdm/flowable/config => common/src/main/java/com/sdm/common/entity/flowable}/executeConfig/LocalAppExecuteConfig.java (55%) rename {flowable/src/main/java/com/sdm/flowable/dto/resp => common/src/main/java/com/sdm/common/entity/resp/flowable}/DeployFlowableResp.java (74%) create mode 100644 project/src/main/java/com/sdm/project/model/req/SpdmNodeParamReq.java diff --git a/capability/src/main/java/com/sdm/capability/controller/FlowController.java b/capability/src/main/java/com/sdm/capability/controller/FlowController.java index 0b490dac..10a86d24 100644 --- a/capability/src/main/java/com/sdm/capability/controller/FlowController.java +++ b/capability/src/main/java/com/sdm/capability/controller/FlowController.java @@ -129,4 +129,9 @@ public class FlowController implements ISimulationFlowFeignClient { return simulationFlowNodeService.listSimulationFlowNode(req); } + @PostMapping("/node/querySimulationFlowNode") + public SdmResponse querySimulationFlowNode(@RequestBody FlowNodeDto req) { + return simulationFlowNodeService.querySimulationFlowNode(req); + } + } diff --git a/capability/src/main/java/com/sdm/capability/dao/FlowMapper.java b/capability/src/main/java/com/sdm/capability/dao/FlowMapper.java index b4406c6b..22ed4511 100644 --- a/capability/src/main/java/com/sdm/capability/dao/FlowMapper.java +++ b/capability/src/main/java/com/sdm/capability/dao/FlowMapper.java @@ -12,7 +12,7 @@ public interface FlowMapper { @Insert("INSERT INTO simulation_flow_template(uuid,templateName,templateVersion,templateContent,viewContent,parentUuid,templateStatus,templateType,approveType,comment,templateCode,tenantId,createName,creator) VALUES(#{template.uuid},#{template.templateName},#{template.templateVersion},#{template.templateContent},#{template.viewContent},#{template.parentUuid},#{template.templateStatus},#{template.templateType},#{template.approveType},#{template.comment},#{template.templateCode},#{template.tenantId},#{template.createName},#{template.creator})") int addFlowTemplate(@Param("template") SimulationFlowTemplate template); - @Update("UPDATE simulation_flow_template SET templateContent=#{template.templateContent},viewContent=#{template.viewContent},approveType=#{template.approveType},templateType=#{template.templateType},templateStatus=#{template.templateStatus},comment=#{template.comment},approveFlowId=#{template.approveFlowId} WHERE uuid=#{template.uuid}") + @Update("UPDATE simulation_flow_template SET templateContent=#{template.templateContent},viewContent=#{template.viewContent},approveType=#{template.approveType},templateType=#{template.templateType},templateStatus=#{template.templateStatus},comment=#{template.comment},approveFlowId=#{template.approveFlowId},processDefinitionId=#{template.processDefinitionId} WHERE uuid=#{template.uuid}") int updateFlowTemplate(@Param("template") SimulationFlowTemplate template); @Delete("DELETE FROM simulation_flow_template WHERE uuid=#{uuid}") diff --git a/capability/src/main/java/com/sdm/capability/model/entity/SimulationFlowNode.java b/capability/src/main/java/com/sdm/capability/model/entity/SimulationFlowNode.java index 3c141a5b..91be9df6 100644 --- a/capability/src/main/java/com/sdm/capability/model/entity/SimulationFlowNode.java +++ b/capability/src/main/java/com/sdm/capability/model/entity/SimulationFlowNode.java @@ -32,18 +32,10 @@ public class SimulationFlowNode { @ApiModelProperty(value = "流程节点名称") private String nodeName; - @TableField("flowInstanceId") - @ApiModelProperty(value = "所属流程实例ID(流程引擎)") - private String flowInstanceId; - @TableField("nodeId") @ApiModelProperty(value = "流程引擎中的nodeId") private String nodeId; - @TableField("templateId") - @ApiModelProperty(value = "所属流程模版ID") - private String templateId; - @TableField("runId") @ApiModelProperty(value = "所属算例ID") private String runId; diff --git a/capability/src/main/java/com/sdm/capability/model/entity/SimulationFlowTemplate.java b/capability/src/main/java/com/sdm/capability/model/entity/SimulationFlowTemplate.java index 047f114b..a29f5ea1 100644 --- a/capability/src/main/java/com/sdm/capability/model/entity/SimulationFlowTemplate.java +++ b/capability/src/main/java/com/sdm/capability/model/entity/SimulationFlowTemplate.java @@ -15,6 +15,9 @@ public class SimulationFlowTemplate extends BaseEntity { @Schema(description = "流程模版唯一ID") public String uuid; + @Schema(description = "flowable流程完成部署后的流程定义id") + public String processDefinitionId; + @Schema(description = "流程模版名称") public String templateName; diff --git a/capability/src/main/java/com/sdm/capability/service/IFlowService.java b/capability/src/main/java/com/sdm/capability/service/IFlowService.java index a240ab39..26ca1622 100644 --- a/capability/src/main/java/com/sdm/capability/service/IFlowService.java +++ b/capability/src/main/java/com/sdm/capability/service/IFlowService.java @@ -84,5 +84,5 @@ public interface IFlowService { * 处理评审结果 * @param req */ - public SdmResponse handleApproveResult(LaunchApproveReq req); + SdmResponse handleApproveResult(LaunchApproveReq req); } diff --git a/capability/src/main/java/com/sdm/capability/service/ISimulationFlowNodeService.java b/capability/src/main/java/com/sdm/capability/service/ISimulationFlowNodeService.java index 023744c8..70146f10 100644 --- a/capability/src/main/java/com/sdm/capability/service/ISimulationFlowNodeService.java +++ b/capability/src/main/java/com/sdm/capability/service/ISimulationFlowNodeService.java @@ -16,4 +16,6 @@ public interface ISimulationFlowNodeService extends IService SdmResponse> listSimulationFlowNode(@RequestBody FlowNodeDto req); + SdmResponse querySimulationFlowNode(@RequestBody FlowNodeDto req); + } diff --git a/capability/src/main/java/com/sdm/capability/service/impl/FlowServiceImpl.java b/capability/src/main/java/com/sdm/capability/service/impl/FlowServiceImpl.java index 8618c484..efabdc9a 100644 --- a/capability/src/main/java/com/sdm/capability/service/impl/FlowServiceImpl.java +++ b/capability/src/main/java/com/sdm/capability/service/impl/FlowServiceImpl.java @@ -1,5 +1,6 @@ package com.sdm.capability.service.impl; +import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSONObject; import com.sdm.capability.dao.FlowMapper; import com.sdm.capability.model.entity.SimulationFlowTemplate; @@ -8,8 +9,12 @@ import com.sdm.capability.service.IFlowService; import com.sdm.common.common.SdmResponse; import com.sdm.common.common.ThreadLocalContext; import com.sdm.common.entity.bo.DataPageInfo; +import com.sdm.common.entity.constants.NumberConstants; +import com.sdm.common.entity.flowable.dto.ProcessDefinitionDTO; import com.sdm.common.entity.req.system.LaunchApproveReq; import com.sdm.common.entity.resp.capability.FlowTemplateResp; +import com.sdm.common.entity.resp.flowable.DeployFlowableResp; +import com.sdm.common.feign.impl.flowable.FlowableClientFeignClientImpl; import com.sdm.common.feign.impl.system.ApproveFeignClientImpl; import com.sdm.common.service.BaseService; import com.sdm.common.utils.Tools; @@ -33,6 +38,9 @@ public class FlowServiceImpl extends BaseService implements IFlowService { @Autowired private ApproveFeignClientImpl approveFeignClient; + @Autowired + private FlowableClientFeignClientImpl flowableClientFeignClient; + @Override public SdmResponse createFlowTemplateDraft(SimulationFlowTemplate flowTemplate) { @@ -393,6 +401,14 @@ public class FlowServiceImpl extends BaseService implements IFlowService { SimulationFlowTemplate flowTemplate = getFlowTemplateInfoByUuid(flowTemplateUuid); if(flowTemplate != null) { + // 审批通过 部署流程 保存部署流程部署id和流程定义id + if (NumberConstants.TWO == approveStatus) { + ProcessDefinitionDTO definitionDTO = JSON.parseObject(flowTemplate.getTemplateContent(), ProcessDefinitionDTO.class); + SdmResponse sdmResponse = flowableClientFeignClient.deploy(definitionDTO); + if (sdmResponse.getData() != null) { + flowTemplate.processDefinitionId = sdmResponse.getData().getProcessDefinitionId(); + } + } flowTemplate.approveType = approveStatus; flowMapper.updateFlowTemplate(flowTemplate); } diff --git a/capability/src/main/java/com/sdm/capability/service/impl/ISimulationFlowNodeServiceImpl.java b/capability/src/main/java/com/sdm/capability/service/impl/ISimulationFlowNodeServiceImpl.java index 5ec23287..afc870e6 100644 --- a/capability/src/main/java/com/sdm/capability/service/impl/ISimulationFlowNodeServiceImpl.java +++ b/capability/src/main/java/com/sdm/capability/service/impl/ISimulationFlowNodeServiceImpl.java @@ -41,9 +41,6 @@ public class ISimulationFlowNodeServiceImpl extends ServiceImpl entityList = this.lambdaQuery().eq(SimulationFlowNode::getRunId, req.getRunId()).list(); - entityList.forEach(entity -> { - entity.setFlowInstanceId(req.getFlowInstanceId()); - }); this.updateBatchById(entityList); } return SdmResponse.success(); @@ -55,9 +52,6 @@ public class ISimulationFlowNodeServiceImpl extends ServiceImpl flowNodeList = this.baseMapper.selectList(queryWrapper); List dtoList = flowNodeList.stream().map(entity -> { FlowNodeDto dto = new FlowNodeDto(); @@ -66,4 +60,14 @@ public class ISimulationFlowNodeServiceImpl extends ServiceImpl querySimulationFlowNode(FlowNodeDto req) { + SimulationFlowNode simulationFlowNode = this.lambdaQuery().eq(SimulationFlowNode::getUuid, req.getUuid()).one(); + FlowNodeDto dto = new FlowNodeDto(); + if (simulationFlowNode != null) { + BeanUtils.copyProperties(simulationFlowNode, dto); + } + return SdmResponse.success(dto); + } } diff --git a/flowable/src/main/java/com/sdm/flowable/dto/ExtensionElementsDTO.java b/common/src/main/java/com/sdm/common/entity/flowable/dto/ExtensionElementsDTO.java similarity index 69% rename from flowable/src/main/java/com/sdm/flowable/dto/ExtensionElementsDTO.java rename to common/src/main/java/com/sdm/common/entity/flowable/dto/ExtensionElementsDTO.java index 95e416f9..5cecac47 100644 --- a/flowable/src/main/java/com/sdm/flowable/dto/ExtensionElementsDTO.java +++ b/common/src/main/java/com/sdm/common/entity/flowable/dto/ExtensionElementsDTO.java @@ -1,6 +1,6 @@ -package com.sdm.flowable.dto; +package com.sdm.common.entity.flowable.dto; -import com.sdm.flowable.config.executeConfig.BaseExecuteConfig; +import com.sdm.common.entity.flowable.executeConfig.BaseExecuteConfig; import lombok.Data; /** diff --git a/flowable/src/main/java/com/sdm/flowable/dto/FlowElementDTO.java b/common/src/main/java/com/sdm/common/entity/flowable/dto/FlowElementDTO.java similarity index 96% rename from flowable/src/main/java/com/sdm/flowable/dto/FlowElementDTO.java rename to common/src/main/java/com/sdm/common/entity/flowable/dto/FlowElementDTO.java index ec4722dd..c318bcf1 100644 --- a/flowable/src/main/java/com/sdm/flowable/dto/FlowElementDTO.java +++ b/common/src/main/java/com/sdm/common/entity/flowable/dto/FlowElementDTO.java @@ -1,4 +1,4 @@ -package com.sdm.flowable.dto; +package com.sdm.common.entity.flowable.dto; import lombok.Data; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; diff --git a/flowable/src/main/java/com/sdm/flowable/dto/ProcessDTO.java b/common/src/main/java/com/sdm/common/entity/flowable/dto/ProcessDTO.java similarity index 84% rename from flowable/src/main/java/com/sdm/flowable/dto/ProcessDTO.java rename to common/src/main/java/com/sdm/common/entity/flowable/dto/ProcessDTO.java index 93760dc0..2e561e82 100644 --- a/flowable/src/main/java/com/sdm/flowable/dto/ProcessDTO.java +++ b/common/src/main/java/com/sdm/common/entity/flowable/dto/ProcessDTO.java @@ -1,4 +1,4 @@ -package com.sdm.flowable.dto; +package com.sdm.common.entity.flowable.dto; import lombok.Data; diff --git a/flowable/src/main/java/com/sdm/flowable/dto/ProcessDefinitionDTO.java b/common/src/main/java/com/sdm/common/entity/flowable/dto/ProcessDefinitionDTO.java similarity index 86% rename from flowable/src/main/java/com/sdm/flowable/dto/ProcessDefinitionDTO.java rename to common/src/main/java/com/sdm/common/entity/flowable/dto/ProcessDefinitionDTO.java index 5fb36c2b..809dca5e 100644 --- a/flowable/src/main/java/com/sdm/flowable/dto/ProcessDefinitionDTO.java +++ b/common/src/main/java/com/sdm/common/entity/flowable/dto/ProcessDefinitionDTO.java @@ -1,4 +1,4 @@ -package com.sdm.flowable.dto; +package com.sdm.common.entity.flowable.dto; import lombok.Data; import java.util.List; diff --git a/flowable/src/main/java/com/sdm/flowable/config/executeConfig/BaseExecuteConfig.java b/common/src/main/java/com/sdm/common/entity/flowable/executeConfig/BaseExecuteConfig.java similarity index 97% rename from flowable/src/main/java/com/sdm/flowable/config/executeConfig/BaseExecuteConfig.java rename to common/src/main/java/com/sdm/common/entity/flowable/executeConfig/BaseExecuteConfig.java index ab262133..778aa48b 100644 --- a/flowable/src/main/java/com/sdm/flowable/config/executeConfig/BaseExecuteConfig.java +++ b/common/src/main/java/com/sdm/common/entity/flowable/executeConfig/BaseExecuteConfig.java @@ -1,4 +1,4 @@ -package com.sdm.flowable.config.executeConfig; +package com.sdm.common.entity.flowable.executeConfig; import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; diff --git a/flowable/src/main/java/com/sdm/flowable/config/executeConfig/CloudAppExecuteConfig.java b/common/src/main/java/com/sdm/common/entity/flowable/executeConfig/CloudAppExecuteConfig.java similarity index 55% rename from flowable/src/main/java/com/sdm/flowable/config/executeConfig/CloudAppExecuteConfig.java rename to common/src/main/java/com/sdm/common/entity/flowable/executeConfig/CloudAppExecuteConfig.java index 06e44ca9..cc5ada9d 100644 --- a/flowable/src/main/java/com/sdm/flowable/config/executeConfig/CloudAppExecuteConfig.java +++ b/common/src/main/java/com/sdm/common/entity/flowable/executeConfig/CloudAppExecuteConfig.java @@ -1,4 +1,4 @@ -package com.sdm.flowable.config.executeConfig; +package com.sdm.common.entity.flowable.executeConfig; public class CloudAppExecuteConfig extends BaseExecuteConfig { } diff --git a/flowable/src/main/java/com/sdm/flowable/config/executeConfig/DataProcessExecuteConfig.java b/common/src/main/java/com/sdm/common/entity/flowable/executeConfig/DataProcessExecuteConfig.java similarity index 81% rename from flowable/src/main/java/com/sdm/flowable/config/executeConfig/DataProcessExecuteConfig.java rename to common/src/main/java/com/sdm/common/entity/flowable/executeConfig/DataProcessExecuteConfig.java index ae0cd0a9..6247db7b 100644 --- a/flowable/src/main/java/com/sdm/flowable/config/executeConfig/DataProcessExecuteConfig.java +++ b/common/src/main/java/com/sdm/common/entity/flowable/executeConfig/DataProcessExecuteConfig.java @@ -1,4 +1,4 @@ -package com.sdm.flowable.config.executeConfig; +package com.sdm.common.entity.flowable.executeConfig; import lombok.Data; diff --git a/flowable/src/main/java/com/sdm/flowable/config/executeConfig/DefaultExecuteConfig.java b/common/src/main/java/com/sdm/common/entity/flowable/executeConfig/DefaultExecuteConfig.java similarity index 79% rename from flowable/src/main/java/com/sdm/flowable/config/executeConfig/DefaultExecuteConfig.java rename to common/src/main/java/com/sdm/common/entity/flowable/executeConfig/DefaultExecuteConfig.java index a9754a26..dcf12a72 100644 --- a/flowable/src/main/java/com/sdm/flowable/config/executeConfig/DefaultExecuteConfig.java +++ b/common/src/main/java/com/sdm/common/entity/flowable/executeConfig/DefaultExecuteConfig.java @@ -1,4 +1,4 @@ -package com.sdm.flowable.config.executeConfig; +package com.sdm.common.entity.flowable.executeConfig; import lombok.Data; diff --git a/flowable/src/main/java/com/sdm/flowable/config/executeConfig/ExportWordScriptExecuteConfig.java b/common/src/main/java/com/sdm/common/entity/flowable/executeConfig/ExportWordScriptExecuteConfig.java similarity index 57% rename from flowable/src/main/java/com/sdm/flowable/config/executeConfig/ExportWordScriptExecuteConfig.java rename to common/src/main/java/com/sdm/common/entity/flowable/executeConfig/ExportWordScriptExecuteConfig.java index e56e56b3..d4929f22 100644 --- a/flowable/src/main/java/com/sdm/flowable/config/executeConfig/ExportWordScriptExecuteConfig.java +++ b/common/src/main/java/com/sdm/common/entity/flowable/executeConfig/ExportWordScriptExecuteConfig.java @@ -1,4 +1,4 @@ -package com.sdm.flowable.config.executeConfig; +package com.sdm.common.entity.flowable.executeConfig; public class ExportWordScriptExecuteConfig extends BaseExecuteConfig { } diff --git a/flowable/src/main/java/com/sdm/flowable/config/executeConfig/HPCExecuteConfig.java b/common/src/main/java/com/sdm/common/entity/flowable/executeConfig/HPCExecuteConfig.java similarity index 53% rename from flowable/src/main/java/com/sdm/flowable/config/executeConfig/HPCExecuteConfig.java rename to common/src/main/java/com/sdm/common/entity/flowable/executeConfig/HPCExecuteConfig.java index dadd4b81..0487e6c5 100644 --- a/flowable/src/main/java/com/sdm/flowable/config/executeConfig/HPCExecuteConfig.java +++ b/common/src/main/java/com/sdm/common/entity/flowable/executeConfig/HPCExecuteConfig.java @@ -1,4 +1,4 @@ -package com.sdm.flowable.config.executeConfig; +package com.sdm.common.entity.flowable.executeConfig; public class HPCExecuteConfig extends BaseExecuteConfig { } diff --git a/flowable/src/main/java/com/sdm/flowable/config/executeConfig/HttpExecuteConfig.java b/common/src/main/java/com/sdm/common/entity/flowable/executeConfig/HttpExecuteConfig.java similarity index 86% rename from flowable/src/main/java/com/sdm/flowable/config/executeConfig/HttpExecuteConfig.java rename to common/src/main/java/com/sdm/common/entity/flowable/executeConfig/HttpExecuteConfig.java index 3f6fbef9..9d7394cc 100644 --- a/flowable/src/main/java/com/sdm/flowable/config/executeConfig/HttpExecuteConfig.java +++ b/common/src/main/java/com/sdm/common/entity/flowable/executeConfig/HttpExecuteConfig.java @@ -1,4 +1,4 @@ -package com.sdm.flowable.config.executeConfig; +package com.sdm.common.entity.flowable.executeConfig; import lombok.Data; diff --git a/flowable/src/main/java/com/sdm/flowable/config/executeConfig/LocalAppExecuteConfig.java b/common/src/main/java/com/sdm/common/entity/flowable/executeConfig/LocalAppExecuteConfig.java similarity index 55% rename from flowable/src/main/java/com/sdm/flowable/config/executeConfig/LocalAppExecuteConfig.java rename to common/src/main/java/com/sdm/common/entity/flowable/executeConfig/LocalAppExecuteConfig.java index 5990505b..51e49258 100644 --- a/flowable/src/main/java/com/sdm/flowable/config/executeConfig/LocalAppExecuteConfig.java +++ b/common/src/main/java/com/sdm/common/entity/flowable/executeConfig/LocalAppExecuteConfig.java @@ -1,4 +1,4 @@ -package com.sdm.flowable.config.executeConfig; +package com.sdm.common.entity.flowable.executeConfig; public class LocalAppExecuteConfig extends BaseExecuteConfig { } diff --git a/common/src/main/java/com/sdm/common/entity/req/capability/FlowNodeDto.java b/common/src/main/java/com/sdm/common/entity/req/capability/FlowNodeDto.java index 7dd4bfdb..8e14fbd0 100644 --- a/common/src/main/java/com/sdm/common/entity/req/capability/FlowNodeDto.java +++ b/common/src/main/java/com/sdm/common/entity/req/capability/FlowNodeDto.java @@ -19,15 +19,9 @@ public class FlowNodeDto { @Schema(description = "流程节点名称") private String nodeName; - @Schema(description = "所属流程实例ID(流程引擎)") - private String flowInstanceId; - @Schema(description = "流程引擎中的nodeId") private String nodeId; - @Schema(description = "所属流程模版ID") - private String templateId; - @Schema(description = "所属算例ID") private String runId; diff --git a/common/src/main/java/com/sdm/common/entity/resp/capability/FlowTemplateResp.java b/common/src/main/java/com/sdm/common/entity/resp/capability/FlowTemplateResp.java index 61966538..b8b42693 100644 --- a/common/src/main/java/com/sdm/common/entity/resp/capability/FlowTemplateResp.java +++ b/common/src/main/java/com/sdm/common/entity/resp/capability/FlowTemplateResp.java @@ -9,6 +9,9 @@ public class FlowTemplateResp { @Schema(description = "流程模版唯一ID") public String uuid; + @Schema(description = "flowable流程完成部署后的流程定义id") + public String processDefinitionId; + @Schema(description = "流程模版名称") public String templateName; diff --git a/flowable/src/main/java/com/sdm/flowable/dto/resp/DeployFlowableResp.java b/common/src/main/java/com/sdm/common/entity/resp/flowable/DeployFlowableResp.java similarity index 74% rename from flowable/src/main/java/com/sdm/flowable/dto/resp/DeployFlowableResp.java rename to common/src/main/java/com/sdm/common/entity/resp/flowable/DeployFlowableResp.java index 1ccf5e67..d6fdeb18 100644 --- a/flowable/src/main/java/com/sdm/flowable/dto/resp/DeployFlowableResp.java +++ b/common/src/main/java/com/sdm/common/entity/resp/flowable/DeployFlowableResp.java @@ -1,4 +1,4 @@ -package com.sdm.flowable.dto.resp; +package com.sdm.common.entity.resp.flowable; import lombok.Data; diff --git a/common/src/main/java/com/sdm/common/feign/impl/capability/SimulationFlowFeignClientImpl.java b/common/src/main/java/com/sdm/common/feign/impl/capability/SimulationFlowFeignClientImpl.java index adb7a16f..fd777b2b 100644 --- a/common/src/main/java/com/sdm/common/feign/impl/capability/SimulationFlowFeignClientImpl.java +++ b/common/src/main/java/com/sdm/common/feign/impl/capability/SimulationFlowFeignClientImpl.java @@ -92,4 +92,19 @@ public class SimulationFlowFeignClientImpl implements ISimulationFlowFeignClient return SdmResponse.failed("查询流程节点信息失败异常"); } } + + @Override + public SdmResponse querySimulationFlowNode(FlowNodeDto req) { + SdmResponse response; + try { + response = flowFeignClient.querySimulationFlowNode(req); + if (!response.isSuccess()) { + return SdmResponse.failed("查询流程节点信息失败"); + } + return response; + } catch (Exception e) { + log.error("查询流程节点信息失败异常", e); + return SdmResponse.failed("查询流程节点信息失败异常"); + } + } } diff --git a/common/src/main/java/com/sdm/common/feign/impl/flowable/FlowableClientFeignClientImpl.java b/common/src/main/java/com/sdm/common/feign/impl/flowable/FlowableClientFeignClientImpl.java index ee3c4d89..beb7d915 100644 --- a/common/src/main/java/com/sdm/common/feign/impl/flowable/FlowableClientFeignClientImpl.java +++ b/common/src/main/java/com/sdm/common/feign/impl/flowable/FlowableClientFeignClientImpl.java @@ -1,6 +1,8 @@ package com.sdm.common.feign.impl.flowable; import com.sdm.common.common.SdmResponse; +import com.sdm.common.entity.flowable.dto.ProcessDefinitionDTO; +import com.sdm.common.entity.resp.flowable.DeployFlowableResp; import com.sdm.common.entity.resp.flowable.ProcessInstanceResp; import com.sdm.common.feign.inter.flowable.IFlowableFeignClient; import lombok.extern.slf4j.Slf4j; @@ -11,6 +13,9 @@ import org.springframework.web.bind.annotation.RequestParam; import java.util.Map; +import java.util.HashMap; +import java.util.Map; + @Slf4j @Component @@ -29,4 +34,30 @@ public class FlowableClientFeignClientImpl implements IFlowableFeignClient { return SdmResponse.failed("启动流程实例"); } } + + @Override + public SdmResponse deploy(ProcessDefinitionDTO processDTO) { + SdmResponse response; + try { + response = flowableFeignClient.deploy(processDTO); + log.info("部署流程实例:"+ response); + return response; + } catch (Exception e) { + log.error("部署流程实例失败", e); + return SdmResponse.failed("部署流程实例失败"); + } + } + + @Override + public SdmResponse saveParamsByDefinitionId(String processDefinitionId, String nodeId, Map params) { + SdmResponse response; + try { + response = flowableFeignClient.saveParamsByDefinitionId(processDefinitionId, nodeId, params); + log.info("保存节点参数:"+ response); + return response; + } catch (Exception e) { + log.error("保存节点参数失败", e); + return SdmResponse.failed("保存节点参数失败"); + } + } } diff --git a/common/src/main/java/com/sdm/common/feign/inter/capability/ISimulationFlowFeignClient.java b/common/src/main/java/com/sdm/common/feign/inter/capability/ISimulationFlowFeignClient.java index 9061caf8..0a388935 100644 --- a/common/src/main/java/com/sdm/common/feign/inter/capability/ISimulationFlowFeignClient.java +++ b/common/src/main/java/com/sdm/common/feign/inter/capability/ISimulationFlowFeignClient.java @@ -30,4 +30,7 @@ public interface ISimulationFlowFeignClient { @PostMapping("/node/listSimulationFlowNode") SdmResponse> listSimulationFlowNode(@RequestBody FlowNodeDto req); + @PostMapping("/node/querySimulationFlowNode") + SdmResponse querySimulationFlowNode(@RequestBody FlowNodeDto req); + } diff --git a/common/src/main/java/com/sdm/common/feign/inter/flowable/IFlowableFeignClient.java b/common/src/main/java/com/sdm/common/feign/inter/flowable/IFlowableFeignClient.java index 1f975bf5..42f57421 100644 --- a/common/src/main/java/com/sdm/common/feign/inter/flowable/IFlowableFeignClient.java +++ b/common/src/main/java/com/sdm/common/feign/inter/flowable/IFlowableFeignClient.java @@ -1,9 +1,12 @@ package com.sdm.common.feign.inter.flowable; import com.sdm.common.common.SdmResponse; +import com.sdm.common.entity.flowable.dto.ProcessDefinitionDTO; +import com.sdm.common.entity.resp.flowable.DeployFlowableResp; import com.sdm.common.entity.resp.flowable.ProcessInstanceResp; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; @@ -12,7 +15,14 @@ import java.util.Map; @FeignClient(name = "flowable") public interface IFlowableFeignClient { - @GetMapping("/process/startByProcessDefinitionKey") + + @GetMapping("/process/startByProcessDefinitionId") SdmResponse startByProcessDefinitionId(@RequestParam String processDefinitionId, @RequestBody(required = false) Map variables); + @PostMapping("/process/deploy") + SdmResponse deploy(@RequestBody ProcessDefinitionDTO processDTO); + + @PostMapping("/saveParamsByDefinitionId") + SdmResponse saveParamsByDefinitionId(@RequestParam String processDefinitionId, @RequestParam String nodeId, @RequestBody Map params); + } diff --git a/flowable/src/main/java/com/sdm/flowable/controller/ProcessController.java b/flowable/src/main/java/com/sdm/flowable/controller/ProcessController.java index 8b23e53b..a8ab3fbd 100644 --- a/flowable/src/main/java/com/sdm/flowable/controller/ProcessController.java +++ b/flowable/src/main/java/com/sdm/flowable/controller/ProcessController.java @@ -5,16 +5,17 @@ import com.sdm.common.common.SdmResponse; import com.sdm.common.feign.inter.flowable.IFlowableFeignClient; import com.sdm.flowable.delegate.handler.HpcHandler; import com.sdm.flowable.dto.NodeStructureInfo; -import com.sdm.flowable.dto.ProcessDefinitionDTO; +import com.sdm.common.entity.flowable.dto.ProcessDefinitionDTO; import com.sdm.flowable.dto.req.AsyncCallbackRequest; import com.sdm.flowable.dto.req.CompleteTaskReq; import com.sdm.flowable.dto.req.RetryRequest; import com.sdm.common.entity.resp.flowable.ProcessInstanceResp; -import com.sdm.flowable.dto.resp.DeployFlowableResp; +import com.sdm.common.entity.resp.flowable.DeployFlowableResp; import com.sdm.flowable.dto.resp.ProcessInstanceDetailResponse; import com.sdm.flowable.process.ProcessService; import com.sdm.flowable.service.IProcessNodeParamService; import lombok.extern.slf4j.Slf4j; +import org.flowable.engine.history.HistoricProcessInstance; import org.flowable.engine.runtime.ProcessInstance; import org.flowable.validation.ValidationError; import org.springframework.beans.factory.annotation.Autowired; diff --git a/flowable/src/main/java/com/sdm/flowable/delegate/UniversalDelegate.java b/flowable/src/main/java/com/sdm/flowable/delegate/UniversalDelegate.java index c57c48ac..9ec1fb2c 100644 --- a/flowable/src/main/java/com/sdm/flowable/delegate/UniversalDelegate.java +++ b/flowable/src/main/java/com/sdm/flowable/delegate/UniversalDelegate.java @@ -1,8 +1,7 @@ package com.sdm.flowable.delegate; -import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; -import com.sdm.flowable.config.executeConfig.BaseExecuteConfig; +import com.sdm.common.entity.flowable.executeConfig.BaseExecuteConfig; import com.sdm.flowable.constants.FlowableConfig; import com.sdm.flowable.delegate.handler.ExecutionHandler; import com.sdm.flowable.dto.req.AsyncCallbackRequest; @@ -13,7 +12,6 @@ import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.JavaDelegate; -import org.flowable.engine.runtime.Execution; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; diff --git a/flowable/src/main/java/com/sdm/flowable/delegate/handler/CloudAppHandler.java b/flowable/src/main/java/com/sdm/flowable/delegate/handler/CloudAppHandler.java index 6c65a54f..2c58b252 100644 --- a/flowable/src/main/java/com/sdm/flowable/delegate/handler/CloudAppHandler.java +++ b/flowable/src/main/java/com/sdm/flowable/delegate/handler/CloudAppHandler.java @@ -1,6 +1,6 @@ package com.sdm.flowable.delegate.handler; -import com.sdm.flowable.config.executeConfig.BaseExecuteConfig; +import com.sdm.common.entity.flowable.executeConfig.BaseExecuteConfig; import org.flowable.engine.delegate.DelegateExecution; import org.springframework.stereotype.Component; diff --git a/flowable/src/main/java/com/sdm/flowable/delegate/handler/DataProcessHandler.java b/flowable/src/main/java/com/sdm/flowable/delegate/handler/DataProcessHandler.java index e2f76ced..88e68a9f 100644 --- a/flowable/src/main/java/com/sdm/flowable/delegate/handler/DataProcessHandler.java +++ b/flowable/src/main/java/com/sdm/flowable/delegate/handler/DataProcessHandler.java @@ -1,6 +1,6 @@ package com.sdm.flowable.delegate.handler; -import com.sdm.flowable.config.executeConfig.BaseExecuteConfig; +import com.sdm.common.entity.flowable.executeConfig.BaseExecuteConfig; import org.flowable.engine.delegate.DelegateExecution; import org.springframework.stereotype.Component; diff --git a/flowable/src/main/java/com/sdm/flowable/delegate/handler/ExecutionHandler.java b/flowable/src/main/java/com/sdm/flowable/delegate/handler/ExecutionHandler.java index 726246b1..3dedd548 100644 --- a/flowable/src/main/java/com/sdm/flowable/delegate/handler/ExecutionHandler.java +++ b/flowable/src/main/java/com/sdm/flowable/delegate/handler/ExecutionHandler.java @@ -1,6 +1,6 @@ package com.sdm.flowable.delegate.handler; -import com.sdm.flowable.config.executeConfig.BaseExecuteConfig; +import com.sdm.common.entity.flowable.executeConfig.BaseExecuteConfig; import org.flowable.engine.delegate.DelegateExecution; import java.util.Map; diff --git a/flowable/src/main/java/com/sdm/flowable/delegate/handler/ExportWordScriptHandler.java b/flowable/src/main/java/com/sdm/flowable/delegate/handler/ExportWordScriptHandler.java index 77c2b8cd..a77470ab 100644 --- a/flowable/src/main/java/com/sdm/flowable/delegate/handler/ExportWordScriptHandler.java +++ b/flowable/src/main/java/com/sdm/flowable/delegate/handler/ExportWordScriptHandler.java @@ -3,7 +3,7 @@ package com.sdm.flowable.delegate.handler; import com.sdm.common.entity.req.data.UploadFilesReq; import com.sdm.common.feign.inter.data.IDataFeignClient; import com.sdm.common.utils.RandomUtil; -import com.sdm.flowable.config.executeConfig.BaseExecuteConfig; +import com.sdm.common.entity.flowable.executeConfig.BaseExecuteConfig; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.flowable.engine.delegate.DelegateExecution; diff --git a/flowable/src/main/java/com/sdm/flowable/delegate/handler/HpcHandler.java b/flowable/src/main/java/com/sdm/flowable/delegate/handler/HpcHandler.java index af087571..c187502e 100644 --- a/flowable/src/main/java/com/sdm/flowable/delegate/handler/HpcHandler.java +++ b/flowable/src/main/java/com/sdm/flowable/delegate/handler/HpcHandler.java @@ -3,7 +3,7 @@ package com.sdm.flowable.delegate.handler; import com.sdm.common.common.SdmResponse; import com.sdm.common.entity.req.pbs.SubmitHpcTaskRemoteReq; import com.sdm.common.feign.inter.pbs.ITaskFeignClient; -import com.sdm.flowable.config.executeConfig.BaseExecuteConfig; +import com.sdm.common.entity.flowable.executeConfig.BaseExecuteConfig; import com.sdm.flowable.service.IAsyncTaskRecordService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; diff --git a/flowable/src/main/java/com/sdm/flowable/delegate/handler/HttpHandler.java b/flowable/src/main/java/com/sdm/flowable/delegate/handler/HttpHandler.java index 93f21121..1bf9ce59 100644 --- a/flowable/src/main/java/com/sdm/flowable/delegate/handler/HttpHandler.java +++ b/flowable/src/main/java/com/sdm/flowable/delegate/handler/HttpHandler.java @@ -1,6 +1,6 @@ package com.sdm.flowable.delegate.handler; -import com.sdm.flowable.config.executeConfig.BaseExecuteConfig; +import com.sdm.common.entity.flowable.executeConfig.BaseExecuteConfig; import org.flowable.engine.delegate.DelegateExecution; import org.springframework.stereotype.Component; diff --git a/flowable/src/main/java/com/sdm/flowable/delegate/handler/LocalAppHandler.java b/flowable/src/main/java/com/sdm/flowable/delegate/handler/LocalAppHandler.java index ae74d7ff..062f75c2 100644 --- a/flowable/src/main/java/com/sdm/flowable/delegate/handler/LocalAppHandler.java +++ b/flowable/src/main/java/com/sdm/flowable/delegate/handler/LocalAppHandler.java @@ -1,6 +1,6 @@ package com.sdm.flowable.delegate.handler; -import com.sdm.flowable.config.executeConfig.BaseExecuteConfig; +import com.sdm.common.entity.flowable.executeConfig.BaseExecuteConfig; import org.flowable.engine.delegate.DelegateExecution; import org.springframework.stereotype.Component; diff --git a/flowable/src/main/java/com/sdm/flowable/process/ProcessService.java b/flowable/src/main/java/com/sdm/flowable/process/ProcessService.java index 89bbd947..3c3de90c 100644 --- a/flowable/src/main/java/com/sdm/flowable/process/ProcessService.java +++ b/flowable/src/main/java/com/sdm/flowable/process/ProcessService.java @@ -5,11 +5,11 @@ import com.sdm.flowable.constants.FlowableConfig; import com.sdm.flowable.delegate.UniversalDelegate; import com.sdm.flowable.dto.NodeDetailInfo; import com.sdm.flowable.dto.NodeStructureInfo; -import com.sdm.flowable.dto.ProcessDefinitionDTO; import com.sdm.flowable.dto.ProcessInstanceInfo; +import com.sdm.common.entity.flowable.dto.ProcessDefinitionDTO; import com.sdm.flowable.dto.req.AsyncCallbackRequest; -import com.sdm.flowable.dto.resp.DeployFlowableResp; import com.sdm.flowable.dto.resp.ProcessInstanceDetailResponse; +import com.sdm.common.entity.resp.flowable.DeployFlowableResp; import com.sdm.flowable.enums.FlowElementTypeEnums; import com.sdm.flowable.util.Dto2BpmnConverter; import com.sdm.flowable.dto.req.CompleteTaskReq; diff --git a/flowable/src/main/java/com/sdm/flowable/util/Dto2BpmnConverter.java b/flowable/src/main/java/com/sdm/flowable/util/Dto2BpmnConverter.java index 6c60c614..6f61ef71 100644 --- a/flowable/src/main/java/com/sdm/flowable/util/Dto2BpmnConverter.java +++ b/flowable/src/main/java/com/sdm/flowable/util/Dto2BpmnConverter.java @@ -2,14 +2,11 @@ package com.sdm.flowable.util; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; -import com.sdm.flowable.dto.FlowElementDTO; -import com.sdm.flowable.dto.ProcessDefinitionDTO; -import com.sdm.flowable.config.executeConfig.BaseExecuteConfig; +import com.sdm.common.entity.flowable.dto.FlowElementDTO; +import com.sdm.common.entity.flowable.dto.ProcessDefinitionDTO; +import com.sdm.common.entity.flowable.executeConfig.BaseExecuteConfig; import com.sdm.flowable.constants.FlowableConfig; -import com.sdm.flowable.dto.FlowElementDTO; -import com.sdm.flowable.dto.ProcessDefinitionDTO; import com.sdm.flowable.enums.FlowElementTypeEnums; -import com.sdm.flowable.util.FlowNodeIdUtils; import org.flowable.bpmn.model.*; import org.flowable.bpmn.model.Process; import org.springframework.beans.factory.annotation.Autowired; diff --git a/project/src/main/java/com/sdm/project/controller/SimulationRunController.java b/project/src/main/java/com/sdm/project/controller/SimulationRunController.java index 3ff84adf..3831b4e7 100644 --- a/project/src/main/java/com/sdm/project/controller/SimulationRunController.java +++ b/project/src/main/java/com/sdm/project/controller/SimulationRunController.java @@ -186,4 +186,12 @@ public class SimulationRunController { return runService.startProcessInstance(req); } + /** + * 任务执行 设置节点输入参数和输出参数 + */ + @PostMapping("/saveNodeParams") + public SdmResponse saveNodeParams(@RequestBody SpdmNodeParamReq req) { + return runService.saveNodeParams(req); + } + } diff --git a/project/src/main/java/com/sdm/project/model/entity/SimulationRun.java b/project/src/main/java/com/sdm/project/model/entity/SimulationRun.java index fff57ef7..5be7c375 100644 --- a/project/src/main/java/com/sdm/project/model/entity/SimulationRun.java +++ b/project/src/main/java/com/sdm/project/model/entity/SimulationRun.java @@ -141,6 +141,10 @@ public class SimulationRun implements Serializable { @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime updateTime; + @Schema(description = "flowable流程完成部署后的流程定义id,根据这个发起流程实例") + @TableField("processDefinitionId") + public String processDefinitionId; + @Schema(description= "流程实例id(流程引擎返回的)") @TableField("flowInstanceId") private String flowInstanceId; diff --git a/project/src/main/java/com/sdm/project/model/req/SpdmNodeParamReq.java b/project/src/main/java/com/sdm/project/model/req/SpdmNodeParamReq.java new file mode 100644 index 00000000..13cde87f --- /dev/null +++ b/project/src/main/java/com/sdm/project/model/req/SpdmNodeParamReq.java @@ -0,0 +1,22 @@ +package com.sdm.project.model.req; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +public class SpdmNodeParamReq { + + @Schema(description = "节点uuid") + private String nodeUuid; + + + @Schema(description = "算例uuid") + private String runId; + + @Schema(description = "上传脚本文件id") + private String scriptFileId; + + + + +} diff --git a/project/src/main/java/com/sdm/project/service/ISimulationRunService.java b/project/src/main/java/com/sdm/project/service/ISimulationRunService.java index 1c18829d..3dc8e80c 100644 --- a/project/src/main/java/com/sdm/project/service/ISimulationRunService.java +++ b/project/src/main/java/com/sdm/project/service/ISimulationRunService.java @@ -59,4 +59,6 @@ public interface ISimulationRunService extends IService { void generateReport(SpdmReportReq req, HttpServletResponse response); SdmResponse startProcessInstance(SpdmTaskRunReq req); + + SdmResponse saveNodeParams(SpdmNodeParamReq req); } diff --git a/project/src/main/java/com/sdm/project/service/impl/SimulationRunServiceImpl.java b/project/src/main/java/com/sdm/project/service/impl/SimulationRunServiceImpl.java index 2eaef7de..3baacc9d 100644 --- a/project/src/main/java/com/sdm/project/service/impl/SimulationRunServiceImpl.java +++ b/project/src/main/java/com/sdm/project/service/impl/SimulationRunServiceImpl.java @@ -1,5 +1,6 @@ package com.sdm.project.service.impl; +import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -11,6 +12,8 @@ import com.sdm.common.common.SdmResponse; import com.sdm.common.common.ThreadLocalContext; import com.sdm.common.entity.enums.DirTypeEnum; import com.sdm.common.entity.enums.NodeTypeEnum; +import com.sdm.common.entity.flowable.dto.FlowElementDTO; +import com.sdm.common.entity.flowable.dto.ProcessDefinitionDTO; import com.sdm.common.entity.req.capability.FlowNodeDto; import com.sdm.common.entity.req.data.*; import com.sdm.common.entity.req.system.UserQueryReq; @@ -20,6 +23,9 @@ import com.sdm.common.entity.resp.data.BatchAddFileInfoResp; import com.sdm.common.entity.resp.data.FileMetadataInfoResp; import com.sdm.common.entity.resp.flowable.ProcessInstanceResp; import com.sdm.common.entity.resp.system.CIDUserResp; +import com.sdm.common.feign.impl.capability.SimulationFlowFeignClientImpl; +import com.sdm.common.feign.impl.data.DataClientFeignClientImpl; +import com.sdm.common.feign.impl.flowable.FlowableClientFeignClientImpl; import com.sdm.common.feign.impl.system.SysUserFeignClientImpl; import com.sdm.common.feign.inter.capability.ISimulationFlowFeignClient; import com.sdm.common.feign.inter.data.IDataFeignClient; @@ -95,13 +101,13 @@ public class SimulationRunServiceImpl extends ServiceImpl flowNodeDtoList = new ArrayList<>(); - List> result = extractFlowElements(flowTemplateResp.getData().getTemplateContent()); - for (Map map : result) { + ProcessDefinitionDTO definitionDTO = JSON.parseObject(flowTemplateResp.getData().getTemplateContent(), ProcessDefinitionDTO.class); + for (FlowElementDTO flowElement : definitionDTO.getFlowElements()) { FlowNodeDto flowNodeDto = new FlowNodeDto(); flowNodeDto.setUuid(generateUuid("flow_node_")); - flowNodeDto.setNodeName(map.get("name")); -// flowNodeReq.setFlowInstanceId(simulationRun.getFlowInstanceId()); - flowNodeDto.setNodeId(map.get("id")); - flowNodeDto.setTemplateId(simulationRun.getFlowTemplate()); + flowNodeDto.setNodeName(flowElement.getName()); + flowNodeDto.setNodeId(flowElement.getId()); flowNodeDto.setRunId(simulationRun.getUuid()); flowNodeDtoList.add(flowNodeDto); } @@ -589,6 +593,8 @@ public class SimulationRunServiceImpl extends ServiceImpl> extractFlowElements(String jsonString) throws Exception { - ObjectMapper mapper = new ObjectMapper(); - JsonNode rootNode = mapper.readTree(jsonString); - JsonNode flowElements = rootNode.path("flowElements"); - List> elements = new ArrayList<>(); - for (JsonNode element : flowElements) { - if ("sequenceFlow".equals(element.get("type").asText())) { - continue; - } - Map item = new HashMap<>(); - item.put("id", element.path("id").asText()); - item.put("name", element.path("name").asText()); - elements.add(item); - } - return elements; - } - @Override @Transactional(rollbackFor = Exception.class) public SdmResponse deleteTaskRun(SpdmTaskRunReq req) { @@ -937,21 +920,31 @@ public class SimulationRunServiceImpl extends ServiceImpl sdmResponse = flowableFeignClient.startByProcessDefinitionKey(simulationRun.getFlowTemplate()); + // 启动流程实例 多次执行会生成多个流程实例id,更新算例run表 + SdmResponse sdmResponse = flowableFeignClient.startByProcessDefinitionId(simulationRun.getProcessDefinitionId(), null); if (sdmResponse.getData() != null) { - this.lambdaUpdate().set(SimulationRun::getFlowInstanceId, sdmResponse.getData().getId()).eq(SimulationRun::getUuid, req.getRunId()).update(); - // 更新node节点的流程实例id - FlowNodeDto flowNodeDto = new FlowNodeDto(); - flowNodeDto.setRunId(req.getRunId()); - flowNodeDto.setFlowInstanceId(sdmResponse.getData().getId()); - flowFeignClient.batchUpdateSimulationFlowNode(flowNodeDto); + this.lambdaUpdate().set(SimulationRun::getFlowInstanceId, sdmResponse.getData().getProcessInstanceId()).eq(SimulationRun::getUuid, req.getRunId()).update(); } else { return SdmResponse.failed("流程实例启动失败"); } return sdmResponse; } + @Override + public SdmResponse saveNodeParams(SpdmNodeParamReq req) { + FlowNodeDto flowNodeReq = new FlowNodeDto(); + flowNodeReq.setUuid(req.getNodeUuid()); + SdmResponse sdmResponse = flowFeignClient.querySimulationFlowNode(flowNodeReq); + if (sdmResponse.getData() != null) { +// ProcessDefinitionDTO definitionDTO = JSON.parseObject(sdmResponse.getData().get(), ProcessDefinitionDTO.class); + + FlowNodeDto flowNodeDto = sdmResponse.getData(); + + } + + return null; + } + public static void deleteFolder(File folder) { if (folder.isDirectory()) { File[] files = folder.listFiles();