| | |
| | | log.error("服务单ID不能为空"); |
| | | return false; |
| | | } |
| | | |
| | | // 直接查询指定的转运单信息 |
| | | List<Map<String, Object>> transferOrders = legacyTransferSyncMapper.selectTransferOrdersByIDs(serviceOrdID, dispatchOrdID); |
| | | |
| | | Map<String, Object> order = transferOrders.get(0); |
| | | |
| | | // 检查是否已同步 |
| | | if (isTransferOrderSynced(serviceOrdID, dispatchOrdID)) { |
| | | log.info("转运单已同步,跳过: ServiceOrdID={}, DispatchOrdID={}", serviceOrdID, dispatchOrdID); |
| | | updateTransferOrder(serviceOrdID, dispatchOrdID, order); |
| | | return true; |
| | | } |
| | | |
| | | // 直接查询指定的转运单信息 |
| | | List<Map<String, Object>> transferOrders = legacyTransferSyncMapper.selectTransferOrdersByIDs(serviceOrdID, dispatchOrdID); |
| | | |
| | | |
| | | if (transferOrders == null || transferOrders.isEmpty()) { |
| | | log.error("未查询到对应的转运单信息: ServiceOrdID={}, DispatchOrdID={}", serviceOrdID, dispatchOrdID); |
| | | return false; |
| | | } |
| | | |
| | | Map<String, Object> order = transferOrders.get(0); |
| | | |
| | | |
| | | // 同步单个转运单 |
| | | return syncSingleTransferOrder(serviceOrdID, dispatchOrdID, order); |
| | |
| | | String serviceOrdClass = getStringValue(order,"ServiceOrdClass"); |
| | | String serviceOrdNo = getStringValue(order,"ServiceOrdNo"); |
| | | |
| | | Integer oauserId=getIntegerValue(order,"ServiceOrd_NS_ID"); |
| | | /** |
| | | * 创建人ID |
| | | */ |
| | | Integer oauserId=getIntegerValue(order,"ServiceOrd_CC_ID"); |
| | | SysUser sysUser=sysUserService.selectUserByOaUserId(oauserId); |
| | | Long taskCreatorId=sysUser==null?null:sysUser.getUserId(); |
| | | String createUserName=sysUser==null?"system":sysUser.getUserName(); |
| | |
| | | hospitalInInfo.setName(hospitalInName); |
| | | } |
| | | } |
| | | String DispatchOrdTraEnd = getStringValue(order, "DispatchOrdTraEnd"); |
| | | if(DispatchOrdTraEnd!= null){ |
| | | hospitalInInfo.setAddress(DispatchOrdTraEnd); |
| | | String serviceOrdTraEnd = getStringValue(order, "ServiceOrdTraEnd"); |
| | | if(serviceOrdTraEnd!= null){ |
| | | hospitalInInfo.setAddress(serviceOrdTraEnd); |
| | | } |
| | | //转入床位 |
| | | String serviceOrdPtInServices =getStringValue(order, "ServiceOrdPtInServices"); |
| | |
| | | // 设置价格和距离信息 |
| | | createTaskVo.setPrice(getBigDecimalValue(order, "ServiceOrdTraTxnPrice")); |
| | | // 距离信息需要从其他字段计算或获取 |
| | | |
| | | // 设置执行人信息 |
| | | List<TaskCreateVO.AssigneeInfo> assignees = queryAssignees(dispatchOrdID); |
| | | createTaskVo.setAssignees(assignees); |
| | | if(!assignees.isEmpty()){ |
| | | createTaskVo.setAssigneeId(assignees.get(0).getUserId()); |
| | | |
| | | if(dispatchOrdID!=null) { |
| | | // 设置执行人信息 |
| | | List<TaskCreateVO.AssigneeInfo> assignees = queryAssignees(dispatchOrdID); |
| | | createTaskVo.setAssignees(assignees); |
| | | if (!assignees.isEmpty()) { |
| | | createTaskVo.setAssigneeId(assignees.get(0).getUserId()); |
| | | } |
| | | } |
| | | |
| | | // 设置车辆信息 |
| | | // 车辆ID需要根据DispatchOrdCarID查询获取 |
| | | String carID = getStringValue(order, "DispatchOrdCarID"); |
| | |
| | | if (sysUser != null) { |
| | | TaskCreateVO.AssigneeInfo assigneeInfo = new TaskCreateVO.AssigneeInfo(); |
| | | assigneeInfo.setUserId(sysUser.getUserId()); // 使用系统用户ID |
| | | assigneeInfo.setUserName(sysUser.getUserName()); |
| | | assigneeInfo.setUserName(sysUser.getNickName()); |
| | | // 根据EntourageState确定角色类型 |
| | | // 1,2 司机,3,5 医生,4,6 护士 |
| | | if ("1".equals(entourageState) || "2".equals(entourageState)) { |