From 27cca04bcc9646ac078fea83646fe762d2b770a2 Mon Sep 17 00:00:00 2001 From: wangwei Date: Mon, 4 Sep 2017 17:02:26 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E6=B5=81=E5=AE=8C?= =?UTF-8?q?=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/workflow/Application.java | 10 ++++++ .../controller/FlowableUtilsController.java | 32 +++++++++++++++++++ .../src/main/resources/application.yml | 3 ++ 3 files changed, 45 insertions(+) create mode 100644 hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/main/java/org/hswebframework/web/workflow/flowable/controller/FlowableUtilsController.java diff --git a/hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/main/java/org/hswebframework/web/workflow/Application.java b/hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/main/java/org/hswebframework/web/workflow/Application.java index e850d1f54..0ee553505 100644 --- a/hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/main/java/org/hswebframework/web/workflow/Application.java +++ b/hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/main/java/org/hswebframework/web/workflow/Application.java @@ -2,9 +2,19 @@ package org.hswebframework.web.workflow; import org.hswebframework.web.dao.Dao; import org.mybatis.spring.annotation.MapperScan; +import org.springframework.beans.factory.ObjectProvider; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration; +import org.springframework.boot.autoconfigure.web.HttpMessageConverters; +import org.springframework.boot.autoconfigure.web.HttpMessageConvertersAutoConfiguration; +import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; +import org.springframework.http.converter.HttpMessageConverter; + +import java.util.Collections; +import java.util.List; /** * @author zhouhao diff --git a/hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/main/java/org/hswebframework/web/workflow/flowable/controller/FlowableUtilsController.java b/hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/main/java/org/hswebframework/web/workflow/flowable/controller/FlowableUtilsController.java new file mode 100644 index 000000000..080f66e7b --- /dev/null +++ b/hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/main/java/org/hswebframework/web/workflow/flowable/controller/FlowableUtilsController.java @@ -0,0 +1,32 @@ +package org.hswebframework.web.workflow.flowable.controller; + +import org.activiti.engine.impl.pvm.process.ActivityImpl; +import org.activiti.engine.repository.ProcessDefinition; +import org.hswebframework.web.commons.entity.PagerResult; +import org.hswebframework.web.controller.message.ResponseMessage; +import org.hswebframework.web.workflow.flowable.service.BpmActivityService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * @Author wangwei + * @Date 2017/9/4. + */ +@RestController +@RequestMapping("workflow/utils/") +public class FlowableUtilsController { + + @Autowired + BpmActivityService bpmActivityService; + + @GetMapping("{procDefId}/acts") + public ResponseMessage> acts(@PathVariable String procDefId){ + List activities = bpmActivityService.getActivitiesById(procDefId,null); + return ResponseMessage.ok(activities); + } +} diff --git a/hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/main/resources/application.yml b/hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/main/resources/application.yml index 750176b87..abb978b51 100644 --- a/hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/main/resources/application.yml +++ b/hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/main/resources/application.yml @@ -1,4 +1,7 @@ spring: + http: + converters: + preferred-json-mapper: fastjson aop: auto: true proxy-target-class: true From 6370715aba59aa543c039a533534120c09a670ba Mon Sep 17 00:00:00 2001 From: wangwei Date: Tue, 5 Sep 2017 11:34:33 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E6=B5=81=E5=AE=8C?= =?UTF-8?q?=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hsweb-system-workflow-flowable/pom.xml | 40 ++++++++++++++++- .../web/workflow/Application.java | 14 +----- .../controller/FlowableUtilsController.java | 38 ++++++++++++---- .../flowable/entity/SimpleActivityImp.java | 15 +++++++ .../web/workflow/flowable/ControllerTest.java | 43 ++++++++++--------- .../workflow/flowable/TestApplication.java | 17 -------- 6 files changed, 108 insertions(+), 59 deletions(-) create mode 100644 hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/main/java/org/hswebframework/web/workflow/flowable/entity/SimpleActivityImp.java delete mode 100644 hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/test/java/org/hswebframework/web/workflow/flowable/TestApplication.java diff --git a/hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/pom.xml b/hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/pom.xml index 695d7c452..fbabc4b53 100644 --- a/hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/pom.xml +++ b/hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/pom.xml @@ -95,7 +95,16 @@ hsweb-system-authorization-service-api ${project.version} - + + org.hswebframework.web + hsweb-datasource-api + ${project.version} + + + mysql + mysql-connector-java + runtime + com.h2database h2 @@ -118,6 +127,20 @@ 4.3.7.RELEASE test + + org.mybatis + mybatis-spring + RELEASE + + + ch.qos.logback + logback-classic + + + + org.slf4j + slf4j-api + org.hswebframework.web hsweb-spring-boot-starter @@ -141,5 +164,20 @@ hsweb-system-dynamic-form-service-api ${project.version} + + org.hswebframework.web + hsweb-authorization-basic + ${project.version} + + + org.hswebframework.web + hsweb-access-logging-aop + ${project.version} + + + org.hswebframework.web + hsweb-system-organizational-starter + ${project.version} + \ 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/Application.java b/hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/main/java/org/hswebframework/web/workflow/Application.java index 0ee553505..d2b70b889 100644 --- a/hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/main/java/org/hswebframework/web/workflow/Application.java +++ b/hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/main/java/org/hswebframework/web/workflow/Application.java @@ -2,26 +2,16 @@ package org.hswebframework.web.workflow; import org.hswebframework.web.dao.Dao; import org.mybatis.spring.annotation.MapperScan; -import org.springframework.beans.factory.ObjectProvider; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration; -import org.springframework.boot.autoconfigure.web.HttpMessageConverters; -import org.springframework.boot.autoconfigure.web.HttpMessageConvertersAutoConfiguration; -import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; -import org.springframework.http.converter.HttpMessageConverter; - -import java.util.Collections; -import java.util.List; /** * @author zhouhao */ @SpringBootApplication -@ComponentScan("org.hswebframework.web.workflow") -@MapperScan(value = "org.hswebframework.web.workflow", markerInterface = Dao.class) //扫描mybatis dao +//@ComponentScan("org.hswebframework.web.workflow") +//@MapperScan(value = "org.hswebframework.web.workflow", markerInterface = Dao.class) //扫描mybatis dao public class Application { public static void main(String[] args) { SpringApplication.run(Application.class); diff --git a/hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/main/java/org/hswebframework/web/workflow/flowable/controller/FlowableUtilsController.java b/hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/main/java/org/hswebframework/web/workflow/flowable/controller/FlowableUtilsController.java index 080f66e7b..07f73dc92 100644 --- a/hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/main/java/org/hswebframework/web/workflow/flowable/controller/FlowableUtilsController.java +++ b/hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/main/java/org/hswebframework/web/workflow/flowable/controller/FlowableUtilsController.java @@ -1,17 +1,19 @@ package org.hswebframework.web.workflow.flowable.controller; import org.activiti.engine.impl.pvm.process.ActivityImpl; -import org.activiti.engine.repository.ProcessDefinition; -import org.hswebframework.web.commons.entity.PagerResult; +import org.hswebframework.web.commons.entity.DataStatus; import org.hswebframework.web.controller.message.ResponseMessage; +import org.hswebframework.web.entity.organizational.RelationDefineEntity; +import org.hswebframework.web.entity.organizational.SimpleRelationDefineEntity; +import org.hswebframework.web.service.organizational.RelationDefineService; +import org.hswebframework.web.service.organizational.RelationInfoService; import org.hswebframework.web.workflow.flowable.service.BpmActivityService; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** * @Author wangwei @@ -23,10 +25,30 @@ public class FlowableUtilsController { @Autowired BpmActivityService bpmActivityService; + @Autowired + RelationDefineService relationDefineService; + @Autowired + RelationInfoService relationInfoService; @GetMapping("{procDefId}/acts") - public ResponseMessage> acts(@PathVariable String procDefId){ + public ResponseMessage> acts(@PathVariable String procDefId){ + Map map = new HashMap<>(); List activities = bpmActivityService.getActivitiesById(procDefId,null); - return ResponseMessage.ok(activities); + for (ActivityImpl activity: activities) { + if(activity.getProperty("type").equals("userTask")) map.put(activity.getId(), activity.getProperty("name")); + } + return ResponseMessage.ok(map); } + + @GetMapping("relation-define") + public ResponseMessage> getRelationDefines(){ + SimpleRelationDefineEntity entity = new SimpleRelationDefineEntity(); + entity.setStatus(DataStatus.STATUS_ENABLED); + List list = relationDefineService.select(entity); + + return ResponseMessage.ok(list); + } + +// @PostMapping("act/{actId}-{defineId}") +// public ResponseMessage } diff --git a/hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/main/java/org/hswebframework/web/workflow/flowable/entity/SimpleActivityImp.java b/hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/main/java/org/hswebframework/web/workflow/flowable/entity/SimpleActivityImp.java new file mode 100644 index 000000000..32bfd8ce1 --- /dev/null +++ b/hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/main/java/org/hswebframework/web/workflow/flowable/entity/SimpleActivityImp.java @@ -0,0 +1,15 @@ +package org.hswebframework.web.workflow.flowable.entity; + +import org.activiti.engine.impl.pvm.process.ActivityImpl; +import org.activiti.engine.impl.pvm.process.ProcessDefinitionImpl; + +/** + * @Author wangwei + * @Date 2017/9/4. + */ +public class SimpleActivityImp extends ActivityImpl { + + public SimpleActivityImp(String id, ProcessDefinitionImpl processDefinition) { + super(id, processDefinition); + } +} 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 cea4cef84..6a9b8768f 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 @@ -55,15 +55,15 @@ public class ControllerTest extends SimpleWebApplicationTests { } // 流程图元数据test - @Test - public void activityImplTest() { - ActivityImpl activity = bpmTaskService.selectActivityImplByTask(""); - ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionKey("testid").latestVersion().active().singleResult(); - Map> map = bpmActivityService.getNextClaim(processDefinition.getId(), activity.getId()); - System.out.println("=========>>>"); - System.out.println(JSON.toJSONString(map)); - System.out.println("=========>>>"); - } +// @Test +// public void activityImplTest() { +// ActivityImpl activity = bpmTaskService.selectActivityImplByTask(""); +// ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionKey("testid").latestVersion().active().singleResult(); +// Map> map = bpmActivityService.getNextClaim(processDefinition.getId(), activity.getId()); +// System.out.println("=========>>>"); +// System.out.println(JSON.toJSONString(map)); +// System.out.println("=========>>>"); +// } // 流程流转test @Test @@ -113,18 +113,18 @@ public class ControllerTest extends SimpleWebApplicationTests { } - @Autowired - RepositoryService repositoryService; - - @Test - public void task() { - ActivityImpl activity = bpmTaskService.selectActivityImplByTask(""); - ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionKey("testid").orderByProcessDefinitionVersion().desc().singleResult(); - Map> map = bpmActivityService.getNextClaim(processDefinition.getId(), activity.getId()); - System.out.println("=========>>>"); - System.out.println(JSON.toJSONString(map)); - System.out.println("=========>>>"); - } +// @Autowired +// RepositoryService repositoryService; +// +// @Test +// public void task() { +// ActivityImpl activity = bpmTaskService.selectActivityImplByTask(""); +// ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionKey("testid").orderByProcessDefinitionVersion().desc().singleResult(); +// Map> map = bpmActivityService.getNextClaim(processDefinition.getId(), activity.getId()); +// System.out.println("=========>>>"); +// System.out.println(JSON.toJSONString(map)); +// System.out.println("=========>>>"); +// } @Configuration public static class config { @@ -137,6 +137,7 @@ public class ControllerTest extends SimpleWebApplicationTests { configuration .setAsyncExecutorActivate(false) .setJobExecutorActivate(false) + .setDatabaseSchemaUpdate("false") .setActivityFontName("宋体") .setLabelFontName("宋体") .setAnnotationFontName("宋体"); diff --git a/hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/test/java/org/hswebframework/web/workflow/flowable/TestApplication.java b/hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/test/java/org/hswebframework/web/workflow/flowable/TestApplication.java deleted file mode 100644 index b5c45cfb2..000000000 --- a/hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/test/java/org/hswebframework/web/workflow/flowable/TestApplication.java +++ /dev/null @@ -1,17 +0,0 @@ -package org.hswebframework.web.workflow.flowable; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; - -/** - * TODO 完成注释 - * - * @author zhouhao - */ -@SpringBootApplication -public class TestApplication { - - public static void main(String[] args) { - SpringApplication.run(TestApplication.class, args); - } -}