| | |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.stream.Collectors; |
| | | |
| | | @Service |
| | | @Slf4j |
| | |
| | | // 获取任务的执行人员信息列表(包含角色类型) //TODO 如果有两个司机就要 设置 Entourage_1和Entourage_2 |
| | | //两个护士就要设置 Entourage_4和Entourage_6 |
| | | //两个医生要设置 Entourage_3和Entourage_5 |
| | | List<TaskCreateVO.AssigneeInfo> assignees = getTaskAssignees(task.getTaskId()); |
| | | |
| | | if (assignees == null || assignees.isEmpty()) { |
| | | List<TaskCreateVO.AssigneeInfo> assignees = getTaskAssignees(task.getTaskId()); |
| | | log.info("任务的执行人员:{}",assignees.stream().map(TaskCreateVO.AssigneeInfo::getUserName).collect(Collectors.joining(","))); |
| | | if (assignees.isEmpty()) { |
| | | log.warn("任务无执行人员,任务ID: {}", task.getTaskId()); |
| | | // 设置默认空值 |
| | | params.put("EntourageLeadID", ""); |
| | |
| | | String driverOaId = ""; // 司机的OA_UserID |
| | | String doctorOaId = ""; // 医生的OA_UserID |
| | | String nurseOaId = ""; // 护士的OA_UserID |
| | | String driverOaId2=""; |
| | | String nurseOaId2=""; |
| | | String doctorOaId2=""; |
| | | |
| | | // 遍历执行人员,根据角色类型分配到对应的Entourage参数 |
| | | for (int i = 0; i < assignees.size(); i++) { |
| | | TaskCreateVO.AssigneeInfo assignee = assignees.get(i); |
| | | Long userId = assignee.getUserId(); |
| | | String userType = assignee.getUserType(); // 直接使用前端传递的角色类型 |
| | | |
| | | log.info("人员同步,用户ID:{},类型:{}",userId,userType); |
| | | if (userId == null) { |
| | | continue; |
| | | } |
| | |
| | | } |
| | | |
| | | String oaUserId = user.getOaUserId().toString(); |
| | | |
| | | log.info("人员同步 22222,用户ID:{},类型:{}",userId,userType); |
| | | // 根据用户类型分配到对应的Entourage参数 |
| | | if ("driver".equals(userType)) { |
| | | if (driverOaId.isEmpty()) { |
| | | driverOaId = oaUserId; |
| | | } |
| | | if(driverOaId2.isEmpty()){ |
| | | driverOaId2 = oaUserId; |
| | | } |
| | | if(params.get("Entourage_1")==null) { |
| | | params.put("Entourage_1", oaUserId); |
| | | }else{ |
| | |
| | | if (i == 0 && leadEntourageId.isEmpty()) { |
| | | leadEntourageId = "1"; // 司机对应Entourage_1 |
| | | } |
| | | } |
| | | |
| | | } else if ("doctor".equals(userType)) { |
| | | if (doctorOaId.isEmpty()) { |
| | | doctorOaId = oaUserId; |
| | | } |
| | | if(doctorOaId2.isEmpty()){ |
| | | doctorOaId2 = oaUserId; |
| | | } |
| | | if(params.get("Entourage_3")==null) { |
| | | params.put("Entourage_3", oaUserId); |
| | | }else{ |
| | |
| | | if (i == 0 && leadEntourageId.isEmpty()) { |
| | | leadEntourageId = "3"; // 医生对应Entourage_3 |
| | | } |
| | | } |
| | | |
| | | } else if ("nurse".equals(userType)) { |
| | | if (nurseOaId.isEmpty()) { |
| | | nurseOaId = oaUserId; |
| | | } |
| | | if(nurseOaId2.isEmpty()){ |
| | | nurseOaId2 = oaUserId; |
| | | } |
| | | if(params.get("Entourage_4")==null) { |
| | | params.put("Entourage_4", oaUserId); |
| | | }else{ |
| | |
| | | if (i == 0 && leadEntourageId.isEmpty()) { |
| | | leadEntourageId = "4"; // 护士对应Entourage_4 |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | |
| | | // params.put("Entourage_1", driverOaId); // 司机 |
| | | // params.put("Entourage_3", doctorOaId); // 医生 |
| | | // params.put("Entourage_4", nurseOaId); // 护士 |
| | | |
| | | // log.info("任务执行人员同步成功,任务ID: {}, 领队ID: {}, 司机: {}, 医生: {}, 护士: {}", |
| | | // task.getTaskId(), leadEntourageId, driverOaId, doctorOaId, nurseOaId); |
| | | log.info("执行人员:{}", params); |
| | | log.info("任务执行人员同步成功,任务ID: {}, 领队ID: {}, 司机: {}, 医生: {}, 护士: {}", |
| | | task.getTaskId(), leadEntourageId, driverOaId, doctorOaId, nurseOaId); |
| | | |
| | | } catch (Exception e) { |
| | | log.error("同步任务执行人员异常,任务ID: {}", task.getTaskId(), e); |