加签、转办更新左侧人员信息
This commit is contained in:
+31
-4
@@ -1,10 +1,13 @@
|
||||
package com.jero.modules.activiti.process.fb.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.jero.common.api.vo.ResultCommon;
|
||||
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.entity.ProcessNode;
|
||||
import com.jero.modules.activiti.entity.ProcessNodeLink;
|
||||
import com.jero.modules.activiti.enums.ProcessTypeEnum;
|
||||
import com.jero.modules.activiti.process.common.common.DraftCommon;
|
||||
import com.jero.modules.activiti.process.common.entity.ProcessDraft;
|
||||
@@ -16,10 +19,7 @@ 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.activiti.service.ProcessApprovalRecordService;
|
||||
import com.jero.modules.activiti.service.ProcessNodeLinkService;
|
||||
import com.jero.modules.activiti.service.WorkCenterService;
|
||||
import com.jero.modules.activiti.service.*;
|
||||
import com.jero.modules.laws.common.util.CurrentUserUtil;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.activiti.engine.RepositoryService;
|
||||
@@ -61,6 +61,8 @@ public class ProcessHandleServiceImpl implements IProcessHandleService {
|
||||
private ProcessDraftService processDraftService; // 流程草稿表
|
||||
@Resource
|
||||
private ProcessSnapshotService processSnapshotService; // 流程草稿表
|
||||
@Resource
|
||||
private ProcessNodeService processNodeService;
|
||||
/**
|
||||
* @Author: liao
|
||||
* @Date: 2023/11/2 17:04
|
||||
@@ -214,6 +216,31 @@ public class ProcessHandleServiceImpl implements IProcessHandleService {
|
||||
log.error(e.getMessage(),e);
|
||||
throw new JeroBootException(e.getMessage());
|
||||
}
|
||||
|
||||
// 更新节点操作人
|
||||
Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
|
||||
String processDefinitionId = task.getProcessDefinitionId();
|
||||
LambdaQueryWrapper<ProcessApprovalRecord> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(ProcessApprovalRecord::getTaskId,taskId);
|
||||
ProcessApprovalRecord record = processApprovalRecordService.getOne(wrapper, false);
|
||||
if(Objects.isNull(record)){
|
||||
throw new JeroBootException("数据不存在");
|
||||
}
|
||||
String xmlNodeId = record.getNodeId();
|
||||
LambdaQueryWrapper<ProcessNode> queryProcessNode = new LambdaQueryWrapper<>();
|
||||
queryProcessNode.eq(ProcessNode::getProcessDefinitionId,processDefinitionId);
|
||||
queryProcessNode.eq(ProcessNode::getXmlNodeId,xmlNodeId);
|
||||
ProcessNode processNode = processNodeService.getOne(queryProcessNode,false);
|
||||
if(Objects.isNull(processNode)){
|
||||
throw new JeroBootException("数据不存在");
|
||||
}
|
||||
LambdaUpdateWrapper<ProcessNodeLink> updateProcessNodeLink = new LambdaUpdateWrapper<>();
|
||||
updateProcessNodeLink.eq(ProcessNodeLink::getProcessInstanceId,processInstanceId);
|
||||
updateProcessNodeLink.eq(ProcessNodeLink::getProcessNodeId,processNode.getId());
|
||||
updateProcessNodeLink.eq(ProcessNodeLink::getProcessDefinitionId,processDefinitionId);
|
||||
updateProcessNodeLink.eq(ProcessNodeLink::getUserId,userId);
|
||||
updateProcessNodeLink.set(ProcessNodeLink::getUserId,toUserId);
|
||||
processNodeLinkService.update(updateProcessNodeLink);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
-12
@@ -90,18 +90,6 @@ public class ProcessMarketStandardReleaseController extends JeroController<Proce
|
||||
return Result.OK();
|
||||
}
|
||||
|
||||
/**
|
||||
* 转办
|
||||
*
|
||||
*/
|
||||
@AutoLog(value = "市场法规清单发布流程-转办")
|
||||
@ApiOperation(value="市场法规清单发布流程-转办", notes="市场法规清单发布流程-转办")
|
||||
@PostMapping(value = "/transfer")
|
||||
public Result<?> transfer(@RequestBody DelegateTaskParam param) {
|
||||
processHandleService.transfer(param.getTaskId(), param.getUserId());
|
||||
return Result.OK();
|
||||
}
|
||||
|
||||
/**
|
||||
* 新法规导入流程-办理
|
||||
* @param taskId
|
||||
|
||||
+32
-5
@@ -149,10 +149,6 @@ public class ProcessMarketStandardReleaseServiceImpl extends ServiceImpl<Process
|
||||
// 验证是否已发起流程
|
||||
checkProcessStatus(processInfoVO.getBusinessInfoDTO().getManifestId());
|
||||
}
|
||||
ProcessMarketStandardRelease processMarketStandardRelease = processInfoVO.getBusinessInfoDTO();
|
||||
if(!Objects.isNull(processMarketStandardRelease)){
|
||||
saveOrUpdate(processMarketStandardRelease);
|
||||
}
|
||||
// 流程信息
|
||||
BasicProcessInfoDTO basicProcessInfoDTO = processInfoVO.getBasicProcessInfoDTO();
|
||||
// 流程类型
|
||||
@@ -228,7 +224,38 @@ public class ProcessMarketStandardReleaseServiceImpl extends ServiceImpl<Process
|
||||
|
||||
@Override
|
||||
public void submit(ProcessInfoVO<ProcessMarketStandardRelease> processInfoVO) {
|
||||
startProcess(processInfoVO);
|
||||
BasicTaskInfoDTO processTask = processInfoVO.getBasicTaskInfoDTO();
|
||||
String taskId = processTask.getTaskId();
|
||||
// 获取task
|
||||
if (StrUtil.isBlank(taskId) || !actFlowCommonService.taskExists(taskId)) {
|
||||
throw new JeroBootException("taskId为空或任务不存在");
|
||||
}
|
||||
// 获取当前节点的id
|
||||
ProcessApprovalRecord record = actFlowCommonService.getNodeIdByTaskId(taskId);
|
||||
String xmlNodeId = record.getNodeId();
|
||||
// 发起节点 更新业务数据
|
||||
startNodeBusProcess(processInfoVO);
|
||||
String userId = actFlowCommonService.getOriginTaskAssignee(taskId);
|
||||
String processInstanceId = actFlowCommonService.getProcessInstanceIdByTaskId(taskId);
|
||||
// 更新审批表为完成,填充数据
|
||||
actFlowCommonService.updateApprovalInfo(processTask, taskId);
|
||||
// 审批节点
|
||||
actFlowCommonService.completeTask(taskId, userId);
|
||||
// 保存快照
|
||||
// 获取流程通用数据
|
||||
ProcessAll process = processAllService.getByProcessInstanceId(processInstanceId);
|
||||
if(!Objects.isNull(process)){
|
||||
BasicProcessInfoDTO basicProcessInfoDTO = new BasicProcessInfoDTO();
|
||||
basicProcessInfoDTO.setProcessName(process.getPrcName());
|
||||
basicProcessInfoDTO.setProcessType(process.getPrcType());
|
||||
basicProcessInfoDTO.setProcessDefinitionId(process.getProcessDefinitionId());
|
||||
basicProcessInfoDTO.setProcessInstanceId(process.getProcessInstanceId());
|
||||
basicProcessInfoDTO.setProcessDescription(process.getPrcMes());
|
||||
basicProcessInfoDTO.setProcessDueDate(process.getDueTime());
|
||||
processInfoVO.setBasicProcessInfoDTO(basicProcessInfoDTO);
|
||||
// 保存快照
|
||||
processHandleService.saveToSnapshot(processInfoVO,userId);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
-11
@@ -88,17 +88,6 @@ public class ProcessNewStandardImportController extends JeroController<ProcessNe
|
||||
return Result.OK();
|
||||
}
|
||||
|
||||
/**
|
||||
* 转办
|
||||
*
|
||||
*/
|
||||
@AutoLog(value = "新法规导入流程-转办")
|
||||
@ApiOperation(value="新法规导入流程-转办", notes="新法规导入流程-转办")
|
||||
@PostMapping(value = "/transfer")
|
||||
public Result<?> transfer(@RequestBody DelegateTaskParam param) {
|
||||
processHandleService.transfer(param.getTaskId(), param.getUserId());
|
||||
return Result.OK();
|
||||
}
|
||||
|
||||
/**
|
||||
* 新法规导入流程-办理
|
||||
|
||||
+57
-10
@@ -27,9 +27,13 @@ import com.jero.modules.activiti.service.ProcessApprovalRecordService;
|
||||
import com.jero.modules.activiti.service.ProcessNodeLinkService;
|
||||
import com.jero.modules.sys.utils.UserUtils;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.activiti.engine.ProcessEngine;
|
||||
import org.activiti.engine.ProcessEngines;
|
||||
import org.activiti.engine.RuntimeService;
|
||||
import org.activiti.engine.TaskService;
|
||||
import org.activiti.engine.delegate.DelegateExecution;
|
||||
import org.activiti.engine.runtime.ProcessInstance;
|
||||
import org.activiti.engine.task.Task;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
@@ -72,6 +76,10 @@ public class ProcessNewStandardImportServiceImpl extends ServiceImpl<ProcessNewS
|
||||
|
||||
@Resource
|
||||
private SendMessageAPI sendMessageAPI;
|
||||
@Resource
|
||||
private TaskService taskService;
|
||||
@Resource
|
||||
private ProcessEngine processEngine;
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = JeroBootException.class)
|
||||
@@ -173,16 +181,17 @@ public class ProcessNewStandardImportServiceImpl extends ServiceImpl<ProcessNewS
|
||||
// 获取当前节点的id
|
||||
ProcessApprovalRecord record = actFlowCommonService.getNodeIdByTaskId(taskId);
|
||||
String xmlNodeId = record.getNodeId();
|
||||
// 发起节点 更新业务数据
|
||||
if(Objects.equals(ProcessNewStandardImportConstants.STANDARD_ENGINEER_START,xmlNodeId)){
|
||||
startNodeBusProcess(processInfoVO);
|
||||
}else{
|
||||
if(Objects.isNull(processTask.getCommitFlag())){
|
||||
processTask.setCommitFlag(pass ? ActivitiCommon.COMMIT_FLAG1 : ActivitiCommon.COMMIT_FLAG2);
|
||||
}
|
||||
//任务Id 查询任务对象
|
||||
Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
|
||||
if(Objects.isNull(task)){
|
||||
throw new JeroBootException("找不到对应任务");
|
||||
}
|
||||
String processInstanceId = task.getProcessInstanceId();
|
||||
String userId = actFlowCommonService.getOriginTaskAssignee(taskId);
|
||||
String processInstanceId = actFlowCommonService.getProcessInstanceIdByTaskId(taskId);
|
||||
|
||||
if(Objects.isNull(processTask.getCommitFlag())){
|
||||
processTask.setCommitFlag(pass ? ActivitiCommon.COMMIT_FLAG1 : ActivitiCommon.COMMIT_FLAG2);
|
||||
}
|
||||
// 更新审批表为完成,填充数据
|
||||
actFlowCommonService.updateApprovalInfo(processTask, taskId);
|
||||
// 驳回,结束所有节点
|
||||
@@ -199,7 +208,6 @@ public class ProcessNewStandardImportServiceImpl extends ServiceImpl<ProcessNewS
|
||||
// 审批节点
|
||||
actFlowCommonService.completeTask(taskId, userId);
|
||||
|
||||
|
||||
// 保存快照
|
||||
// 获取流程通用数据
|
||||
ProcessAll process = processAllService.getByProcessInstanceId(processInstanceId);
|
||||
@@ -219,7 +227,46 @@ public class ProcessNewStandardImportServiceImpl extends ServiceImpl<ProcessNewS
|
||||
|
||||
@Override
|
||||
public void submit(ProcessInfoVO<ProcessNewStandardImport> processInfoVO) {
|
||||
startProcess(processInfoVO);
|
||||
BasicTaskInfoDTO processTask = processInfoVO.getBasicTaskInfoDTO();
|
||||
String taskId = processTask.getTaskId();
|
||||
// 获取task
|
||||
if (StrUtil.isBlank(taskId) || !actFlowCommonService.taskExists(taskId)) {
|
||||
throw new JeroBootException("taskId为空或任务不存在");
|
||||
}
|
||||
//任务Id 查询任务对象
|
||||
Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
|
||||
if(Objects.isNull(task)){
|
||||
throw new JeroBootException("找不到对应任务");
|
||||
}
|
||||
// 人员信息
|
||||
Map<String, Object> userInfoMap = processInfoVO.getUserInfoMap();
|
||||
// 设置流程变量
|
||||
Map<String, Object> actVariables = setVariables(userInfoMap);
|
||||
String processInstanceId = task.getProcessInstanceId();
|
||||
runtimeService.setVariables(processInstanceId,actVariables);
|
||||
String userId = actFlowCommonService.getOriginTaskAssignee(taskId);
|
||||
// 发起节点 更新业务数据
|
||||
startNodeBusProcess(processInfoVO);
|
||||
// 更新审批表为完成,填充数据
|
||||
actFlowCommonService.updateApprovalInfo(processTask, taskId);
|
||||
// 审批节点
|
||||
actFlowCommonService.completeTask(taskId, userId);
|
||||
|
||||
// 保存快照
|
||||
// 获取流程通用数据
|
||||
ProcessAll process = processAllService.getByProcessInstanceId(processInstanceId);
|
||||
if(!Objects.isNull(process)){
|
||||
BasicProcessInfoDTO basicProcessInfoDTO = new BasicProcessInfoDTO();
|
||||
basicProcessInfoDTO.setProcessName(process.getPrcName());
|
||||
basicProcessInfoDTO.setProcessType(process.getPrcType());
|
||||
basicProcessInfoDTO.setProcessDefinitionId(process.getProcessDefinitionId());
|
||||
basicProcessInfoDTO.setProcessInstanceId(process.getProcessInstanceId());
|
||||
basicProcessInfoDTO.setProcessDescription(process.getPrcMes());
|
||||
basicProcessInfoDTO.setProcessDueDate(process.getDueTime());
|
||||
processInfoVO.setBasicProcessInfoDTO(basicProcessInfoDTO);
|
||||
// 保存快照
|
||||
processHandleService.saveToSnapshot(processInfoVO,userId);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user