From c80e684eebe11ae26d1cea697b45340680443010 Mon Sep 17 00:00:00 2001 From: wangwei Date: Wed, 16 Aug 2017 10:29:00 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E5=8D=95=E5=85=83=E6=B5=8B?= =?UTF-8?q?=E8=AF=95=EF=BC=8C=E6=B5=81=E7=A8=8B=E6=B5=81=E8=BD=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/test/resources/application.yml | 4 ++-- .../flowable/service/BpmTaskService.java | 10 ++++++++++ .../service/imp/BpmTaskServiceImp.java | 19 +++++++++++++++++++ .../web/workflow/flowable/ControllerTest.java | 7 +++++++ .../workflow/flowable/test/ServiceTest.java | 18 ++++++++++++++++++ .../src/test/resources/application.yml | 3 ++- 6 files changed, 58 insertions(+), 3 deletions(-) diff --git a/hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable-modeler/src/test/resources/application.yml b/hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable-modeler/src/test/resources/application.yml index 1c25d9f26..bf51b5dc3 100644 --- a/hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable-modeler/src/test/resources/application.yml +++ b/hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable-modeler/src/test/resources/application.yml @@ -3,7 +3,7 @@ spring: auto: true proxy-target-class: true datasource: - url : jdbc:h2:mem:example + url: jdbc:h2:file:F:\working\hsweb-framework\hsweb-system\hsweb-system-workflow\hsweb-system-workflow-flowable\src\main\resources\db\act username : sa password : type: com.alibaba.druid.pool.DruidDataSource @@ -14,6 +14,6 @@ spring: logging: level: org.flowable: debug - org.activiti: debug +# org.activiti: debug mybatis: dynamic-datasource: false \ No newline at end of file diff --git a/hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/main/java/org/hswebframework/web/workflow/flowable/service/BpmTaskService.java b/hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/main/java/org/hswebframework/web/workflow/flowable/service/BpmTaskService.java index 0e2953470..ba47adf26 100644 --- a/hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/main/java/org/hswebframework/web/workflow/flowable/service/BpmTaskService.java +++ b/hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/main/java/org/hswebframework/web/workflow/flowable/service/BpmTaskService.java @@ -1,6 +1,8 @@ package org.hswebframework.web.workflow.flowable.service; import org.activiti.engine.history.HistoricProcessInstance; +import org.activiti.engine.impl.pvm.process.ActivityImpl; +import org.activiti.engine.impl.task.TaskDefinition; import org.activiti.engine.task.Task; import org.hswebframework.web.workflow.flowable.entity.TaskInfo; @@ -27,6 +29,13 @@ public interface BpmTaskService{ HistoricProcessInstance selectHisProInst(String procInstId); + /** + * 根据taskId获取流程图对应的图元 + * @param taskId + * @return + */ + ActivityImpl selectActivityImplByTask(String taskId); + /** * 领取(签收)任务 * @@ -81,6 +90,7 @@ public interface BpmTaskService{ * @param userId 用户ID */ void setAssignee(String taskId, String userId); + /** * 结束流程 * @param procInstId 流程实例ID diff --git a/hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/main/java/org/hswebframework/web/workflow/flowable/service/imp/BpmTaskServiceImp.java b/hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/main/java/org/hswebframework/web/workflow/flowable/service/imp/BpmTaskServiceImp.java index 7e0b59330..b199704d8 100644 --- a/hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/main/java/org/hswebframework/web/workflow/flowable/service/imp/BpmTaskServiceImp.java +++ b/hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/main/java/org/hswebframework/web/workflow/flowable/service/imp/BpmTaskServiceImp.java @@ -1,8 +1,13 @@ package org.hswebframework.web.workflow.flowable.service.imp; import org.activiti.engine.history.HistoricProcessInstance; +import org.activiti.engine.impl.RepositoryServiceImpl; import org.activiti.engine.impl.TaskServiceImpl; +import org.activiti.engine.impl.persistence.entity.ExecutionEntity; +import org.activiti.engine.impl.persistence.entity.ProcessDefinitionEntity; import org.activiti.engine.impl.pvm.process.ActivityImpl; +import org.activiti.engine.impl.task.TaskDefinition; +import org.activiti.engine.repository.ProcessDefinition; import org.activiti.engine.runtime.Execution; import org.activiti.engine.runtime.ProcessInstance; import org.activiti.engine.task.Task; @@ -175,6 +180,20 @@ public class BpmTaskServiceImp extends FlowableAbstract implements BpmTaskServic return historyService.createHistoricProcessInstanceQuery().processInstanceId(procInstId).singleResult(); } + @Override + public ActivityImpl selectActivityImplByTask(String taskId) { + Task task = taskService.createTaskQuery().taskId(taskId).singleResult(); + ProcessDefinitionEntity entity = (ProcessDefinitionEntity) ((RepositoryServiceImpl) repositoryService).getDeployedProcessDefinition(task.getProcessDefinitionId()); + List activities = entity.getActivities(); + ActivityImpl activity = null; + for(ActivityImpl activity1 : activities){ + if(activity1.getProperty("name").equals(task.getName())){ + activity = activity1; + } + } + return activity; + } + @Override public Map getUserTasksByProcDefKey(String procDefKey){ String definitionId = repositoryService.createProcessDefinitionQuery().processDefinitionKey(procDefKey).orderByProcessDefinitionVersion().desc().list().get(0).getId(); diff --git a/hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/test/java/org/hswebframework/web/workflow/flowable/ControllerTest.java b/hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/test/java/org/hswebframework/web/workflow/flowable/ControllerTest.java index cf147f3cc..2cecdf840 100644 --- a/hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/test/java/org/hswebframework/web/workflow/flowable/ControllerTest.java +++ b/hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/test/java/org/hswebframework/web/workflow/flowable/ControllerTest.java @@ -106,6 +106,13 @@ public class ControllerTest extends SimpleWebApplicationTests { System.out.println("当前流程图元"); System.out.println(activity); System.out.println("=========>>>"); + + } + + @Test + public void task(){ + List task = bpmTaskService.selectTaskByProcessId("5"); + System.out.println(task); } @Configuration diff --git a/hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/test/java/org/hswebframework/web/workflow/flowable/test/ServiceTest.java b/hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/test/java/org/hswebframework/web/workflow/flowable/test/ServiceTest.java index 5c277a780..5851c5f7a 100644 --- a/hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/test/java/org/hswebframework/web/workflow/flowable/test/ServiceTest.java +++ b/hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/test/java/org/hswebframework/web/workflow/flowable/test/ServiceTest.java @@ -1,12 +1,19 @@ package org.hswebframework.web.workflow.flowable.test; +import org.activiti.engine.history.HistoricTaskInstance; +import org.activiti.engine.impl.pvm.process.ActivityImpl; import org.activiti.engine.repository.ProcessDefinition; +import org.activiti.engine.task.Task; +import org.hswebframework.web.workflow.flowable.service.BpmActivityService; import org.hswebframework.web.workflow.flowable.utils.FlowableAbstract; import org.junit.Test; import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; +import java.util.List; + /** * Created by zhouhao on 2017/7/20. */ @@ -14,10 +21,21 @@ import org.springframework.test.context.junit4.SpringRunner; @SpringBootTest public class ServiceTest extends FlowableAbstract { + @Autowired + BpmActivityService bpmActivityService; + @Test public void getProcessDefinition(){ ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionKey("test").singleResult(); System.out.println(processDefinition); } + @Test + public void getHiTask(){ + //查出历史信息 + HistoricTaskInstance historicTaskInstance = historyService.createHistoricTaskInstanceQuery().processInstanceId("5").taskAssignee("admin").singleResult(); + + Task task = taskService.createTaskQuery().taskId("123456").singleResult(); + + } } \ No newline at end of file diff --git a/hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/test/resources/application.yml b/hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/test/resources/application.yml index 3e8fe59e7..29a41ec0f 100644 --- a/hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/test/resources/application.yml +++ b/hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/test/resources/application.yml @@ -3,7 +3,8 @@ spring: auto: true proxy-target-class: true datasource: - url : jdbc:h2:mem:example +# url : jdbc:h2:mem:example + url: jdbc:h2:file:F:\working\hsweb-framework\hsweb-system\hsweb-system-workflow\hsweb-system-workflow-flowable\src\main\resources\db\act username : sa password : type: com.alibaba.druid.pool.DruidDataSource