add 工作中心代码(未完成)
This commit is contained in:
+21
-5
@@ -7,13 +7,12 @@ import com.fasterxml.jackson.databind.node.ObjectNode;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.aspect.annotation.DictPoint;
|
||||
import com.jero.common.constant.enums.LanguageEnum;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.common.util.MessageUtils;
|
||||
import com.jero.modules.activiti.entity.ProcessAll;
|
||||
import com.jero.modules.activiti.entity.ProcessModelNode;
|
||||
import com.jero.modules.activiti.entity.ProcessNode;
|
||||
import com.jero.modules.activiti.service.ProcessNodeLinkService;
|
||||
import com.jero.modules.activiti.service.ProcessNodeService;
|
||||
import com.jero.modules.activiti.service.ProcessModelNodeService;
|
||||
import com.jero.modules.activiti.service.ProcessService;
|
||||
import com.jero.modules.activiti.service.*;
|
||||
import com.jero.modules.laws.common.constant.ResultCommon;
|
||||
import io.swagger.annotations.*;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -28,6 +27,7 @@ import org.activiti.engine.task.Task;
|
||||
import org.activiti.engine.task.TaskQuery;
|
||||
import org.apache.commons.io.IOUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
@@ -61,11 +61,16 @@ public class ActivitiController {
|
||||
private ProcessModelNodeService modelNodeService;
|
||||
@Resource
|
||||
private ProcessNodeLinkService processNodeLinkService;
|
||||
@Resource
|
||||
private ProcessAllService processAllService;
|
||||
|
||||
@ApiOperation(value="启动流程")
|
||||
@PostMapping("/start")
|
||||
public Result<Map<String, String>> start(@RequestBody Map<String,Object> map) {
|
||||
String key = map.get("key").toString();
|
||||
String prcName = map.get("prcName").toString();
|
||||
String prcNum = map.get("prcNum").toString();
|
||||
Date dueTime = (Date) map.get("dueTime");
|
||||
// 1、创建ProcessEngine
|
||||
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
|
||||
// 2、获取RunTimeService
|
||||
@@ -74,12 +79,23 @@ public class ActivitiController {
|
||||
// 3、根据流程key启动流程
|
||||
ProcessInstance processInstance = runtimeService
|
||||
.startProcessInstanceByKey(key, map);
|
||||
String processInstanceId = processInstance.getId();
|
||||
//更新流程总表
|
||||
ProcessAll process = processAllService.getByProcessInstanceId(processInstanceId);
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
process.setCreateUserId(loginUser.getId());
|
||||
process.setPrcName(prcName);
|
||||
process.setPrcNum(prcNum);
|
||||
process.setDueTime(dueTime);
|
||||
process.setProjectId("业务id");
|
||||
processAllService.updateById(process);
|
||||
|
||||
String processDefinitionId = processInstance.getProcessDefinitionId();
|
||||
// 输出内容
|
||||
Map<String, String> map1 = new HashMap<>();
|
||||
map1.put("流程Id:", processInstance.getDeploymentId());
|
||||
map1.put("流程定义id:", processDefinitionId);
|
||||
map1.put("流程实例id:", processInstance.getId());
|
||||
map1.put("流程实例id:", processInstanceId);
|
||||
map1.put("当前活动Id:", processInstance.getActivityId());
|
||||
|
||||
String mainDrafter = map.get("mainDrafter").toString();
|
||||
|
||||
+16
-1
@@ -10,6 +10,8 @@ import com.jero.common.util.MessageUtils;
|
||||
import com.jero.modules.activiti.entity.ProcessModelNode;
|
||||
import com.jero.modules.activiti.listener.CompleteListener;
|
||||
import com.jero.modules.activiti.listener.CreateListener;
|
||||
import com.jero.modules.activiti.listener.EndListener;
|
||||
import com.jero.modules.activiti.listener.StartListener;
|
||||
import com.jero.modules.activiti.service.ProcessNodeService;
|
||||
import com.jero.modules.activiti.service.ProcessModelNodeService;
|
||||
import com.jero.modules.activiti.util.CreatedTools;
|
||||
@@ -26,6 +28,7 @@ import org.activiti.bpmn.model.Process;
|
||||
import org.activiti.editor.constants.ModelDataJsonConstants;
|
||||
import org.activiti.editor.language.json.converter.BpmnJsonConverter;
|
||||
import org.activiti.engine.RepositoryService;
|
||||
import org.activiti.engine.delegate.BaseExecutionListener;
|
||||
import org.activiti.engine.delegate.TaskListener;
|
||||
import org.activiti.engine.repository.*;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
@@ -90,7 +93,19 @@ public class ModelerController {
|
||||
repositoryService.saveModel(model);
|
||||
String modelId = model.getId();
|
||||
Process mainProcess = bpmnModel.getMainProcess();
|
||||
//向所有userTask节点增加创建和完成时任务监听器
|
||||
List<ActivitiListener> executionListeners = mainProcess.getExecutionListeners();
|
||||
ActivitiListener startListener = new ActivitiListener();
|
||||
startListener.setEvent(BaseExecutionListener.EVENTNAME_START);
|
||||
startListener.setImplementationType("class");
|
||||
startListener.setImplementation(StartListener.class.getName());
|
||||
executionListeners.add(startListener);
|
||||
ActivitiListener endListener = new ActivitiListener();
|
||||
endListener.setEvent(BaseExecutionListener.EVENTNAME_END);
|
||||
endListener.setImplementationType("class");
|
||||
endListener.setImplementation(EndListener.class.getName());
|
||||
executionListeners.add(endListener);
|
||||
mainProcess.setExecutionListeners(executionListeners);
|
||||
//向所有userTask节点增加创建和完成时任务监听器工作
|
||||
Collection<FlowElement> flowElements = mainProcess.getFlowElements();
|
||||
for (FlowElement flowElement : flowElements) {
|
||||
if (flowElement instanceof UserTask) {
|
||||
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
package com.jero.modules.activiti.controller;
|
||||
|
||||
import io.swagger.annotations.Api;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
* @author liJiaRao
|
||||
* @date 2023-10-16 15:50
|
||||
*/
|
||||
@Slf4j
|
||||
@RestController
|
||||
@Api(tags = "工作中心")
|
||||
@RequestMapping("/workCenter")
|
||||
public class WorkCenterController {
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user