Przeglądaj źródła

Merge branch 'master' of github.com:/hs-web/hsweb-framework

zhouhao 7 lat temu
rodzic
commit
4371909d67
10 zmienionych plików z 78 dodań i 390 usunięć
  1. 31 4
      hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/main/java/org/hswebframework/web/workflow/flowable/controller/FlowableCoreController.java
  2. 1 0
      hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/main/java/org/hswebframework/web/workflow/flowable/controller/FlowableUtilsController.java
  3. 0 126
      hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/main/java/org/hswebframework/web/workflow/flowable/entity/TaskInfo.java
  4. 2 4
      hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/main/java/org/hswebframework/web/workflow/flowable/service/BpmTaskService.java
  5. 11 6
      hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/main/java/org/hswebframework/web/workflow/flowable/service/imp/BpmProcessServiceImp.java
  6. 22 24
      hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/main/java/org/hswebframework/web/workflow/flowable/service/imp/BpmTaskServiceImp.java
  7. 10 105
      hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/test/java/org/hswebframework/web/workflow/flowable/ControllerTest.java
  8. 0 45
      hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/test/java/org/hswebframework/web/workflow/flowable/test/ServiceTest.java
  9. 1 0
      hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/test/resources/application.yml
  10. 0 76
      hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/test/resources/processes/SimpleProcess.bpmn20.xml

+ 31 - 4
hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/main/java/org/hswebframework/web/workflow/flowable/controller/FlowableCoreController.java

@@ -2,7 +2,9 @@ package org.hswebframework.web.workflow.flowable.controller;
 
 
 import org.activiti.engine.impl.pvm.process.ActivityImpl;
 import org.activiti.engine.impl.pvm.process.ActivityImpl;
 import org.activiti.engine.repository.ProcessDefinition;
 import org.activiti.engine.repository.ProcessDefinition;
+import org.activiti.engine.task.Task;
 import org.hswebframework.web.commons.entity.PagerResult;
 import org.hswebframework.web.commons.entity.PagerResult;
+import org.hswebframework.web.commons.entity.param.UpdateParamEntity;
 import org.hswebframework.web.controller.message.ResponseMessage;
 import org.hswebframework.web.controller.message.ResponseMessage;
 import org.hswebframework.web.entity.workflow.ActDefEntity;
 import org.hswebframework.web.entity.workflow.ActDefEntity;
 import org.hswebframework.web.service.form.DynamicFormOperationService;
 import org.hswebframework.web.service.form.DynamicFormOperationService;
@@ -69,14 +71,39 @@ public class FlowableCoreController {
     /**
     /**
      * 保存表单,启动流程
      * 保存表单,启动流程
      * @param formId
      * @param formId
-     * @param defKey
+     * @param defId
      * @param data
      * @param data
      * @return
      * @return
      */
      */
-    @PostMapping("start/{formId}-{defKey}")
-    public ResponseMessage<Map<String, Object>> startProc(@PathVariable String formId,@PathVariable String defKey, @RequestBody Map<String, Object> data) {
+    @PostMapping("start/{formId}-{defId}")
+    public ResponseMessage<Map<String, Object>> startProc(@PathVariable String formId,@PathVariable String defId, @RequestBody Map<String, Object> data) {
         dynamicFormOperationService.insert(formId, data);
         dynamicFormOperationService.insert(formId, data);
-        bpmProcessService.startProcessInstance("admin",defKey,null,null,formId,null);
+        ProcessDefinition processDefinition = bpmProcessService.getProcessDefinitionById(defId);
+        bpmProcessService.startProcessInstance("4291d7da9005377ec9aec4a71ea837f",processDefinition.getKey(),null,null,formId,null);
         return ResponseMessage.ok(data);
         return ResponseMessage.ok(data);
     }
     }
+
+    /**
+     * 获取待办任务
+     * @return
+     */
+    @GetMapping("tasks")
+    public ResponseMessage<List<Task>> getMyTasks() {
+        String userId = "e5141bc62f1837c41a4ac40c0e253595";
+        List<Task> tasks = bpmTaskService.claimList(userId);
+        return ResponseMessage.ok(tasks).include(Task.class, "id", "name", "createTime", "executionId"
+                , "parentTaskId", "processInstanceId", "processDefinitionId", "taskDefinitionKey")
+                .exclude(Task.class, "definition", "mainFormData");
+    }
+
+    @PutMapping("complete/{formId}-{taskId}")
+    public ResponseMessage<Map<String,Object>> complete(@PathVariable String formId,@PathVariable String taskId, @RequestBody UpdateParamEntity<Map<String, Object>> paramEntity){
+        dynamicFormOperationService.update(formId,paramEntity);
+        // 认领
+        String userId = "e5141bc62f1837c41a4ac40c0e253595";
+        bpmTaskService.claim(taskId,userId);
+        // 办理
+        bpmTaskService.complete(taskId, userId, null, null);
+        return ResponseMessage.ok();
+    }
 }
 }

