差旅申请新增/修改
接口: /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": "未知错误"}
}