差旅申请新增/修改
接口: /preconsume/trip/save POST JSON
请求参数
| 参数 | 类型 | 必须 | 默认值 | 主键 | 描述 |
|---|---|---|---|---|---|
| businessCode | string | Y | Y | 单据号 | |
| name | string | Y | 申请事由 | ||
| userEmployeeId | string | Y | 报销人工号 | ||
| departmentBizCode | string | Y | 所属部门编码 | ||
| subsidiaryBizCode | string | Y | 所属业务实体编码 | ||
| costTrackings | CostTracking数组 | 辅助核算 | |||
| amount | BigDecimal | Y | 申请金额 | ||
| approvedAmount | BigDecimal | Y | 批准金额 | ||
| submittedAt | long | 单据提交时间 | |||
| approvedAt | long | 单据审批时间 | |||
| userLoans | UserLoanDto数组 | 借款列表 | |||
| handleList | List<String> | 经办人列表(单据小类开启添加经办人才会进行保存) | |||
| correlationPattern | string | 费用关联消费申请单据(FEE_TO_PRE_CONSUME),或者消费申请费用(FEE_TO_PRE_CONSUME_FEE) | |||
| formSubTypeBizCode | string | Y | 单据类型编码 | ||
| travelRecords | TravelRecord数组 | Y | 行程 | ||
| comments | string | N | 备注 | ||
| customFormValues | CustomFormValue数组 | 自定义表单内容 (不支持自定义字段-附件) | |||
| accompaniedUserList | AccompaniedUserDto数组 | 单据上的同行人 | |||
| acceptCcy | string | 申请币种,单据类型需开启"申请币种" | |||
| correlationOrderIds | string | 生态系统订单号,以逗号隔开 | |||
| aliTrip | boolean | 是否阿里商旅订单 (开启后TravelRecord传阿里商旅地址库) | |||
| stagingFlag | boolean | 暂存标识,非必填,默认为false表示不暂存 |
备注
CostTracking 结构
| 参数 | 类型 | 必须 | 默认值 | 主键 | 描述 |
|---|---|---|---|---|---|
| costTrackingName | string | Y | 辅助核算名称 | ||
| costTrackingItemBizCode | string | Y | 辅助核算选项编码 |
TravelRecord 结构
| 参数 | 类型 | 必须 | 默认值 | 主键 | 描述 |
|---|---|---|---|---|---|
| departure | string | Y | 出发地 | ||
| destination | string | Y | 目的地 | ||
| begin | long | Y | 行程起始时间,时间戳 | ||
| end | long | Y | 行程结束时间,时间戳 | ||
| days | BigDecimal | Y | 天数 | ||
| travelTypeName | string | Y | 差旅类型名称 | ||
| details | TravelDetail数组 | N | 行程明细,当单据小类开关"消费明细为必填项"打开时必填 | ||
| accompaniedUserList | AccompaniedUserDto数组 | 行程上的同行人 | |||
| costTrackings | CostTracking数组 | 辅助核算 |
TravelDetail 结构
| 参数 | 类型 | 必须 | 默认值 | 主键 | 描述 |
|---|---|---|---|---|---|
| feeTypeBizCode | string | Y | 费用类型编码 | ||
| amount | BigDecimal | Y | 金额 | ||
| approvedAmount | BigDecimal | Y | 批准金额 | ||
| props | TravelDetailProp数组 | Y | 动态字段数组 |
TravelDetailProp 结构
| 参数 | 类型 | 必须 | 默认值 | 主键 | 描述 |
|---|---|---|---|---|---|
| dynamicCode | string | Y | 动态编码,具体表单字段对应Code见下表 | ||
| value | string | Y | 对应字段的值 |
动态表单
| 表单字段 | dynamicCode | value的取值范围 |
|---|---|---|
| 入住时间 | 1 | yyyy-MM-dd格式字符串 |
| 离开时间 | 2 | yyyy-MM-dd格式字符串 |
| 间*夜 | 3 | |
| 出发时间 | 4 | yyyy-MM-dd格式字符串 |
| 出发城市 | 5 | 每刻地址编码 |
| 目的城市 | 6 | 每刻地址编码 |
| 舱位级别 | 7 | FIRST(头等舱),BUSINESS(商务舱),ECONOMY(经济舱) |
| 座位类型 | 8 | BUSINESS(商务座),SPECIAL(特等座),FIRST(一等座),SECOND(二等座),SOFT_SLEEPER(软卧),ADVANCED_SOFT_SLEEPER(高级软卧),HARD_SLEEPER(硬卧),SOFT(软座),HARD(硬座) |
| 消费城市 | 9 | 每刻地址编码 |
| 消费时间 | 10 | yyyy-MM-dd格式字符串 |
| 航程类型 | 11 | SINGLE(单程),ROUND(往返) |
| 航班类型 | 12 | DOMESTIC(国内航班),INTERNATIONAL(国际航班) |
| 差旅平台 | 13 | ctrip(携程),fanjia(泛嘉),meiya(美亚),didi(滴滴) ,tripwise(差旅管家) |
UserLoanDto 结构
| 参数 | 类型 | 必须 | 默认值 | 主键 | 描述 |
|---|---|---|---|---|---|
| loanTypeBizCode | string | Y | 借款类型编码 | ||
| loanAmount | BigDecimal | Y | 借款金额 | ||
| loanTypeMode | string | 借款管理模式(POOL, FORM) | |||
| currency | string | Y | 借款币种 | ||
| loanRepaymentDate | long | 预计还款时间 |
UserLoanDto内容说明
借款类型必须是往来款类型-对私借款中维护的借款类型,对应的编码可以使用已禁用的借款类型
借款管理模式默认保持借款类型当前的管理模式;可选值:FORM、POOL
借款币种,对于单据化借款,币种必须为业务实体的报销币种;对于池化借款,只可传入业务实体本币
对于预计还款时间,单据化借款必填,池化借款不可填写
CustomFormValue 结构(详细说明请参考-自定义字段参数说明)
| 参数 | 类型 | 是否必填 | 描述 |
|---|---|---|---|
| identifier | string | Y | 字段占位符 |
| value | string | 字段内容 | |
| detailFieldValues | List<Map<String,String>> | 明细类型字段 |
AccompaniedUserDto 结构
| 参数 | 类型 | 是否必填 | 描述 |
|---|---|---|---|
| employeeId | string | Y | 员工工号 |
| associateRuleName | string | Y | 同行人配置名称 |
| name | string | 姓名 | |
| rank | string | 职级 | |
| department | string | 部门 | |
| company | string | 公司 | |
| identityNo | string | 证件号 | |
| firstName | string | 英文名firstName | |
| middleName | string | 英文名middleName | |
| lastName | string | 英文名lastName |
当传入的同行人配置是内部同行人时,employeeId为必填
备注
消费申请金额的币种使用的是传入的对应的业务实体本币;如开启"申请币种",且填写该参数,费用的币种为申请币种
差旅类型名称(travelTypeName)见每刻系统-财务管理-差旅类型
涉及地址的字段,传每刻的地址编码表中对应的place_full_code,每刻地址编码表如果没有请联系我们提供,如杭州市区,对应的place_full_code为domestic-ZH32-ZH32_1-ZH32_1_01
费用类型编码(feeTypeBizCode)见每刻系统-财务管理-费用类型里的编码
行程明细费用类型为‘员工住宿’时动态字段需要传1、2、3、9,为‘员工机票’需要传4、5、6、7、11、12,为其他时传9、10 行程明细为费用类型“员工住宿”、“员工机票”、“员工住宿”、“员工火车票”并且需要选差旅平台,请传13 例:行程明细费用类型‘员工机票’传的数据格式如下
{
"amount": 150,
"feeTypeBizCode": "2002_01",
"props": [
{
"value": "2017-09-23",
"dynamicCode": "4"
},
{
"value": "domestic-ZH32-ZH32_6-ZH32_6_01",
"dynamicCode": "5"
},
{
"value": "domestic-ZH32-ZH32_1-ZH32_1_01",
"dynamicCode": "6"
},
{
"value": "FIRST",
"dynamicCode": "7"
},
{
"value": "SINGLE",
"dynamicCode": "11"
},
{
"value": "DOMESTIC",
"dynamicCode": "12"
}
]
}
单据类型编码见每刻系统-单据与流程-单据设置,点击对应类型查看详情
返回参数
该接口采用单条失败的处理方式,即整批数据中,如果只有其中的几条因为各种原因失败,那么只有那几条数据不会被保存;其它的数据仍然会被正常处理;错误数据的主键(businessCode)会被放在errorData里面;
errorData为结构题, 包含出错记录主键(businessCode), 以及与之对应的出错信息; 类似 {"项目": "部门不存在"}; 具体参见失败实例;
为保持向后兼容, data也会包含有和errorData相同的记录,但后续可能会改变;
示例:
请求数据
{
"timestamp": 1506297600000,
"data": [
{
"businessCode": "LMPC20070001",
"name": "差旅申请1",
"userEmployeeId": "10001",
"departmentBizCode": "DP1606271XN2TRSW",
"subsidiaryBizCode": "SU1606271XFWMUIO",
"formSubTypeBizCode": "PLC1709151JK8IM0W",
"costTrackings": [
{
"costTrackingName": "客户",
"costTrackingItemBizCode": "yasha"
}
],
"amount": 150,
"approvedAmount": 150,
"submittedAt": 1506297600000,
"userLoans": [
{
"loanTypeBizCode": "0001",
"loanAmount": 100,
"loanTypeMode": "FORM",
"currency": "EUR",
"loanRepaymentDate": 1555567604
}
]
"travelRecords": [
{
"destination": "domestic-ZH32-ZH32_6-ZH32_6_01",
"departure": "domestic-ZH32-ZH32_1-ZH32_1_01",
"begin": 1506124800000,
"end": 1506211200000,
"days": 1,
"travelTypeName": "国内出差",
"details": [
{
"amount": 150,
"approvedAmount": 150,
"feeTypeBizCode": "2001_01",
"feeTypeName": "员工住宿",
"props": [
{
"value": "2017-09-23",
"dynamicCode": "1"
},
{
"value": "2017-09-25",
"dynamicCode": "2"
},
{
"value": "domestic-ZH32-ZH32_1-ZH32_1_01",
"dynamicCode": "9"
},
{
"value": "1",
"dynamicCode": "3"
}
]
}
]
}
],
"handleList": ["UI2109011CLAU2YO","UI2109011D03Y4U8"],
"correlationOrderIds":"2141242115,231430242392"
}
]
}
返回数据(成功)
{
"code": "ACK",
"message": "",
}
返回数据(失败)
{
"code": "NACK",
"errorData": {"LMPC20070001": "未知错误"}
}