编辑 | blame | 历史 | 原始文档

旧系统同步参数映射表

参数传递说明

调用旧系统ASP接口 admin_save_19.gds 时,需要传递以下所有参数。


核心参数

参数名 新系统来源 说明 示例值
adminID creator.oaUserId 创建任务的用户对应的OA系统用户ID 1001

重要: adminID 通过任务创建人ID (creator_id) 查询用户表 (sys_user),获取该用户的 oa_user_id 字段值

逻辑:
1. 从任务主表获取 creator_id
2. 根据 creator_id 查询 sys_user
3. 获取该用户的 oa_user_id 字段
4. 将 oa_user_id 作为 adminID 传递给旧系统


完整参数映射表

1. 单据基础信息

旧系统参数 新系统字段 固定值/映射逻辑 必填

| ServiceOrdClass | - | 固定值 "JJ" (急救) | ✅ |
| ServiceOrdAreaType | dept.serviceOrderClass | 任务所属分公司的服务单编码
默认值: "1" | ✅ |
| ServiceOrdType | - | 固定值 "1" | ✅ |
| ServiceOrdState | - | 固定值 "2" (正式单) | ✅ |
| ServiceOrdStartDate | task.createTime | 格式: yyyy-MM-dd | ✅ |
| ServiceOrdApptDate | task.plannedStartTime | 格式: yyyy-MM-dd HH:mm:ss | ❌ |

2. 联系人信息

旧系统参数 新系统字段 映射逻辑 必填
ServiceOrdCoName emergency.patientContact 患者联系人姓名
ServiceOrdCoPhone emergency.patientPhone 联系人电话

| ServiceOrdCoTies | - | 空字符串 (联系人与患者关系) | ❌ |

3. 患者信息

旧系统参数 新系统字段 映射逻辑 必填
ServiceOrdPtName emergency.patientName 患者姓名

| ServiceOrdPtAge | - | 空字符串 (年龄) | ❌ |
| ServiceOrdPtKG | - | 空字符串 (体重) | ❌ |
| ServiceOrdPtSex | emergency.patientGender | 0→"男", 1→"女" | ❌ |
| ServiceOrdPtNat | - | 空字符串 (国籍) | ❌ |
| ServiceOrdPtIDCard | emergency.patientIdCard | 患者身份证 | ❌ |

4. 转出医院信息

旧系统参数 新系统字段 映射逻辑 必填
ServiceOrdPtOutHosp emergency.hospitalOutName 转出医院名称

| ServiceOrdPtOutHospID | - | 固定值 "0" (新医院自动创建) | ❌ |
| ServiceOrdPtServices | emergency.hospitalOutDepartment | 转出科室 | ✅ |
| ServiceOrdPtServicesID | - | 固定值 "0" | ❌ |

5. 转入医院信息

旧系统参数 新系统字段 映射逻辑 必填
ServiceOrdPtInHosp emergency.hospitalInName 转入医院名称

| ServiceOrdPtInHospID | - | 固定值 "0" (新医院自动创建) | ❌ |
| ServiceOrdPtInServices | emergency.hospitalInDepartment | 转入科室 | ✅ |
| ServiceOrdPtInServicesID | - | 固定值 "0" | ❌ |

6. 病情信息

旧系统参数 新系统字段 映射逻辑 必填

| ServiceOrdPtDiagnosis | - | 空字符串 (诊断) | ❌ |
| ServiceOrdPtCondition | emergency.patientCondition | 病情描述 | ❌ |
| ServiceOrdTaskRemarks | task.taskDescription | 医护司备注 | ❌ |
| ServiceOrdPtDoctor | - | 空字符串 (患者医生) | ❌ |
| ServiceOrdPtDoctorPhone | - | 空字符串 (医生电话) | ❌ |

7. 地址和坐标信息

旧系统参数 新系统字段 映射逻辑 必填

