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.exception.JeroBootException;
|
||||||
import com.jero.common.system.vo.DictModel;
|
import com.jero.common.system.vo.DictModel;
|
||||||
import com.jero.modules.activiti.entity.ProcessAll;
|
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.ProcessStatusEnum;
|
||||||
import com.jero.modules.activiti.enums.ProcessTypeEnum;
|
import com.jero.modules.activiti.enums.ProcessTypeEnum;
|
||||||
import com.jero.modules.activiti.process.common.entity.CommonVO;
|
import com.jero.modules.activiti.process.common.entity.CommonVO;
|
||||||
@@ -51,6 +52,8 @@ import javax.annotation.Resource;
|
|||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
import static com.jero.modules.activiti.process.esChange.entity.ESChangeTaskNodeIdConstant.MAIN_DRAFT_USER_START;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author ThinkBook
|
* @author ThinkBook
|
||||||
* @description 针对表【process_es_change(企业标准)】的数据库操作Service实现
|
* @description 针对表【process_es_change(企业标准)】的数据库操作Service实现
|
||||||
@@ -286,6 +289,27 @@ public class ProcessEsChangeServiceImpl extends ServiceImpl<ProcessEsChangeMappe
|
|||||||
Date dueTime = commonVO.getDueTime();
|
Date dueTime = commonVO.getDueTime();
|
||||||
Integer prcType = ProcessTypeEnum.ES_CHANGE.getValue();
|
Integer prcType = ProcessTypeEnum.ES_CHANGE.getValue();
|
||||||
actFlowCommonService.updateProcessAll(processInstanceId, userId, prcName, prcMes, prcType, dueTime);
|
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) {
|
if (flowUser != null) {
|
||||||
Map<String, Object> variables = setVariables(flowUser);
|
Map<String, Object> variables = setVariables(flowUser);
|
||||||
@@ -296,6 +320,7 @@ public class ProcessEsChangeServiceImpl extends ServiceImpl<ProcessEsChangeMappe
|
|||||||
runtimeService.setVariables(executionId, variables);
|
runtimeService.setVariables(executionId, variables);
|
||||||
processNodeLinkService.saveNodeUserLink(processDefinitionId, processInstanceId, this.getUserMap(flowUser));
|
processNodeLinkService.saveNodeUserLink(processDefinitionId, processInstanceId, this.getUserMap(flowUser));
|
||||||
}
|
}
|
||||||
|
|
||||||
// 设置流程变量
|
// 设置流程变量
|
||||||
runtimeService.setVariable(processInstanceId, "pass", pass);
|
runtimeService.setVariable(processInstanceId, "pass", pass);
|
||||||
// 更新审批表为完成,填充数据
|
// 更新审批表为完成,填充数据
|
||||||
|
|||||||
Reference in New Issue
Block a user