调用旧系统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传递给旧系统
| 旧系统参数 | 新系统字段 | 固定值/映射逻辑 | 必填 |
|---|
| 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 | ❌ |
| 旧系统参数 | 新系统字段 | 映射逻辑 | 必填 |
|---|---|---|---|
| ServiceOrdCoName | emergency.patientContact |
患者联系人姓名 | ✅ |
| ServiceOrdCoPhone | emergency.patientPhone |
联系人电话 | ✅ |
| ServiceOrdCoTies | - | 空字符串 (联系人与患者关系) | ❌ |
| 旧系统参数 | 新系统字段 | 映射逻辑 | 必填 |
|---|---|---|---|
| ServiceOrdPtName | emergency.patientName |
患者姓名 | ✅ |
| ServiceOrdPtAge | - | 空字符串 (年龄) | ❌ |
| ServiceOrdPtKG | - | 空字符串 (体重) | ❌ |
| ServiceOrdPtSex | emergency.patientGender | 0→"男", 1→"女" | ❌ |
| ServiceOrdPtNat | - | 空字符串 (国籍) | ❌ |
| ServiceOrdPtIDCard | emergency.patientIdCard | 患者身份证 | ❌ |
| 旧系统参数 | 新系统字段 | 映射逻辑 | 必填 |
|---|---|---|---|
| ServiceOrdPtOutHosp | emergency.hospitalOutName |
转出医院名称 | ✅ |
| ServiceOrdPtOutHospID | - | 固定值 "0" (新医院自动创建) | ❌ |
| ServiceOrdPtServices | emergency.hospitalOutDepartment | 转出科室 | ✅ |
| ServiceOrdPtServicesID | - | 固定值 "0" | ❌ |
| 旧系统参数 | 新系统字段 | 映射逻辑 | 必填 |
|---|---|---|---|
| ServiceOrdPtInHosp | emergency.hospitalInName |
转入医院名称 | ✅ |
| ServiceOrdPtInHospID | - | 固定值 "0" (新医院自动创建) | ❌ |
| ServiceOrdPtInServices | emergency.hospitalInDepartment | 转入科室 | ✅ |
| ServiceOrdPtInServicesID | - | 固定值 "0" | ❌ |
| 旧系统参数 | 新系统字段 | 映射逻辑 | 必填 |
|---|
| ServiceOrdPtDiagnosis | - | 空字符串 (诊断) | ❌ |
| ServiceOrdPtCondition | emergency.patientCondition | 病情描述 | ❌ |
| ServiceOrdTaskRemarks | task.taskDescription | 医护司备注 | ❌ |
| ServiceOrdPtDoctor | - | 空字符串 (患者医生) | ❌ |
| ServiceOrdPtDoctorPhone | - | 空字符串 (医生电话) | ❌ |
| 旧系统参数 | 新系统字段 | 映射逻辑 | 必填 |
|---|
| province | - | 空字符串 (出发地省份) | ❌ |
| city | - | 空字符串 (出发地城市) | ❌ |
| ServiceOrdTraStreet | task.departureAddress 或 emergency.hospitalOutAddress | 出发地地址 | ✅ |
| ServiceOrdTraStreetCoo | - | 空字符串 (出发地坐标) | ❌ |
| ServiceOrdTraEnd | task.destinationAddress 或 emergency.hospitalInAddress | 目的地地址 | ✅ |
| ServiceOrdTraEndCoo | - | 空字符串 (目的地坐标) | ❌ |
| ServiceOrdTraVia | - | 空字符串 (途经地) | ❌ |
| 旧系统参数 | 新系统字段 | 映射逻辑 | 必填 |
|---|
| ServiceOrdViaDistance | - | 固定值 "0" (中途距离) | ❌ |
| ServiceOrdTraDistance | emergency.transferDistance | 转运距离(公里) | ✅ |
| ServiceOrdTraDuration | - | 空字符串 (预计行程时间) | ❌ |
| ServiceOrdTraUnitPrice | - | 固定值 "0" (单价/公里) | ❌ |
| ServiceOrdTraOfferPrice | emergency.transferPrice | 标准报价 | ❌ |
| ServiceOrdTraTxnPrice | emergency.transferPrice | 成交价 | ✅ |
| ServiceOrdTraPrePayment | - | 固定值 "0" (需预付款) | ❌ |
| SettlementPrice | - | 固定值 "0" (结算价) | ❌ |
| ServiceOrdTraPriceReason | - | 空字符串 (差价原因) | ❌ |
| 旧系统参数 | 新系统字段 | 映射逻辑 | 必填 |
|---|---|---|---|
| Phone | emergency.patientPhone |
来电电话 | ❌ |
| TEL_Time | 当前时间 | 格式: yyyy-MM-dd HH:mm:ss | ❌ |
| TEL_Remarks | - | 固定值 "新系统同步" | ❌ |
| 旧系统参数 | 新系统字段 | 映射逻辑 | 必填 |
|---|
| 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" (绩效方案) | ❌ |
| 旧系统参数 | 新系统字段 | 映射逻辑 | 必填 |
|---|
| ServiceOrdOperationRemarks | - | 固定值 "新系统同步创建" | ❌ |
| ServiceOrdEstimatedOrderDate | - | 空字符串 (预计派单时间) | ❌ |
| ServiceOrdSource | - | 固定值 "10" (订单来源=新系统) | ✅ |
| OrderLevel | - | 固定值 "2" (查看等级) | ❌ |
| ServiceOrdDepartureType | - | 固定值 "1" (预约类型) | ❌ |
| ConditionLevel | - | 固定值 "0" (病重级别) | ❌ |
| DirectionType | - | 固定值 "0" (转运去向) | ❌ |
| ServiceOrd_m | - | 固定值 "0" (来源入口) | ❌ |
| FromHQ2_is | - | 固定值 "0" (非总部推送) | ❌ |
| OrderPrice_Auto | - | 固定值 "0" (自动报价参考值) | ❌ |
sys_user.oa_user_id (通过 sys_task.creator_id 查询获取)creator_idsys_user 表: SELECT oa_user_id FROM sys_user WHERE user_id = creator_idoa_user_id 的值"1001"sys_dept.service_order_class (通过 sys_task.dept_id 查询获取)dept_id (归属部门ID)sys_dept 表: SELECT service_order_class FROM sys_dept WHERE dept_id = dept_idservice_order_class 的值"1" (当任务未关联部门或部门未配置编码时)"JA" (中山), "GZ" (广州), "ZJ" (湛江)新系统 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行
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
在同步前,确保以下必填参数有值:
| 日期 | 版本 | 更新内容 |
|---|---|---|
| 2025-10-19 | v1.2 | 优化 ServiceOrdAreaType 参数,使用任务所属分公司的服务单编码 |
| 2025-01-20 | v1.1 | 添加 adminID 参数映射 |
| 2025-01-20 | v1.0 | 初始版本 |