| province | - | 空字符串 (出发地省份) | ❌ |
| city | - | 空字符串 (出发地城市) | ❌ |
| ServiceOrdTraStreet | task.departureAddressemergency.hospitalOutAddress | 出发地地址 | ✅ |
| ServiceOrdTraStreetCoo | - | 空字符串 (出发地坐标) | ❌ |
| ServiceOrdTraEnd | task.destinationAddressemergency.hospitalInAddress | 目的地地址 | ✅ |
| ServiceOrdTraEndCoo | - | 空字符串 (目的地坐标) | ❌ |
| ServiceOrdTraVia | - | 空字符串 (途经地) | ❌ |

8. 距离和价格信息

旧系统参数 新系统字段 映射逻辑 必填

| ServiceOrdViaDistance | - | 固定值 "0" (中途距离) | ❌ |
| ServiceOrdTraDistance | emergency.transferDistance | 转运距离(公里) | ✅ |
| ServiceOrdTraDuration | - | 空字符串 (预计行程时间) | ❌ |
| ServiceOrdTraUnitPrice | - | 固定值 "0" (单价/公里) | ❌ |
| ServiceOrdTraOfferPrice | emergency.transferPrice | 标准报价 | ❌ |
| ServiceOrdTraTxnPrice | emergency.transferPrice | 成交价 | ✅ |
| ServiceOrdTraPrePayment | - | 固定值 "0" (需预付款) | ❌ |
| SettlementPrice | - | 固定值 "0" (结算价) | ❌ |
| ServiceOrdTraPriceReason | - | 空字符串 (差价原因) | ❌ |

9. 电话记录信息

旧系统参数 新系统字段 映射逻辑 必填
Phone emergency.patientPhone 来电电话
TEL_Time 当前时间 格式: yyyy-MM-dd HH:mm:ss

| TEL_Remarks | - | 固定值 "新系统同步" | ❌ |

10. 转运方式和客服信息

旧系统参数 新系统字段 映射逻辑 必填

| TransferModeID | - | 空字符串 (转运方式) | ❌ |
| ServiceOrdVIP | - | 固定值 "0" (非VIP) | ❌ |
| ServiceOrd_CC_ID | - | 空字符串 (客服人员ID) | ❌ |
| ServiceOrd_Sale_ID | - | 空字符串 (销售人员ID) | ❌ |
| ServiceOrdIntroducer | - | 空字符串 (介绍人) | ❌ |
| ServiceOrd_work_ID | - | 空字符串 (企微客服ID) | ❌ |
| ServiceOrd_work_IDs | - | 空字符串 (其他企微客服ID) | ❌ |
| ServiceOrd_work_is | - | 固定值 "0" (非企微成交) | ❌ |
| CommissionScenarioID | - | 固定值 "0" (绩效方案) | ❌ |

11. 操作和来源信息

旧系统参数 新系统字段 映射逻辑 必填

| ServiceOrdOperationRemarks | - | 固定值 "新系统同步创建" | ❌ |
| ServiceOrdEstimatedOrderDate | - | 空字符串 (预计派单时间) | ❌ |
| ServiceOrdSource | - | 固定值 "10" (订单来源=新系统) | ✅ |
| OrderLevel | - | 固定值 "2" (查看等级) | ❌ |
| ServiceOrdDepartureType | - | 固定值 "1" (预约类型) | ❌ |
| ConditionLevel | - | 固定值 "0" (病重级别) | ❌ |
| DirectionType | - | 固定值 "0" (转运去向) | ❌ |
| ServiceOrd_m | - | 固定值 "0" (来源入口) | ❌ |
| FromHQ2_is | - | 固定值 "0" (非总部推送) | ❌ |
| OrderPrice_Auto | - | 固定值 "0" (自动报价参考值) | ❌ |


参数统计

  • 总参数数量: 66个
  • 必填参数: 11个
  • 新系统映射: 15个
  • 固定值: 28个
  • 空字符串: 23个

关键参数说明

adminID

  • 来源: sys_user.oa_user_id (通过 sys_task.creator_id 查询获取)
  • 查询逻辑:
  1. 从任务表获取 creator_id
  2. 查询 sys_user 表: SELECT oa_user_id FROM sys_user WHERE user_id = creator_id
  3. 获取 oa_user_id 的值
  • 用途: 标识在旧系统中创建该订单的管理员(使用OA系统的用户ID)
  • 类型: 数字字符串
  • 示例: "1001"
  • 注意: 如果用户未配置OA_UserID,则传递空字符串

