外部行程导入
业务场景
进入每刻报销->新建/编辑报销单->行程组件->从外部系统查询并导入行程。每刻会调用前端传入的外部系统地址,外部系统返回可导入的行程候选数据,员工选择后由每刻生成报销单行程。
该能力常用于客户的考勤、出差、OA、泛微、钉钉等系统已经存在行程或打卡数据,需要员工在每刻报销单中选择并生成行程的场景。
查询外部系统行程接口说明
请求类型
POST
请求参数说明
注意:本节描述的是每刻请求外部系统时的请求体。接口地址由每刻前端传入,每刻服务端会使用企业密钥、签名、entCode、lang 等外部系统调用规则发起请求。
| 字段名称 |
字段类型 |
必有 |
字段说明 |
| entCode |
String |
是 |
每刻企业编码 |
| userCode |
String |
是 |
当前操作人的每刻用户编码 |
| pageNum |
int |
是 |
当前页码,默认 1 |
| pageSize |
int |
是 |
每页条数,默认 20 |
| keyWord |
String |
否 |
搜索关键字,由用户在界面上输入;为空时每刻不传该字段 |
| formData |
Json |
是 |
当前报销单数据,格式参考每刻推送的表单数据格式 |
| employeeId |
String |
否 |
当前操作员工工号,由每刻根据登录用户补充 |
| employeeName |
String |
否 |
当前操作员工姓名,由每刻根据登录用户补充 |
请求参数示例
{
"entCode": "ENT001",
"userCode": "U001",
"pageNum": 1,
"pageSize": 20,
"keyWord": "上海",
"employeeId": "190001",
"employeeName": "张三",
"formData": {
}
}
响应参数说明
| 字段名称 |
字段类型 |
必有 |
字段说明 |
| success |
boolean |
是 |
响应是否成功。true:业务成功;false:业务失败 |
| errorMsg |
String |
是 |
错误信息,当 success=false 时每刻会将该信息回显 |
| data |
ExternalTravelRouteCandidatePageDto |
是 |
外部行程候选分页数据 |
ExternalTravelRouteCandidatePageDto
| 字段名称 |
字段类型 |
必有 |
字段说明 |
| recordsTotal |
int |
是 |
总条数 |
| recordsFiltered |
int |
否 |
筛选后的条数 |
| hasNextPage |
boolean |
否 |
是否还有下一页 |
| list |
List<ExternalTravelRouteCandidateDto> |
是 |
外部行程候选列表 |
ExternalTravelRouteCandidateDto
| 字段名称 |
字段类型 |
必有 |
字段说明 |
| externalSource |
String |
是 |
外部系统来源标识,例如 WEAVER、DINGTALK。同一企业内建议保持稳定 |
| externalId |
String |
是 |
外部系统行程唯一ID |
| employeeId |
String |
是 |
行程所属员工工号 |
| employeeName |
String |
否 |
行程所属员工姓名 |
| startTime |
Date |
是 |
行程开始时间。建议返回13位毫秒时间戳,或可被 JSON 解析的日期字符串 |
| endTime |
Date |
是 |
行程结束时间。建议返回13位毫秒时间戳,或可被 JSON 解析的日期字符串 |
| departureCity |
String |
是 |
出发城市名称。每刻会按城市名称模糊匹配地址编码 |
| destinationCities |
List<String> |
是 |
目的城市名称列表。每刻会按城市名称模糊匹配地址编码 |
| tripWay |
String |
否 |
行程方式。仅支持中文:单程、往返 |
| travelDays |
Double |
否 |
出差天数;不传时每刻根据开始和结束日期计算 |
字段校验和转换规则
externalSource、externalId、startTime、endTime、departureCity、destinationCities 必须返回。
departureCity、destinationCities 当前按城市名称解析,每刻会进行模糊匹配;若无法匹配城市,会导入失败。
tripWay 只接受 单程 或 往返。导入后每刻内部分别保存为 SINGLE 或 ROUND_TRIP。
travelDays 为空时,每刻按起止日期自然日计算。
- 导入时每刻会生成外部行程快照,用于后续判断该行程是否被用户修改。
响应参数示例
{
"data": {
"recordsTotal": 2,
"recordsFiltered": 2,
"hasNextPage": false,
"list": [
{
"externalSource": "WEAVER",
"externalId": "OA_TRIP_202606210001",
"employeeId": "190001",
"employeeName": "张三",
"startTime": 1767196800000,
"endTime": 1767283200000,
"departureCity": "杭州",
"destinationCities": [
"上海"
],
"tripWay": "单程",
"travelDays": 1
},
{
"externalSource": "WEAVER",
"externalId": "OA_TRIP_202606210002",
"employeeId": "190001",
"employeeName": "张三",
"startTime": 1767369600000,
"endTime": 1767542400000,
"departureCity": "北京",
"destinationCities": [
"深圳"
],
"tripWay": "往返",
"travelDays": 2
}
]
},
"errorMsg": "success",
"success": true
}
更新记录