规则:商旅控制申请单行程预订次数为1次,即便变更了日期,只要出发地目的地不变也只能预订1次

  如果最终出差申请存在行程明细有【不通过商旅】:主表【检验提示信息】=不完整行程,【不完整行程类别】要体现【出差申请判定不完整行程】
  如果最终出差申请存在行程明细无【不通过商旅】:继续后续校验

总行程起始日期=差旅台账预计总行程起始日期对应的所有单程出发地、目的地全部找到消费记录

  如果可以全部找到且差旅台账预计总行程起始日期对应全部明细行中出行方式无【长途客运汽车】:赋值最早的出行消费日期且不能编辑
  如果无法全部找到或差旅台账预计总行程起始日期对应全部明细行中出行方式有【长途客运汽车】:赋值为空可以编辑,可编辑的范围是差旅台账预计总行程起始日期正负一天,同时主表【不完整行程类别】要体现【用户编辑总行程起始日期】

总行程终止日期=差旅台账预计总行程终止日期对应的所有单程出发地、目的地全部找到消费记录

  如果可以全部找到且差旅台账预计总行程起始日期对应全部明细行中出行方式无【长途客运汽车】:赋值最晚的出行消费日期且不能编辑
  如果无法全部找到或差旅台账预计总行程起始日期对应全部明细行中出行方式有【长途客运汽车】:赋值为空可以编辑,可编辑的范围是差旅台账预计总行程终止日期正负一天,同时主表【不完整行程类别】要体现【用户编辑总行程终止日期】

最终申请明细去找消费明细——逐行判断相同出发地&目的地是否有消费记录(状态判定为有效)

  匹配成功——对应明细行【校验结果】=成功
  匹配失败——对应明细行【校验结果】=失败,【出错说明】=商旅无出行消费记录,失败个数>0主表【不完整行程类别】体现【商旅无出行消费记录】

消费明细去找最终申请明细——出行有效消费记录个数减上面匹配成功明细行个数=A

  A=0——无操作
  A>0——主表【不完整行程类别】要体现【未申请出行消费】

第2步得出的总行程起止日期计算出允许住宿天数X,消费明细有效住宿总天数Y

  X=Y——【住宿校验结果】=成功
  X>Y——【住宿校验结果】=失败,【住宿出错说明】=【住宿天数缺少】,主表【不完整行程类别】体现【住宿校验失败】
  X<Y——【住宿校验结果】=失败,【住宿出错说明】=【住宿天数增多】,主表【不完整行程类别】体现【住宿校验失败】
  如果首尾日期无法识别,【住宿校验结果】=失败,【住宿出错说明】=【住宿无法校验】,主表【不完整行程类别】体现【住宿校验失败】

【领取补助天数】=第3步计算出的终止日期—起始日期+1【可编辑,商旅消费明细用车天数≤编辑为≤计算的领取补助天数,整数】

  伙食部分:EB表伙食补助标准×【领取补助天数】
  交通部分:EB表交通补助标准×(【领取补助天数】—明细表用车消费天数)
  差旅津贴=伙食部分+交通部分

用户每次点击即重新拉取消费明细后,重跑第4步—第6步

  重跑过程要有弹窗提示用户等待,拖延用户操作进度即可无需弹窗点击确认
  控制点击频次,在系统可接受的范围内,同时确保商旅接口不会判定为恶意攻击
  【校验提示信息】=完整行程:出差申请存在行程明细无【不通过商旅】& 明细表【校验结果】全部为成功 & 第4步A=0 &【住宿校验结果】=成功////【不完整行程类别】为空
  【校验提示信息】=不完整行程:上面完整行程的补集////【不完整行程类别】不为空
  • /var/services/web/dokuwiki/data/pages/公告/报销中心/差旅费报销校验逻辑.txt
  • 最后更改: 2024/09/06 19:11
  • 中材科技朱瑞楠