diff --git a/jeecg-module-activit/pom.xml b/huzhou/pom.xml
similarity index 79%
rename from jeecg-module-activit/pom.xml
rename to huzhou/pom.xml
index 8365550..2d8d7d0 100644
--- a/jeecg-module-activit/pom.xml
+++ b/huzhou/pom.xml
@@ -9,13 +9,14 @@
3.6.1
- jeecg-module-activit
- pom
+ org.jeecg
+ huzhou
+
-
- org.jeecgframework.boot
- jeecg-boot-base-core
-
+
+ org.jeecgframework.boot
+ jeecg-boot-base-core
+
org.activiti
activiti-spring-boot-starter
@@ -28,7 +29,4 @@
-
-
-
\ No newline at end of file
diff --git a/huzhou/src/main/java/org/jeecg/modules/huzhou/service/IHuzhouProcessinfoService.java b/huzhou/src/main/java/org/jeecg/modules/huzhou/service/IHuzhouProcessinfoService.java
new file mode 100644
index 0000000..c5f076d
--- /dev/null
+++ b/huzhou/src/main/java/org/jeecg/modules/huzhou/service/IHuzhouProcessinfoService.java
@@ -0,0 +1,8 @@
+package org.jeecg.modules.huzhou.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.huzhou.entity.HuzhouProcessinfo;
+import org.springframework.stereotype.Service;
+
+public interface IHuzhouProcessinfoService extends IService {
+}
diff --git a/jeecg-module-system/jeecg-system-start/pom.xml b/jeecg-module-system/jeecg-system-start/pom.xml
index 765c63f..56f8b59 100644
--- a/jeecg-module-system/jeecg-system-start/pom.xml
+++ b/jeecg-module-system/jeecg-system-start/pom.xml
@@ -24,6 +24,12 @@
jeecg-module-demo
${jeecgboot.version}
+
+ org.jeecg
+ huzhou
+ 3.6.1
+
+
diff --git a/jeecg-module-system/jeecg-system-start/src/test/java/org/jeecg/modules/message/test/SendMessageTest.java b/jeecg-module-system/jeecg-system-start/src/test/java/org/jeecg/modules/message/test/SendMessageTest.java
index 3ec68c9..204f2f5 100644
--- a/jeecg-module-system/jeecg-system-start/src/test/java/org/jeecg/modules/message/test/SendMessageTest.java
+++ b/jeecg-module-system/jeecg-system-start/src/test/java/org/jeecg/modules/message/test/SendMessageTest.java
@@ -2,6 +2,23 @@ package org.jeecg.modules.message.test;
import com.alibaba.fastjson.JSONObject;
import com.aliyuncs.exceptions.ClientException;
+import org.activiti.bpmn.model.BpmnModel;
+import org.activiti.bpmn.model.FlowElement;
+import org.activiti.bpmn.model.SequenceFlow;
+import org.activiti.bpmn.model.UserTask;
+import org.activiti.engine.HistoryService;
+import org.activiti.engine.RepositoryService;
+import org.activiti.engine.RuntimeService;
+import org.activiti.engine.TaskService;
+import org.activiti.engine.history.HistoricActivityInstance;
+import org.activiti.engine.history.HistoricTaskInstance;
+import org.activiti.engine.repository.Deployment;
+import org.activiti.engine.repository.ProcessDefinition;
+import org.activiti.engine.runtime.Execution;
+import org.activiti.engine.runtime.ProcessInstance;
+import org.activiti.engine.task.Task;
+import org.activiti.spring.integration.Activiti;
+import org.apache.shiro.SecurityUtils;
import org.jeecg.JeecgSystemApplication;
import org.jeecg.common.api.dto.message.BusMessageDTO;
import org.jeecg.common.api.dto.message.BusTemplateMessageDTO;
@@ -19,9 +36,12 @@ 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 org.springframework.util.CollectionUtils;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
+import java.util.UUID;
/**
* @Description: 消息推送测试
@@ -33,6 +53,216 @@ public class SendMessageTest {
@Autowired
ISysBaseAPI sysBaseAPI;
+ @Autowired
+ private RepositoryService repositoryService;
+ @Autowired
+ RuntimeService runtimeService;
+ @Autowired
+ TaskService taskService;
+ @Autowired
+ HistoryService historyService;
+ @Test
+ public void createproess(){
+ Deployment deployment = repositoryService
+ .createDeployment()
+ .addClasspathResource("process/initiatesProjects.bpmn20.xml")
+ .addClasspathResource("process/initiatesProjects.png")
+ .name("项目入库申请流程")
+ .deploy();
+ System.out.println("deployment.getId() = " + deployment.getId());
+ System.out.println("deployment.getName() = " + deployment.getName());
+ }
+ @Test
+ public void delete(){
+ List deployments = repositoryService.createDeploymentQuery().list();
+ for (Deployment deployment : deployments) {
+ System.out.println(deployment.getId());
+ repositoryService.deleteDeployment(deployment.getId());
+ }
+ }
+ /**
+ * 查询流程定义列表
+ */
+ @Test
+ public void listProcessDefinitions() {
+ List processDefinitions = this.repositoryService.createProcessDefinitionQuery()
+ .list();
+ if (!CollectionUtils.isEmpty(processDefinitions)) {
+ processDefinitions.forEach(processDefinition -> {
+ System.out.println("Name:" + processDefinition.getName());
+ System.out.println("Key:" + processDefinition.getKey());
+ System.out.println("ResourceName:" + processDefinition.getResourceName());
+ System.out.println("DeploymentId:" + processDefinition.getDeploymentId());
+ System.out.println("Version:" + processDefinition.getVersion());
+ });
+ }
+ }
+ /**
+ * 初始化流程实例,发起流程
+ */
+ @Test
+ public void initProcessInstance() {
+ // 流程定义KEY
+
+ String processDefinitionKey = "initiatesProjects";
+ // 业务表KEY(用于把业务数据与Activiti7流程数据相关联)
+ String businessKey = UUID.randomUUID().toString().replace("-",""); //"4208169753200945";
+ // 参数
+ Map variables = new HashMap<>();
+ variables.put("start","e9ca23d68d884d4ebb19d07889727dae");
+ ProcessInstance processInstance = this.runtimeService
+ .startProcessInstanceByKey(processDefinitionKey, businessKey, variables);
+ System.out.println("流程实例ID:" + processInstance.getProcessInstanceId());
+ //1d1d364f-b9ca-11ee-a2e6-f43bd81684b1
+ }
+ /**
+ * 查询流程实例
+ */
+ @Test
+ public void getProcessInstance() {
+ String processInstanceId = "1d1d364f-b9ca-11ee-a2e6-f43bd81684b1";
+ ProcessInstance processInstance = this.runtimeService.createProcessInstanceQuery()
+ .processInstanceId(processInstanceId)
+ .singleResult();
+ System.out.println("ProcessInstanceId:" + processInstance.getProcessInstanceId());
+ System.out.println("ProcessDefinitionId:" + processInstance.getProcessDefinitionId());
+ System.out.println("isEnded:" + processInstance.isEnded());
+ System.out.println("isSuspended:" + processInstance.isSuspended());
+ }
+ /**
+ * 查询流程实例列表
+ */
+ @Test
+ public void listProcessInstances() {
+ List processInstanceList = this.runtimeService.createProcessInstanceQuery().list();
+ if (!CollectionUtils.isEmpty(processInstanceList)) {
+ processInstanceList.forEach(processInstance -> {
+ System.out.println("ProcessInstanceId:" + processInstance.getProcessInstanceId());
+ System.out.println("ProcessDefinitionId:" + processInstance.getProcessDefinitionId());
+ System.out.println("isEnded:" + processInstance.isEnded());
+ System.out.println("isSuspended:" + processInstance.isSuspended());
+ });
+ }
+ }
+ /**
+ * 查询任务列表
+ */
+ @Test
+ public void listTasks() {
+ List taskList = this.taskService.createTaskQuery().list();
+ if (!CollectionUtils.isEmpty(taskList)) {
+ taskList.forEach(task -> {
+ BpmnModel bpmnModel = repositoryService.getBpmnModel(task.getProcessDefinitionId());
+
+
+//这里的key要找到下一个才行
+ FlowElement flowElement = bpmnModel.getFlowElement(task.getTaskDefinitionKey());
+
+ UserTask userTask = (UserTask) flowElement;
+//搞到当前userTask的出处
+ List outgoingFlows = userTask.getOutgoingFlows();
+//直接获得目标元素
+ FlowElement targetFlowElement = outgoingFlows.get(0).getTargetFlowElement();
+//转过来
+ UserTask nextUserTask = (UserTask) targetFlowElement;
+ String nextUserTaskName = nextUserTask.getName();
+ if("监管单位审批".equals(nextUserTaskName)){
+
+ }
+ String processInstanceId = task.getProcessInstanceId();
+ List list = runtimeService.createProcessInstanceQuery()
+ .processInstanceId(processInstanceId)
+ .active().list();
+
+ System.out.println("Id:" + task.getId());
+ System.out.println("Name:" + task.getName());
+ System.out.println("Assignee:" + task.getAssignee());
+ });
+ }
+ }
+ /**
+ * 查询我的代办任务
+ */
+ @Test
+ public void listTasksByAssignee() {
+ String assignee = "e9ca23d68d884d4ebb19d07889727dae";
+ List taskList = this.taskService.createTaskQuery()
+ .taskAssignee(assignee)
+ .list();
+ if (!CollectionUtils.isEmpty(taskList)) {
+ taskList.forEach(task -> {
+ System.out.println("Id:" + task.getId());
+ System.out.println("Name:" + task.getName());
+ System.out.println("Assignee:" + task.getAssignee());
+ });
+ }
+ }
+
+ /**
+ * 我的组代办
+ */
+ @Test
+ public void listTasksByGroup() {
+ String assignee = "e9ca23d68d884d4ebb19d07889727dae";
+ List taskList = this.taskService.createTaskQuery()
+ .taskCandidateGroup("supervise")
+ .list();
+ if (!CollectionUtils.isEmpty(taskList)) {
+ taskList.forEach(task -> {
+ System.out.println("Id:" + task.getId());
+ System.out.println("Name:" + task.getName());
+ System.out.println("Assignee:" + task.getAssignee());
+ });
+ }
+ }
+ /**
+ * 完成任务
+ */
+ @Test
+ public void completeTask() {
+ String taskId = "c594f43d-b9d5-11ee-91b9-f43bd81684b1";
+ Map variables = new HashMap<>();
+ variables.put("type",1);
+ this.taskService.complete(taskId, variables);
+ }
+ /**
+ * 根据用户名查询历史记录
+ */
+ @Test
+ public void listHistoricTasksByAssignee() {
+ String assignee = "e9ca23d68d884d4ebb19d07889727dae";
+ List historicTasks = this.historyService.createHistoricTaskInstanceQuery()
+ .taskAssignee(assignee)
+ .list();
+ if (!CollectionUtils.isEmpty(historicTasks)) {
+ historicTasks.forEach(historicTaskInstance -> {
+ System.out.println("Id:" + historicTaskInstance.getId());
+ System.out.println("ProcessInstanceId:" + historicTaskInstance.getProcessInstanceId());
+// System.out.println("Name:" + historicTaskInstance.getName());
+ });
+ }
+ }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
/**
* 发送系统消息
diff --git a/jeecg-module-system/pom.xml b/jeecg-module-system/pom.xml
index 13748f4..68b3cfd 100644
--- a/jeecg-module-system/pom.xml
+++ b/jeecg-module-system/pom.xml
@@ -17,5 +17,8 @@
jeecg-system-biz
jeecg-system-start
+
+
+
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 6bcd097..ebe0a77 100644
--- a/pom.xml
+++ b/pom.xml
@@ -73,7 +73,7 @@
jeecg-boot-base-core
jeecg-module-demo
jeecg-module-system
- jeecg-module-activit
+ huzhou