fix 81727 法规合规评估流程-审批节点有转办,驳回到这个节点,仍然给了转办前的人

This commit is contained in:
lijiarao
2024-02-03 23:07:34 +08:00
parent ec248c1b48
commit a0c944928c
3 changed files with 45 additions and 33 deletions
@@ -465,13 +465,6 @@ public class ProcessProjectAssessService extends ServiceImpl<ProcessProjectAsses
}
processProjectAssessTermUserService.updateBatchById(allTermUserList);
ThreadLocalUtil.put(ProcessProjectAssessCommon.EXECUTION_ID, executionId);
// 完成任务
String taskId = processDTO.getTaskId();
Map<String, Object> variables = new HashMap<>();
variables.put(ProcessProjectAssessCommon.PASS, pass);
taskService.complete(taskId, variables);
ThreadLocalUtil.remove();
if (!Objects.equals(userId,originUserId)){
LambdaQueryWrapper<ProcessProjectAssessTermUser> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(ProcessProjectAssessTermUser::getAssessmentId, businessId);
@@ -491,6 +484,13 @@ public class ProcessProjectAssessService extends ServiceImpl<ProcessProjectAsses
processHandleService.saveNodeUserLink(processDTO.getProcessInstanceId(), ProcessProjectAssessCommon.MKFZRFF, userIdList);
processHandleService.saveNodeUserLink(processDTO.getProcessInstanceId(), ProcessProjectAssessCommon.MKFZRSP, userIdList);
}
ThreadLocalUtil.put(ProcessProjectAssessCommon.EXECUTION_ID, executionId);
// 完成任务
String taskId = processDTO.getTaskId();
Map<String, Object> variables = new HashMap<>();
variables.put(ProcessProjectAssessCommon.PASS, pass);
taskService.complete(taskId, variables);
ThreadLocalUtil.remove();
}
private void gbmzgjldspApprove(ProcessInfoVO<ProcessProjectAssessVO> processInfoVO, ProcessDTO processDTO, boolean pass) {
@@ -31,7 +31,9 @@ import com.jero.modules.activiti.service.ProcessApprovalRecordService;
import com.jero.modules.laws.common.util.CurrentUserUtil;
import com.jero.modules.projectLibrary.entity.LawsEvaluationNotMet;
import com.jero.modules.projectLibrary.service.ILawsEvaluationNotMetService;
import org.activiti.engine.RuntimeService;
import org.activiti.engine.TaskService;
import org.activiti.engine.runtime.Execution;
import org.activiti.engine.task.Task;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
@@ -63,6 +65,8 @@ public class ProcessProjectNotMetService extends ServiceImpl<ProcessProjectNotMe
private ProcessProjectNotMetLinkService processProjectNotMetLinkService;
@Resource
private ILawsEvaluationNotMetService lawsEvaluationNotMetService;
@Resource
private RuntimeService runtimeService;
public ProcessInfoVO<ProcessProjectNotMetVO> queryProcessInfoVO(String draftId, String processInstanceId, String taskId) {
if (StringUtils.isNotBlank(draftId) && StringUtils.isBlank(taskId)) {
@@ -251,19 +255,9 @@ public class ProcessProjectNotMetService extends ServiceImpl<ProcessProjectNotMe
ProcessApprovalRecord processApprovalRecord = processDTO.getProcessApprovalRecord();
String originUserId = processApprovalRecord.getOriginUserId();
String userId = CurrentUserUtil.getId();
// 完成任务
Map<String, Object> variables = new HashMap<>();
if (!pass){
String businessId = processInfoVO.getBusinessId();
LambdaQueryWrapper<ProcessProjectNotMetLink> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(ProcessProjectNotMetLink::getProcessId,businessId);
wrapper.last("limit 1");
ProcessProjectNotMetLink projectNotMetLink = processProjectNotMetLinkService.getOne(wrapper);
String engineerId = projectNotMetLink.getEngineerId();
variables.put(ProcessProjectNotMetCommon.DESIGN_ENGINEER, engineerId);
}
variables.put(ProcessProjectNotMetCommon.PASS, pass);
taskService.complete(processDTO.getTaskId(), variables);
Execution execution = processDTO.getExecution();
String executionId = execution.getId();
//更新未符合项列表状态
ProcessProjectNotMetVO businessInfoDTO = processInfoVO.getBusinessInfoDTO();
List<ProcessProjectNotMetLink> processProjectNotMetLinks = businessInfoDTO.getProcessProjectNotMetLinks();
@@ -288,7 +282,21 @@ public class ProcessProjectNotMetService extends ServiceImpl<ProcessProjectNotMe
List<String> userIdList = new ArrayList<>();
userIdList.add(userId);
processHandleService.saveNodeUserLink(processDTO.getProcessInstanceId(), ProcessProjectNotMetCommon.FGGCSSP, userIdList);
runtimeService.setVariable(executionId,ProcessProjectNotMetCommon.STANDARDS_ENGINEER,userId);
}
// 完成任务
Map<String, Object> variables = new HashMap<>();
if (!pass){
String businessId = processInfoVO.getBusinessId();
LambdaQueryWrapper<ProcessProjectNotMetLink> wrapper1 = new LambdaQueryWrapper<>();
wrapper1.eq(ProcessProjectNotMetLink::getProcessId,businessId);
wrapper1.last("limit 1");
ProcessProjectNotMetLink projectNotMetLink = processProjectNotMetLinkService.getOne(wrapper1);
String engineerId = projectNotMetLink.getEngineerId();
variables.put(ProcessProjectNotMetCommon.DESIGN_ENGINEER, engineerId);
}
variables.put(ProcessProjectNotMetCommon.PASS, pass);
taskService.complete(processDTO.getTaskId(), variables);
}
public void submit(ProcessInfoVO<ProcessProjectNotMetVO> processInfoVO) {
@@ -509,6 +509,7 @@ public class ProcessProjectStandardService extends ServiceImpl<ProcessProjectSta
String originUserId = processApprovalRecord.getOriginUserId();
String userId = CurrentUserUtil.getId();
Task task = processDTO.getTask();
String executionId = task.getExecutionId();
String parentExecutionId = task.getFormKey();
//查询表单
ProcessProjectStandardVO businessInfoDTO = processInfoVO.getBusinessInfoDTO();
@@ -548,6 +549,8 @@ public class ProcessProjectStandardService extends ServiceImpl<ProcessProjectSta
userIdList.add(userId);
processHandleService.saveNodeUserLink(processDTO.getProcessInstanceId(), ProcessProjectStandardCommon.BSZGJLDXF_1, userIdList);
processHandleService.saveNodeUserLink(processDTO.getProcessInstanceId(), ProcessProjectStandardCommon.BSZGJLDSP_1, userIdList);
runtimeService.setVariable(executionId,ProcessProjectStandardCommon.MODULE_OWNER,userId);
}
}
@@ -620,11 +623,6 @@ public class ProcessProjectStandardService extends ServiceImpl<ProcessProjectSta
variables.put(ProcessProjectStandardCommon.MODULE_OWNER_LIST, moduleOwnerList);
variables.put(ProcessProjectStandardCommon.MODULE_OWNER_LIST_SIZE, moduleOwnerList.size());
}
String taskId = processDTO.getTaskId();
variables.put(ProcessProjectStandardCommon.PASS, pass);
taskService.complete(taskId, variables);
ThreadLocalUtil.remove();
if (!Objects.equals(userId,originUserId)){
//更新数据
LambdaQueryWrapper<ProcessProjectStandardTermUser> wrapper = new LambdaQueryWrapper<>();
@@ -634,7 +632,7 @@ public class ProcessProjectStandardService extends ServiceImpl<ProcessProjectSta
List<ProcessProjectStandardTermUser> updateTermUserList = new ArrayList<>();
for (ProcessProjectStandardTermUser termUser : termUserList) {
ProcessProjectStandardTermUser update = new ProcessProjectStandardTermUser();
termUser.setResponsibleUnitLeader(userId);
update.setResponsibleUnitLeader(userId);
update.setId(termUser.getId());
updateTermUserList.add(update);
}
@@ -643,7 +641,12 @@ public class ProcessProjectStandardService extends ServiceImpl<ProcessProjectSta
userIdList.add(userId);
processHandleService.saveNodeUserLink(processDTO.getProcessInstanceId(), ProcessProjectStandardCommon.BSZGJLDXF_1, userIdList);
processHandleService.saveNodeUserLink(processDTO.getProcessInstanceId(), ProcessProjectStandardCommon.BSZGJLDSP_1, userIdList);
runtimeService.setVariable(executionId,ProcessProjectStandardCommon.MANAGER_LEADER,userId);
}
String taskId = processDTO.getTaskId();
variables.put(ProcessProjectStandardCommon.PASS, pass);
taskService.complete(taskId, variables);
ThreadLocalUtil.remove();
}
//法规工程师审批
@@ -786,7 +789,13 @@ public class ProcessProjectStandardService extends ServiceImpl<ProcessProjectSta
variables.put(ProcessProjectStandardCommon.MANAGER_LEADER_LIST, managerLeaderList);
variables.put(ProcessProjectStandardCommon.MANAGER_LEADER_LIST_SIZE, managerLeaderList.size());
}
if (!Objects.equals(userId,originUserId)){
//更新数据
List<String> userIdList = new ArrayList<>();
userIdList.add(userId);
processHandleService.saveNodeUserLink(processDTO.getProcessInstanceId(), ProcessProjectStandardCommon.FGGCSSP, userIdList);
runtimeService.setVariable(executionId,ProcessProjectStandardCommon.STANDARDS_ENGINEER,userId);
}
taskService.complete(taskId, variables);
if (pass){
for (ProcessProjectStandardTerm term : termList) {
@@ -805,12 +814,7 @@ public class ProcessProjectStandardService extends ServiceImpl<ProcessProjectSta
}
}
if (!Objects.equals(userId,originUserId)){
//更新数据
List<String> userIdList = new ArrayList<>();
userIdList.add(userId);
processHandleService.saveNodeUserLink(processDTO.getProcessInstanceId(), ProcessProjectStandardCommon.FGGCSSP, userIdList);
}
}
//部所主管级领导下发