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