+ 1 - 0
hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/main/java/org/hswebframework/web/workflow/flowable/controller/FlowableUtilsController.java

@@ -72,6 +72,7 @@ public class FlowableUtilsController {
                 actDefEntity.setActId(map.get("act_id").toString());
                 actDefEntity.setActId(map.get("act_id").toString());
                 actDefEntity.setFormId(map.get("form_id").toString());
                 actDefEntity.setFormId(map.get("form_id").toString());
                 actDefEntity.setDefId(map.get("def_id").toString());
                 actDefEntity.setDefId(map.get("def_id").toString());
+                actDefEntity.setType(map.get("type").toString());
                 actDefService.saveOrUpdate(actDefEntity);
                 actDefService.saveOrUpdate(actDefEntity);
             }
             }
             return ResponseMessage.ok("保存成功");
             return ResponseMessage.ok("保存成功");

+ 0 - 126
hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/main/java/org/hswebframework/web/workflow/flowable/entity/TaskInfo.java

@@ -1,126 +0,0 @@
-package org.hswebframework.web.workflow.flowable.entity;
-
-import org.activiti.engine.repository.ProcessDefinition;
-import org.activiti.engine.task.Task;
-import org.hswebframework.web.commons.entity.SimpleGenericEntity;
-
-import java.util.Date;
-import java.util.Map;
-
-/**
- * @Author wangwei
- * @Date 2017/8/4.
- */
-public class TaskInfo extends SimpleGenericEntity<String> {
-
-    public static final String TYPE_TODO = "todo";
-
-    public static final String TYPE_CLAIM = "claim";
-
-    private String name;
-
-    private Date createDate;
-
-    private ProcessDefinition definition;
-
-    private String formId;
-
-    private String dataId;
-
-    private Object mainFormData;
-
-    private String parentId;
-
-    private String processInstanceId;
-
-    private String type;
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    public Date getCreateDate() {
-        return createDate;
-    }
-
-    public void setCreateDate(Date createDate) {
-        this.createDate = createDate;
-    }
-
-    public ProcessDefinition getDefinition() {
-        return definition;
-    }
-
-    public void setDefinition(ProcessDefinition definition) {
-        this.definition = definition;
-    }
-
-    public String getParentId() {
-        return parentId;
-    }
-
-    public void setParentId(String parentId) {
-        this.parentId = parentId;
-    }
-
-    public String getType() {
-        return type;
-    }
-
-    public void setType(String type) {
-        this.type = type;
-    }
-
-    public String getProcessInstanceId() {
-        return processInstanceId;
-    }
-
-    public void setProcessInstanceId(String processInstanceId) {
-        this.processInstanceId = processInstanceId;
-    }
-
-    public TaskInfo initFromProtoType(Task task) {
-        this.setId(task.getId());
-        this.setName(task.getName());
-        this.setCreateDate(task.getCreateTime());
-        this.setProcessInstanceId(task.getProcessInstanceId());
-        this.setParentId(task.getParentTaskId());
-        Map<String, Object> var = task.getProcessVariables();
-        this.setFormId((String) var.get("mainFormId"));
-        this.setDataId((String) var.get("mainFormDataId"));
-        return this;
-    }
-
-
-    public static TaskInfo buildFromProtoType(Task task) {
-        return new TaskInfo().initFromProtoType(task);
-    }
-
-    public String getFormId() {
-        return formId;
-    }
-
-    public void setFormId(String formId) {
-        this.formId = formId;
-    }
-
-    public String getDataId() {
-        return dataId;
-    }
-
-    public void setDataId(String dataId) {
-        this.dataId = dataId;
-    }
-
-    public Object getMainFormData() {
-        return mainFormData;
-    }
-
-    public void setMainFormData(Object mainFormData) {
-        this.mainFormData = mainFormData;
-    }
-}

