fix: 企标更改流程驳回再次发起之后修改意见没有保存
This commit is contained in:
+16
@@ -0,0 +1,16 @@
|
||||
package com.jero.modules.activiti.process.esChange.entity;
|
||||
|
||||
public class ESChangeTaskNodeIdConstant {
|
||||
|
||||
/** 主起草人发起 */
|
||||
public static final String MAIN_DRAFT_USER_START = "sid-030A34BF-65B2-460C-BCAB-4BFEE0F77987";
|
||||
/** 相关人员校对 */
|
||||
public static final String OTHER_USER_CHECK= "sid-109C6F14-FB23-4A90-A462-F10F344BECD1";
|
||||
/** 主起草人主管级领导审批 */
|
||||
public static final String MAIN_DRAFT_LEADER_APPROVAL = "sid-8A8307F2-20BB-423C-80AA-F426F5F612C3";
|
||||
/** 标准化审批 */
|
||||
public static final String STANDARDIZATION_APPROVAL = "sid-F0B237E0-1D97-455B-BE15-C3796429B412";
|
||||
/** 起草人主管级上一级领导审批 */
|
||||
public static final String MAIN_DRAFT_LEADER_LEADER_APPROVAL = "sid-05CC5BD1-2451-45AF-9453-74AE93D026EF";
|
||||
|
||||
}
|
||||
+25
@@ -9,6 +9,7 @@ import com.jero.common.constant.enums.YesOrNoEnum;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.system.vo.DictModel;
|
||||
import com.jero.modules.activiti.entity.ProcessAll;
|
||||
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
||||
import com.jero.modules.activiti.enums.ProcessStatusEnum;
|
||||
import com.jero.modules.activiti.enums.ProcessTypeEnum;
|
||||
import com.jero.modules.activiti.process.common.entity.CommonVO;
|
||||
@@ -51,6 +52,8 @@ import javax.annotation.Resource;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static com.jero.modules.activiti.process.esChange.entity.ESChangeTaskNodeIdConstant.MAIN_DRAFT_USER_START;
|
||||
|
||||
/**
|
||||
* @author ThinkBook
|
||||
* @description 针对表【process_es_change(企业标准)】的数据库操作Service实现
|
||||
@@ -286,6 +289,27 @@ public class ProcessEsChangeServiceImpl extends ServiceImpl<ProcessEsChangeMappe
|
||||
Date dueTime = commonVO.getDueTime();
|
||||
Integer prcType = ProcessTypeEnum.ES_CHANGE.getValue();
|
||||
actFlowCommonService.updateProcessAll(processInstanceId, userId, prcName, prcMes, prcType, dueTime);
|
||||
// 第一个节点更新修改意见
|
||||
ProcessApprovalRecord record = actFlowCommonService.getNodeIdByTaskId(taskId);
|
||||
String xmlNodeId = record.getNodeId();
|
||||
if (xmlNodeId.equals(MAIN_DRAFT_USER_START)) {
|
||||
// 清理原来的修改意见
|
||||
LambdaQueryWrapper<EsChangeOpinion> esChangeOpinionLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
esChangeOpinionLambdaQueryWrapper.eq(EsChangeOpinion::getBusinessId, data.getId());
|
||||
esChangeOpinionService.remove(esChangeOpinionLambdaQueryWrapper);
|
||||
// 新增修改意见
|
||||
List<EsChangeOpinion> opinionList = data.getList();
|
||||
if (opinionList != null && !opinionList.isEmpty()) {
|
||||
String deptId = userDepartService.getFirstDeptIdByUserId(userId);
|
||||
// 遍历 opinionList,设置 opinion 的 BusinessId
|
||||
opinionList.forEach(opinion -> {
|
||||
opinion.setBusinessId(data.getId());
|
||||
if (StrUtil.isBlank(opinion.getCreateUser())) opinion.setCreateUser(userId);
|
||||
if (StrUtil.isBlank(opinion.getCreateUnit())) opinion.setCreateUnit(deptId);
|
||||
});
|
||||
esChangeOpinionService.saveOrUpdateBatch(opinionList);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (flowUser != null) {
|
||||
Map<String, Object> variables = setVariables(flowUser);
|
||||
@@ -296,6 +320,7 @@ public class ProcessEsChangeServiceImpl extends ServiceImpl<ProcessEsChangeMappe
|
||||
runtimeService.setVariables(executionId, variables);
|
||||
processNodeLinkService.saveNodeUserLink(processDefinitionId, processInstanceId, this.getUserMap(flowUser));
|
||||
}
|
||||
|
||||
// 设置流程变量
|
||||
runtimeService.setVariable(processInstanceId, "pass", pass);
|
||||
// 更新审批表为完成,填充数据
|
||||
|
||||
Reference in New Issue
Block a user