ServiceOrdAreaType

  • 来源: sys_dept.service_order_class (通过 sys_task.dept_id 查询获取)
  • 查询逻辑:
  1. 从任务表获取 dept_id (归属部门ID)
  2. 查询 sys_dept 表: SELECT service_order_class FROM sys_dept WHERE dept_id = dept_id
  3. 获取 service_order_class 的值
  • 用途: 标识服务单执行区域(分公司的服务单编码)
  • 默认值: "1" (当任务未关联部门或部门未配置编码时)
  • 类型: 字符串
  • 示例: "JA" (中山), "GZ" (广州), "ZJ" (湛江)
  • 注意:
  • 确保创建任务时设置了正确的归属部门
  • 确保分公司配置了服务单编码(可通过部门同步自动获取)

ServiceOrdSource = "10"

  • 含义: 标识订单来源为新系统
  • 用途: 在旧系统中区分订单来源

ServiceOrdState = "2"

  • 含义: 正式单
  • 说明: 新系统同步的订单直接创建为正式单,跳过咨询单阶段

性别映射规则

新系统 emergency.patientGender → 旧系统 ServiceOrdPtSex
"0"  → "男"
"1"  → "女"
其他 → ""

日期时间格式

字段 格式 示例
ServiceOrdStartDate yyyy-MM-dd 2025-01-20
ServiceOrdApptDate yyyy-MM-dd HH:mm:ss 2025-01-20 14:30:00
TEL_Time yyyy-MM-dd HH:mm:ss 2025-01-20 14:30:00

数据优先级

当多个字段可提供同一数据时,优先级如下:

出发地地址:
1. task.departureAddress
2. emergency.hospitalOutAddress

目的地地址:
1. task.destinationAddress
2. emergency.hospitalInAddress


代码实现位置

文件: LegacySystemSyncServiceImpl.java
方法: buildSyncParams(SysTask task, SysTaskEmergency emergency)
行号: 约210-305行


HTTP请求示例

请求方法

POST http://legacy-system.com/admin_save_19.gds
Content-Type: application/x-www-form-urlencoded;charset=UTF-8

请求体示例 (部分参数)

adminID=123&
ServiceOrdClass=JJ&
ServiceOrdAreaType=1&
ServiceOrdType=1&
ServiceOrdState=2&
ServiceOrdCoName=%E5%BC%A0%E4%B8%89&
ServiceOrdCoPhone=13800138000&
ServiceOrdPtName=%E6%9D%8E%E5%9B%9B&
ServiceOrdPtOutHosp=%E4%BA%BA%E6%B0%91%E5%8C%BB%E9%99%A2&
ServiceOrdPtInHosp=%E4%B8%AD%E5%BF%83%E5%8C%BB%E9%99%A2&
ServiceOrdSource=10

成功响应

OK:1016003256

失败响应示例

data not complete
data error ServiceOrdCoPhone,ServiceOrdPtName,
repeat submit

验证清单

在同步前,确保以下必填参数有值:

  • [ ] adminID (创建人ID)
  • [ ] ServiceOrdCoName (联系人姓名)
  • [ ] ServiceOrdCoPhone (联系人电话)
  • [ ] ServiceOrdPtName (患者姓名)
  • [ ] ServiceOrdPtOutHosp (转出医院)
  • [ ] ServiceOrdPtServices (转出科室)
  • [ ] ServiceOrdPtInHosp (转入医院)
  • [ ] ServiceOrdPtInServices (转入科室)
  • [ ] ServiceOrdTraStreet (出发地)
  • [ ] ServiceOrdTraEnd (目的地)
  • [ ] ServiceOrdTraDistance (距离)
  • [ ] ServiceOrdTraTxnPrice (成交价)

更新记录

日期 版本 更新内容
2025-10-19 v1.2 优化 ServiceOrdAreaType 参数,使用任务所属分公司的服务单编码
2025-01-20 v1.1 添加 adminID 参数映射
2025-01-20 v1.0 初始版本