差旅壹号实施指引
1、 星瀚差旅壹号配置
路径:
【应用-员工服务员-费用查询-商旅设置-服务商设置】
配置字段的说明:
字段名称 | 字段内容说明 |
编码 | 固定:CHAILVYIHAO,不可修改 |
服务商 | 固定:差旅壹号,不可修改 |
租户ID | 苍穹为客户分配的租户ID,自动获取,不可修改 |
账套ID | 数据库的账套ID,Z自动获取不可修改 |
服务商关联 | 差旅壹号对应的供应商基础数据,用于商旅付款申请单获取付款账号等数据 |
接入appkey | 差旅壹号分配给客户公司的接入账号,由差旅壹号提供 |
接入app秘钥 | 差旅壹号配给客户公司的接入密码,由差旅壹号提供 |
公司id | 接入服务商客户公司ID,由差旅壹号提供 |
自定义字段1 | 企业名称,由差旅壹号提供 |
自定义字段2 | PC的单点登录地址,由差旅壹号提供,https://openapi.517la.com; |
自定义字段3 | 由差旅壹号提供,H5单点登录Url,https://sso.517la.com |
自定义字段4 | 由差旅壹号提供,皮肤ID字段 |
自定义字段5 | 由差旅壹号提供,systemID字段 |
最后差量同步订单时间戳 | 默认是1900-00-00 |
最后差量同步组织时间戳 | 默认1900-000-00 |
最后差量同步人员时间戳 | 默认1900-00-00 |
费用承担公司获取 | 按服务商获取,直接取差旅壹号传过来的值; 按差旅报销单获取:订单对应的差旅费报销单在提交和审核时,差旅的费用承担公司会覆盖订单以及结算单的费用承担公司 |
出差申请单同步核算组织取值 | 默认取费用承担公司:出差申请单同步时,差旅壹号接口的成本中心和核算主体取费用承担部门和费用承担公司 申请人公司:出差申请单同步时,差旅壹号接口的成本中心和核算主体取申请部门和申请人公司。 |
截图
2、 星瀚与差旅壹号功能对接的模式
功能点 | 对接模式 |
组织 | 星瀚调用差旅壹号接口,将组织同步至差旅壹号 |
人员 | 星瀚调用差旅壹号接口,将人员同步至差旅壹号 |
出差申请单 | 星瀚调用差旅壹号接口,审核通过时,将单据同步至差旅壹号 |
Pc单点 | 从出差列表点击预订,免密登录差旅壹号PC端 |
移动单点 | 从移动端免密登录差旅壹号 |
订单获取 | 苍穹通过定时任务自动获取差旅壹号订单 |
月结账单、结算单获取 | 通过月结账单上的【获取账单】按钮,手工获取差旅壹号账单+结算明细 |
开票申请 | 由差旅壹号通过星瀚的接口推送给星瀚系统 |
3、 差旅壹号推送地址的配置
苍穹实施人员在【应用-开发服务云-开发平台-第三方应用】配置开放接口,并将地址给差旅壹号实施人员进行配置,如下图:
如果需要差旅壹号的发票能推送至星瀚平台,则需要配置,如不需线上开票功能,则不需要配置
4、 防火墙配置
1、 对于不同的星瀚环境,如果环境开启了防火墙,需要把对应的服务商的ip加入到防火墙的白名单中,允许服务商可以访问苍穹服务
2、 需要将服务商将苍穹的ip地址加入到白名单中
5、 网络检查
在配置完成之后,需要用wget命令检查差旅壹号的地址的网络是否有问题。 具体的方法见云社区文档:https://vip.kingdee.com/questions/97264334077562624/answers/97264334195003136
6、 组织同步的内容
备注:如果是测试环境,请修改组织同步的时间戳,只同步1-2个组织进行测试
1、【应用-员工服务云-费用查询-商旅设置-服务商设置】点击组织同步
2、差旅壹号组织同步:
差旅壹号同步的组织是行政组织
同步组织的逻辑:
先从组织变更T_ORG_Structure查询
(1)组织的创建时间大于上次同步时间& 启用状态为是 调用新增接口
(2)组织的创建时间大于上次同步时间& 启用状态为否 调用新增接口+禁用接口
(3)组织的修改时间大于上次同步时间 & 创建时间小于上次同步时间 &启用状态为是 调用修改+启用接口
(4)组织的修改时间大于上次同步时间 & 创建时间小于上次同步时间 &启用状态为否 调用修改+禁用
2、组织同步:将苍穹行政组织同步到商旅服务商
1.查询组织架构表中的行政组织
select FORGID,FCREATETIME,FMODIFYTIME,FFULLNAME from t_org_structure where FVIEWID = '1' order by FMODIFYTIME desc;
2.查询服务商设置表中的最后差量同步组织时间戳
select FNUMBER,FLASTSYNCORGTAMP from t_er_biz_info;
3.将从t_er_biz_info表中查询出的FLASTSYNCORGTAMP与从t_org_structure表中查询出的FCREATETIME,FMODIFYTIME进行对比
(1)当FLASTSYNCORGTAMP<=FCREATETIME时,调用组织新增接口
(2)当FMODIFYTIME>=FLASTSYNCORGTAMP>FCREATETIME时,调用组织修改接口
(3)当FLASTSYNCORGTAMP>FMODIFYTIME时,不调用组织同步
3、差旅壹号组织同步调用的接口如下
新增组织接口:
https://openapi.517la.com/api/organizationmagmt/adddept
修改组织接口:
https://openapi.517la.com/api/organizationmagmt/modifydept
禁用组织接口:
https://openapi.517la.com/api/organizationmagmt/disabledept
启用组织接口:
https://openapi.517la.com/api/organizationmagmt/enabledept
4、同步的字段包括
部门编码
部门名称
上级部门编码
是否启用
5、同步的入参报文:
请求报文:
{
"access_token":"d6549485-d566-4751-8bbf-e2bf46615176",
"data":[
{
"deptName":"金蝶互联网科技有限公司",
"companyID":"20200728095128591150",
"companyName":"金蝶测试",
"superDeptNO":"100000",
"deptNO":878705596373679104,
"status":1
},
{
"deptName":"测试部",
"companyID":"20200728095128591150",
"companyName":"金蝶测试",
"superDeptNO":"878705596373679104",
"deptNO":878706400899906560,
"status":1
}
]
}
响应报文:
{
"errcode":"0",
"data":[],
"requestid":null,
"errmsg":"操作成功",
"successful":true
}
7、 差旅壹号人员同步:
1、【应用-员工服务云-费用查询-商旅设置-服务商设置】点击人员同步
2、同步的字段包括:员工工号、姓名、手机号、性别、报销级别、部门ID、部门名称。
3、逻辑:从人员变更(t_sec_userchange)表里面取数
(1)先从员工差量表里面获取数据,
(2)判断人员的修改时间是否大于最后人员同步时间,如果大于则同步,小于则不同于
(3)当ftype=1时,调用人员新增接口 当ftype=2时,调用人员修改接口 当ftype=3时,调用人员禁用接口 当ftype=4时,调用人员禁用接口 当ftype=5时,调用人员启用接口
(4)人员修改、启用、禁用存在多条数据时,按照修改时间排序,只取最后一次数据,同步给差旅壹号
(5)调用差旅壹号接口逻辑
员工变更类型 | 调用差旅壹号接口 | 具体接口名称: |
新增 | 员工开户接口 | 员工开户接口:https://openapi.517la.com/api/organizationmagmt/createuser |
修改 | 修改员工信息 | 修改人员接口:https://openapi.517la.com/api/organizationmagmt/modifystaff |
启用 | 启用员工+启用账户 | 启用人员接口 https://openapi.517la.com/api/organizationmagmt/enablestaff 启用账户接口:https://openapi.517la.com/api/organizationmagmt/enableuser |
禁用、删除 | 禁用员工 | 禁用人员接口:https://openapi.517la.com/api/organizationmagmt/disablestaff |
4、同步的数据只要有一条失败,就不更新同步时间(但其数据会同步过去),导致后续的新增、修改判断逻辑出错,调用接口会报错,这样同步时间会一直不更新。
比如:(1)在系统记录的同步时间之后产生的数据,有可能已经同步给差旅壹号,此时再调用新增接口,会报错,但是数据本身也同步过去了,也不会有问题。
对于修改的数据,会没有问题,只是会导致数据累积会越来越多,因为人员同步时间一直没有更新
5、人员同步不过去的原因分析
(1)组织没有同步成功,差旅壹号在组织同步的时候,会判断成本中心组织编码和名称是否重复,只要有一个重复,就会报错
(2)修改人员信息时,调用了修改账户接口,导致报错,因此差旅壹号的修改账户接口有问题,不再使用。
8、 出差申请单同步的接口
1、 出差申请单审核通过同步至差旅壹号,反审核、行程变更、废弃、审核不通过、关闭调用接口将出差申请单停用。
审核通过调用接口:https://openapi.517la.com/api/approval/addApproval
反审核调用接口:https://openapi.517la.com/api/approval/cancelApproval
出差申请单同步时,每一条行程都同步,各个行程的出差人汇总统一传给差旅壹号,差旅壹号不支持按行程同步出差人
2、出差申请单同步的报文:
{
"access_token":"d6549485-d566-4751-8bbf-e2bf46615176",
"data":[
{
"handoverStaff":{
"empID":"202020",
"staffName":"jiyao"
},
"applyReason":"EE",
"applyList":[
{
"voyageList":[
{
"beginDate":"2021-07-01",
"travelType":"0",
"voyageType":0,
"endDate":"2021-07-03",
"toCity":"北京",
"travelNo":1,
"voyageTypeName":"单程",
"fromCity":"深圳市",
"travelTypeName":"飞机"
}
],
"staffList":[
{
"empID":"9527",
"staffName":"黄光敬"
}
]
}
],
"applyState":1,
"costCenterNo":941022257080221696,
"costCenterType":1,
"settlementEntityCode":941021751146496000,
"settlementEntityName":"黄光敬测试专用公司",
"submitStaff":{
"empID":"202020",
"staffName":"jiyao"
},
"applyPurpose":"出差",
"applyId":"CCSQ-20210707-001481",
"costCenterName":"开发部",
"applyPassState":0
}
],
"requestid":"20210707150205156",
"version":"0.0.1"
}
注意:
出差申请单同步时,默认同步的是单程,如需要往返,可通过扩张将出差申请的往返默认设置为“是” 。
9、 差旅壹号单点登录
1、PC端单点登录,【应用-员工服务云-人人差旅-我的单据-出差申请单】
2、移动端单点登录
3、单点登录代码逻辑
通过差旅壹号接口获取Token:
https://openapi.517la.com/api/token/getToken
获取token入参报文如下:
{ "data": { "appid": "string", "appsecret": "string" }, "requestid": "20180616112955089", "version": "0.0.1" }
PC单点接口:https://www.517la.com/login/ssoLogin
入参报文:
{ "data": { "employeeID": "string", "opType": "string", "systemId": "string", "uid": "string" }, "access_token": "b80f00c0-7b7e-4949-b987-7f0ce63611a9", "version": "0.0.1", "requestid": "20180616112955089" }
单点登录传的字段的值:
序号 | 差旅壹号字段 | 差旅壹号字段名称 | 说明 | 星瀚字段编码 | 星瀚字段名称 |
1 | employeeID | 客户公司员工账号 | 客户公司员工账号 | 员工工号 | |
2(没传值) | opType | 操作类型 | 认证失败时,0.无操作 1.自动开户(需企业提供API接口) 2.返回回调地址提示用户开户. | ||
3 | systemId | 系统编号 | 服务商设置中的值 | ||
4(没传值) | uid | 客户公司员工在差旅壹号的用户ID | |||
10、 订单获取
1、差旅壹号的接口:
通过调度计划的定时任务获取数据,默认一小时获取一次,可手工执行。路径:【应用差旅壹号实施指引
本文2024-09-22 22:36:39发表“云星瀚知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-xinghan-127707.html