+ 2 - 4
hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/main/java/org/hswebframework/web/workflow/flowable/service/BpmTaskService.java

@@ -2,9 +2,7 @@ package org.hswebframework.web.workflow.flowable.service;
 
 
 import org.activiti.engine.history.HistoricProcessInstance;
 import org.activiti.engine.history.HistoricProcessInstance;
 import org.activiti.engine.impl.pvm.process.ActivityImpl;
 import org.activiti.engine.impl.pvm.process.ActivityImpl;
-import org.activiti.engine.impl.task.TaskDefinition;
 import org.activiti.engine.task.Task;
 import org.activiti.engine.task.Task;
-import org.hswebframework.web.workflow.flowable.entity.TaskInfo;
 
 
 import java.util.Collection;
 import java.util.Collection;
 import java.util.List;
 import java.util.List;
@@ -68,7 +66,7 @@ public interface BpmTaskService{
      * @return 任务信息
      * @return 任务信息
      * @throws Exception
      * @throws Exception
      */
      */
-    List<TaskInfo> claimList(String userId);
+    List<Task> claimList(String userId);
 
 
     /**
     /**
      * 已签收待办理的任务
      * 已签收待办理的任务
@@ -77,7 +75,7 @@ public interface BpmTaskService{
      * @return 任务信息
      * @return 任务信息
      * @throws Exception
      * @throws Exception
      */
      */
-    List<TaskInfo> todoList(String userId);
+    List<Task> todoList(String userId);
 
 
     /**
     /**
      * 完成任务(环节)并指定下一环节办理人
      * 完成任务(环节)并指定下一环节办理人

+ 11 - 6
hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/main/java/org/hswebframework/web/workflow/flowable/service/imp/BpmProcessServiceImp.java

@@ -59,13 +59,18 @@ public class BpmProcessServiceImp extends FlowableAbstract implements BpmProcess
             //如果指定了下一步执行环节,则将流程跳转到指定环节,并删除当前未执行的环节历史信息
             //如果指定了下一步执行环节,则将流程跳转到指定环节,并删除当前未执行的环节历史信息
             if(!StringUtils.isNullOrEmpty(activity)){
             if(!StringUtils.isNullOrEmpty(activity)){
                 bpmTaskService.jumpTask(processInstanceId,activity,StringUtils.isNullOrEmpty(nextClaim)?"":nextClaim);
                 bpmTaskService.jumpTask(processInstanceId,activity,StringUtils.isNullOrEmpty(nextClaim)?"":nextClaim);
-                bpmTaskService.removeHiTask(tasks.get(0).getId());
+                for(Task task:tasks){
+                    bpmTaskService.removeHiTask(task.getId());
+                }
+            }else{
+                // 设置待办人(单环节并且设定办理人可直接签收)
+                if(tasks.size()==1 && !StringUtils.isNullOrEmpty(nextClaim)) bpmTaskService.claim(tasks.get(0).getId(), nextClaim);
+                else {
+                    for(Task task:tasks){
+                        bpmTaskService.addCandidateUser(task.getId(), task.getTaskDefinitionKey(), creatorId);
+                    }
+                }
             }
             }
-//            else{
-//                //流程签收,签收人为指定办理人
-//                if(!StringUtils.isNullOrEmpty(nextClaim))
-//                    bpmTaskService.claim(task.getId(), nextClaim);
-//            }
 
 
             if (logger.isDebugEnabled())
             if (logger.isDebugEnabled())
                 logger.debug("start process of {key={}, bkey={}, pid={}, variables={}}", procDefKey, businessKey, processInstanceId, variables);
                 logger.debug("start process of {key={}, bkey={}, pid={}, variables={}}", procDefKey, businessKey, processInstanceId, variables);

+ 22 - 24
hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/main/java/org/hswebframework/web/workflow/flowable/service/imp/BpmTaskServiceImp.java

@@ -15,14 +15,11 @@ import org.activiti.engine.runtime.ProcessInstance;
 import org.activiti.engine.task.Task;
 import org.activiti.engine.task.Task;
 import org.hswebframework.utils.StringUtils;
 import org.hswebframework.utils.StringUtils;
 import org.hswebframework.web.NotFoundException;
 import org.hswebframework.web.NotFoundException;
-import org.hswebframework.web.entity.organizational.RelationDefineEntity;
 import org.hswebframework.web.entity.workflow.ActDefEntity;
 import org.hswebframework.web.entity.workflow.ActDefEntity;
 import org.hswebframework.web.organizational.authorization.relation.Relation;
 import org.hswebframework.web.organizational.authorization.relation.Relation;
-import org.hswebframework.web.organizational.authorization.relation.Relations;
 import org.hswebframework.web.service.organizational.RelationDefineService;
 import org.hswebframework.web.service.organizational.RelationDefineService;
 import org.hswebframework.web.service.organizational.RelationInfoService;
 import org.hswebframework.web.service.organizational.RelationInfoService;
 import org.hswebframework.web.service.workflow.ActDefService;
 import org.hswebframework.web.service.workflow.ActDefService;
-import org.hswebframework.web.workflow.flowable.entity.TaskInfo;
 import org.hswebframework.web.workflow.flowable.service.BpmActivityService;
 import org.hswebframework.web.workflow.flowable.service.BpmActivityService;
 import org.hswebframework.web.workflow.flowable.service.BpmTaskService;
 import org.hswebframework.web.workflow.flowable.service.BpmTaskService;
 import org.hswebframework.web.workflow.flowable.utils.FlowableAbstract;
 import org.hswebframework.web.workflow.flowable.utils.FlowableAbstract;
@@ -59,17 +56,17 @@ public class BpmTaskServiceImp extends FlowableAbstract implements BpmTaskServic
 
 
     @Override
     @Override
     public List<Task> selectNowTask(String procInstId) {
     public List<Task> selectNowTask(String procInstId) {
-        return taskService.createTaskQuery().processInstanceId(procInstId).list();
+        return taskService.createTaskQuery().processInstanceId(procInstId).active().list();
     }
     }
 
 
     @Override
     @Override
     public List<Task> selectTaskByProcessId(String procInstId) {
     public List<Task> selectTaskByProcessId(String procInstId) {
-        return taskService.createTaskQuery().processInstanceId(procInstId).list();
+        return taskService.createTaskQuery().processInstanceId(procInstId).active().list();
     }
     }
 
 
     @Override
     @Override
     public Task selectTaskByTaskId(String taskId) {
     public Task selectTaskByTaskId(String taskId) {
-        return taskService.createTaskQuery().taskId(taskId).singleResult();
+        return taskService.createTaskQuery().taskId(taskId).active().singleResult();
     }
     }
 
 
     @Override
     @Override
@@ -107,7 +104,7 @@ public class BpmTaskServiceImp extends FlowableAbstract implements BpmTaskServic
 
 
     @Override
     @Override
     public void claim(String taskId, String userId) {
     public void claim(String taskId, String userId) {
-        Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
+        Task task = taskService.createTaskQuery().taskId(taskId).taskCandidateUser(userId).active().singleResult();
         if (task == null) {
         if (task == null) {
             logger.warn("获取任务失败!");
             logger.warn("获取任务失败!");
             throw new NotFoundException("task not found");
             throw new NotFoundException("task not found");
@@ -120,38 +117,36 @@ public class BpmTaskServiceImp extends FlowableAbstract implements BpmTaskServic
 
 
 
 
     @Override
     @Override
-    public List<TaskInfo> claimList(String userId) {
-        List<TaskInfo> list = new ArrayList<>();
+    public List<Task> claimList(String userId) {
         // 等待签收的任务
         // 等待签收的任务
-        List<Task> todoList = taskService.createTaskQuery()
+        List<Task> claimList = taskService.createTaskQuery()
                 .taskCandidateUser(userId)
                 .taskCandidateUser(userId)
                 .includeProcessVariables()
                 .includeProcessVariables()
                 .active()
                 .active()
                 .list();
                 .list();
-        return list;
+        return claimList;
     }
     }
 
 
     @Override
     @Override
-    public List<TaskInfo> todoList(String userId) {
-        List<TaskInfo> list = new ArrayList<>();
+    public List<Task> todoList(String userId) {
         // 已经签收的任务
         // 已经签收的任务
         List<Task> todoList = taskService.createTaskQuery()
         List<Task> todoList = taskService.createTaskQuery()
                 .taskAssignee(userId)
                 .taskAssignee(userId)
                 .includeProcessVariables()
                 .includeProcessVariables()
                 .active()
                 .active()
                 .list();
                 .list();
-        return list;
+        return todoList;
     }
     }
 
 
     @Override
     @Override
     public void complete(String taskId, String userId, String activityId, String nextClaim) {
     public void complete(String taskId, String userId, String activityId, String nextClaim) {
-        Task task = taskService.createTaskQuery().taskId(taskId).includeProcessVariables().singleResult();
-        if (task == null) {
+        Task task = taskService.createTaskQuery().taskId(taskId).includeProcessVariables().active().singleResult();
+        if (StringUtils.isNullOrEmpty(task)) {
             logger.warn("任务不存在!");
             logger.warn("任务不存在!");
             throw new NotFoundException("task not found");
             throw new NotFoundException("task not found");
         }
         }
         String assignee = task.getAssignee();
         String assignee = task.getAssignee();
-        if (null == assignee) {
+        if (StringUtils.isNullOrEmpty(assignee)) {
             logger.warn("请先签收任务!");
             logger.warn("请先签收任务!");
             throw new NotFoundException("Please sign for the task first");
             throw new NotFoundException("Please sign for the task first");
         }
         }
@@ -162,19 +157,22 @@ public class BpmTaskServiceImp extends FlowableAbstract implements BpmTaskServic
         Map<String, Object> map = new HashMap<>();
         Map<String, Object> map = new HashMap<>();
         map.put("oldTaskId", task.getId());
         map.put("oldTaskId", task.getId());
         //完成此任务
         //完成此任务
-        if (activityId == null) {
+        if (StringUtils.isNullOrEmpty(activityId)) {
             taskService.complete(taskId, map);
             taskService.complete(taskId, map);
         } else {
         } else {
             jumpTask(taskId, activityId, nextClaim);
             jumpTask(taskId, activityId, nextClaim);
         }
         }
-
         //根据流程ID查找执行计划,存在则进行下一步,没有则结束(定制化流程预留)
         //根据流程ID查找执行计划,存在则进行下一步,没有则结束(定制化流程预留)
         List<Execution> execution = runtimeService.createExecutionQuery().processInstanceId(task.getProcessInstanceId()).list();
         List<Execution> execution = runtimeService.createExecutionQuery().processInstanceId(task.getProcessInstanceId()).list();
         if (execution.size() > 0) {
         if (execution.size() > 0) {
-            String tasknow = selectNowTaskId(task.getProcessInstanceId());
+            List<Task> tasks = selectNowTask(task.getProcessInstanceId());
             // 自定义下一执行人
             // 自定义下一执行人
-            if (!StringUtils.isNullOrEmpty(nextClaim))
-                claim(tasknow, nextClaim);
+            if (tasks.size()==0 && !StringUtils.isNullOrEmpty(nextClaim)) claim(tasks.get(0).getId(), nextClaim);
+            else {
+                for(Task t:tasks){
+                    addCandidateUser(t.getId(), t.getTaskDefinitionKey(), userId);
+                }
+            }
         }
         }
     }
     }
 
 
@@ -268,8 +266,8 @@ public class BpmTaskServiceImp extends FlowableAbstract implements BpmTaskServic
 //            RelationDefineEntity relationDefineEntity = relationDefineService.selectByPk(actDefEntity.getDefId());
 //            RelationDefineEntity relationDefineEntity = relationDefineService.selectByPk(actDefEntity.getDefId());
             // 获取人员信息
             // 获取人员信息
             List<Relation> relations = relationInfoService
             List<Relation> relations = relationInfoService
-                    .getRelations("person",userId)
-                    .findRev(actDefEntity.getDefId());
+                    .getRelations(actDefEntity.getType(),userId)
+                    .findPos(actDefEntity.getDefId());
             // 设置待办人
             // 设置待办人
             for(Relation relation : relations){
             for(Relation relation : relations){
                 taskService.addCandidateUser(taskId,relation.getTarget());
                 taskService.addCandidateUser(taskId,relation.getTarget());

+ 10 - 105
hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/test/java/org/hswebframework/web/workflow/flowable/ControllerTest.java

@@ -1,130 +1,35 @@
 package org.hswebframework.web.workflow.flowable;
 package org.hswebframework.web.workflow.flowable;
 
 
-import com.alibaba.fastjson.JSON;
-import org.activiti.engine.*;
-import org.activiti.engine.impl.RepositoryServiceImpl;
+
+import com.alibaba.fastjson.JSONObject;
 import org.activiti.engine.impl.interceptor.SessionFactory;
 import org.activiti.engine.impl.interceptor.SessionFactory;
-import org.activiti.engine.impl.persistence.entity.ProcessDefinitionEntity;
-import org.activiti.engine.impl.pvm.PvmTransition;
-import org.activiti.engine.impl.pvm.process.ActivityImpl;
-import org.activiti.engine.impl.pvm.process.ProcessDefinitionImpl;
-import org.activiti.engine.impl.task.TaskDefinition;
-import org.activiti.engine.repository.ProcessDefinition;
-import org.activiti.engine.runtime.ProcessInstance;
-import org.activiti.engine.task.Task;
 import org.activiti.spring.boot.ProcessEngineConfigurationConfigurer;
 import org.activiti.spring.boot.ProcessEngineConfigurationConfigurer;
 import org.hswebframework.web.tests.SimpleWebApplicationTests;
 import org.hswebframework.web.tests.SimpleWebApplicationTests;
-import org.hswebframework.web.workflow.flowable.service.BpmActivityService;
-import org.hswebframework.web.workflow.flowable.service.BpmProcessService;
-import org.hswebframework.web.workflow.flowable.service.BpmTaskService;
-import org.hswebframework.web.workflow.flowable.service.imp.BpmActivityServiceImp;
-import org.hswebframework.web.workflow.flowable.utils.FlowableAbstract;
 import org.junit.Assert;
 import org.junit.Assert;
 import org.junit.Test;
 import org.junit.Test;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.context.annotation.Configuration;
 
 
-import javax.annotation.Resource;
-import java.util.HashMap;
 import java.util.List;
 import java.util.List;
-import java.util.Map;
 
 
 /**
 /**
+ * TODO 完善rest测试
  * @Author wangwei
  * @Author wangwei
  * @Date 2017/8/1.
  * @Date 2017/8/1.
  */
  */
 public class ControllerTest extends SimpleWebApplicationTests {
 public class ControllerTest extends SimpleWebApplicationTests {
 
 
-    @Autowired
-    BpmActivityService bpmActivityService;
-    @Autowired
-    BpmProcessService  bpmProcessService;
-    @Autowired
-    BpmTaskService     bpmTaskService;
-
-    public ProcessInstance start() throws Exception {
-        Map<String, Object> map = new HashMap<>();
-        map.put("username", "admin");
-        map.put("leader", "zhangsan");
-        map.put("team", "lisi");
-        map.put("people", "wangwu");
-        return bpmProcessService.startProcessInstance("1", "testid", null, null, "流程名", map);
-    }
-
-    // 流程图元数据test
-//    @Test
-//    public void activityImplTest() {
-//        ActivityImpl activity = bpmTaskService.selectActivityImplByTask("");
-//        ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionKey("testid").latestVersion().active().singleResult();
-//        Map<String, List<String>> map = bpmActivityService.getNextClaim(processDefinition.getId(), activity.getId());
-//        System.out.println("=========>>>");
-//        System.out.println(JSON.toJSONString(map));
-//        System.out.println("=========>>>");
-//    }
-
-    // 流程流转test
     @Test
     @Test
-    public void processInstanceTest() throws Exception {
-        ProcessInstance processInstance = null;
-//        try {
-            processInstance = start();
-            Assert.assertNotNull(processInstance);
-            System.out.println("流程已启动:" + processInstance.toString());
-            int i = bpmProcessService.getProcessInstances(0, 10, processInstance.getProcessDefinitionKey()).size();
-            Assert.assertEquals(i, 1);
-            System.out.println("当前活动流程数:" + i);
-            System.out.println("当前流程节点ID_" + processInstance.getActivityId());
-//        } catch (Exception e) {
-//            System.out.println("启动流程失败" + e);
-//        }
-        System.out.println("=========>>>");
-        List<Task> tasks = bpmTaskService.selectTaskByProcessId(processInstance.getId());
-        Assert.assertNotNull(tasks);
-        System.out.println("当前环节:" + tasks.get(0).getName() + "__办理人:" + tasks.get(0).getAssignee());
-        System.out.println("=========>>>");
-        ActivityImpl activity = bpmActivityService.getActivityByProcInstId(processInstance.getProcessDefinitionId(), processInstance.getId());
-        System.out.println("当前流程图元");
-        System.out.println(activity);
-        System.out.println("=========>>>");
-        System.out.println("=========流程流转下一步,下一步为并行网关。>>>");
-        for (Task task : tasks) {
-            bpmTaskService.complete(task.getId(), "zhangsan", null, null);
-        }
-        tasks = bpmTaskService.selectTaskByProcessId(processInstance.getId());
-        Assert.assertNotNull(tasks);
-        for (Task task : tasks) {
-            System.out.println("当前环节:" + task.getName() + "__id:" + task.getId() + "__办理人:" + task.getAssignee());
-
-            activity = bpmTaskService.selectActivityImplByTask(task.getId());
-            System.out.println("当前节点图元id:" + activity.getId());
-            System.out.println(activity);
-            System.out.println("=========>>>");
-            Map<String, List<String>> map = bpmActivityService.getNextClaim(task.getProcessDefinitionId(), activity.getId());
-            System.out.println("下一步执行json:" + JSON.toJSONString(map));
-        }
-        System.out.println("=========>>>");
-        activity = bpmActivityService.getActivityByProcInstId(processInstance.getProcessDefinitionId(), processInstance.getId());
-        System.out.println("当前流程图元");
-        System.out.println(activity);
-        System.out.println("=========>>>");
-
+    public void testRest() throws Exception {
+        //todo 获取所有可办理流程
+        JSONObject result = testGet("/workflow/proc-def/index").exec().resultAsJson();
+        result = result.getJSONObject("result");
+        Assert.assertNotNull(result);
+        Assert.assertEquals(200, result.get("status"));
+        System.out.println(result);
     }
     }
 
 
-//    @Autowired
-//    RepositoryService repositoryService;
-//
-//    @Test
-//    public void task() {
-//        ActivityImpl activity = bpmTaskService.selectActivityImplByTask("");
-//        ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionKey("testid").orderByProcessDefinitionVersion().desc().singleResult();
-//        Map<String, List<String>> map = bpmActivityService.getNextClaim(processDefinition.getId(), activity.getId());
-//        System.out.println("=========>>>");
-//        System.out.println(JSON.toJSONString(map));
-//        System.out.println("=========>>>");
-//    }
 
 
     @Configuration
     @Configuration
     public static class config {
     public static class config {

+ 0 - 45
hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/test/java/org/hswebframework/web/workflow/flowable/test/ServiceTest.java

@@ -1,45 +0,0 @@
-package org.hswebframework.web.workflow.flowable.test;
-
-import com.alibaba.fastjson.JSON;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-/**
- * Created by zhouhao on 2017/7/20.
- */
-public class ServiceTest {
-    public static void main(String[] args) {
-        p();
-    }
-
-    public static void p(){
-        String s = "[{\"name\":\"a\",\"key\":\"1\"},{\"name\":\"b\",\"key\":\"2\"},{\"name\":\"c\",\"key\":\"3\"}]";
-        List<Map> list = JSON.parseArray(s,Map.class);
-        System.out.println(list);
-    }
-
-    public static void s(){
-        Map<String, String> map1 = new HashMap<>();
-        Map<String, String> map2 = new HashMap<>();
-        Map<String, String> map3 = new HashMap<>();
-
-        map1.put("key","1");
-        map1.put("name","a");
-        map2.put("key","2");
-        map2.put("name","b");
-        map3.put("key","3");
-        map3.put("name","c");
-
-        List<Map<String,String>> list = new ArrayList<>();
-
-        list.add(map1);
-        list.add(map2);
-        list.add(map3);
-
-        System.out.println(JSON.toJSONString(list));
-    }
-
-}

+ 1 - 0
hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/test/resources/application.yml

@@ -13,6 +13,7 @@ spring:
 logging:
 logging:
   level:
   level:
       org.flowable: debug
       org.flowable: debug
+      org.hswebframework.web: debug
 #      org.activiti: debug
 #      org.activiti: debug
 mybatis:
 mybatis:
   dynamic-datasource: false
   dynamic-datasource: false

Plik diff jest za duży
+ 0 - 76
hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/test/resources/processes/SimpleProcess.bpmn20.xml