fix(统一加签): 扩展

This commit is contained in:
yjz
2024-07-17 09:38:38 +08:00
parent 048f5b681e
commit 9a304d28ab
4 changed files with 55 additions and 8 deletions
@@ -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<ProcessStandardInterpret>()
.eq(ProcessStandardInterpret::getProjectId, projectId));
if (!Objects.isNull(processStandardInterpret)){
// 处理业务表
String newCountersignPersonIds = processStandardInterpret.getCountersignPersonIds() + "," + userId;
// 更新会签人员信息
processStandardInterpretService.update(
new LambdaUpdateWrapper<ProcessStandardInterpret>()
.eq(ProcessStandardInterpret::getId, processStandardInterpret.getId())
.set(ProcessStandardInterpret::getCountersignPersonIds, newCountersignPersonIds));
}
}
}
@@ -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<ProcessAllMapper, ProcessAll>
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<ProcessAllMapper, ProcessAll>
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) {
@@ -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);
}
@@ -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;
}