fix: 复审流程标准化发起人员保存BUG

This commit is contained in:
2023-12-12 11:30:02 +08:00
parent c54fe2aea9
commit 598707a090
2 changed files with 25 additions and 1 deletions
@@ -135,7 +135,13 @@ public class ProcessEsRecheck implements Serializable {
* 是否显示
*/
@ApiModelProperty(value = "0不显示 1显示")
private Integer ShowFirstNode;
private Integer showFirstNode;
/**
* 联络人
*/
@ApiModelProperty(value = "联络人")
private String standardizationUser;
@TableField(exist = false)
private static final long serialVersionUID = 1L;
@@ -178,6 +178,8 @@ public class ProcessEsRecheckServiceImpl extends ServiceImpl<ProcessEsRecheckMap
public void approval(ESRecheckDataVO recheckData, boolean pass) {
String userId = UserUtils.getUserId();
CommonVO commonVO = recheckData.getCommon();
ProcessEsRecheck data = recheckData.getData();
Map<String, Object> flowUser = recheckData.getFlowUser();
String taskId = commonVO.getTaskId();
if (StrUtil.isBlank(taskId) && !actFlowCommonService.taskExists(taskId)) {
throw new JeroBootException(ResultCommon.TASK_NOT_EXISTS);
@@ -185,6 +187,22 @@ public class ProcessEsRecheckServiceImpl extends ServiceImpl<ProcessEsRecheckMap
String processInstanceId = actFlowCommonService.getProcessInstanceIdByTaskId(taskId);
if (pass) {
saveOrUpdate(recheckData.getData());
if (flowUser != null) {
// 人员数据
Map<String, Object> variables = recheckData.getFlowUser();
// 设置第联络人节点人员
actFlowCommonService.putIfNotNull(variables, "standardizationUser", data.getStandardizationUser());
// 设置流程变量
Map<String, Object> actVariables = this.setVariables(variables);
// 根据流程实例Id获取流程定义ID
ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(processInstanceId).singleResult();
// 获取流程实例ID
String processDefinitionId = processInstance.getProcessDefinitionId();
// 手动设置所有流程变量
actFlowCommonService.setProcessVariables(processInstanceId, actVariables);
// 保存选人信息
processNodeLinkService.saveNodeUserLink(processDefinitionId, processInstanceId, this.getUserMap(variables));
}
}
// 设置流程变量
runtimeService.setVariable(processInstanceId, "pass", pass);