| | |
| | | // 操作命令 |
| | | params.put("DispatchOrd_Check", "0"); // 3=直接强制完成 |
| | | |
| | | // 绩效和费用 |
| | | params.put("DispatchOrdPerfomance", emergency.getTransferPrice() != null ? emergency.getTransferPrice().toString() : "0"); |
| | | // 绩效和费用:确保数值字段不为null |
| | | String transferPrice = "0"; |
| | | if (emergency.getTransferPrice() != null) { |
| | | try { |
| | | transferPrice = emergency.getTransferPrice().toString(); |
| | | if (transferPrice.contains(".")) { |
| | | transferPrice = new java.math.BigDecimal(transferPrice).stripTrailingZeros().toPlainString(); |
| | | } |
| | | } catch (Exception e) { |
| | | log.warn("转换转运价格失败,任务ID: {}, 使用默认值0", task.getTaskId(), e); |
| | | transferPrice = "0"; |
| | | } |
| | | } |
| | | params.put("DispatchOrdPerfomance", transferPrice); |
| | | params.put("StretcherMoney", "0"); // 抬担架费 |
| | | params.put("AddMoneyType", ""); // 附加项目 |
| | | params.put("AddMoney", "0"); // 附加项目费用 |
| | |
| | | params.put("ServiceOrdPtDoctorPhone", ""); // 患者医生电话 |
| | | params.put("TransferModeID", ""); // 转运方式 |
| | | params.put("ServiceOrdVIP", "0"); // VIP客户 |
| | | params.put("ServiceOrdTraTxnPrice", emergency.getTransferPrice() != null ? emergency.getTransferPrice().toString() : "0"); // 成交价 |
| | | // 价格字段复用,确保一致性 |
| | | params.put("ServiceOrdTraTxnPrice", transferPrice); // 成交价 |
| | | params.put("ServiceOrdTraPrePayment", "0"); // 需预付款 |
| | | params.put("SettlementPrice", "0"); // 结算价 |
| | | params.put("ServiceOrdTraPriceReason", ""); // 差价原因 |
| | |
| | | params.put("ServiceOrdEstimatedOrderDate", ""); // 预计派单时间 |
| | | params.put("ServiceOrdEstimatedOrderDateOld", ""); // 原预计派单时间 |
| | | params.put("ServiceOrdViaDistance", "0"); // 中途距离 |
| | | params.put("ServiceOrdTraDistance", emergency.getTransferDistance() != null ? emergency.getTransferDistance().toString() : "0"); // 距离 |
| | | // 距离字段:确保不为空,避免旧系统接口报错 |
| | | String transferDistance = "0"; |
| | | if (emergency.getTransferDistance() != null) { |
| | | try { |
| | | transferDistance = emergency.getTransferDistance().toString(); |
| | | // 去除可能的小数点后多余的0 |
| | | if (transferDistance.contains(".")) { |
| | | transferDistance = new java.math.BigDecimal(transferDistance).stripTrailingZeros().toPlainString(); |
| | | } |
| | | } catch (Exception e) { |
| | | log.warn("转换转运距离失败,任务ID: {}, 使用默认值0", task.getTaskId(), e); |
| | | transferDistance = "0"; |
| | | } |
| | | } |
| | | params.put("ServiceOrdTraDistance", transferDistance); |
| | | params.put("OrderLevel", "0"); // 查看等级 |
| | | params.put("ServiceOrdDepartureType", "1"); // 预约类型 |
| | | params.put("ConditionLevel", "0"); // 病重级别 |