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/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..07f73dc92 --- /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,54 @@ +package org.hswebframework.web.workflow.flowable.controller; + +import org.activiti.engine.impl.pvm.process.ActivityImpl; +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.*; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * @Author wangwei + * @Date 2017/9/4. + */ +@RestController +@RequestMapping("workflow/utils/") +public class FlowableUtilsController { + + @Autowired + BpmActivityService bpmActivityService; + @Autowired + RelationDefineService relationDefineService; + @Autowired + RelationInfoService relationInfoService; + + @GetMapping("{procDefId}/acts") + public ResponseMessage> acts(@PathVariable String procDefId){ + Map map = new HashMap<>(); + List activities = bpmActivityService.getActivitiesById(procDefId,null); + 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/main/resources/application.yml b/hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/main/resources/application.yml deleted file mode 100644 index 750176b87..000000000 --- a/hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/main/resources/application.yml +++ /dev/null @@ -1,27 +0,0 @@ -spring: - aop: - auto: true - proxy-target-class: true -# datasource: -# url : jdbc:h2:file:target/workflow-test -# username : sa -# password : -# type: com.alibaba.druid.pool.DruidDataSource -# driver-class-name : org.h2.Driver - datasource: - url : jdbc:mysql://localhost:3306/hsweb?useSSL=false&useUnicode=true&characterEncoding=utf8&autoReconnect=true&failOverReadOnly=false - username : root - password : root - driver-class-name : com.mysql.jdbc.Driver - cache: - type: simple - -logging: - level: - org.flowable: debug -# org.activiti: debug -mybatis: - dynamic-datasource: false - mapper-locations: classpath*:org/hswebframework/web/workflow/**/*Mapper.xml -server: - port: 8080 \ No newline at end of file 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/resources/application-dev.yml b/hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/test/resources/application-dev.yml new file mode 100644 index 000000000..2398290a8 --- /dev/null +++ b/hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/test/resources/application-dev.yml @@ -0,0 +1,25 @@ +spring: + aop: + auto: true + proxy-target-class: true + datasource: + url : jdbc:mysql://localhost:3306/hsweb?useSSL=false&useUnicode=true&characterEncoding=utf8&autoReconnect=true&failOverReadOnly=false + username : root + password : root + driver-class-name : com.mysql.jdbc.Driver + datasource: + url : jdbc:h2:file:./target/workflow-test + username : sa + password : + type: com.alibaba.druid.pool.DruidDataSource + cache: + type: simple + +logging: + level: + org.flowable: debug +# org.activiti: debug +mybatis: + dynamic-datasource: false +server: + port: 8088 \ No newline at end of file