差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
公告:报销中心:商旅系统和出差申请报销数据规则 [2024/08/07 11:30] – [不完整行程] 张恒公告:报销中心:商旅系统和出差申请报销数据规则 [2024/08/08 09:02] (当前版本) – [业务规则] 中材科技朱瑞楠
行 1: 行 1:
 ===== 商旅系统和出差申请报销数据规则 ===== ===== 商旅系统和出差申请报销数据规则 =====
 +<alert type="warning">人员数据、审批人数据错误,出差人无法预订差旅行程</alert>
 +<alert type="danger">出差标准维护错误,离职人员未及时更新HR系统数据,可能会导致费用公司多列支费用</alert>
  
 ==== 组织架构和人员数据表 ==== ==== 组织架构和人员数据表 ====
行 24: 行 26:
  
 === 超标审批表 === === 超标审批表 ===
-超标审批表由各公司商旅管理员维护。审批按公司差旅制度。 
  
-超表审批规则入口:管理中心>差旅管理>审批+  - 超标审批表由各公司商旅管理员按公司内部控制制度维护 
 +  - 超表审批规则入口:管理中心>差旅管理>审批 
 ^超标类型^适用公司^审批人^ ^超标类型^适用公司^审批人^
 |国内机票|XX公司|审批人姓名| |国内机票|XX公司|审批人姓名|
行 33: 行 36:
 |酒店|XX公司|审批人姓名| |酒店|XX公司|审批人姓名|
 ==== OA数据表 ==== ==== OA数据表 ====
 +=== 公共数据表 ===
 +公共数据表由【】统一维护。
 +
 +^ **序号** ^ **表名**      ^ **用途**                                  ^ **更新依据**    ^
 +| OASLGG1      | 各国家和地区住宿费、伙食费、公杂费开支标准表   | 用于计算出境补助          | 财行〔2013〕516号,财行〔2017〕434 号   |
 +| OASLGG2      | 国家和地区          |                                                  | 数据源         |
 +| OASLGG3      | 中国行政区划        | 用于选择国内出差城市                               | 数据源    |
 +| OASLGG4      | 税率税码            | 用于选择发票的税率税码                             | 税务规章制度变更    |
 +
 +=== 各公司差异化数据表 ===
 +各公司差异化数据表由【各公司指定专人】维护。
 +
 +^ **序号** ^ **表名**      ^ **用途**                                  ^ **更新依据**    ^
 +| OASLCY1     | 差旅费津贴标准      | 用于计算不同出差类型对应的差旅费津贴                          |           |
 +| OASLCY2     | 共享中心用银行账号        | 用于维护各公司放在共享中心账户                         | 账户变更时    |
 +| OASLCY3     | 差旅费凭证规则 | 用于维护科目、功能范围和原因代码                        | 科目变更涉及差旅时 |
 +| OASLCY4     | 因公出境补助比例  | 作为OASLGG1的系数,补助= OASLGG1×系数                        |           |
 +| OASLCY5     | 领导人员工号     | 员工号= 本表中工号的报销人,自行选择是否申领差旅费津贴   | 适用履职待遇的领导人员    |
 +
 +=== 中材叶片专用数据表 ===
 +
 +^ **序号** ^ **表名**      ^ **用途**                                  ^ **更新依据**    ^
 +| OASLYP1      | 研发订单信息      | 1.用于维护研发订单项目负责人和项目组成员\ 2.项目负责人是审批流中一部分 |  |
 +| OASLYP2      | 中材叶片公司代码      | 用于判断公司是否为中材叶片成员单位 |  |
 +| 1      | 有效订单状态      | 商旅返回的订票状态                                         |
 +| 2      | ?工号信息        |                                                   |
 +
 +
 +
 +
 +==== 出差标准控制字段 ====
 +===出差类型===
 +
 +^序号^出差类型^
 +|1|公务城市间出差|
 +|2|公司间出差|
 +|3|售后/现场服务|
 +|4|会议(含餐食)|
 +|5|会议(不含餐食)|
 +|6|因公出境|
 +|7|市内出差|
 +|8|×售后/现场服务(特殊)|
 +
 +===出行方式===
 +^**序号**^**出行方式**^**订出行**^**订酒店**^**不通过商旅预订**^
 +|1       |飞机              {{icon>check-square}}  |  {{icon>square-o}}  |  {{icon>minus-square}}  |
 +|2       |火车、高铁        {{icon>check-square}}    {{icon>square-o}}  |  {{icon>minus-square}}  |
 +|3       |长途汽车        {{icon>minus-square}}    {{icon>square-o}}    {{icon>square-o}}  |
 +|4       |机场大巴        {{icon>minus-square}}    {{icon>minus-square}}  |  {{icon>minus-square}}  |
 +
 + {{icon>check-square}} 默认勾选,可编辑; {{icon>square-o}} 可选择; {{icon>minus-square}} 不可选择
  
