fix: 标准化发起流程数据流转数据丢失BUG

This commit is contained in:
2023-12-15 16:47:01 +08:00
parent 22741971d5
commit dd3ba33924
2 changed files with 12 additions and 12 deletions
@@ -3,7 +3,6 @@ package com.jero.modules.activiti.process.esAnnualInit.controller;
import com.jero.common.api.vo.Result;
import com.jero.common.api.vo.ResultCommon;
import com.jero.common.aspect.annotation.AutoLog;
import com.jero.common.aspect.annotation.DictPoint;
import com.jero.common.aspect.annotation.Translation;
import com.jero.common.constant.enums.YesOrNoEnum;
import com.jero.common.util.MessageUtils;
@@ -13,7 +12,6 @@ import com.jero.modules.activiti.process.common.service.ActFlowCommonService;
import com.jero.modules.activiti.process.esAnnualInit.entity.ProcessEsAnnualInit;
import com.jero.modules.activiti.process.esAnnualInit.entity.vo.AnnualInitDataVO;
import com.jero.modules.activiti.process.esAnnualInit.service.ProcessEsAnnualInitService;
import com.jero.modules.activiti.process.esArchive.entity.vo.ESArchiveDataVO;
import com.jero.modules.activiti.process.fb.service.IProcessHandleService;
import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO;
import io.swagger.annotations.*;
@@ -131,7 +129,7 @@ public class ESAnnualInitController {
/**
* 批量驳回
*
* @param ids
* @param annualInitData
*/
@AutoLog(value = "企标年度制修订标准化发起流程-批量驳回")
@ApiOperation(value="企标年度制修订标准化发起流程-批量驳回", notes="企标年度制修订标准化发起流程-批量驳回")
@@ -185,7 +185,7 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualI
@Override
public AnnualInitDataVO getHandleData(String taskId) {
String userId = UserUtils.getUserId();
String userId = actFlowCommonService.getOriginTaskAssignee(taskId);
if (!actFlowCommonService.taskExists(taskId)) {
throw new JeroBootException("任务不存在");
}
@@ -209,6 +209,8 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualI
LambdaQueryWrapper<ProcessEsAnnualInit> wrapper = new LambdaQueryWrapper<>();
Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
String taskName = task.getName();
String contactUser = (String) runtimeService.getVariable(executionId, "contactUser");
String workGroupUser = (String) runtimeService.getVariable(executionId, "workGroupUser");
switch (taskName) {
case CONTACT_USER_SELECT:
wrapper.eq(ProcessEsAnnualInit::getContactUser, userId);
@@ -218,8 +220,8 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualI
wrapper.eq(ProcessEsAnnualInit::getRejectFlag, YesOrNoEnum.YES.getValue());
break;
case MAIN_DRAFT_LEADER_APPROVAL:
wrapper.eq(ProcessEsAnnualInit::getApprovalUser, userId).or()
.eq(ProcessEsAnnualInit::getExecutionId, executionId);
wrapper.eq(ProcessEsAnnualInit::getContactUser, contactUser);
wrapper.eq(ProcessEsAnnualInit::getApprovalUser, userId);
break;
case CONTACT_USER_EDIT:
wrapper.eq(ProcessEsAnnualInit::getRejectFlag, YesOrNoEnum.YES.getValue());
@@ -271,9 +273,9 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualI
// 处理驳回
if (pass) {
dataList.forEach(d -> d.setRejectFlag(YesOrNoEnum.NO.getValue()));
List<String> approvalUserList = new ArrayList<>();
dataList.forEach(d -> approvalUserList.add(d.getApprovalUser()));
taskService.setVariable(taskId, "approvalUserList", approvalUserList);
Set<String> approvalUserSet = new HashSet<>();
dataList.forEach(d -> approvalUserSet.add(d.getApprovalUser()));
taskService.setVariable(taskId, "approvalUserList", approvalUserSet);
dataList.forEach(data -> data.setExecutionId(executionId));
saveOrUpdateBatch(dataList);
} else {
@@ -300,10 +302,10 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualI
if (pass) {
dataList.forEach(d -> d.setRejectFlag(YesOrNoEnum.NO.getValue()));
// 设置本地变量
List<String> mainDraftUserList = new ArrayList<>();
dataList.forEach(d -> mainDraftUserList.add(d.getPrcMainDraftUser()));
Set<String> mainDraftUserSet = new HashSet<>();
dataList.forEach(d -> mainDraftUserSet.add(d.getPrcMainDraftUser()));
dataList.forEach(data -> data.setExecutionId(executionId));
taskService.setVariable(taskId, "mainDraftUserList", mainDraftUserList);
taskService.setVariable(taskId, "mainDraftUserList", mainDraftUserSet);
} else {
dataList.forEach(d -> d.setRejectFlag(YesOrNoEnum.YES.getValue()));
}