任务描述
暂无
需求描述

一、背景和价值

   1.背景

       出库单号:TS409U0M 异常原因:T打单失败,初始验证规则不符合,请检查产品多箱特性是否匹配,产品渠道类型是否匹配,这渠道(美西FEDEX-GROUND中转),建多箱异常。

   2.价值

      优化打单异常,减少出错,提升打单效率。

二、需求描述

   2.1. 功能清单

      出库单号打单优化


   2.2.影响点

       暂无

   2.3. 功能描述:

     1.问题现象:

    出库单号:TS409U0M 异常原因:打单失败,初始验证规则不符合,请检查产品多箱特性是否匹配,产品渠道类型是否匹配,
    这渠道(美西FEDEX-GROUND中转)对接的进度怎样了,建多箱异常。

     

    2.问题分析:
    1)服务入口 : newjob/SyncShipmentOrderToOmsJob
    2)关键代码 : ShipmentOrder_Job_Service.cs , 634到640行代码。792行代码
    3) 具体原因:可能是上一轮服务还没有结束,下一轮服务就开始了。两轮服务获取到同一个订单导致重复预生成了。


    3.优化方案:
    1) 通过Redis并发所防止并发
    2)具体代码:
         加锁,RedisHelper.Set(key, "doing", 10 * 60, CSRedis.RedisExistence.Nx),key = CustomerCode + “_” + 订单号,有效时间为10分钟。634到640行代码【加锁】
        解锁,RedisHelper.Del(new string[] { key }); 792行代码加个finally【解锁】
    3).该服务部署在WMS,需要参考仓租服务,部署5个POD,分别用于部署多个仓库的订单预生成服务

验收标准

历史记录  
  1. 2022-09-06 10:07:06, 由 程伟 创建。
  2. 2022-09-06 10:14:30, 由 程伟 完成。
    修改了 总计消耗,旧值为 "0",新值为 "16"。
    修改了 实际完成,旧值为 "",新值为 "2022-09-06 10:09:26"。
    修改了 任务状态,旧值为 "wait",新值为 "done"。
    修改了 实际开始,旧值为 "0000-00-00 00:00:00",新值为 "2022-09-06 10:14:30"。
    修改了 预计剩余,旧值为 "16",新值为 "0"。
    修改了 由谁完成,旧值为 "",新值为 "chengwei"。

    1. 没有改动原有业务逻辑

    2. 通过Redis分布式并发锁控制并发

    3. 支持按仓库维度配置服务,每个仓库可以单独配置一个服务

    4. 使用多线程执行订单预生成,默认4个线程,意味着4个订单可以同时支持预生成,效率提升4倍。


  3. 2022-09-09 16:45:29, 由 zhengqiao 关闭。
    修改了 任务状态,旧值为 "done",新值为 "closed"。
    修改了 指派给 ,旧值为 "chengwei",新值为 "closed"。
    修改了 由谁关闭,旧值为 "",新值为 "zhengqiao"。
    修改了 关闭时间,旧值为 "0000-00-00 00:00:00",新值为 "2022-09-09 16:45:29"。
    修改了 关闭原因,旧值为 "",新值为 "done"。
所属迭代 技术研发中心 8月分支 版本(2022年)
所属模块 /
相关需求 海外仓系统-出库单号打单优化
指派给 Closed 于 2022-09-09 16:45:29
任务类型 后端
任务标签 初始
开发组
任务状态 已关闭
进度 100%
优先级 P2
关键词
抄送给
由谁创建 程伟 于 2022-09-06 10:07:06
由谁完成 程伟 于 2022-09-06 10:09:26
由谁取消 暂无
由谁关闭 zhengqiao 于 2022-09-09 16:45:29
关闭原因 已完成
最后编辑 zhengqiao 于 2022-09-09 16:45:29
团队 最初预计 总计消耗 预计剩余
工时信息
最初预计 16工时
总计消耗 16工时
预计剩余 0工时
预计开始 0000-00-00
实际开始 2022-09-06
截止日期 0000-00-00