差别
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
公告:报销中心:商旅系统和出差申请报销数据规则 [2024/08/07 16:10] – [出差标准控制字段] 张恒 | 公告:报销中心:商旅系统和出差申请报销数据规则 [2024/08/08 09:02] (当前版本) – [业务规则] 中材科技朱瑞楠 | ||
---|---|---|---|
行 1: | 行 1: | ||
===== 商旅系统和出差申请报销数据规则 ===== | ===== 商旅系统和出差申请报销数据规则 ===== | ||
+ | <alert type=" | ||
+ | <alert type=" | ||
==== 组织架构和人员数据表 ==== | ==== 组织架构和人员数据表 ==== | ||
行 24: | 行 26: | ||
=== 超标审批表 === | === 超标审批表 === | ||
+ | |||
- 超标审批表由各公司商旅管理员按公司内部控制制度维护 | - 超标审批表由各公司商旅管理员按公司内部控制制度维护 | ||
- 超表审批规则入口:管理中心> | - 超表审批规则入口:管理中心> | ||
行 36: | 行 39: | ||
公共数据表由【】统一维护。 | 公共数据表由【】统一维护。 | ||
- | ^ **序号** ^ **事项** ^ **用途** | + | ^ **序号** ^ **表名** ^ **用途** |
| OASLGG1 | | OASLGG1 | ||
| OASLGG2 | | OASLGG2 | ||
行 45: | 行 48: | ||
各公司差异化数据表由【各公司指定专人】维护。 | 各公司差异化数据表由【各公司指定专人】维护。 | ||
- | ^ **序号** ^ **事项** ^ **用途** | + | ^ **序号** ^ **表名** ^ **用途** |
- | | OASLCY1 | + | | OASLCY1 |
| OASLCY2 | | OASLCY2 | ||
- | | OASLCY3 | + | | OASLCY3 |
- | | OASLCY4 | + | | OASLCY4 |
- | | OASLCY5 | + | | OASLCY5 |
=== 中材叶片专用数据表 === | === 中材叶片专用数据表 === | ||
行 73: | 行 76: | ||
|5|会议(不含餐食)| | |5|会议(不含餐食)| | ||
|6|因公出境| | |6|因公出境| | ||
- | |7|室内出差| | + | |7|市内出差| |
- | |8|售后/ | + | |8|×售后/ |
- | ===交通工具=== | + | ===出行方式=== |
+ | ^**序号**^**出行方式**^**订出行**^**订酒店**^**不通过商旅预订**^ | ||
+ | |1 | ||
+ | |2 | ||
+ | |3 | ||
+ | |4 | ||
+ | | ||
行 87: | 行 96: | ||
**出差类型** | **出差类型** | ||
- | * 公司代码 <> {中材叶片公司代码} | + | * 公司代码 <> { 中材叶片公司代码 } |
* 出差类型 = 市内出差 | * 出差类型 = 市内出差 | ||
* 出差类型 = 因公出境 | * 出差类型 = 因公出境 | ||
- | * 公司代码 = {中材叶片公司代码} | + | * 公司代码 = { 中材叶片公司代码 } |
* 出差类型 = 市内出差 | * 出差类型 = 市内出差 | ||
* 出差类型 = 因公出境 | * 出差类型 = 因公出境 | ||
行 97: | 行 106: | ||
* (EB表叶片公司代码下,市内出差-城六区,不完整行程-流程条件出口直接到共享付款节点。) | * (EB表叶片公司代码下,市内出差-城六区,不完整行程-流程条件出口直接到共享付款节点。) | ||
- | **出差人工号为领导人员** | + | **出差人工号** |
- | * 出差人工号 = {领导/ | + | * 出差人工号 = { 领导/ |
+ | **是否通过差旅壹号预订** | ||
+ | * 是否通过差旅壹号预订 = { 不通过商旅预订 } | ||
+ | |||
+ | **出行方式** | ||
+ | * 出行方式 = { 长途客运汽车,机场大巴 } | ||
+ | |||
+ | **住宿天数数** | ||
+ | * 住宿天数 < 可住宿天数 | ||
+ | * × 可住宿天数 = max(申请单日期) -min(申请单日期)(0807不严谨) | ||
+ | * 遍历计算隔夜交通工具天数 = | ||
+ | * 当 出行方式 <> 机场大巴 , | ||
+ | * 消费明细表[到达日期] - 消费明细表[出发日期] | ||
+ | * 可住宿天数 = MAX(消费明细表日期) - MIN(消费明细表日期) - 隔夜交通工具天数 | ||
+ | * 住宿天数 = SUM (消费明细住宿天数) | ||
+ | |||
+ | < | ||
+ | *不完整行程类别 | ||
+ | *出行无法识别 | ||
+ | *无消费记录——最终申请明细未匹配到商旅平台消费记录——在明细表显示【商旅无出行消费记录】 | ||
+ | *重复消费——有消费明细记录但是最终申请明细表没有明细——在主表显示【未申请出行消费】 | ||
+ | *出行校验逻辑 | ||
+ | -报销流程自动填充最终申请行程明细——表A不可编辑 | ||
+ | -拉取的商旅该订单下全部消费明细——表B | ||
+ | -填充主表总行程起始日期:表A最早出发日期正负1天内的时间范围去表B找相同出发地目的地的最早日期,若表B无,则用户可编辑 | ||
+ | -填充主表总行程终止日期:表A最晚出发日期正负1天内的时间范围去表B找相同出发地目的地的最早日期,若表B无,则用户可编辑 | ||
+ | -表A逐行去表B匹配消费记录:预计出发日期正负1天,相同出发地目的地,逐行反馈校验结果【商旅无出行消费记录】/ | ||
+ | -表B消费出行消费记录返匹配表A:已校验过的明细外,剩余出行消费记录条数大于表A有校验结果条数,在主表反馈校验结果【未申请出行消费】 | ||
+ | *住宿无法识别 | ||
+ | *住宿天数少——消费明细住宿天数< | ||
+ | *住宿天数多——消费明细住宿天数> | ||
+ | *住宿校验逻辑 | ||
+ | -根据主表总行程起始和总行程终止日期,计算行程允许住宿天数=终止日期-起始日期 | ||
+ | -根据消费明细拉取总的消费住宿天数与允许住宿天数比对:在明细表下方反馈校验结果【住宿天数少】/ | ||
+ | *报销流程的【刷新】按键 | ||
+ | *用户点击刷新会重新拉取消费明细,重新进行完整/ | ||
+ | *用户手工赋值的总行程起终止日期不能被覆盖 | ||
+ | |||
+ | ---- | ||
=== 开发规则-完整不完整逻辑 === | === 开发规则-完整不完整逻辑 === | ||
行 111: | 行 158: | ||
* 将之后需要赋值的字段的主表,明细表和各辅助明细表字段清空 | * 将之后需要赋值的字段的主表,明细表和各辅助明细表字段清空 | ||
* 查询详细信息明细表 | * 查询详细信息明细表 | ||
- | == 火车 == | + | == 消费数据-火车 == |
* 查询火车的商旅唯一值数量和唯一值根据商旅的唯一值分组。 | * 查询火车的商旅唯一值数量和唯一值根据商旅的唯一值分组。 | ||
行 119: | 行 166: | ||
* 当订单子类型=5,代表最后一条是改签退原票情况,此时这条数据是有效要封装。 | * 当订单子类型=5,代表最后一条是改签退原票情况,此时这条数据是有效要封装。 | ||
* 当订单子类型!=5, | * 当订单子类型!=5, | ||
- | == 飞机 、酒店、用车 == | + | == 消费数据-飞机 、酒店、用车 == |
* 将不是火车的数据并且不是退票的数据打上标识代表接下来需要查询的数据。 | * 将不是火车的数据并且不是退票的数据打上标识代表接下来需要查询的数据。 | ||
行 128: | 行 175: | ||
== 操作有效行程数据 == | == 操作有效行程数据 == | ||
- | (1)查询有效最早出行时间和最晚出行时间,赋值给主表总行程起始终止日期。还需要计算总行程天数=最晚-最早+1 | + | * 查询有效最早出行时间和最晚出行时间,赋值给【?主表?】总行程起始终止日期。 |
+ | * 计算总行程天数 = 最晚日期-最早日期+1 | ||
+ | * 计算{预计住宿天数} | ||
+ | * 依次遍历流程明细表(出差申请)中出行方式,和有效行程明细表做对比数量,其中飞机要用出发地目的地,火车要用出发地城市和目的地城市。 | ||
+ | * 相同出发地and目的地 出行消费明细数量=1 -》【校验结果】=成功 xyjg 0成功 并赋值订单金额 订单状态 使用状态(当前时间和出行时间作比较赋值为已使用或未使用) | ||
+ | * 相同出发地and目的地 商旅出行消费明细数量> | ||
+ | * 相同出发地and目的地 商旅出行消费明细数量< | ||
+ | |||
+ | == 操作有效酒店数据 == | ||
+ | |||
+ | | ||
+ | * 查询住宿天数相加总和、金额相加总和 | ||
+ | * 消费明细住宿天数 = {预计住宿天数} -》【校验结果zsxyjg】=成功; | ||
+ | * 消费明细住宿天数 > {预计住宿天数} -》【校验结果】=失败; | ||
+ | * 消费明细住宿天数 < {预计住宿天数} -》【校验结果】=失败; | ||
- | (2)依次遍历流程明细表中数据(出行方式)和有效行程明细表做对比数量,其中飞机要用出发地目的地,火车要用出发地城市和目的地城市。 | + | ==操作有效打车数据== |
+ | * 查询计算打车天数并给主表字段赋值 | ||
- | * 《1》相同出发地and目的地 出行消费明细数量=1 -》【校验结果】=成功 xyjg 0成功 并赋值订单金额 订单状态 使用状态(当前时间和出行时间作比较赋值为已使用或未使用) | + | ==操作最后数据== |
- | * 《2》相同出发地and目的地 商旅出行消费明细数量>1 -》【校验结果】=失败 【出错说明】=重复消费 ccsm 2重复消费 并赋值订单金额 订单状态 使用状态(当前时间和出行时间作比较赋值为已使用或未使用) | + | * 查询不完整行程类别是否有值(复制出来等待拼接)和住宿校验结果(复制出来等待拼接) |
- | * 《3》相同出发地and目的地 商旅出行消费明细数量< | + | |
- | 9.操作有效酒店数据(若商旅平台没有酒店交易明细则此段不参与是否完整——完整行程) | + | |
- | (1)查询住宿天数相加总和、金额相加总和。 | + | |
- | (2)商旅消费明细住宿天数=【总行程终止日期】-【总行程起始日期】 -》【校验结果】=成功 zsxyjg 0成功 1失败 并赋值金额合计和住宿天数合计 | + | |
- | (3)消费明细住宿天数> | + | |
- | (4)消费明细住宿天数< | + | |
- | 10.操作有效打车数据 | + | |
- | (1)查询计算打车天数并给主表字段赋值 | + | |
- | 11.操作最后数据 | + | |
- | (1)查询不完整行程类别是否有值(复制出来等待拼接)和住宿校验结果(复制出来等待拼接) | + | |
- | (2)查询住宿校验结果失败 [不完整行程类别]=住宿无法识别 | + | |
- | (3)查询不通过商旅数量 | + | |
- | 《1》不通过商旅”≥1 -》【校验提示信息】=不完整行程 【不完成行程类别】=出差申请判定不完整行程" | + | |
- | (4) 查询流程中行程校验明细表中校验结果的失败条数> | + | |
- | (5)查询不完整行程类别字段无值,主表和明细错误信息无值为完整。 | + |