From db04364904d934e1d2047d46902785b4e1c1de36 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期日, 21 六月 2020 00:58:22 +0800
Subject: [PATCH] 中文换为英文
---
service-common/src/main/java/com/java110/common/smo/impl/WorkflowInnerServiceSMOImpl.java | 80 ++++++++++++++++++++++++++++-----------
1 files changed, 57 insertions(+), 23 deletions(-)
diff --git a/service-common/src/main/java/com/java110/common/smo/impl/WorkflowInnerServiceSMOImpl.java b/service-common/src/main/java/com/java110/common/smo/impl/WorkflowInnerServiceSMOImpl.java
index 6406445..50bcd28 100644
--- a/service-common/src/main/java/com/java110/common/smo/impl/WorkflowInnerServiceSMOImpl.java
+++ b/service-common/src/main/java/com/java110/common/smo/impl/WorkflowInnerServiceSMOImpl.java
@@ -10,6 +10,7 @@
import com.java110.dto.workflow.WorkflowDto;
import com.java110.dto.workflow.WorkflowStepDto;
import com.java110.dto.workflow.WorkflowStepStaffDto;
+import com.java110.utils.util.Base64Convert;
import com.java110.utils.util.BeanConvertUtil;
import com.java110.utils.util.StringUtil;
import org.activiti.bpmn.BpmnAutoLayout;
@@ -23,12 +24,16 @@
import org.activiti.bpmn.model.UserTask;
import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngines;
-import org.activiti.engine.RepositoryService;
+import org.activiti.engine.RuntimeService;
import org.activiti.engine.repository.Deployment;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
+import java.io.IOException;
+import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
@@ -42,12 +47,16 @@
**/
@RestController
public class WorkflowInnerServiceSMOImpl extends BaseServiceSMO implements IWorkflowInnerServiceSMO {
+ private static final Logger logger = LoggerFactory.getLogger(BaseServiceSMO.class);
@Autowired
private IWorkflowServiceDao workflowServiceDaoImpl;
@Autowired
private IUserInnerServiceSMO userInnerServiceSMOImpl;
+
+ @Autowired
+ private RuntimeService runtimeService;
@Override
public List<WorkflowDto> queryWorkflows(@RequestBody WorkflowDto workflowDto) {
@@ -105,14 +114,39 @@
return userIds.toArray(new String[userIds.size()]);
}
+ public String getWorkflowImage(@RequestBody WorkflowDto workflowDto) {
+
+ ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
+ List<String> list = processEngine.getRepositoryService()//
+ .getDeploymentResourceNames(workflowDto.getProcessDefinitionKey());
+ String image = "";
+ String resourceName = "";
+ if (list != null && list.size() > 0) {
+ for (String name : list) {
+ if (name.indexOf(".png") >= 0) {
+ resourceName = name;
+ }
+ }
+ }
+
+ InputStream in = processEngine.getRepositoryService()
+ .getResourceAsStream(workflowDto.getProcessDefinitionKey(), resourceName);
+ try {
+ image = Base64Convert.ioToBase64(in);
+ } catch (IOException e) {
+ logger.error("璇诲彇鍥剧墖澶辫触", e);
+ }
+ return image;
+ }
+
/**
* @Date锛�2017/11/24
* @Description锛氬垱寤烘祦绋嬪苟閮ㄧ讲
*/
- protected void addFlowDeployment(@RequestBody WorkflowDto workflowDto) {
+ public WorkflowDto addFlowDeployment(@RequestBody WorkflowDto workflowDto) {
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
-
+//
// RepositoryService repositoryService = processEngine.getRepositoryService();
// repositoryService.deleteDeployment("1");
@@ -120,7 +154,7 @@
BpmnModel model = new BpmnModel();
Process process = new Process();
model.addProcess(process);
- process.setId(workflowDto.getFlowId());
+ process.setId(WorkflowDto.DEFAULT_PROCESS + workflowDto.getFlowId());
process.setName(workflowDto.getFlowName());
process.setDocumentation(workflowDto.getDescrible());
//娣诲姞娴佺▼
@@ -133,22 +167,22 @@
if (WorkflowStepDto.TYPE_COUNTERSIGN.equals(step.getType())) {
//浼氱
//鍔犲叆骞惰缃戝叧-鍒嗘敮
- process.addFlowElement(createParallelGateway("parallelGateway-fork" + i, "骞惰缃戝叧-鍒嗘敮" + i));
+ process.addFlowElement(createParallelGateway("parallelGateway-fork" + i, "parallelGateway-fork" + i));
//鑾峰彇瑙掕壊涓嬫墍鏈夌敤鎴�
List<WorkflowStepStaffDto> userList = step.getWorkflowStepStaffs();
for (int u = 0; u < userList.size(); u++) {
//骞惰缃戝叧鍒嗘敮鐨勫鏍歌妭鐐�
- process.addFlowElement(createUserTask("userTask" + i + u, "骞惰缃戝叧鍒嗘敮鐢ㄦ埛瀹℃牳鑺傜偣" + i + u, userList.get(u).getStaffId()));
+ process.addFlowElement(createUserTask("userTask" + i + u, "userTask" + i + u, userList.get(u).getStaffId()));
}
//骞惰缃戝叧-姹囪仛
- process.addFlowElement(createParallelGateway("parallelGateway-join" + i, "骞惰缃戝叧鍒�-姹囪仛" + i));
+ process.addFlowElement(createParallelGateway("parallelGateway-join" + i, "parallelGateway-join" + i));
} else {
//鏅�氭祦杞�
//瀹℃牳鑺傜偣
- process.addFlowElement(createGroupTask("task" + i, "缁勫鏍歌妭鐐�" + i, step.getWorkflowStepStaffs().get(0).getStaffId()));
+ process.addFlowElement(createGroupTask("task" + i, "task" + i, step.getWorkflowStepStaffs().get(0).getStaffId()));
//鍥為��鑺傜偣
- process.addFlowElement(createUserTask("repulse" + i, "鍥為��鑺傜偣" + i, "${startUserId}"));
+ process.addFlowElement(createUserTask("repulse" + i, "repulse" + i, "${startUserId}"));
}
}
//缁撴潫鑺傜偣
@@ -163,51 +197,51 @@
//鍒ゆ柇鏄惁绗竴涓妭鐐�
if (y == 0) {
//寮�濮嬭妭鐐瑰拰骞惰缃戝叧-鍒嗘敮杩炵嚎
- process.addFlowElement(createSequenceFlow("startEvent", "parallelGateway-fork" + y, "寮�濮嬭妭鐐瑰埌骞惰缃戝叧-鍒嗘敮" + y, ""));
+ process.addFlowElement(createSequenceFlow("startEvent", "parallelGateway-fork" + y, "startEvent-parallelGateway-fork" + y, ""));
} else {
//瀹℃牳鑺傜偣鎴栬�呭苟琛岀綉鍏�-姹囪仛鍒板苟琛岀綉鍏�-鍒嗘敮
//鍒ゆ柇涓婁竴涓妭鐐规槸鍚︽槸浼氱
if (WorkflowStepDto.TYPE_COUNTERSIGN.equals(workflowStepDtos.get(y - 1).getType())) {
- process.addFlowElement(createSequenceFlow("parallelGateway-join" + (y - 1), "parallelGateway-fork" + y, "骞惰缃戝叧-姹囪仛鍒板苟琛岀綉鍏�-鍒嗘敮" + y, ""));
+ process.addFlowElement(createSequenceFlow("parallelGateway-join" + (y - 1), "parallelGateway-fork" + y, "parallelGateway-join-parallelGateway-fork-鍒嗘敮" + y, ""));
} else {
- process.addFlowElement(createSequenceFlow("task" + (y - 1), "parallelGateway-fork" + y, "涓婁竴涓鏍歌妭鐐瑰埌骞惰缃戝叧-鍒嗘敮" + y, ""));
+ process.addFlowElement(createSequenceFlow("task" + (y - 1), "parallelGateway-fork" + y, "task-parallelGateway-fork" + y, ""));
}
}
//骞惰缃戝叧-鍒嗘敮鍜屼細绛剧敤鎴疯繛绾匡紝浼氱鐢ㄦ埛鍜屽苟琛岀綉鍏�-姹囪仛杩炵嚎
List<WorkflowStepStaffDto> userList = step.getWorkflowStepStaffs();
for (int u = 0; u < userList.size(); u++) {
- process.addFlowElement(createSequenceFlow("parallelGateway-fork" + y, "userTask" + y + u, "骞惰缃戝叧-鍒嗘敮鍒颁細绛剧敤鎴�" + y + u, ""));
- process.addFlowElement(createSequenceFlow("userTask" + y + u, "parallelGateway-join" + y, "浼氱鐢ㄦ埛鍒板苟琛岀綉鍏�-姹囪仛", ""));
+ process.addFlowElement(createSequenceFlow("parallelGateway-fork" + y, "userTask" + y + u, "parallelGateway-fork-userTask" + y + u, ""));
+ process.addFlowElement(createSequenceFlow("userTask" + y + u, "parallelGateway-join" + y, "userTask-parallelGateway-join", ""));
}
//鏈�鍚庝竴涓妭鐐� 骞惰缃戝叧-姹囪仛鍒扮粨鏉熻妭鐐�
if (y == (userList.size() - 1)) {
- process.addFlowElement(createSequenceFlow("parallelGateway-join" + y, "endEvent", "骞惰缃戝叧-姹囪仛鍒扮粨鏉熻妭鐐�", ""));
+ process.addFlowElement(createSequenceFlow("parallelGateway-join" + y, "endEvent", "parallelGateway-join-endEvent", ""));
}
} else {
//鏅�氭祦杞�
//绗竴涓妭鐐�
if (y == 0) {
//寮�濮嬭妭鐐瑰拰瀹℃牳鑺傜偣1
- process.addFlowElement(createSequenceFlow("startEvent", "task" + y, "寮�濮嬭妭鐐瑰埌瀹℃牳鑺傜偣" + y, ""));
+ process.addFlowElement(createSequenceFlow("startEvent", "task" + y, "startEvent-task" + y, ""));
} else {
//鍒ゆ柇涓婁竴涓妭鐐规槸鍚︿細绛�
if (WorkflowStepDto.TYPE_COUNTERSIGN.equals(workflowStepDtos.get(y - 1).getType())) {
//浼氱
//骞惰缃戝叧-姹囪仛鍒板鏍歌妭鐐�
- process.addFlowElement(createSequenceFlow("parallelGateway-join" + (y - 1), "task" + y, "骞惰缃戝叧-姹囪仛鍒板鏍歌妭鐐�" + y, ""));
+ process.addFlowElement(createSequenceFlow("parallelGateway-join" + (y - 1), "task" + y, "parallelGateway-join-task" + y, ""));
} else {
//鏅��
- process.addFlowElement(createSequenceFlow("task" + (y - 1), "task" + y, "瀹℃牳鑺傜偣" + (y - 1) + "鍒板鏍歌妭鐐�" + y, "${flag=='true'}"));
+ process.addFlowElement(createSequenceFlow("task" + (y - 1), "task" + y, "task" + (y - 1) + "task" + y, "${flag=='true'}"));
}
}
//鏄惁鏈�鍚庝竴涓妭鐐�
if (y == (workflowStepDtos.size() - 1)) {
//瀹℃牳鑺傜偣鍒扮粨鏉熻妭鐐�
- process.addFlowElement(createSequenceFlow("task" + y, "endEvent", "瀹℃牳鑺傜偣" + y + "鍒扮粨鏉熻妭鐐�", "${flag=='true'}"));
+ process.addFlowElement(createSequenceFlow("task" + y, "endEvent", "task" + y + "endEvent", "${flag=='true'}"));
}
//瀹℃牳鑺傜偣鍒板洖閫�鑺傜偣
- process.addFlowElement(createSequenceFlow("task" + y, "repulse" + y, "瀹℃牳涓嶉�氳繃-鎵撳洖" + y, "${flag=='false'}"));
- process.addFlowElement(createSequenceFlow("repulse" + y, "task" + y, "鍥為��鑺傜偣鍒板鏍歌妭鐐�" + y, ""));
+ process.addFlowElement(createSequenceFlow("task" + y, "repulse" + y, "task-repulse" + y, "${flag=='false'}"));
+ process.addFlowElement(createSequenceFlow("repulse" + y, "task" + y, "repulse-task" + y, ""));
}
}
@@ -216,7 +250,7 @@
// 3. 閮ㄧ讲娴佺▼
Deployment deployment = processEngine.getRepositoryService().createDeployment().addBpmnModel(process.getId() + ".bpmn", model).name(process.getId() + "_deployment").deploy();
-
+ workflowDto.setProcessDefinitionKey(deployment.getId());
// // 4. 鍚姩涓�涓祦绋嬪疄渚�
// ProcessInstance processInstance = processEngine.getRuntimeService().startProcessInstanceByKey(process.getId());
//
@@ -234,7 +268,7 @@
// e.printStackTrace();
// }
- System.out.println(".........end...");
+ return workflowDto;
}
--
Gitblit v1.8.0