feat: 审批节点改为多选节点

This commit is contained in:
2024-07-17 18:55:26 +08:00
parent 92fc2acd77
commit 8ee621bb61
2 changed files with 15 additions and 9 deletions
@@ -19,9 +19,9 @@ public class ProcessStandardComplianceCheckConstants {
/** 会签人员列表 */
public static final String COUNTERSIGN_USER_LIST = "countersignUserList";
/** 设计工程师科室经理审核 */
public static final String MANAGER = "manager";
public static final String MANAGER_LIST = "managerList";
/** 高级经理/技术官 */
public static final String SENIOR_MANAGER = "seniorManager";
public static final String SENIOR_MANAGER_LIST = "seniorManagerList";
/** 未分配数量 */
public static final String UNALLOCATED_QUANTITY = "unallocatedQuantity";
/** 主表Id */
@@ -274,6 +274,7 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<Proce
case DEPT_USER_DISTRIBUTE:
// 设置主排查人
String mainCheckUser = businessInfoDTO.getStandardInfo().getMainCheckUser();
runtimeService.setVariable(processInstanceId, DEPT_USER, curUserId);
runtimeService.setVariable(processInstanceId, MAIN_CHECK_USER, mainCheckUser);
// 保存选人信息
userMap.put(MAIN_CHECK_USER, mainCheckUser);
@@ -322,13 +323,15 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<Proce
} else {
// 不分发直接设置后续审批节点的人员变量
List<String> counterSignUserList = Arrays.asList(standardInfo.getCountersignUser().split(","));
List<String> managerList = Arrays.asList(standardInfo.getManager().split(","));
List<String> seniorMangagerList = Arrays.asList(standardInfo.getSeniorManager().split(","));
runtimeService.setVariable(processInstanceId, COUNTERSIGN_USER_LIST, counterSignUserList);
runtimeService.setVariable(processInstanceId, MANAGER, standardInfo.getManager());
runtimeService.setVariable(processInstanceId, SENIOR_MANAGER, standardInfo.getSeniorManager());
runtimeService.setVariable(processInstanceId, MANAGER_LIST, managerList);
runtimeService.setVariable(processInstanceId, SENIOR_MANAGER_LIST, seniorMangagerList);
// 保存选人信息
userMap.put(COUNTERSIGN_USER_LIST, standardInfo.getCountersignUser());
userMap.put(MANAGER, standardInfo.getManager());
userMap.put(SENIOR_MANAGER, standardInfo.getSeniorManager());
userMap.put(MANAGER_LIST, standardInfo.getManager());
userMap.put(SENIOR_MANAGER_LIST, standardInfo.getSeniorManager());
processNodeLinkService.saveNodeUserLink(processDefinitionId, processInstanceId, userMap);
// 保存数据
detailInfoList.forEach(detail -> {
@@ -339,6 +342,7 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<Proce
}
runtimeService.setVariable(processInstanceId, DISTRIBUTE, distributeFlag);
runtimeService.setVariable(processInstanceId, UNALLOCATED_QUANTITY, unallocatedQuantity);
runtimeService.setVariable(processInstanceId, MAIN_CHECK_USER, curUserId);
break;
case DESIGNER_ENGINEER_EVALUATION:
// 保存数据
@@ -347,8 +351,10 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<Proce
detail.setAuthDept(curUserDepartIds);
});
sccDetailService.updateBatchById(detailInfoList);
runtimeService.setVariable(processInstanceId, DESIGNER, curUserId);
break;
case MAIN_CHECK_USER_COLLECT:
sccDetailService.updateBatchById(detailInfoList);
break;
}
runtimeService.setVariable(processInstanceId, PASS, true);
@@ -438,9 +444,9 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<Proce
}
setStringAttribute(mainInstanceId, DEPT_USER, scc::setDeptUser, Object::toString);
setStringAttribute(mainInstanceId, MAIN_CHECK_USER, scc::setMainCheckUser, Object::toString);
setListAttribute(mainInstanceId, COUNTERSIGN_USER_LIST, v -> scc.setCountersignUser(String.join(",", (List<String>) v)), v -> (List<String>) v);
setStringAttribute(mainInstanceId, MANAGER, scc::setManager, Object::toString);
setStringAttribute(mainInstanceId, SENIOR_MANAGER, scc::setSeniorManager, Object::toString);
// setListAttribute(mainInstanceId, COUNTERSIGN_USER_LIST, v -> scc.setCountersignUser(String.join(",", (List<String>) v)), v -> (List<String>) v);
// setListAttribute(mainInstanceId, MANAGER, scc::setManager, Object::toString);
// setListAttribute(mainInstanceId, SENIOR_MANAGER, scc::setSeniorManager, Object::toString);
}
private void setListAttribute(String instanceId, String variableName, Consumer<List<String>> setter, Function<Object, List<String>> converter) {