From 9a304d28ab28d53d7c8983cb89335cba16edd0d4 Mon Sep 17 00:00:00 2001 From: yjz <3131811435@qq.com> Date: Wed, 17 Jul 2024 09:38:38 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E7=BB=9F=E4=B8=80=E5=8A=A0=E7=AD=BE):=20?= =?UTF-8?q?=E6=89=A9=E5=B1=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/StandardInterpretFlow.java | 31 ++++++++++++++++--- .../activiti/service/ProcessAllService.java | 20 ++++++++++-- .../activiti/service/WorkCenterService.java | 7 +++++ .../activiti/vo/DelegateTaskParam.java | 5 ++- 4 files changed, 55 insertions(+), 8 deletions(-) diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/standardinterpret/service/impl/StandardInterpretFlow.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/standardinterpret/service/impl/StandardInterpretFlow.java index 2b2ae1af..5dabda09 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/standardinterpret/service/impl/StandardInterpretFlow.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/standardinterpret/service/impl/StandardInterpretFlow.java @@ -1,15 +1,22 @@ package com.jero.modules.activiti.process.standardinterpret.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.jero.common.exception.JeroBootException; import com.jero.modules.activiti.entity.ProcessAll; import com.jero.modules.activiti.entity.ProcessApprovalRecord; +import com.jero.modules.activiti.process.standardinterpret.entity.ProcessStandardInterpret; +import com.jero.modules.activiti.process.standardinterpret.service.ProcessStandardInterpretService; import com.jero.modules.activiti.service.ProcessAllService; import com.jero.modules.activiti.service.WorkCenterService; import com.jero.modules.activiti.util.SpringContextUtil; +import com.jero.modules.activiti.vo.DelegateTaskParam; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.Objects; + /** * @ClassName: EsInspectPlanFlowService * @Description: @@ -30,10 +37,6 @@ public class StandardInterpretFlow implements WorkCenterService { // 删除业务表数据 ProcessAllService processAllService = SpringContextUtil.getBean(ProcessAllService.class); processAllService.physicalDeleteByProjectId("process_standard_interpret", processAll.getProjectId()); -// processAllService.physicalDeleteByProjectId("process_standard_interpret_clause", -// processAll.getProjectId()); -// processAllService.physicalDeleteByProjectId("process_standard_interpret_clause_sublist", -// processAll.getProjectId()); } /** @@ -48,4 +51,24 @@ public class StandardInterpretFlow implements WorkCenterService { ProcessAllService processAllService = SpringContextUtil.getBean(ProcessAllService.class); processAllService.specialTransfer(processAll, processApprovalRecord, toUserId, userId); } + + @Override + public void flowCountersign(DelegateTaskParam param) { + String projectId = param.getProjectId(); + String userId = param.getUserId(); + ProcessStandardInterpretService processStandardInterpretService = + SpringContextUtil.getBean(ProcessStandardInterpretService.class); + ProcessStandardInterpret processStandardInterpret = processStandardInterpretService.getOne( + new LambdaQueryWrapper() + .eq(ProcessStandardInterpret::getProjectId, projectId)); + if (!Objects.isNull(processStandardInterpret)){ + // 处理业务表 + String newCountersignPersonIds = processStandardInterpret.getCountersignPersonIds() + "," + userId; + // 更新会签人员信息 + processStandardInterpretService.update( + new LambdaUpdateWrapper() + .eq(ProcessStandardInterpret::getId, processStandardInterpret.getId()) + .set(ProcessStandardInterpret::getCountersignPersonIds, newCountersignPersonIds)); + } + } } diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/service/ProcessAllService.java b/laws-modules/src/main/java/com/jero/modules/activiti/service/ProcessAllService.java index 15180009..b6beca09 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/service/ProcessAllService.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/service/ProcessAllService.java @@ -9,8 +9,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.jero.common.api.PushWorkflowIntegrationAPI; import com.jero.common.api.SendMessageAPI; -import com.jero.common.api.dto.message.UnifiedTodoVO; import com.jero.common.api.dto.message.SendMessageDTO; +import com.jero.common.api.dto.message.UnifiedTodoVO; import com.jero.common.api.vo.ResultCommon; import com.jero.common.constant.CommonConstant; import com.jero.common.constant.enums.YesOrNoEnum; @@ -28,7 +28,6 @@ import com.jero.modules.activiti.mapper.ProcessAllMapper; import com.jero.modules.activiti.process.common.common.DraftCommon; import com.jero.modules.activiti.process.common.entity.ProcessDraft; import com.jero.modules.activiti.process.common.service.ProcessDraftService; -import com.jero.modules.activiti.process.standardinterpret.common.StandardInterpretCommon; import com.jero.modules.activiti.util.ActivityCountersign; import com.jero.modules.activiti.util.SpringContextUtil; import com.jero.modules.activiti.vo.DelegateTaskParam; @@ -299,6 +298,7 @@ public class ProcessAllService extends ServiceImpl public void delegateTask(DelegateTaskParam param) { String taskId = param.getTaskId(); String userId = param.getUserId(); + Integer prcType = param.getPrcType(); Task task = taskService.createTaskQuery().taskId(taskId).singleResult(); String processInstanceId = task.getProcessInstanceId(); @@ -327,8 +327,22 @@ public class ProcessAllService extends ServiceImpl processNodeLink.setUserId(userId); processNodeLinkService.save(processNodeLink); - managementService.executeCommand( + Boolean b = managementService.executeCommand( new ActivityCountersign(taskId, userId, processNode.getVariableName())); + + if (Boolean.TRUE.equals(b)) { + WorkCenterService classByValue = null; + try { + Object o = Class.forName(ProcessTypeEnum.getClassByValue(prcType)).newInstance(); + if (o instanceof WorkCenterService){ + classByValue = (WorkCenterService) o; + classByValue.flowCountersign(param); + } + }catch (Exception e) { + log.error(e.getMessage(),e); + throw new JeroBootException(e.getMessage()); + } + } } public void resolveTask(ResolveTaskParam param) { diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/service/WorkCenterService.java b/laws-modules/src/main/java/com/jero/modules/activiti/service/WorkCenterService.java index 7c4bf272..d234c435 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/service/WorkCenterService.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/service/WorkCenterService.java @@ -2,6 +2,7 @@ package com.jero.modules.activiti.service; import com.jero.modules.activiti.entity.ProcessAll; import com.jero.modules.activiti.entity.ProcessApprovalRecord; +import com.jero.modules.activiti.vo.DelegateTaskParam; /** * @author liJiaRao @@ -23,4 +24,10 @@ public interface WorkCenterService { * @param userId */ void handleTransfer(ProcessAll processAll, ProcessApprovalRecord processApprovalRecord, String toUserId, String userId); + + /** + * 处理加签 + * @param param + */ + void flowCountersign(DelegateTaskParam param); } diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/vo/DelegateTaskParam.java b/laws-modules/src/main/java/com/jero/modules/activiti/vo/DelegateTaskParam.java index 7822cd86..557c240a 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/vo/DelegateTaskParam.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/vo/DelegateTaskParam.java @@ -2,7 +2,6 @@ package com.jero.modules.activiti.vo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import org.springframework.web.bind.annotation.RequestParam; /** * @author liJiaRao @@ -14,4 +13,8 @@ public class DelegateTaskParam { String taskId; @ApiModelProperty(value = "用户id") String userId; + @ApiModelProperty(value = "项目id") + String projectId; + @ApiModelProperty(value = "流程类型") + Integer prcType; }