add 测试流程
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
package com.jero.modules.activiti.common;
|
||||
|
||||
/**
|
||||
* @author liJiaRao
|
||||
* @date 2024-06-18 16:21
|
||||
*/
|
||||
public class ActivitiCommon {
|
||||
public static final String PASS = "pass";
|
||||
|
||||
public static final String MAIN_INSTANCE_ID = "mainInstanceId";
|
||||
public static final String PARENT_INSTANCE_ID = "parentInstanceId";
|
||||
public static final String PARENT_TASK_ID = "parentTaskId";
|
||||
}
|
||||
+31
@@ -0,0 +1,31 @@
|
||||
package com.jero.modules.activiti.process.demo.common;
|
||||
|
||||
/**
|
||||
* @author liJiaRao
|
||||
* @date 2024-06-17 15:28
|
||||
*/
|
||||
public class ProcessDemoCommon {
|
||||
//主解读人
|
||||
public static final String MAIN_INTERPRETER = "mainInterpreter";
|
||||
//解读人
|
||||
public static final String INTERPRETER = "interpreter";
|
||||
//未分配数量
|
||||
public static final String UNALLOCATED_QUANTITY = "unallocatedQuantity";
|
||||
|
||||
//初始节点
|
||||
public static final String INITIAL_NODE = "Activity_1yryhh6";
|
||||
//主解读人分批下发
|
||||
public static final String BSZGJLDXF_1 = "bszgjldxf_1";
|
||||
//汇总
|
||||
public static final String HZ = "hz";
|
||||
//解读人填写解读信息
|
||||
public static final String JDRTXJDXX = "jdrtxjdxx";
|
||||
//主解读人审核
|
||||
public static final String ZJDRSH = "zjdrsh";
|
||||
//主解读人重新分批下发
|
||||
public static final String BSZGJLDXF_2 = "bszgjldxf_2";
|
||||
//自动任务
|
||||
public static final String AUTO_TASK_1 = "autoTask_1";
|
||||
public static final String AUTO_TASK_2 = "autoTask_2";
|
||||
public static final String AUTO_TASK_3 = "autoTask_3";
|
||||
}
|
||||
+71
@@ -0,0 +1,71 @@
|
||||
package com.jero.modules.activiti.process.demo.controller;
|
||||
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.aspect.annotation.AutoLog;
|
||||
import com.jero.common.system.base.controller.JeroController;
|
||||
import com.jero.modules.activiti.process.demo.entity.ProcessDemo;
|
||||
import com.jero.modules.activiti.process.demo.service.ProcessDemoService;
|
||||
import com.jero.modules.activiti.process.demo.vo.ProcessDemoVO;
|
||||
import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.poi.ss.formula.functions.T;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
/**
|
||||
* 流程-测试流程(process_demo)表控制层
|
||||
*
|
||||
* @author xxxxx
|
||||
*/
|
||||
@Slf4j
|
||||
@Api(tags = "流程-测试流程")
|
||||
@RestController
|
||||
@RequestMapping("process/demo")
|
||||
public class ProcessDemoController extends JeroController<ProcessDemo, ProcessDemoService> {
|
||||
/**
|
||||
* 服务对象
|
||||
*/
|
||||
@Resource
|
||||
private ProcessDemoService processDemoService;
|
||||
|
||||
@AutoLog(value = "项目合规评估流程-发起流程")
|
||||
@ApiOperation(value = "项目合规评估流程-发起流程", notes = "项目合规评估流程-发起流程")
|
||||
@PostMapping(value = "/startProcess")
|
||||
public Result<T> startProcess(@Validated @RequestBody ProcessInfoVO<ProcessDemoVO> processInfoVO) {
|
||||
processDemoService.startProcess(processInfoVO);
|
||||
return Result.OK();
|
||||
}
|
||||
|
||||
@AutoLog(value = "项目合规评估流程-同意")
|
||||
@ApiOperation(value = "项目合规评估流程-同意", notes = "项目合规评估流程-同意")
|
||||
@PostMapping("/agree")
|
||||
public Result<T> agree(@Validated @RequestBody ProcessInfoVO<ProcessDemoVO> processInfoVO) {
|
||||
processDemoService.approveTask(processInfoVO, true);
|
||||
return Result.OK();
|
||||
}
|
||||
|
||||
@AutoLog(value = "项目合规评估流程-驳回")
|
||||
@ApiOperation(value = "项目合规评估流程-驳回", notes = "项目合规评估流程-驳回")
|
||||
@PostMapping("/reject")
|
||||
public Result<T> reject(@Validated @RequestBody ProcessInfoVO<ProcessDemoVO> processInfoVO) {
|
||||
processDemoService.approveTask(processInfoVO, false);
|
||||
return Result.OK();
|
||||
}
|
||||
|
||||
@AutoLog(value = "项目合规评估流程-提交")
|
||||
@ApiOperation(value = "项目合规评估流程-提交", notes = "项目合规评估流程-提交")
|
||||
@PostMapping("/submit")
|
||||
public Result<T> submit(@Validated @RequestBody ProcessInfoVO<ProcessDemoVO> processInfoVO) {
|
||||
processDemoService.submit(processInfoVO);
|
||||
return Result.OK();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
+200
@@ -0,0 +1,200 @@
|
||||
package com.jero.modules.activiti.process.demo.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
*
|
||||
*@author liJiaRao
|
||||
*@date 2024-06-17 14:32
|
||||
*/
|
||||
|
||||
/**
|
||||
* 流程-测试流程
|
||||
*/
|
||||
@Data
|
||||
@ApiModel(description = "流程-测试流程")
|
||||
@TableName(value = "process_demo")
|
||||
public class ProcessDemo {
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
@TableField(value = "id")
|
||||
@ApiModelProperty(value = "主键ID")
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 创建人ID
|
||||
*/
|
||||
@TableField(value = "create_by")
|
||||
@ApiModelProperty(value = "创建人ID")
|
||||
private String createBy;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@TableField(value = "create_time")
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
private Date createTime;
|
||||
|
||||
/**
|
||||
* 修改人ID
|
||||
*/
|
||||
@TableField(value = "update_by")
|
||||
@ApiModelProperty(value = "修改人ID")
|
||||
private String updateBy;
|
||||
|
||||
/**
|
||||
* 修改时间
|
||||
*/
|
||||
@TableField(value = "update_time")
|
||||
@ApiModelProperty(value = "修改时间")
|
||||
private Date updateTime;
|
||||
|
||||
/**
|
||||
* 部门code
|
||||
*/
|
||||
@TableField(value = "org_code")
|
||||
@ApiModelProperty(value = "部门code")
|
||||
private String orgCode;
|
||||
|
||||
/**
|
||||
* 删除状态(0-正常,1-删除)
|
||||
*/
|
||||
@TableField(value = "del_flag")
|
||||
@ApiModelProperty(value = "删除状态(0-正常,1-删除)")
|
||||
private Integer delFlag;
|
||||
|
||||
/**
|
||||
* 获取主键ID
|
||||
*
|
||||
* @return id - 主键ID
|
||||
*/
|
||||
public String getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置主键ID
|
||||
*
|
||||
* @param id 主键ID
|
||||
*/
|
||||
public void setId(String id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取创建人ID
|
||||
*
|
||||
* @return create_by - 创建人ID
|
||||
*/
|
||||
public String getCreateBy() {
|
||||
return createBy;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置创建人ID
|
||||
*
|
||||
* @param createBy 创建人ID
|
||||
*/
|
||||
public void setCreateBy(String createBy) {
|
||||
this.createBy = createBy;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取创建时间
|
||||
*
|
||||
* @return create_time - 创建时间
|
||||
*/
|
||||
public Date getCreateTime() {
|
||||
return createTime;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置创建时间
|
||||
*
|
||||
* @param createTime 创建时间
|
||||
*/
|
||||
public void setCreateTime(Date createTime) {
|
||||
this.createTime = createTime;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取修改人ID
|
||||
*
|
||||
* @return update_by - 修改人ID
|
||||
*/
|
||||
public String getUpdateBy() {
|
||||
return updateBy;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置修改人ID
|
||||
*
|
||||
* @param updateBy 修改人ID
|
||||
*/
|
||||
public void setUpdateBy(String updateBy) {
|
||||
this.updateBy = updateBy;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取修改时间
|
||||
*
|
||||
* @return update_time - 修改时间
|
||||
*/
|
||||
public Date getUpdateTime() {
|
||||
return updateTime;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置修改时间
|
||||
*
|
||||
* @param updateTime 修改时间
|
||||
*/
|
||||
public void setUpdateTime(Date updateTime) {
|
||||
this.updateTime = updateTime;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取部门code
|
||||
*
|
||||
* @return org_code - 部门code
|
||||
*/
|
||||
public String getOrgCode() {
|
||||
return orgCode;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置部门code
|
||||
*
|
||||
* @param orgCode 部门code
|
||||
*/
|
||||
public void setOrgCode(String orgCode) {
|
||||
this.orgCode = orgCode;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取删除状态(0-正常,1-删除)
|
||||
*
|
||||
* @return del_flag - 删除状态(0-正常,1-删除)
|
||||
*/
|
||||
public Integer getDelFlag() {
|
||||
return delFlag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置删除状态(0-正常,1-删除)
|
||||
*
|
||||
* @param delFlag 删除状态(0-正常,1-删除)
|
||||
*/
|
||||
public void setDelFlag(Integer delFlag) {
|
||||
this.delFlag = delFlag;
|
||||
}
|
||||
}
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
package com.jero.modules.activiti.process.demo.listener;
|
||||
|
||||
import com.jero.modules.activiti.process.demo.service.ProcessDemoService;
|
||||
import com.jero.modules.activiti.util.SpringContextUtil;
|
||||
import org.activiti.engine.delegate.DelegateTask;
|
||||
import org.activiti.engine.delegate.TaskListener;
|
||||
|
||||
/**
|
||||
* @author liJiaRao
|
||||
* @date 2023-06-18 15:43
|
||||
*/
|
||||
public class ProcessDemoCreateListener implements TaskListener {
|
||||
@Override
|
||||
public void notify(DelegateTask delegateTask) {
|
||||
ProcessDemoService demoService = SpringContextUtil.getBean(ProcessDemoService.class);
|
||||
demoService.createAutoTaskListener(delegateTask);
|
||||
}
|
||||
}
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
package com.jero.modules.activiti.process.demo.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.jero.modules.activiti.process.demo.entity.ProcessDemo;
|
||||
|
||||
/**
|
||||
* @author liJiaRao
|
||||
* @date 2024-06-17 14:32
|
||||
*/
|
||||
public interface ProcessDemoMapper extends BaseMapper<ProcessDemo> {
|
||||
}
|
||||
+248
@@ -0,0 +1,248 @@
|
||||
package com.jero.modules.activiti.process.demo.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.common.system.api.ISysBaseAPI;
|
||||
import com.jero.modules.activiti.common.ActivitiCommon;
|
||||
import com.jero.modules.activiti.entity.ProcessAll;
|
||||
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
||||
import com.jero.modules.activiti.enums.ProcessTypeEnum;
|
||||
import com.jero.modules.activiti.process.demo.common.ProcessDemoCommon;
|
||||
import com.jero.modules.activiti.process.demo.entity.ProcessDemo;
|
||||
import com.jero.modules.activiti.process.demo.mapper.ProcessDemoMapper;
|
||||
import com.jero.modules.activiti.process.demo.vo.ProcessDemoVO;
|
||||
import com.jero.modules.activiti.process.fb.common.ProcessDefinitionKey;
|
||||
import com.jero.modules.activiti.process.fb.dto.BasicProcessInfoDTO;
|
||||
import com.jero.modules.activiti.process.fb.dto.BasicTaskInfoDTO;
|
||||
import com.jero.modules.activiti.process.fb.dto.ProcessDTO;
|
||||
import com.jero.modules.activiti.process.fb.service.IProcessHandleService;
|
||||
import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO;
|
||||
import com.jero.modules.activiti.service.ProcessAllService;
|
||||
import com.jero.modules.laws.common.util.CurrentUserUtil;
|
||||
import org.activiti.engine.RuntimeService;
|
||||
import org.activiti.engine.TaskService;
|
||||
import org.activiti.engine.delegate.DelegateTask;
|
||||
import org.activiti.engine.task.Task;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author liJiaRao
|
||||
* @date 2024-06-17 14:58
|
||||
*/
|
||||
@Service
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public class ProcessDemoService extends ServiceImpl<ProcessDemoMapper, ProcessDemo> {
|
||||
@Resource
|
||||
private ISysBaseAPI sysBaseAPI;
|
||||
@Resource
|
||||
private IProcessHandleService processHandleService;
|
||||
@Resource
|
||||
private ProcessAllService processAllService;
|
||||
@Resource
|
||||
private TaskService taskService;
|
||||
@Resource
|
||||
private RuntimeService runtimeService;
|
||||
|
||||
public void startProcess(ProcessInfoVO<ProcessDemoVO> processInfoVO) {
|
||||
|
||||
ProcessDemoVO businessInfoDTO = processInfoVO.getBusinessInfoDTO();
|
||||
ProcessDemo processDemo = new ProcessDemo();
|
||||
this.save(processDemo);
|
||||
String assessmentId = processDemo.getId();
|
||||
processInfoVO.setBusinessId(assessmentId);
|
||||
|
||||
BasicProcessInfoDTO basicProcessInfoDTO = processInfoVO.getBasicProcessInfoDTO();
|
||||
// 流程定义id
|
||||
String definitionId = processHandleService.getDefinitionIdByKey(ProcessDefinitionKey.DEMO_MAIN);
|
||||
basicProcessInfoDTO.setProcessDefinitionId(definitionId);
|
||||
basicProcessInfoDTO.setProcessType(ProcessTypeEnum.DEMO.getValue()); // 流程类型
|
||||
Map<String, Object> userInfoMap = new HashMap<>();
|
||||
userInfoMap.put(ProcessDemoCommon.MAIN_INTERPRETER, CurrentUserUtil.getId());
|
||||
processInfoVO.setUserInfoMap(userInfoMap);
|
||||
processHandleService.startProcess(processInfoVO);
|
||||
|
||||
//start 先保存一份初始草稿
|
||||
//processInfoVO.setSaveSource(DraftCommon.INITIAL_SOURCE);
|
||||
//processInfoVO.setBasicTaskInfoDTO(processInfoVO.getBasicTaskInfoDTO().setTaskId(null));
|
||||
//saveToDraft(processInfoVO);
|
||||
//end 保存初始草稿结束
|
||||
}
|
||||
|
||||
public void approveTask(ProcessInfoVO<ProcessDemoVO> processInfoVO, boolean pass) {
|
||||
BasicTaskInfoDTO basicTaskInfoDTO = processInfoVO.getBasicTaskInfoDTO();
|
||||
String taskId = basicTaskInfoDTO.getTaskId();
|
||||
ProcessDTO processDTO = processHandleService.getProcessDTO(taskId);
|
||||
String processInstanceId = processDTO.getProcessInstanceId();
|
||||
ProcessAll processAll = processAllService.getByProcessInstanceId(processInstanceId);
|
||||
processInfoVO.setBusinessId(processAll.getProjectId());
|
||||
Task task = processDTO.getTask();
|
||||
String taskDefinitionKey = task.getTaskDefinitionKey();
|
||||
processHandleService.updateApprovalRecord(processInfoVO);
|
||||
switch (taskDefinitionKey) {
|
||||
//解读人填写解读信息
|
||||
case ProcessDemoCommon.JDRTXJDXX:
|
||||
jdrtxjdxxApprove(processInfoVO, processDTO, pass);
|
||||
break;
|
||||
default:
|
||||
}
|
||||
}
|
||||
|
||||
private void jdrtxjdxxApprove(ProcessInfoVO<ProcessDemoVO> processInfoVO, ProcessDTO processDTO, boolean pass) {
|
||||
ProcessDemoVO businessInfoDTO = processInfoVO.getBusinessInfoDTO();
|
||||
String mainInterpreter = businessInfoDTO.getMainInterpreter();
|
||||
// 完成任务
|
||||
String taskId = processDTO.getTaskId();
|
||||
Map<String, Object> variables = new HashMap<>();
|
||||
variables.put(ActivitiCommon.PASS, pass);
|
||||
variables.put(ProcessDemoCommon.MAIN_INTERPRETER, mainInterpreter);
|
||||
taskService.complete(taskId, variables);
|
||||
}
|
||||
|
||||
public void submit(ProcessInfoVO<ProcessDemoVO> processInfoVO) {
|
||||
BasicTaskInfoDTO basicTaskInfoDTO = processInfoVO.getBasicTaskInfoDTO();
|
||||
String taskId = basicTaskInfoDTO.getTaskId();
|
||||
ProcessDTO processDTO = processHandleService.getProcessDTO(taskId);
|
||||
String processInstanceId = processDTO.getProcessInstanceId();
|
||||
ProcessAll processAll = processAllService.getByProcessInstanceId(processInstanceId);
|
||||
processInfoVO.setBusinessId(processAll.getProjectId());
|
||||
Task task = processDTO.getTask();
|
||||
String taskDefinitionKey = task.getTaskDefinitionKey();
|
||||
processHandleService.updateApprovalRecord(processInfoVO);
|
||||
switch (taskDefinitionKey) {
|
||||
//初始节点
|
||||
case ProcessDemoCommon.INITIAL_NODE:
|
||||
initialNodeSubmit(processInfoVO, processDTO);
|
||||
break;
|
||||
//主解读人分批下发
|
||||
case ProcessDemoCommon.BSZGJLDXF_1:
|
||||
bszgjldxf1Submit(processInfoVO, processDTO);
|
||||
break;
|
||||
//主解读人重新分批下发
|
||||
case ProcessDemoCommon.BSZGJLDXF_2:
|
||||
bszgjldxf2Submit(processInfoVO, processDTO);
|
||||
break;
|
||||
//主解读人审核
|
||||
case ProcessDemoCommon.ZJDRSH:
|
||||
zjdrshSubmit(processInfoVO, processDTO);
|
||||
break;
|
||||
default:
|
||||
}
|
||||
}
|
||||
|
||||
private void zjdrshSubmit(ProcessInfoVO<ProcessDemoVO> processInfoVO, ProcessDTO processDTO) {
|
||||
// 完成任务
|
||||
String taskId = processDTO.getTaskId();
|
||||
Map<String, Object> variables = new HashMap<>();
|
||||
taskService.complete(taskId, variables);
|
||||
}
|
||||
|
||||
private void initialNodeSubmit(ProcessInfoVO<ProcessDemoVO> processInfoVO, ProcessDTO processDTO) {
|
||||
ProcessDemoVO businessInfoDTO = processInfoVO.getBusinessInfoDTO();
|
||||
String mainInterpreter = businessInfoDTO.getMainInterpreter();
|
||||
// 完成任务
|
||||
String taskId = processDTO.getTaskId();
|
||||
Map<String, Object> variables = new HashMap<>();
|
||||
variables.put(ProcessDemoCommon.MAIN_INTERPRETER, mainInterpreter);
|
||||
taskService.complete(taskId, variables);
|
||||
}
|
||||
|
||||
/**
|
||||
* 主解读人分批下发
|
||||
* @param processInfoVO
|
||||
* @param processDTO
|
||||
*/
|
||||
private void bszgjldxf1Submit(ProcessInfoVO<ProcessDemoVO> processInfoVO, ProcessDTO processDTO) {
|
||||
String businessId = processInfoVO.getBusinessId();
|
||||
ProcessApprovalRecord processApprovalRecord = processDTO.getProcessApprovalRecord();
|
||||
String originUserId = processApprovalRecord.getOriginUserId();
|
||||
String userId = CurrentUserUtil.getId();
|
||||
Task task = processDTO.getTask();
|
||||
ProcessDemoVO businessInfoDTO = processInfoVO.getBusinessInfoDTO();
|
||||
String interpreters = businessInfoDTO.getInterpreters();
|
||||
String unallocatedQuantity = businessInfoDTO.getUnallocatedQuantity();
|
||||
// 完成任务
|
||||
String taskId = processDTO.getTaskId();
|
||||
Map<String, Object> variables = new HashMap<>();
|
||||
variables.put(ProcessDemoCommon.INTERPRETER, Arrays.asList(interpreters.split(",")));
|
||||
variables.put(ProcessDemoCommon.UNALLOCATED_QUANTITY, unallocatedQuantity);
|
||||
taskService.complete(taskId, variables);
|
||||
}
|
||||
/**
|
||||
* 主解读人重新分批下发
|
||||
* @param processInfoVO
|
||||
* @param processDTO
|
||||
*/
|
||||
private void bszgjldxf2Submit(ProcessInfoVO<ProcessDemoVO> processInfoVO, ProcessDTO processDTO) {
|
||||
String businessId = processInfoVO.getBusinessId();
|
||||
ProcessApprovalRecord processApprovalRecord = processDTO.getProcessApprovalRecord();
|
||||
String originUserId = processApprovalRecord.getOriginUserId();
|
||||
String userId = CurrentUserUtil.getId();
|
||||
Task task = processDTO.getTask();
|
||||
ProcessDemoVO businessInfoDTO = processInfoVO.getBusinessInfoDTO();
|
||||
String interpreters = businessInfoDTO.getInterpreters();
|
||||
String unallocatedQuantity = businessInfoDTO.getUnallocatedQuantity();
|
||||
// 完成任务
|
||||
String taskId = processDTO.getTaskId();
|
||||
Map<String, Object> variables = new HashMap<>();
|
||||
variables.put(ProcessDemoCommon.INTERPRETER, Arrays.asList(interpreters.split(",")));
|
||||
variables.put(ProcessDemoCommon.UNALLOCATED_QUANTITY, unallocatedQuantity);
|
||||
taskService.complete(taskId, variables);
|
||||
}
|
||||
|
||||
public void createAutoTaskListener(DelegateTask delegateTask) {
|
||||
String taskId = delegateTask.getId();
|
||||
String taskDefinitionKey = delegateTask.getTaskDefinitionKey();
|
||||
String processInstanceId = delegateTask.getProcessInstanceId();
|
||||
Map<String, Object> userInfoMap = new HashMap<>();
|
||||
ProcessInfoVO<ProcessDemoVO> processInfoVO = new ProcessInfoVO<>();
|
||||
BasicProcessInfoDTO basicProcessInfoDTO = new BasicProcessInfoDTO();
|
||||
String mainInstanceId =(String) delegateTask.getVariable(ActivitiCommon.MAIN_INSTANCE_ID);
|
||||
//保存父子关联信息
|
||||
Map<String, Object> variables = new HashMap<>();
|
||||
variables.put(ActivitiCommon.MAIN_INSTANCE_ID, mainInstanceId != null ? mainInstanceId : processInstanceId);
|
||||
variables.put(ActivitiCommon.PARENT_INSTANCE_ID, processInstanceId);
|
||||
variables.put(ActivitiCommon.PARENT_TASK_ID, taskId);
|
||||
|
||||
switch (taskDefinitionKey) {
|
||||
//主解读人分批下发后自动任务
|
||||
case ProcessDemoCommon.AUTO_TASK_1:
|
||||
case ProcessDemoCommon.AUTO_TASK_3:
|
||||
List<String> interpreterList = (List<String>) delegateTask.getVariable(ProcessDemoCommon.INTERPRETER);
|
||||
for (String interpreter : interpreterList) {
|
||||
userInfoMap.put(ProcessDemoCommon.INTERPRETER, interpreter);
|
||||
// 流程定义id
|
||||
String definitionId = processHandleService.getDefinitionIdByKey(ProcessDefinitionKey.DEMO_JDR);
|
||||
basicProcessInfoDTO.setProcessDefinitionId(definitionId);
|
||||
basicProcessInfoDTO.setProcessType(ProcessTypeEnum.DEMO.getValue()); // 流程类型
|
||||
processInfoVO.setBasicProcessInfoDTO(basicProcessInfoDTO);
|
||||
|
||||
processInfoVO.setProcessVariables(variables);
|
||||
processInfoVO.setUserInfoMap(userInfoMap);
|
||||
processHandleService.startChildrenProcess(processInfoVO);
|
||||
}
|
||||
break;
|
||||
//解读人填写解读信息驳回后自动任务
|
||||
case ProcessDemoCommon.AUTO_TASK_2:
|
||||
String mainInterpreter = (String) delegateTask.getVariable(ProcessDemoCommon.MAIN_INTERPRETER);
|
||||
userInfoMap.put(ProcessDemoCommon.MAIN_INTERPRETER, mainInterpreter);
|
||||
// 流程定义id
|
||||
String definitionId = processHandleService.getDefinitionIdByKey(ProcessDefinitionKey.DEMO_CXFF);
|
||||
basicProcessInfoDTO.setProcessDefinitionId(definitionId);
|
||||
basicProcessInfoDTO.setProcessType(ProcessTypeEnum.DEMO.getValue()); // 流程类型
|
||||
processInfoVO.setBasicProcessInfoDTO(basicProcessInfoDTO);
|
||||
|
||||
processInfoVO.setProcessVariables(variables);
|
||||
processInfoVO.setUserInfoMap(userInfoMap);
|
||||
processHandleService.startChildrenProcess(processInfoVO);
|
||||
break;
|
||||
default:
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
package com.jero.modules.activiti.process.demo.vo;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author liJiaRao
|
||||
* @date 2024-06-17 15:00
|
||||
*/
|
||||
@Data
|
||||
public class ProcessDemoVO {
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
@ApiModelProperty(value = "主键ID")
|
||||
private String id;
|
||||
@ApiModelProperty(value = "主解读人")
|
||||
private String mainInterpreter;
|
||||
@ApiModelProperty(value = "解读人")
|
||||
private String interpreters;
|
||||
@ApiModelProperty(value = "未分配数量")
|
||||
private String unallocatedQuantity;
|
||||
}
|
||||
Reference in New Issue
Block a user