-^ **序号** ^ **事项**      ^ **用途**                                  ^ **频次**    ^ 
-| 1      | 因公出境地区包干库   | 用于计算出境补助                                | 国家制度变更时   | 
-| 2      | 国家和地区                                                         | 
-| 3      | 出差补助标准      | 用于计算不同出差类型对应补助                          |           | 
-| 4      | 工号信息        |                                                   | 
-| 5      | 共享中心用银行账号        | 用于维护各公司放在共享中心账户                         | 账户变更时    | 
-| 6      | 差旅-费用类型生成规则 | 用于维护科目、功能泛微和原因代码                        | 科目变更涉及差旅时 | 
-| 7      | 研发订单信息      | 用于维护研发订单项目负责人和项目组成员;项目负责人是审批流中一部分,项目组成员 |           | 
-| 8      | 有效订单状态      | 商旅返回的订票状态                                         | 
-| 9      | 差旅地点        | 用于选择国内出差城市                              | 当城市更新时    | 
-| 10     | 领导/高管工号     | 用于高管判断自己是否要补助                           | 当高管变更时    | 
-| 11     | 税率税码        | 用于选择发票的税率税码                             | 当税率变更时    | 
-| 12     | 因公出境补助比例    | 用于判断各单位境外补助比例                                     | 
  
 ==== 不完整行程规则 ==== ==== 不完整行程规则 ====
