feat: 企标制修订流程转办驳回

This commit is contained in:
2024-01-10 14:42:36 +08:00
parent 5a67d9fe24
commit e017306845
3 changed files with 47 additions and 11 deletions
@@ -127,7 +127,7 @@ public class ESRevisionController {
@ApiOperation(value="企标制修订流程-转办", notes="企标制修订流程-转办")
@PostMapping(value = "/transfer")
public Result<?> transfer(@RequestBody TransferVO transferVO) {
processHandleService.transfer(transferVO.getTaskId(), transferVO.getUserId());
revisionService.transfer(transferVO.getTaskId(), transferVO.getUserId());
return Result.OK();
}
@@ -1,26 +1,27 @@
package com.jero.modules.activiti.process.esRevision.service;
import com.jero.modules.activiti.process.esRecheck.entity.vo.ESRecheckDataVO;
import com.jero.modules.activiti.process.esRevision.entity.ProcessEsRevision;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.modules.activiti.process.esRevision.entity.vo.ESRevisionDataVO;
import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO;
/**
* @author ThinkBook
* @description 针对表【process_es_revision】的数据库操作Service
* @createDate 2023-12-19 11:58:59
*/
* @author ThinkBook
* @description 针对表【process_es_revision】的数据库操作Service
* @createDate 2023-12-19 11:58:59
*/
public interface EsRevisionService extends IService<ProcessEsRevision> {
ESRevisionDataVO getHandleData(String taskId);
ESRevisionDataVO getHandleData(String taskId);
void autoStartProcess(ESRevisionDataVO revisionData);
void autoStartProcess(ESRevisionDataVO revisionData);
void saveToDraft(ProcessInfoVO<ESRevisionDataVO> processInfoVO);
void saveToDraft(ProcessInfoVO<ESRevisionDataVO> processInfoVO);
void startProcess(ESRevisionDataVO revisionData);
void startProcess(ESRevisionDataVO revisionData);
void approval(ESRevisionDataVO revisionData, boolean pass);
void approval(ESRevisionDataVO revisionData, boolean pass);
void transfer(String taskId, String userId);
}
@@ -540,6 +540,41 @@ public class EsRevisionServiceImpl extends ServiceImpl<EsRevisionMapper, Process
actFlowCommonService.completeTask(taskId, userId);
}
@Override
public void transfer(String taskId, String toUserId) {
// 判断是否是特殊节点,如果是特殊节点则需要替换流程变量
if (StrUtil.isBlank(taskId) && !actFlowCommonService.taskExists(taskId)) {
throw new JeroBootException("taskId为空或任务不存在");
}
if (StrUtil.isBlank(toUserId)) {
throw new JeroBootException("转办人不能为空");
}
Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
// 获取执行id
String executionId = task.getExecutionId();
// 获取当前节点的id
ProcessApprovalRecord record = actFlowCommonService.getNodeIdByTaskId(taskId);
String xmlNodeId = record.getNodeId();
switch (xmlNodeId) {
case MAIN_DRAFT_USER_COLLECT_FIRST:
taskService.setVariable(taskId, "mainDraftUser", toUserId);
break;
case STANDARDIZATION_CHECK:
taskService.setVariable(taskId, "standardizationUser", toUserId);
break;
case CONTACT_USER_DISTRIBUTE:
case CONTACT_USER_COLLECT:
runtimeService.setVariable(executionId, "contactUser", toUserId);
runtimeService.setVariable(executionId, toUserId + "-ExecutionId", executionId);
break;
case CONTACT_USER_LEADER_APPROVAL:
runtimeService.setVariable(executionId, "contactUserLeader", toUserId);
runtimeService.setVariable(executionId, executionId + "-ContactUserLeader", toUserId);
break;
}
processHandleService.transfer(taskId, toUserId);
}
@Override
public void saveToDraft(ProcessInfoVO<ESRevisionDataVO> processInfoVO) {
ESRevisionDataVO businessInfoDTO = processInfoVO.getBusinessInfoDTO();