Commit a7a4fc00 by 赵剑炜

修改工作流

parent 666ff82f
......@@ -60,3 +60,4 @@ Thumbs.db
/jyzb-boot/src/main/resources/application.yml
/jyzb-boot/pom.xml
/.idea/encodings.xml
/jyzb-boot/src/main/resources/application.yml
......@@ -4,7 +4,7 @@
server:
tomcat:
uri-encoding: UTF-8 #tomcat编码
port: 10031 #tomcat端口
port: 10032 #tomcat端口
spring:
main:
#bea同名类进行注册时,准许覆盖注册
......
artifactId=jyzb-mq-consumer
groupId=com.junmp.jyzb
version=1.0.0
artifactId=jyzb-mq-producer
groupId=com.junmp.jyzb
version=1.0.0
......@@ -121,11 +121,11 @@ public class BpmnController {
public ApiRes<Boolean> createForm(@RequestBody FormReq formReq) {
return ApiRes.success(WorkProcessService.createNewForm(formReq));
}
// @ApiOperation("终止流程")
// @PostMapping("StopProcessInstanceById")
// public ApiRes<Boolean> stopProcessInstanceById(@RequestBody HandleDataDTO handleDataDTO) {
// return ApiRes.success(WorkProcessService.suspendOrActivateProcessDefinitionById(req));
// }
@ApiOperation("终止流程")
@PostMapping("StopProcessInstanceById")
public ApiRes<Boolean> stopProcessInstanceById(@RequestBody HandleDataDTO handleDataDTO) {
return WorkProcessService.stopProcessInstanceById(handleDataDTO);
}
@ApiOperation("挂起流程实例")
@PostMapping("SuspendOrActivateDefinition")
public ApiRes<Boolean> SuspendOrActivateDefinition(@RequestBody SuspendOrActivateDefinitionReq req) {
......
......@@ -29,12 +29,12 @@ public interface WorkProcessService {
*/
Boolean createNewForm(FormReq processVO) ;
// /**
// * 挂起流程定义
// *
// * @return
// */
// Boolean stopProcessInstanceById(SuspendOrActivateDefinitionReq req) ;
/**
* 终止流程实例
*
* @return
*/
ApiRes<Boolean> stopProcessInstanceById(HandleDataDTO handleDataDTO) ;
/**
* 挂起流程定义
......
......@@ -212,6 +212,46 @@ public class WorkProcessServiceImpl extends ServiceImpl<ProcessTemplatesMapper,
return pageResult;
}
public List<EndEvent> findEndFlowElement(String processDefId) {
BpmnModel bpmnModel = repositoryService.getBpmnModel(processDefId);
if (bpmnModel != null) {
Process process = bpmnModel.getMainProcess();
return process.findFlowElementsOfType(EndEvent.class);
} else {
return null;
}
}
// /**
// * @Author: Zhaojw
// * @Description: 终止流程实例
// * @DateTime: 2023/7/24 15:17
// * @Params:
// * @Return
// */
public ApiRes<Boolean> stopProcessInstanceById(HandleDataDTO handleDataDTO)
{
ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(handleDataDTO.getProcessInstanceId()).singleResult();
if (processInstance != null) {
//2、执行终止
List<Execution> executions = runtimeService.createExecutionQuery().parentId(handleDataDTO.getProcessInstanceId()).list();
List<String> executionIds = new ArrayList<>();
List<EndEvent> endNodes = this.findEndFlowElement(processInstance.getProcessDefinitionId());
String endId = endNodes.get(0).getId();
executions.forEach(execution -> executionIds.add(execution.getId()));
runtimeService.createChangeActivityStateBuilder()
.moveExecutionsToSingleActivityId(executionIds, endId)
.changeState();
return ApiRes.success(true);
}else {
return ApiRes.failure("不存在运行的流程实例,请确认!");
}
}
/**
* @Author: Zhaojw
* @Description: 创建新表单
......@@ -275,7 +315,7 @@ public class WorkProcessServiceImpl extends ServiceImpl<ProcessTemplatesMapper,
BpmnModel bpmnModel = toBpmn(processJsonNode,formJsonNode,formName,templateId);
Deployment deploy = repositoryService.createDeployment()
.addBpmnModel(templateId+".bpmn20.xml", bpmnModel)
.name(templateId)
.name(formName)
.category(templateId)
.deploy();
......@@ -377,7 +417,7 @@ public class WorkProcessServiceImpl extends ServiceImpl<ProcessTemplatesMapper,
Deployment deploy = repositoryService.createDeployment()
.addBpmnModel(process.getTemplateId()+".bpmn20.xml", bpmnModel)
.name(process.getTemplateId())
.name(formName)
.category(process.getTemplateId())
.deploy();
return true;
......@@ -711,6 +751,11 @@ public class WorkProcessServiceImpl extends ServiceImpl<ProcessTemplatesMapper,
Map<String, Object> processVariables = historicProcessInstance.getProcessVariables();
HistoryProcessInstanceVO historyProcessInstanceVO = new HistoryProcessInstanceVO();
historyProcessInstanceVO.setProcessInstanceId(historicProcessInstance.getId());
BpmnModel bpmnModel = repositoryService.getBpmnModel(historicProcessInstance.getProcessDefinitionId());
String Name= bpmnModel.getMainProcess().getName();
historyProcessInstanceVO.setProcessDefinitionName(historicProcessInstance.getProcessDefinitionName());
historyProcessInstanceVO.setStartUser(JSONObject.parseObject(MapUtil.getStr(processVariables, START_USER_INFO), new TypeReference<UserInfo>() {
}));
......
......@@ -13,7 +13,7 @@
<module>jyzb-api</module>
<module>jyzb-boot</module>
<module>jyzb-biz</module>
<!-- <module>jyzb-process</module>-->
<module>jyzb-process</module>
<module>jyzb-common</module>
<module>jyzb-mq</module>
</modules>
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论