-完整不完整逻辑 +=== 业务规则 === 
-1.首先赋值为不完整 + 
-2.查询建模维护的有效状态 +以下为不完整行程 
-3.查询流程中oa流程编号,出差类型,时分秒 + 
-4.出差类型=市内出差 赋值为不完整,行程类别赋值为室内出差人工审核 +**出差类型** 
-出差类型=因公出境 赋值为不完整,行程类别赋值为因公出境人工审核 + 
-出差类型=其他情况,开始查商旅明细 +  * 公司代码 <> { 中材叶片公司代码 } 
-5.调用商旅接口全部信息存到详细信息明细表 +    * 出差类型 = 市内出差 
-6.将之后需要赋值的字段的主表,明细表和各辅助明细表字段清空 +    * 出差类型 = 因公出境 
-7.查询详细信息明细表 +  * 公司代码 = { 中材叶片公司代码 } 
-(1)火车 +    * 出差类型 = 市内出差 
-《1》查询火车的商旅唯一值数量和唯一值根据商旅的唯一值分组。1.数量=1 代表是出票是有效状态要数据封装 2.数量=2 代表是出票退票是无效状态不需要数据封装 3.数量>2 代表存在改签情况根据操作日期排序取最后一次操作的那条信息,当订单子类型=5,代表最后一条是改签退原票情况,此时这条数据是有效要封装。当订单子类型!=5,代表此时是改签退票,是无效状态不需要数据封装。 +    * 出差类型 = 因公出境 
-(2)飞机 、酒店、用车 +    * 出差类型 = 市内出差-城六区 
-将不是火车的数据并且不是退票的数据打上标识代表接下来需要查询的数据。 + 
-依次查询类型为飞机 国内酒店 用车 商旅唯一值数量和唯一值根据标识是需要查询的 类型不是火车的 商旅的唯一值分组。 +  * (EB表叶片公司代码下,市内出差-城六区,不完整行程-流程条件出口直接到共享付款节点。) 
-根据查到的商旅唯一值查询操作时间最近的那条数据。 + 
-其中飞机的金额需要多条相加,其他正常封装数据。 +**出差人工号** 
-分别封装为行程有效数据存入行程有效明细表,酒店有效数据存入酒店有效明细表,用车有效数据存入用车有效明细表 +  * 出差人工号 = { 领导/高管工号 } 
-8.操作有效行程数据 + 
-(1)查询有效最早出行时间和最晚出行时间,赋值给主表总行程起始终止日期。还需要计算总行程天数=最晚-最早+1 ,还需要计算个时间=最晚-最早 为了之后和酒店住宿天数 +**是否通过差旅壹号预订** 
-(2)依次遍历流程明细表中数据和有效行程明细表做对比数量,其中飞机要用出发地目的地,火车要用出发地城市和目的地城市。 +  * 是否通过差旅壹号预订 = { 不通过商旅预订 } 
-《1》相同出发地and目的地 出行消费明细数量=1 -》【校验结果】=成功 xyjg 0成功 并赋值订单金额 订单状态 使用状态(当前时间和出行时间作比较赋值为已使用或未使用) + 
-《2》相同出发地and目的地 出行消费明细数量>1 -》【校验结果】=失败 【出错说明】=重复消费 ccsm 2重复消费 并赋值订单金额 订单状态 使用状态(当前时间和出行时间作比较赋值为已使用或未使用) +**出行方式** 
-《3》相同出发地and目的地 出行消费明细数量<1 -》【校验结果】=失败 【出错说明】=行程无法识别 ccsm 0未申请事项 并赋值订单金额 订单状态 使用状态(当前时间和出行时间作比较赋值为已使用或未使用) +  * 出行方式 = { 长途客运汽车,机场大巴 } 
-9.操作有效酒店数据 + 
-1)查询住宿天数相加总和、金额相加总和 +**住宿天数数** 
-(2)消费明细住宿天数=【总行程终止日期】-【总行程起始日期】 -》【校验结果】=成功 zsxyjg 0成功 1失败 并赋值金额合计和住宿天数合计 +  * 住宿天数 < 可住宿天数 
-(3)消费明细住宿天数>【总行程终止日期】-【总行程起始日期】 -》【校验结果】=失败 zsxyjg 0成功 1失败 【出错说明】=重复消费 zsccsm 0住宿天数缺少 1住宿天数增加 并赋值金额合计和住宿天数合计 +    * × 可住宿天数 = max(申请单日期) -min(申请单日期)(0807不严谨) 
-(4)消费明细住宿天数<【总行程终止日期】-【总行程起始日期】 -》【校验结果】=失败 zsxyjg 0成功 1失败 【出错说明】=住宿无法识别 zsccsm 0住宿天数缺少 1住宿天数增加 并赋值金额合计和住宿天数合计 +    * 遍历计算隔夜交通工具天数 =  
-10.操作有效打车数据 +      * 当 出行方式 <> 机场大巴 , 
-(1)查询计算打车天数并给主表字段赋值 +      * 消费明细表[到达日期] - 消费明细表[出发日期] 
-11.操作最后数据 +    * 可住宿天数 = MAX(消费明细表日期) - MIN(消费明细表日期) - 隔夜交通工具天数 
-(1)查询不完整行程类别是否有值和住宿校验结果 +    * 住宿天数 = SUM (消费明细住宿天数) 
-2)查询住宿校验结果失败 [不完整行程类别]=住宿无法识别 + 
-(3)查询不通过商旅数量  +<html><span style="color:red;font-weight:bold;font-size:120%">下面全是提供的校验逻辑啊</span></html> 
-《1》不通过商旅”≥1 -》【校验提示信息】=不完整行程 【不完成行程类别】=出差申请判定不完整行程" 即判断不完整行程 +  *不完整行程类别 
-(4) 查询流程中行程校验明细表中校验结果的失败条数>=1 => [校验提示信息]=不完整行程 , [不完整行程类别]=未申请出行消费 +    *出行无法识别 
-(5)查询不完整行程类别字段无值,主表和明细错误信息无值为完整。+      *无消费记录——最终申请明细未匹配到商旅平台消费记录——在明细表显示【商旅无出行消费记录】 
 +      *重复消费——有消费明细记录但是最终申请明细表没有明细——在主表显示【未申请出行消费】 
 +    *出行校验逻辑 
 +      -报销流程自动填充最终申请行程明细——表A不可编辑 
 +      -拉取的商旅该订单下全部消费明细——表B 
 +      -填充主表总行程起始日期:表A最早出发日期正负1天内的时间范围去表B找相同出发地目的地的最早日期,若表B无,则用户可编辑 
 +      -填充主表总行程终止日期:表A最晚出发日期正负1天内的时间范围去表B找相同出发地目的地的最早日期,若表B无,则用户可编辑 
 +      -表A逐行去表B匹配消费记录:预计出发日期正负1天,相同出发地目的地,逐行反馈校验结果【商旅无出行消费记录】/【成功】 
 +      -表B消费出行消费记录返匹配表A:已校验过的明细外,剩余出行消费记录条数大于表A有校验结果条数,在主表反馈校验结果【未申请出行消费】 
 +    *住宿无法识别 
 +      *住宿天数少——消费明细住宿天数<预计住宿总天数——在明细表下方显示【住宿天数少】 
 +      *住宿天数多——消费明细住宿天数>预计住宿总天数——在明细表下方显示【住宿天数多】 
 +    *住宿校验逻辑 
 +      -根据主表总行程起始和总行程终止日期,计算行程允许住宿天数=终止日期-起始日期 
 +      -根据消费明细拉取总的消费住宿天数与允许住宿天数比对:在明细表下方反馈校验结果【住宿天数少】/【住宿天数多】,同时主表反馈不完整行程类别【住宿无法识别】 
 +  *报销流程的【刷新】按键 
 +    *用户点击刷新会重新拉取消费明细,重新进行完整/不完整的校验 
 +    *用户手工赋值的总行程起终止日期不能被覆盖 
 + 
 +---- 
 +=== 开发规则-完整不完整逻辑 === 
 + 
 +  * 首先赋值为不完整 
 +  查询建模维护的有效状态————后面有硬代码所以目前非强校验 
 +  查询流程中oa流程编号,出差类型,时分秒 
 +  出差类型=市内出差 赋值为不完整,行程类别赋值为室内出差人工审核 
 +  出差类型=因公出境 赋值为不完整,行程类别赋值为因公出境人工审核 
 +  出差类型=其他情况,开始查商旅明细 
 +  调用商旅接口全部信息存到详细信息明细表 
 +  将之后需要赋值的字段的主表,明细表和各辅助明细表字段清空 
 +  查询详细信息明细表 
 +== 消费数据-火车 == 
 + 
 +  * 查询火车的商旅唯一值数量和唯一值根据商旅的唯一值分组。 
 +  * 数量=1 代表是出票是有效状态要数据封装  
 +  * 数量=2 代表是出票退票是无效状态不需要数据封装  
 +  * 数量>2 代表存在改签情况根据操作日期排序取最后一次操作数据记录 
 +    * 当订单子类型=5,代表最后一条是改签退原票情况,此时这条数据是有效要封装。 
 +    * 当订单子类型!=5,代表此时是改签退票,是无效状态不需要数据封装。 
 +== 消费数据-飞机 、酒店、用车 == 
 + 
 +  将不是火车的数据并且不是退票的数据打上标识代表接下来需要查询的数据。 
 +  依次查询类型为飞机 国内酒店 用车 商旅唯一值数量和唯一值根据标识是需要查询的 类型不是火车的 商旅的唯一值分组。 
 +  根据查到的商旅唯一值查询操作时间最近的那条数据。 
 +  其中飞机的金额需要多条相加,其他正常封装数据。 
 +  分别封装为行程有效数据存入行程有效明细表,酒店有效数据存入酒店有效明细表,用车有效数据存入用车有效明细表 
 +== 操作有效行程数据 == 
 + 
 +  * 查询有效最早出行时间和最晚出行时间,赋值给【?主表?】总行程起始终止日期。 
 +    * 计算总行程天数 = 最晚日期-最早日期+1 
 +    * 计算{预计住宿天数} = 最晚日期-最早日期,与实际住宿天数做对比 
 +  依次遍历流程明细表(出差申请)出行方式,和有效行程明细表做对比数量,其中飞机要用出发地目的地,火车要用出发地城市和目的地城市。 
 +    相同出发地and目的地 出行消费明细数量=1 -》【校验结果】=成功 xyjg 0成功 并赋值订单金额 订单状态 使用状态(当前时间和出行时间作比较赋值为已使用或未使用) 
 +    相同出发地and目的地 商旅出行消费明细数量>1 -》【校验结果】=失败 【出错说明】=重复消费 ccsm 2重复消费 并赋值订单金额 订单状态 使用状态(当前时间和出行时间作比较赋值为已使用或未使用) 
 +    相同出发地and目的地 商旅出行消费明细数量<1 -》【校验结果】=失败 【出错说明】=行程无法识别 ccsm 0未申请事项 并赋值订单金额 订单状态 使用状态(当前时间和出行时间作比较赋值为已使用或未使用) 
 + 
 +== 操作有效酒店数据 == 
 + 
 + (若商旅平台没有酒店交易明细则此段不参与是否完整——完整行程 
 +  * 查询住宿天数相加总和、金额相加总和 
 +  消费明细住宿天数 = {预计住宿天数} -》【校验结果zsxyjg】=成功;并赋值金额合计和住宿天数合计 
 +  消费明细住宿天数 > {预计住宿天数} -》【校验结果】=失败;【出错说明zsccsm】=重复消费;并赋值金额合计和住宿天数合计 
 +  消费明细住宿天数 < {预计住宿天数} -》【校验结果】=失败;【出错说明zsccsm】=住宿无法识别;并赋值金额合计和住宿天数合计 
 + 
 +==操作有效打车数据== 
 +  查询计算打车天数并给主表字段赋值 
 + 
 +==操作最后数据== 
 +  查询不完整行程类别是否有值(复制出来等待拼接)和住宿校验结果(复制出来等待拼接 
 +  * 查询住宿校验结果失败 [不完整行程类别]=住宿无法识别 
 +  查询不通过商旅数量 
 +    不通过商旅”≥1 -》【校验提示信息】=不完整行程 【不完成行程类别】=出差申请判定不完整行程" 即判断不完整行程 
 +  查询流程中行程校验明细表中校验结果的失败条数>=1 => [校验提示信息]=不完整行程 , [不完整行程类别]=未申请出行消费 
 +  查询不完整行程类别字段无值,主表和明细错误信息无值为完整。
  • /var/services/web/dokuwiki/data/attic/公告/报销中心/商旅系统和出差申请报销数据规则.1723001412.txt.gz
  • 最后更改: 2024/08/07 11:30
  • 张恒