Jelajahi Sumber

工作流--查询方法

lining 6 tahun lalu
induk
melakukan
2b30e87691

+ 31 - 1
src/main/java/com/common/workflow/service/activiti/ActivitiService.java

@@ -288,6 +288,37 @@ public class ActivitiService {
         return pageResultDTO;
     }
 
+    public ActiPageResultDTO findAllTypePagingTasksWithCreateTimeByUserId(String userId, int pageIndex, int pageSize, String wfName, String taskName) {
+        TaskQuery taskQuery = taskService.createTaskQuery().taskCandidateOrAssigned(userId);
+        //按工作流名称查询
+        if (!wfName.isEmpty()) {
+            taskQuery = taskQuery.processDefinitionKeyIn(Arrays.asList(wfName.split(",")));
+        }
+        //按节点名称查询
+        if (!taskName.isEmpty()) {
+            taskQuery = taskQuery.processDefinitionKeyIn(Arrays.asList(taskName.split(",")));
+        }
+        long taskTotal = taskQuery.count();
+
+        List<ActiMyTaskDTO> myTaskDTOS = new ArrayList<>();
+        List<Task> resultTasks = taskQuery.orderByTaskCreateTime().desc().listPage((pageIndex-1)*pageSize, pageSize);
+
+        for (Task myTask : resultTasks) {
+            ActiMyTaskDTO myTaskDTO = new ActiMyTaskDTO();
+            myTaskDTO.setProcessDefinitionId(myTask.getProcessDefinitionId());
+            myTaskDTO.setBusinessKey(taskService.getVariable(myTask.getId(), "businessKey").toString());
+            myTaskDTO.setWorkflowId(myTask.getProcessInstanceId());
+            myTaskDTO.setCreateTime(myTask.getCreateTime().getTime());
+            myTaskDTO.setTaskName(myTask.getName());
+            myTaskDTOS.add(myTaskDTO);
+        }
+
+        ActiPageResultDTO pageResultDTO = new ActiPageResultDTO();
+        pageResultDTO.setTotal(taskTotal);
+        pageResultDTO.setTaskDTOList(myTaskDTOS);
+        return pageResultDTO;
+    }
+
     /**
      *
      * <p>描述: 根据工作流Key 和 用户id查询已办任务列表</p>
@@ -408,7 +439,6 @@ public class ActivitiService {
     /**
      * 查询当前用户的待办任务
      * @param processDefinitionKey 流程定义key(流程定义的标识)
-     * @param assignee 任务负责人
      * @return
      */
     /*public List<Task> findTasks(String processDefinitionKey, String assignee) {

+ 8 - 1
src/main/java/com/common/workflow/web/rest/ActivitiResource.java

@@ -78,7 +78,14 @@ public class ActivitiResource {
     @PostMapping("/my-all-type-paging-tasks-with-time")
     public ResponseEntity<ActiPageResultDTO> getAllTypePagingTasksWithTime(@Valid @RequestBody ActiMyPagingTaskVM actiVm) {
         ActiPageResultDTO pageResultDTO = activitiService.findAllTypePagingTasksWithCreateTimeByUserId(
-            actiVm.getUserId(), actiVm.getPageIndex(), actiVm.getPageSize(), actiVm.getWfName(), actiVm.getType(), actiVm.getSupplierName() );
+            actiVm.getUserId(), actiVm.getPageIndex(), actiVm.getPageSize(), actiVm.getWfName(), actiVm.getType(), actiVm.getSupplierName());
+        return ResponseEntity.ok(pageResultDTO);
+    }
+
+    @PostMapping("/my-all-taskname-paging-tasks-with-time")
+    public ResponseEntity<ActiPageResultDTO> getAllTaskNamePagingTasksWithTime(@Valid @RequestBody ActiMyPagingTaskVM actiVm) {
+        ActiPageResultDTO pageResultDTO = activitiService.findAllTypePagingTasksWithCreateTimeByUserId(
+            actiVm.getUserId(), actiVm.getPageIndex(), actiVm.getPageSize(), actiVm.getWfName(), actiVm.getTaskName() );
         return ResponseEntity.ok(pageResultDTO);
     }
 

+ 9 - 0
src/main/java/com/common/workflow/web/rest/vm/ActiMyPagingTaskVM.java

@@ -10,6 +10,7 @@ public class ActiMyPagingTaskVM {
     private String wfName;
     private String type;
     private String supplierName;
+    private String taskName;
 
     public String getUserId() {
         return userId;
@@ -58,4 +59,12 @@ public class ActiMyPagingTaskVM {
     public void setSupplierName(String supplierName) {
         this.supplierName = supplierName;
     }
+
+    public String getTaskName() {
+        return taskName;
+    }
+
+    public void setTaskName(String taskName) {
+        this.taskName = taskName;
+    }
 }

+ 2 - 2
src/main/resources/config/application-dev.yml

@@ -78,8 +78,8 @@ spring:
         jobExecutorActivate: false
         asyncExecutorEnabled: false
         asyncExecutorActivate: false
-        database-schema-update: true
-        check-process-definitions: true
+        database-schema-update: false
+        check-process-definitions: false
         process-definition-location-prefix: classpath:/processes2/
     #    process-definition-location-suffixes:
     #      - **.bpmn

+ 8 - 8
src/main/resources/config/application-prod.yml

@@ -27,13 +27,13 @@ spring:
             enabled: false
     datasource:
         type: com.zaxxer.hikari.HikariDataSource
-        url: jdbc:mysql://47.92.212.59:3306/activiti?useUnicode=true&characterEncoding=utf8&useSSL=false&useLegacyDatetimeCode=false&serverTimezone=UTC
+        # url: jdbc:mysql://47.92.212.59:3306/activiti?useUnicode=true&characterEncoding=utf8&useSSL=false&useLegacyDatetimeCode=false&serverTimezone=UTC
         # url: jdbc:mysql://172.17.0.1:3306/activiti?useUnicode=true&characterEncoding=utf8&useSSL=false&useLegacyDatetimeCode=false&serverTimezone=UTC
-        # url: jdbc:mysql://39.98.34.197:3306/activiti_dqm?useUnicode=true&characterEncoding=utf8&useSSL=false&useLegacyDatetimeCode=false&serverTimezone=UTC
-        # username: dqmnt_user
-        # password: Y6Ba64w1Hezo
-        username: root
-        password: zks123456
+        url: jdbc:mysql://39.98.34.197:3306/activiti_dqm?useUnicode=true&characterEncoding=utf8&useSSL=false&useLegacyDatetimeCode=false&serverTimezone=UTC
+        username: dqmnt_user
+        password: Y6Ba64w1Hezo
+        # username: root
+        # password: zks123456
         hikari:
             auto-commit: false
             data-source-properties:
@@ -67,8 +67,8 @@ spring:
         asyncExecutorEnabled: false
         asyncExecutorActivate: false
         database-schema-update: false
-        check-process-definitions: false
-        process-definition-location-prefix: classpath:/processes_lims/
+        check-process-definitions: true
+        process-definition-location-prefix: classpath:/processes_cellsop/
     #    process-definition-location-suffixes:
     #      - **.bpmn
     #      - **.bpmn20.xml

+ 108 - 0
src/main/resources/processes_cellsop/cellsop_flow.bpmn20.xml

@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:activiti="http://activiti.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.activiti.org/processdef">
+  <process id="cellsop_flow" name="cellsop_flow" isExecutable="true">
+    <documentation>cellsop整体流程</documentation>
+    <startEvent id="sid-9A4918D7-8376-4A00-928A-6415D92565EC" name="开始"></startEvent>
+    <userTask id="sid-A6FC1B75-D365-4060-8F2D-797DAD1399EF" name="成品放行" activiti:candidateUsers="${users}"></userTask>
+    <userTask id="sid-8F39C647-A0E2-46F8-B184-51BF40E93546" name="交接" activiti:candidateUsers="${users}"></userTask>
+    <endEvent id="sid-2AC44FDA-FEF7-4D32-A690-54A5C6AAF46D" name="完成"></endEvent>
+    <sequenceFlow id="sid-842910A7-33C0-4DC1-B663-84C688761DA7" sourceRef="sid-9A4918D7-8376-4A00-928A-6415D92565EC" targetRef="sid-D9679422-EE83-4AD7-8A06-51A8BAC2A397"></sequenceFlow>
+    <sequenceFlow id="sid-E19E2941-6B2A-4114-B292-5D789BA0959A" sourceRef="sid-79AD32BB-7257-4652-A5C5-5F020A423D98" targetRef="sid-2AC44FDA-FEF7-4D32-A690-54A5C6AAF46D"></sequenceFlow>
+    <userTask id="sid-C18EB968-3E14-4BAF-9DEF-D767CA546066" name="制备(检测)" activiti:candidateUsers="${users}"></userTask>
+    <userTask id="sid-D9679422-EE83-4AD7-8A06-51A8BAC2A397" name="项目" activiti:assignee="${recorder}">
+      <extensionElements>
+        <modeler:initiator-can-complete xmlns:modeler="http://activiti.com/modeler"><![CDATA[false]]></modeler:initiator-can-complete>
+      </extensionElements>
+    </userTask>
+    <userTask id="sid-CF73C362-1009-4DAD-987D-FE8E5DEAF9B3" name="采集" activiti:candidateUsers="${users}"></userTask>
+    <sequenceFlow id="sid-42E794AB-A831-42E1-B9C0-D719096AC5AB" sourceRef="sid-D9679422-EE83-4AD7-8A06-51A8BAC2A397" targetRef="sid-CF73C362-1009-4DAD-987D-FE8E5DEAF9B3"></sequenceFlow>
+    <userTask id="sid-EADEE400-777A-4043-ADA6-07477CA5CAF3" name="采集审核" activiti:candidateUsers="${users}"></userTask>
+    <sequenceFlow id="sid-751C74A7-6447-45F4-9161-19A3B05EA484" sourceRef="sid-CF73C362-1009-4DAD-987D-FE8E5DEAF9B3" targetRef="sid-EADEE400-777A-4043-ADA6-07477CA5CAF3"></sequenceFlow>
+    <sequenceFlow id="sid-EFB486FB-44ED-4DBD-8B2A-0D0D38D6DE04" sourceRef="sid-EADEE400-777A-4043-ADA6-07477CA5CAF3" targetRef="sid-8F39C647-A0E2-46F8-B184-51BF40E93546"></sequenceFlow>
+    <userTask id="sid-C24945E8-4DCF-4EAE-B7B7-B23E366637AF" name="交接审核" activiti:candidateUsers="${users}"></userTask>
+    <sequenceFlow id="sid-64940E6C-B163-45FB-AA86-FDF5F3A306B6" sourceRef="sid-C24945E8-4DCF-4EAE-B7B7-B23E366637AF" targetRef="sid-C18EB968-3E14-4BAF-9DEF-D767CA546066"></sequenceFlow>
+    <userTask id="sid-C3B7283D-CFA8-436C-AE2C-E9600BA97F13" name="制备审核" activiti:candidateUsers="${users}"></userTask>
+    <sequenceFlow id="sid-AF594B24-4F5B-4169-BD67-1C3C2AFD7714" sourceRef="sid-C18EB968-3E14-4BAF-9DEF-D767CA546066" targetRef="sid-C3B7283D-CFA8-436C-AE2C-E9600BA97F13"></sequenceFlow>
+    <sequenceFlow id="sid-6B313E7B-4F8C-47A7-8A3B-BFE343F700A2" sourceRef="sid-C3B7283D-CFA8-436C-AE2C-E9600BA97F13" targetRef="sid-A6FC1B75-D365-4060-8F2D-797DAD1399EF"></sequenceFlow>
+    <sequenceFlow id="sid-2E2450DC-395A-40A2-889A-66B86FC52FF4" sourceRef="sid-8F39C647-A0E2-46F8-B184-51BF40E93546" targetRef="sid-C24945E8-4DCF-4EAE-B7B7-B23E366637AF"></sequenceFlow>
+    <userTask id="sid-79AD32BB-7257-4652-A5C5-5F020A423D98" name="放行审核" activiti:candidateUsers="${users}"></userTask>
+    <sequenceFlow id="sid-53E8341C-35AA-49D4-B9A0-274545608FE6" sourceRef="sid-A6FC1B75-D365-4060-8F2D-797DAD1399EF" targetRef="sid-79AD32BB-7257-4652-A5C5-5F020A423D98"></sequenceFlow>
+  </process>
+  <bpmndi:BPMNDiagram id="BPMNDiagram_cellsop_flow">
+    <bpmndi:BPMNPlane bpmnElement="cellsop_flow" id="BPMNPlane_cellsop_flow">
+      <bpmndi:BPMNShape bpmnElement="sid-9A4918D7-8376-4A00-928A-6415D92565EC" id="BPMNShape_sid-9A4918D7-8376-4A00-928A-6415D92565EC">
+        <omgdc:Bounds height="30.0" width="30.0" x="45.0" y="120.0"></omgdc:Bounds>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape bpmnElement="sid-A6FC1B75-D365-4060-8F2D-797DAD1399EF" id="BPMNShape_sid-A6FC1B75-D365-4060-8F2D-797DAD1399EF">
+        <omgdc:Bounds height="79.99999999999994" width="100.0" x="480.0" y="255.0"></omgdc:Bounds>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape bpmnElement="sid-8F39C647-A0E2-46F8-B184-51BF40E93546" id="BPMNShape_sid-8F39C647-A0E2-46F8-B184-51BF40E93546">
+        <omgdc:Bounds height="80.0" width="100.0" x="645.0" y="95.0"></omgdc:Bounds>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape bpmnElement="sid-2AC44FDA-FEF7-4D32-A690-54A5C6AAF46D" id="BPMNShape_sid-2AC44FDA-FEF7-4D32-A690-54A5C6AAF46D">
+        <omgdc:Bounds height="28.0" width="28.0" x="195.0" y="281.0"></omgdc:Bounds>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape bpmnElement="sid-C18EB968-3E14-4BAF-9DEF-D767CA546066" id="BPMNShape_sid-C18EB968-3E14-4BAF-9DEF-D767CA546066">
+        <omgdc:Bounds height="80.0" width="100.0" x="825.0" y="255.0"></omgdc:Bounds>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape bpmnElement="sid-D9679422-EE83-4AD7-8A06-51A8BAC2A397" id="BPMNShape_sid-D9679422-EE83-4AD7-8A06-51A8BAC2A397">
+        <omgdc:Bounds height="80.0" width="100.0" x="135.0" y="95.0"></omgdc:Bounds>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape bpmnElement="sid-CF73C362-1009-4DAD-987D-FE8E5DEAF9B3" id="BPMNShape_sid-CF73C362-1009-4DAD-987D-FE8E5DEAF9B3">
+        <omgdc:Bounds height="80.0" width="100.0" x="309.0" y="95.0"></omgdc:Bounds>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape bpmnElement="sid-EADEE400-777A-4043-ADA6-07477CA5CAF3" id="BPMNShape_sid-EADEE400-777A-4043-ADA6-07477CA5CAF3">
+        <omgdc:Bounds height="80.0" width="100.0" x="480.0" y="95.0"></omgdc:Bounds>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape bpmnElement="sid-C24945E8-4DCF-4EAE-B7B7-B23E366637AF" id="BPMNShape_sid-C24945E8-4DCF-4EAE-B7B7-B23E366637AF">
+        <omgdc:Bounds height="80.0" width="100.0" x="825.0" y="95.0"></omgdc:Bounds>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape bpmnElement="sid-C3B7283D-CFA8-436C-AE2C-E9600BA97F13" id="BPMNShape_sid-C3B7283D-CFA8-436C-AE2C-E9600BA97F13">
+        <omgdc:Bounds height="80.0" width="100.0" x="645.0" y="255.0"></omgdc:Bounds>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape bpmnElement="sid-79AD32BB-7257-4652-A5C5-5F020A423D98" id="BPMNShape_sid-79AD32BB-7257-4652-A5C5-5F020A423D98">
+        <omgdc:Bounds height="80.0" width="100.0" x="300.0" y="255.0"></omgdc:Bounds>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNEdge bpmnElement="sid-6B313E7B-4F8C-47A7-8A3B-BFE343F700A2" id="BPMNEdge_sid-6B313E7B-4F8C-47A7-8A3B-BFE343F700A2">
+        <omgdi:waypoint x="645.0" y="295.0"></omgdi:waypoint>
+        <omgdi:waypoint x="580.0" y="295.0"></omgdi:waypoint>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-842910A7-33C0-4DC1-B663-84C688761DA7" id="BPMNEdge_sid-842910A7-33C0-4DC1-B663-84C688761DA7">
+        <omgdi:waypoint x="75.0" y="135.0"></omgdi:waypoint>
+        <omgdi:waypoint x="135.0" y="135.0"></omgdi:waypoint>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-751C74A7-6447-45F4-9161-19A3B05EA484" id="BPMNEdge_sid-751C74A7-6447-45F4-9161-19A3B05EA484">
+        <omgdi:waypoint x="409.0" y="135.0"></omgdi:waypoint>
+        <omgdi:waypoint x="480.0" y="135.0"></omgdi:waypoint>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-AF594B24-4F5B-4169-BD67-1C3C2AFD7714" id="BPMNEdge_sid-AF594B24-4F5B-4169-BD67-1C3C2AFD7714">
+        <omgdi:waypoint x="825.0" y="295.0"></omgdi:waypoint>
+        <omgdi:waypoint x="745.0" y="295.0"></omgdi:waypoint>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-2E2450DC-395A-40A2-889A-66B86FC52FF4" id="BPMNEdge_sid-2E2450DC-395A-40A2-889A-66B86FC52FF4">
+        <omgdi:waypoint x="745.0" y="135.0"></omgdi:waypoint>
+        <omgdi:waypoint x="825.0" y="135.0"></omgdi:waypoint>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-42E794AB-A831-42E1-B9C0-D719096AC5AB" id="BPMNEdge_sid-42E794AB-A831-42E1-B9C0-D719096AC5AB">
+        <omgdi:waypoint x="235.0" y="135.0"></omgdi:waypoint>
+        <omgdi:waypoint x="309.0" y="135.0"></omgdi:waypoint>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-53E8341C-35AA-49D4-B9A0-274545608FE6" id="BPMNEdge_sid-53E8341C-35AA-49D4-B9A0-274545608FE6">
+        <omgdi:waypoint x="480.0" y="295.0"></omgdi:waypoint>
+        <omgdi:waypoint x="400.0" y="295.0"></omgdi:waypoint>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-64940E6C-B163-45FB-AA86-FDF5F3A306B6" id="BPMNEdge_sid-64940E6C-B163-45FB-AA86-FDF5F3A306B6">
+        <omgdi:waypoint x="875.0" y="175.0"></omgdi:waypoint>
+        <omgdi:waypoint x="875.0" y="255.0"></omgdi:waypoint>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-E19E2941-6B2A-4114-B292-5D789BA0959A" id="BPMNEdge_sid-E19E2941-6B2A-4114-B292-5D789BA0959A">
+        <omgdi:waypoint x="300.0" y="295.0"></omgdi:waypoint>
+        <omgdi:waypoint x="223.0" y="295.0"></omgdi:waypoint>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-EFB486FB-44ED-4DBD-8B2A-0D0D38D6DE04" id="BPMNEdge_sid-EFB486FB-44ED-4DBD-8B2A-0D0D38D6DE04">
+        <omgdi:waypoint x="580.0" y="135.0"></omgdi:waypoint>
+        <omgdi:waypoint x="645.0" y="135.0"></omgdi:waypoint>
+      </bpmndi:BPMNEdge>
+    </bpmndi:BPMNPlane>
+  </bpmndi:BPMNDiagram>
+</definitions>

+ 1 - 1
src/main/resources/processes_cellsop/cellsop_task_audit.bpmn20.xml

@@ -64,4 +64,4 @@
       </bpmndi:BPMNEdge>
     </bpmndi:BPMNPlane>
   </bpmndi:BPMNDiagram>
-</definitions>
+</definitions>