From 6693c658b3ec6805396ac2705027d5c149d6ead6 Mon Sep 17 00:00:00 2001 From: lijiarao Date: Fri, 21 Jun 2024 09:09:17 +0800 Subject: [PATCH] =?UTF-8?q?add=20=E6=B5=8B=E8=AF=95=E6=B5=81=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../activiti/common/ActivitiCommon.java | 13 + .../demo/common/ProcessDemoCommon.java | 31 +++ .../controller/ProcessDemoController.java | 71 +++++ .../process/demo/entity/ProcessDemo.java | 200 ++++++++++++++ .../listener/ProcessDemoCreateListener.java | 18 ++ .../demo/mapper/ProcessDemoMapper.java | 11 + .../demo/service/ProcessDemoService.java | 248 ++++++++++++++++++ .../process/demo/vo/ProcessDemoVO.java | 24 ++ .../mapper/mapperxml/ProcessDemoMapper.xml | 19 ++ 9 files changed, 635 insertions(+) create mode 100644 laws-modules/src/main/java/com/jero/modules/activiti/common/ActivitiCommon.java create mode 100644 laws-modules/src/main/java/com/jero/modules/activiti/process/demo/common/ProcessDemoCommon.java create mode 100644 laws-modules/src/main/java/com/jero/modules/activiti/process/demo/controller/ProcessDemoController.java create mode 100644 laws-modules/src/main/java/com/jero/modules/activiti/process/demo/entity/ProcessDemo.java create mode 100644 laws-modules/src/main/java/com/jero/modules/activiti/process/demo/listener/ProcessDemoCreateListener.java create mode 100644 laws-modules/src/main/java/com/jero/modules/activiti/process/demo/mapper/ProcessDemoMapper.java create mode 100644 laws-modules/src/main/java/com/jero/modules/activiti/process/demo/service/ProcessDemoService.java create mode 100644 laws-modules/src/main/java/com/jero/modules/activiti/process/demo/vo/ProcessDemoVO.java create mode 100644 laws-modules/src/main/resources/com/jero/modules/activiti/process/demo/mapper/mapperxml/ProcessDemoMapper.xml diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/common/ActivitiCommon.java b/laws-modules/src/main/java/com/jero/modules/activiti/common/ActivitiCommon.java new file mode 100644 index 00000000..22e9e376 --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/activiti/common/ActivitiCommon.java @@ -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"; +} diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/demo/common/ProcessDemoCommon.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/demo/common/ProcessDemoCommon.java new file mode 100644 index 00000000..81b5a326 --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/demo/common/ProcessDemoCommon.java @@ -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"; +} diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/demo/controller/ProcessDemoController.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/demo/controller/ProcessDemoController.java new file mode 100644 index 00000000..6f9ba17b --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/demo/controller/ProcessDemoController.java @@ -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 { + /** + * 服务对象 + */ + @Resource + private ProcessDemoService processDemoService; + + @AutoLog(value = "项目合规评估流程-发起流程") + @ApiOperation(value = "项目合规评估流程-发起流程", notes = "项目合规评估流程-发起流程") + @PostMapping(value = "/startProcess") + public Result startProcess(@Validated @RequestBody ProcessInfoVO processInfoVO) { + processDemoService.startProcess(processInfoVO); + return Result.OK(); + } + + @AutoLog(value = "项目合规评估流程-同意") + @ApiOperation(value = "项目合规评估流程-同意", notes = "项目合规评估流程-同意") + @PostMapping("/agree") + public Result agree(@Validated @RequestBody ProcessInfoVO processInfoVO) { + processDemoService.approveTask(processInfoVO, true); + return Result.OK(); + } + + @AutoLog(value = "项目合规评估流程-驳回") + @ApiOperation(value = "项目合规评估流程-驳回", notes = "项目合规评估流程-驳回") + @PostMapping("/reject") + public Result reject(@Validated @RequestBody ProcessInfoVO processInfoVO) { + processDemoService.approveTask(processInfoVO, false); + return Result.OK(); + } + + @AutoLog(value = "项目合规评估流程-提交") + @ApiOperation(value = "项目合规评估流程-提交", notes = "项目合规评估流程-提交") + @PostMapping("/submit") + public Result submit(@Validated @RequestBody ProcessInfoVO processInfoVO) { + processDemoService.submit(processInfoVO); + return Result.OK(); + } + + +} diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/demo/entity/ProcessDemo.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/demo/entity/ProcessDemo.java new file mode 100644 index 00000000..735d0b95 --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/demo/entity/ProcessDemo.java @@ -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; + } +} \ No newline at end of file diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/demo/listener/ProcessDemoCreateListener.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/demo/listener/ProcessDemoCreateListener.java new file mode 100644 index 00000000..c2c8d4e3 --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/demo/listener/ProcessDemoCreateListener.java @@ -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); + } +} diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/demo/mapper/ProcessDemoMapper.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/demo/mapper/ProcessDemoMapper.java new file mode 100644 index 00000000..62e87968 --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/demo/mapper/ProcessDemoMapper.java @@ -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 { +} \ No newline at end of file diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/demo/service/ProcessDemoService.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/demo/service/ProcessDemoService.java new file mode 100644 index 00000000..ac003a34 --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/demo/service/ProcessDemoService.java @@ -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 { + @Resource + private ISysBaseAPI sysBaseAPI; + @Resource + private IProcessHandleService processHandleService; + @Resource + private ProcessAllService processAllService; + @Resource + private TaskService taskService; + @Resource + private RuntimeService runtimeService; + + public void startProcess(ProcessInfoVO 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 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 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 processInfoVO, ProcessDTO processDTO, boolean pass) { + ProcessDemoVO businessInfoDTO = processInfoVO.getBusinessInfoDTO(); + String mainInterpreter = businessInfoDTO.getMainInterpreter(); + // 完成任务 + String taskId = processDTO.getTaskId(); + Map variables = new HashMap<>(); + variables.put(ActivitiCommon.PASS, pass); + variables.put(ProcessDemoCommon.MAIN_INTERPRETER, mainInterpreter); + taskService.complete(taskId, variables); + } + + public void submit(ProcessInfoVO 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 processInfoVO, ProcessDTO processDTO) { + // 完成任务 + String taskId = processDTO.getTaskId(); + Map variables = new HashMap<>(); + taskService.complete(taskId, variables); + } + + private void initialNodeSubmit(ProcessInfoVO processInfoVO, ProcessDTO processDTO) { + ProcessDemoVO businessInfoDTO = processInfoVO.getBusinessInfoDTO(); + String mainInterpreter = businessInfoDTO.getMainInterpreter(); + // 完成任务 + String taskId = processDTO.getTaskId(); + Map variables = new HashMap<>(); + variables.put(ProcessDemoCommon.MAIN_INTERPRETER, mainInterpreter); + taskService.complete(taskId, variables); + } + + /** + * 主解读人分批下发 + * @param processInfoVO + * @param processDTO + */ + private void bszgjldxf1Submit(ProcessInfoVO 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 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 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 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 userInfoMap = new HashMap<>(); + ProcessInfoVO processInfoVO = new ProcessInfoVO<>(); + BasicProcessInfoDTO basicProcessInfoDTO = new BasicProcessInfoDTO(); + String mainInstanceId =(String) delegateTask.getVariable(ActivitiCommon.MAIN_INSTANCE_ID); + //保存父子关联信息 + Map 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 interpreterList = (List) 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: + } + + } +} diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/demo/vo/ProcessDemoVO.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/demo/vo/ProcessDemoVO.java new file mode 100644 index 00000000..af41e77e --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/demo/vo/ProcessDemoVO.java @@ -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; +} diff --git a/laws-modules/src/main/resources/com/jero/modules/activiti/process/demo/mapper/mapperxml/ProcessDemoMapper.xml b/laws-modules/src/main/resources/com/jero/modules/activiti/process/demo/mapper/mapperxml/ProcessDemoMapper.xml new file mode 100644 index 00000000..b2953f14 --- /dev/null +++ b/laws-modules/src/main/resources/com/jero/modules/activiti/process/demo/mapper/mapperxml/ProcessDemoMapper.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + id, create_by, create_time, update_by, update_time, org_code, del_flag + + \ No newline at end of file