From 7168d49a730f8a4f70195fd85eb654888725bc27 Mon Sep 17 00:00:00 2001 From: caihaohan Date: Thu, 26 Oct 2023 10:01:21 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BC=81=E6=A0=87=E7=AB=8B=E9=A1=B9?= =?UTF-8?q?=E5=8F=98=E6=9B=B4=E5=8F=91=E8=B5=B7=E6=B5=81=E7=A8=8B=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../activiti/enums/ProcessTypeEnum.java | 3 + .../controller/ProcessCenterController.java | 13 -- .../process/common/entity/CommonVO.java | 45 +++++ .../process/common/entity/ProcessDraft.java | 12 +- .../common/service/ActFlowCommonService.java | 25 +-- .../common/service/IActFlowCustomService.java | 37 ---- .../ProcessEsAnnualReportServiceImpl.java | 25 +-- .../ProcessESInitChangeController.java | 30 +-- .../entity/vo/FlowUserInfoVO.java | 13 +- .../entity/vo/InitChangeDataVO.java | 22 +++ .../service/ProcessEsInitChangeService.java | 5 +- .../impl/ProcessEsInitChangeServiceImpl.java | 177 +++++++++--------- 12 files changed, 192 insertions(+), 215 deletions(-) create mode 100644 laws-modules/src/main/java/com/jero/modules/activiti/process/common/entity/CommonVO.java delete mode 100644 laws-modules/src/main/java/com/jero/modules/activiti/process/common/service/IActFlowCustomService.java create mode 100644 laws-modules/src/main/java/com/jero/modules/activiti/process/esInitChange/entity/vo/InitChangeDataVO.java diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/enums/ProcessTypeEnum.java b/laws-modules/src/main/java/com/jero/modules/activiti/enums/ProcessTypeEnum.java index ccc9e67c..9c67ca36 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/enums/ProcessTypeEnum.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/enums/ProcessTypeEnum.java @@ -14,8 +14,11 @@ public enum ProcessTypeEnum { /** * A */ + //TODO 企标制修订的implClass不对 A("企标制修订流程", 1, "com.jero.modules.activiti.process.esInitChange.service.impl.ProcessEsInitChangeServiceImpl"), B("企标立项变更流程",2, "com.jero.modules.activiti.process.esInitChange.service.impl.ProcessEsInitChangeServiceImpl"), + C("年度制修订-各部门主动上报",3, "com.jero.modules.activiti.process.esAnnualReport.service.impl.ProcessEsAnnualReportChangeServiceImpl"), + D("年度制修订-标准化发起",4, "com.jero.modules.activiti.process.esAnnualInit.service.impl.ProcessEsAnnualInitServiceImpl"), ; private String name; diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/common/controller/ProcessCenterController.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/common/controller/ProcessCenterController.java index f4227263..afabd12c 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/common/controller/ProcessCenterController.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/common/controller/ProcessCenterController.java @@ -90,17 +90,4 @@ public class ProcessCenterController { public Result draftList(@Valid CenterQueryVO centerQueryVO) { return Result.OK(draftService.getDraftList(centerQueryVO)); } - - /** - * 办理 - * @param processInstanceId - */ - @AutoLog(value = "流程中心-办理") - @ApiOperation(value="流程中心-办理", notes="流程中心-办理") - @GetMapping("/handle") - @Translation - public Result handle(@RequestParam("processInstanceId") String processInstanceId) { - return Result.OK(actFlowCommonService.handleTask(processInstanceId)); - } - } diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/common/entity/CommonVO.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/common/entity/CommonVO.java new file mode 100644 index 00000000..355c59d5 --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/common/entity/CommonVO.java @@ -0,0 +1,45 @@ +package com.jero.modules.activiti.process.common.entity; + +import lombok.Data; + +import java.util.Date; + +/** + * @author: Mzaxd + * @Date: 2023/10/26 7:46 + */ +@Data +public class CommonVO { + + String taskId; + + /** + * 备注 + */ + String commitText; + + /** + * 附件 + */ + String commitFile; + + /** + * 同意驳回标识 + */ + Integer commitFlag; + + /** + * 流程名称 + */ + String prcName; + + /** + * 截止日期 + */ + Date dueTime; + + /** + * 流程描述 + */ + String prcMes; +} diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/common/entity/ProcessDraft.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/common/entity/ProcessDraft.java index 264c57f3..0dfae906 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/common/entity/ProcessDraft.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/common/entity/ProcessDraft.java @@ -46,20 +46,10 @@ public class ProcessDraft implements Serializable { */ private String orgCode; - /** - * 草稿Id - */ - private String draftId; - - /** - * 实体类Id - */ - private String businessId; - /** * 流程类型 */ - private String processKey; + private String prcName; /** * 流程实例id diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/common/service/ActFlowCommonService.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/common/service/ActFlowCommonService.java index 7066563b..5b253eb6 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/common/service/ActFlowCommonService.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/common/service/ActFlowCommonService.java @@ -5,6 +5,7 @@ import com.jero.common.system.api.ISysBaseAPI; import com.jero.common.system.vo.LoginUser; import com.jero.modules.activiti.process.common.entity.CenterQueryVO; import com.jero.modules.activiti.process.common.enums.ProcessType; +import com.jero.modules.activiti.process.esInitChange.entity.vo.InitChangeDataVO; import com.jero.modules.activiti.util.SpringContextUtil; import com.jero.modules.sys.utils.UserUtils; import lombok.extern.slf4j.Slf4j; @@ -43,17 +44,13 @@ public class ActFlowCommonService { /** * 启动流程实例 */ - public ProcessInstance startProcess(String processDefinitionKey, String beanName, String businessId) { + public ProcessInstance startProcess(String processDefinitionKey, InitChangeDataVO initChangeData, Map variables) { ProcessDefinition latestProcessDefinition = repositoryService.createProcessDefinitionQuery() .processDefinitionKey(processDefinitionKey) .orderByProcessDefinitionVersion().desc() .list() .get(0); // 获取最新版本的流程定义 - IActFlowCustomService customService = (IActFlowCustomService) SpringContextUtil.getBean(beanName); - // 修改业务的状态 -// customService.startRunTask(businessId); - Map variables = customService.setVariables(businessId); // 第一个节点默认通过 variables.put("pass", true); // 启动流程 @@ -202,24 +199,6 @@ public class ActFlowCommonService { return processDefinition.getKey(); } - /** - * 办理任务 - * @param processInstanceId - * @return - */ - public Object handleTask(String processInstanceId) { - String processKey = getProcessKeyByInstanceId(processInstanceId); - Object result = null; - switch (processKey) { - case "es-init-change": - IActFlowCustomService service = (IActFlowCustomService) SpringContextUtil.getBean(ProcessType.ES_INIT_CHANGE.getServiceClassName()); - result = service.getHandleData(processInstanceId); - - - } - return result; - } - public void autoCompleteFirstTask(String userId, String processInstanceId, String processDefinitionId) { // 自动完成第一个任务 List> taskList = this.myTaskList(userId); diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/common/service/IActFlowCustomService.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/common/service/IActFlowCustomService.java deleted file mode 100644 index 1a86564c..00000000 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/common/service/IActFlowCustomService.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.jero.modules.activiti.process.common.service; - -import java.util.Map; - -/** - * 业务service 的接口 必须实现接口 实现其方法 - */ -public interface IActFlowCustomService { - - - /** - * 设置流程变量 - * @param processInstanceId - * @return - */ - Map setVariables(String processInstanceId); - - - /** - * 整个流程开始时需要执行的任务 - * @param id - */ - void startRunTask(String id); - - - /** - * 整个流程结束需要执行的任务 - * @param id - */ - void endRunTask(String id); - - /** - * 获取办理数据 - * @param id - */ - Object getHandleData(String id); -} \ No newline at end of file diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualReport/service/impl/ProcessEsAnnualReportServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualReport/service/impl/ProcessEsAnnualReportServiceImpl.java index 63114233..4085bc15 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualReport/service/impl/ProcessEsAnnualReportServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualReport/service/impl/ProcessEsAnnualReportServiceImpl.java @@ -9,7 +9,6 @@ import com.jero.common.exception.JeroBootException; import com.jero.common.system.vo.SysDictItemCore; import com.jero.modules.activiti.process.common.enums.ProcessType; import com.jero.modules.activiti.process.common.service.ActFlowCommonService; -import com.jero.modules.activiti.process.common.service.IActFlowCustomService; import com.jero.modules.activiti.process.esAnnualReport.entity.ProcessEsAnnualReport; import com.jero.modules.activiti.process.esAnnualReport.mapper.ProcessEsAnnualReportMapper; import com.jero.modules.activiti.process.esAnnualReport.service.ProcessEsAnnualReportService; @@ -45,7 +44,7 @@ import java.util.stream.Collectors; @Service @Transactional(rollbackFor = JeroBootException.class) public class ProcessEsAnnualReportServiceImpl extends ServiceImpl - implements ProcessEsAnnualReportService, IActFlowCustomService { + implements ProcessEsAnnualReportService { @Resource private CommonAPI commonAPI; @@ -68,28 +67,6 @@ public class ProcessEsAnnualReportServiceImpl extends ServiceImpl setVariables(String processInstanceId) { - return null; - } - - @Override - public void startRunTask(String id) { - - } - - @Override - public void endRunTask(String id) { - - } - - @Override - public Object getHandleData(String id) { - // 根据当前task定义判断返回数据 - String userId = UserUtils.getUserId(); - return null; - } - @Override public void startProcess() { String userId = UserUtils.getUserId(); diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esInitChange/controller/ProcessESInitChangeController.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esInitChange/controller/ProcessESInitChangeController.java index b24d50a5..49521046 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esInitChange/controller/ProcessESInitChangeController.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esInitChange/controller/ProcessESInitChangeController.java @@ -4,6 +4,7 @@ import com.jero.common.api.vo.Result; import com.jero.common.aspect.annotation.AutoLog; import com.jero.modules.activiti.process.common.entity.TransferVO; import com.jero.modules.activiti.process.esInitChange.entity.ProcessEsInitChange; +import com.jero.modules.activiti.process.esInitChange.entity.vo.InitChangeDataVO; import com.jero.modules.activiti.process.esInitChange.service.ProcessEsInitChangeService; import com.jero.modules.laws.common.constant.FieldCommon; import com.jero.modules.laws.enterprise.entity.dto.ESPlanQueryDTO; @@ -37,6 +38,19 @@ public class ProcessESInitChangeController { @Resource private EnterpriseStandardPlanService espService; + /** + * 新增立项变更申请 + * + * @param initChangeData + */ + @AutoLog(value = "企标立项变更流程-发起立项变更申请") + @ApiOperation(value="企标立项变更流程-发起立项变更申请", notes="企标立项变更流程-发起立项变更申请") + @PostMapping("/start") + public Result startInitChange(@RequestBody InitChangeDataVO initChangeData) { + initChangeService.startInitChange(initChangeData); + return Result.OK(); + } + /** * 生成企标编号并返回 * @param esInitChange @@ -64,23 +78,11 @@ public class ProcessESInitChangeController { @PostMapping("/save") public Result save(@RequestParam(value = "taskId", required = false) String taskId, @RequestBody List esInitChangeList) { + // TODO 按照Demo重写 initChangeService.saveToDraft(taskId, esInitChangeList); return Result.OK(); } - /** - * 新增立项变更申请 - * - * @param esInitChangeList - */ - @AutoLog(value = "企标立项变更流程-发起立项变更申请") - @ApiOperation(value="企标立项变更流程-发起立项变更申请", notes="企标立项变更流程-发起立项变更申请") - @PostMapping("/start") - public Result startInitChange(@RequestBody List esInitChangeList) { - initChangeService.startInitChange(esInitChangeList); - return Result.OK(); - } - /** * 同意 @@ -92,6 +94,7 @@ public class ProcessESInitChangeController { @ApiOperation(value="企标立项变更流程-同意", notes="企标立项变更流程-同意") @PostMapping("/agree") public Result agree(@RequestParam("taskId") String taskId, @RequestBody List esInitChangeList) { + // TODO 重写 initChangeService.approvalInitChange(taskId, esInitChangeList, true); return Result.OK(); } @@ -106,6 +109,7 @@ public class ProcessESInitChangeController { @ApiOperation(value="企标立项变更流程-驳回", notes="企标立项变更流程-驳回") @PostMapping("/reject") public Result reject(@RequestParam("taskId") String taskId, @RequestBody List esInitChangeList) { + // TODO 重写 initChangeService.approvalInitChange(taskId, esInitChangeList, false); return Result.OK(); } diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esInitChange/entity/vo/FlowUserInfoVO.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esInitChange/entity/vo/FlowUserInfoVO.java index a13d361c..07755b38 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esInitChange/entity/vo/FlowUserInfoVO.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esInitChange/entity/vo/FlowUserInfoVO.java @@ -1,5 +1,6 @@ package com.jero.modules.activiti.process.esInitChange.entity.vo; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** @@ -9,36 +10,46 @@ import lombok.Data; @Data public class FlowUserInfoVO { - // 主起草人 + @ApiModelProperty("主起草人") private String mainDraftUser; // 部所联络人 + @ApiModelProperty("部所联络人") private String contactUser; // 标准专家 + @ApiModelProperty("标准专家") private String standardExpert; // 主起草人主管级领导 + @ApiModelProperty("主起草人主管级领导") private String mainDraftUserLeader; // 主起草人主管级领导上级领导 + @ApiModelProperty("主起草人主管级领导上级领导") private String mainDraftUserLeaderLeader; // 标准化审批人 + @ApiModelProperty("标准化审批人") private String standardizationApprovalUser; // 新起草部门主管级领导上级领导 + @ApiModelProperty("新起草部门主管级领导上级领导") private String newMainDraftUserLeaderLeader; // 新起草部门主管级领导 + @ApiModelProperty("新起草部门主管级领导") private String newMainDraftUserLeader; // 相关人员 + @ApiModelProperty("相关人员") private String relatedUser; // 抄送人 + @ApiModelProperty("抄送人") private String copyUser; // 创建人 + @ApiModelProperty("创建人") private String createUser; } diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esInitChange/entity/vo/InitChangeDataVO.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esInitChange/entity/vo/InitChangeDataVO.java new file mode 100644 index 00000000..4de7b4e9 --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esInitChange/entity/vo/InitChangeDataVO.java @@ -0,0 +1,22 @@ +package com.jero.modules.activiti.process.esInitChange.entity.vo; + +import com.jero.modules.activiti.process.common.entity.CommonVO; +import com.jero.modules.activiti.process.esInitChange.entity.ProcessEsInitChange; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.List; + +/** + * @author: Mzaxd + * @Date: 2023/10/26 8:13 + */ +@Data +public class InitChangeDataVO { + + CommonVO commonVO; + + List dataList; + + FlowUserInfoVO flowUserInfoVO; +} diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esInitChange/service/ProcessEsInitChangeService.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esInitChange/service/ProcessEsInitChangeService.java index d3d83836..bf2b33d4 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esInitChange/service/ProcessEsInitChangeService.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esInitChange/service/ProcessEsInitChangeService.java @@ -2,6 +2,7 @@ package com.jero.modules.activiti.process.esInitChange.service; import com.jero.modules.activiti.process.esInitChange.entity.ProcessEsInitChange; import com.baomidou.mybatisplus.extension.service.IService; +import com.jero.modules.activiti.process.esInitChange.entity.vo.InitChangeDataVO; import java.util.List; @@ -14,10 +15,10 @@ public interface ProcessEsInitChangeService extends IService esInitChange); + void startInitChange(InitChangeDataVO initChangeData); /** * 转办 diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esInitChange/service/impl/ProcessEsInitChangeServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esInitChange/service/impl/ProcessEsInitChangeServiceImpl.java index b588db9b..a2538cdd 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esInitChange/service/impl/ProcessEsInitChangeServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esInitChange/service/impl/ProcessEsInitChangeServiceImpl.java @@ -5,21 +5,19 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.jero.common.constant.enums.YesOrNoEnum; import com.jero.common.exception.JeroBootException; -import com.jero.modules.activiti.process.common.entity.ProcessDraft; +import com.jero.modules.activiti.entity.ProcessAll; import com.jero.modules.activiti.process.common.enums.ProcessType; import com.jero.modules.activiti.process.common.service.ActFlowCommonService; -import com.jero.modules.activiti.process.common.service.IActFlowCustomService; import com.jero.modules.activiti.process.common.service.ProcessDraftService; import com.jero.modules.activiti.process.esInitChange.entity.ProcessEsInitChange; +import com.jero.modules.activiti.process.esInitChange.entity.vo.FlowUserInfoVO; +import com.jero.modules.activiti.process.esInitChange.entity.vo.InitChangeDataVO; import com.jero.modules.activiti.process.esInitChange.service.ProcessEsInitChangeService; import com.jero.modules.activiti.process.esInitChange.mapper.ProcessEsInitChangeMapper; +import com.jero.modules.activiti.service.ProcessAllService; import com.jero.modules.laws.enterprise.service.ESSequenceNumberProvider; import com.jero.modules.laws.enterprise.util.EnterpriseStandardUtil; import com.jero.modules.sys.utils.UserUtils; -import com.jero.modules.system.entity.SysDepart; -import com.jero.modules.system.entity.SysUser; -import com.jero.modules.system.service.ISysDepartService; -import com.jero.modules.system.service.ISysUserService; import lombok.extern.slf4j.Slf4j; import org.activiti.engine.runtime.ProcessInstance; import org.springframework.stereotype.Service; @@ -39,7 +37,10 @@ import java.util.stream.Collectors; @Transactional(rollbackFor = JeroBootException.class) @Slf4j public class ProcessEsInitChangeServiceImpl extends ServiceImpl - implements ProcessEsInitChangeService, IActFlowCustomService, ESSequenceNumberProvider { + implements ProcessEsInitChangeService, ESSequenceNumberProvider { + + @Resource + private ProcessAllService processAllService; @Resource private ProcessDraftService processDraftService; @@ -50,84 +51,69 @@ public class ProcessEsInitChangeServiceImpl extends ServiceImpl setVariables(String id) { - ProcessEsInitChange initChange = getById(id); - // 设置流程中各个节点的人 - return this.setVariables(initChange); - } - - private Map setVariables(ProcessEsInitChange initChange) { + public Map setVariables(InitChangeDataVO initChangeData) { + FlowUserInfoVO flowUserInfoVO = initChangeData.getFlowUserInfoVO(); + ProcessEsInitChange initChange = initChangeData.getDataList().get(0); Map map = new HashMap<>(); // 设置流程中各个节点的人 - map.put("createUser", UserUtils.getUserIdByUserName(initChange.getCreateBy())); - map.put("contactUser", initChange.getContactUser()); - map.put("standardExpertList", Optional.ofNullable(initChange.getStandardExpert()).map(s -> Arrays.asList(s.split(","))).orElse(Collections.emptyList())); - map.put("mainDraftUserLeader", initChange.getMainDraftUserLeader()); - map.put("mainDraftUserLeaderLeader", initChange.getMainDraftUserLeaderLeader()); - map.put("standardizationApprovalUser", initChange.getStandardizationApprovalUser()); - map.put("newMainDraftUserLeaderLeader", initChange.getNewMainDraftUserLeaderLeader()); - map.put("newMainDraftUserLeader", initChange.getNewMainDraftUserLeader()); - map.put("relatedUserList", Optional.ofNullable(initChange.getRelatedUser()).map(s -> Arrays.asList(s.split(","))).orElse(Collections.emptyList())); - map.put("copyUser", initChange.getCopyUser()); + map.put("createUser", UserUtils.getUserIdByUserName(flowUserInfoVO.getCreateUser())); + map.put("contactUser", flowUserInfoVO.getContactUser()); + map.put("standardExpertList", Optional.ofNullable(flowUserInfoVO.getStandardExpert()).map(s -> Arrays.asList(s.split(","))).orElse(Collections.emptyList())); + map.put("mainDraftUserLeader", flowUserInfoVO.getMainDraftUserLeader()); + map.put("mainDraftUserLeaderLeader", flowUserInfoVO.getMainDraftUserLeaderLeader()); + map.put("standardizationApprovalUser", flowUserInfoVO.getStandardizationApprovalUser()); + map.put("newMainDraftUserLeaderLeader", flowUserInfoVO.getNewMainDraftUserLeaderLeader()); + map.put("newMainDraftUserLeader", flowUserInfoVO.getNewMainDraftUserLeader()); + map.put("relatedUserList", Optional.ofNullable(flowUserInfoVO.getRelatedUser()).map(s -> Arrays.asList(s.split(","))).orElse(Collections.emptyList())); + map.put("copyUser", flowUserInfoVO.getCopyUser()); // 设置流程分支判断变量 map.put("applicationCategory", initChange.getApplicationCategory()); map.put("projectType", initChange.getProjectType()); return map; } - @Override - public void startRunTask(String id) { - - } - - @Override - public void endRunTask(String id) { - - } - - @Override - public Object getHandleData(String processInstanceId) { - LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); - lambdaQueryWrapper.eq(ProcessEsInitChange::getProcessInstanceId, processInstanceId); - lambdaQueryWrapper.eq(ProcessEsInitChange::getDelFlag, YesOrNoEnum.NO.getValue()); - return list(lambdaQueryWrapper); - } - - @Override - public void startInitChange(List esInitChangeList) { + public void startRunTask(InitChangeDataVO initChangeData) { + List esInitChangeList = initChangeData.getDataList(); // 校验企标编号是否冲突 if (!esUtil.verifyEnStandardNumber(esInitChangeList.get(0).getOriginEnStandardNo())) { throw new JeroBootException("企标编号冲突,请重新生成"); } + } + public InitChangeDataVO getHandleData(String processInstanceId) { + // TODO 获取流程实例数据 +// LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); +// lambdaQueryWrapper.eq(ProcessEsInitChange::getProcessInstanceId, processInstanceId); +// lambdaQueryWrapper.eq(ProcessEsInitChange::getDelFlag, YesOrNoEnum.NO.getValue()); +// return list(lambdaQueryWrapper); + return null; + } + + @Override + public void startInitChange(InitChangeDataVO initChangeData) { + this.startRunTask(initChangeData); + + // 流程Key String processDefinitionKey = ProcessType.ES_INIT_CHANGE.getProcessKey(); String userId = UserUtils.getUserId(); - // 保存到业务流程表 - saveBatch(esInitChangeList); - ProcessEsInitChange initChange = esInitChangeList.get(0); + List esInitChangeList = initChangeData.getDataList(); - // 对数据进行其他操作 - String beanName = ProcessType.ES_INIT_CHANGE.getServiceClassName(); - - ProcessInstance processInstance = actFlowCommonService.startProcess(processDefinitionKey, beanName, initChange.getId()); + // 设置流程变量 + Map variables = setVariables(initChangeData); + // 启动流程 + ProcessInstance processInstance = actFlowCommonService.startProcess(processDefinitionKey, initChangeData, variables); // 获取流程实例ID String processDefinitionId = processInstance.getProcessDefinitionId(); + String processInstanceId = processInstance.getId(); log.info("启动流程实例成功,流程定义ID为:{}", processDefinitionId); - + // 完成第一个任务 List> taskList = actFlowCommonService.myTaskList(userId); if (!CollectionUtils.isEmpty(taskList)) { for (Map map : taskList) { if (map.get("assignee").toString().equals(userId) && map.get("processDefinitionId").toString().equals(processDefinitionId) && - map.get("processInstanceId").toString().equals(processInstance.getId())) { // 添加这一行来进行更精确的匹配 + map.get("processInstanceId").toString().equals(processInstanceId)) { // 添加这一行来进行更精确的匹配 log.info("当前用户ID:{},相关联的流程定义ID:{}", userId, map.get("processDefinitionId").toString()); log.info("匹配到的任务ID:{}", map.get("taskId").toString()); @@ -141,8 +127,17 @@ public class ProcessEsInitChangeServiceImpl extends ServiceImpl esInitChangeList, boolean pass) { - String userId = UserUtils.getUserId(); - Map map = new HashMap<>(); - if (pass) { - // 校验企标编号是否冲突 - if (!esUtil.verifyEnStandardNumber(esInitChangeList.get(0).getOriginEnStandardNo())) { - throw new JeroBootException("企标编号冲突"); - } - // 更新业务流程数据 - saveOrUpdateBatch(esInitChangeList); - map = setVariables(esInitChangeList.get(0)); - } - // 设置流程变量 - map.put("pass", pass); - actFlowCommonService.completeTask(esInitChangeList.get(0).getRemarks(), taskId, userId, map); - // TODO 保存流程审批信息 +// String userId = UserUtils.getUserId(); +// Map map = new HashMap<>(); +// if (pass) { +// // 校验企标编号是否冲突 +// if (!esUtil.verifyEnStandardNumber(esInitChangeList.get(0).getOriginEnStandardNo())) { +// throw new JeroBootException("企标编号冲突"); +// } +// // 更新业务流程数据 +// saveOrUpdateBatch(esInitChangeList); +// map = setVariables(esInitChangeList.get(0)); +// } +// // 设置流程变量 +// map.put("pass", pass); +// actFlowCommonService.completeTask(esInitChangeList.get(0).getRemarks(), taskId, userId, map); +// // TODO 保存流程审批信息 } @Override public void saveToDraft(String taskId, List esInitChange) { - saveOrUpdateBatch(esInitChange); - // 先删后增 - LambdaUpdateWrapper draftWrapper = new LambdaUpdateWrapper<>(); - draftWrapper.in(ProcessDraft::getBusinessId, esInitChange.stream().map(ProcessEsInitChange::getId).collect(Collectors.toList())); - processDraftService.remove(draftWrapper); - List draftList = new ArrayList<>(); - for (ProcessEsInitChange esInitChangeItem : esInitChange) { - ProcessDraft draft = new ProcessDraft(); - draft.setDraftId(UUID.randomUUID().toString()); - draft.setBusinessId(esInitChangeItem.getId()); - draft.setProcessKey(ProcessType.ES_INIT_CHANGE.getProcessKey()); - draftList.add(draft); - } - processDraftService.saveBatch(draftList); +// saveOrUpdateBatch(esInitChange); +// // 先删后增 +// LambdaUpdateWrapper draftWrapper = new LambdaUpdateWrapper<>(); +// draftWrapper.in(ProcessDraft::getBusinessId, esInitChange.stream().map(ProcessEsInitChange::getId).collect(Collectors.toList())); +// processDraftService.remove(draftWrapper); +// List draftList = new ArrayList<>(); +// for (ProcessEsInitChange esInitChangeItem : esInitChange) { +// ProcessDraft draft = new ProcessDraft(); +// draft.setDraftId(UUID.randomUUID().toString()); +// draft.setBusinessId(esInitChangeItem.getId()); +// draft.setProcessKey(ProcessType.ES_INIT_CHANGE.getProcessKey()); +// draftList.add(draft); +// } +// processDraftService.saveBatch(draftList); } @Override