任务描述


需求描述

需求背景:建单待发的库存数据原为打标表从v2同步,延迟情况较多,出现问题时也无法复现排查,为解决库存不准确的问题改为读取原表查询。


需求内容:

所有智能备货服务中查询全链路库存中的建单待发库存数量改成读取erp原表,sql参考:

SELECT 

                    o.CustomerID as customer_id, 

                    o.OrderSourceID as source_id, 

                    l.SellerSKU msku, 

                    Sum(l.ProductNum + l.ProductNumUpdate - Isnull(pod.ProductNum, 0)) / Isnull (( SELECT Sum(SkuNum) AS Expr1 

                    FROM dbo.RB_Product_GroupSku AS g WITH (NOLOCK) WHERE g.CustomerID = o.CustomerID AND ( GroupSku = ( CASE WHEN ISnull(l.GroupSKU,'') = '' THEN l.SKU ELSE l.GroupSKU END ) )), 1) AS product_num, 

                    ( CASE WHEN ISnull(l.GroupSKU,'') = '' THEN l.SKU ELSE l.GroupSKU END ) as sku, 

                    o.ToWareHouseID as to_warehouse_id 

                FROM dbo.RB_OrderInfo AS o WITH (NOLOCK) 

                INNER JOIN dbo.RB_OrderSource s ON o.OrderSourceID = s.ID AND o.CustomerID = s.CustomerID 

                INNER JOIN dbo.RB_OrderList AS l WITH (NOLOCK) ON o.OrderCode = l.OrderCode AND o.CustomerID = l.CustomerID 

                LEFT JOIN dbo.RB_OrderInfo_BeikuExpand h WITH (NOLOCK) ON o.OrderCode = h.OrderCode AND o.CustomerID = h.CustomerID 

                LEFT JOIN ( SELECT d.OrderCode, OrderListID, d.CustomerID, Sum(ProductNum) AS ProductNum FROM RB_Procurement_Order_Package p WITH (NOLOCK) 

                INNER JOIN dbo.RB_Procurement_Order_Package_OrderDetail d WITH (NOLOCK) ON d.CustomerID = p.CustomerID AND d.PackageID = p.ID 

                LEFT JOIN RB_OrderInfo o WITH (nolock) ON d.OrderCode = o.OrderCode AND d.CustomerID = o.CustomerID 

                LEFT JOIN dbo.RB_OrderInfo_BeikuExpand h WITH (NOLOCK) ON o.OrderCode = h.OrderCode AND o.CustomerID = h.CustomerID 

                WHERE p.PackageState = 3 AND o.AddTime > Dateadd(month, -6, Getdate()) AND o.IsStockOrder = 1 AND h.orderBuildType in (1, 2) AND o.OrderStatus = 0 AND o.OrderState < 2 GROUP BY d.OrderCode, OrderListID, d.CustomerID ) AS pod ON pod.OrderCode = l.OrderCode AND pod.CustomerID = l.CustomerID AND pod.OrderListID = l.ID WHERE l.ProductNum + l.ProductNumUpdate - Isnull(pod.ProductNum, 0) > 0 AND s.OrderSourceType = 1 AND o.OrderStatus = 0 AND o.OrderState < 2 AND o.IsStockOrder = 1 AND h.orderBuildType in (1, 2) AND o.AddTime > Dateadd(month, -6, Getdate()) GROUP BY o.ToWareHouseID, o.CustomerID, l.SellerSKU, o.OrderSourceID, CASE WHEN ISnull(l.GroupSKU,'') = '' THEN l.SKU ELSE l.GroupSKU END

验收标准
数据准确
历史记录  
  1. 2025-05-12 14:05:01, 由 罗友军 创建。
  2. 2025-05-16 20:13:49, 由 王地福 完成。
    修改了 总计消耗,旧值为 "0",新值为 "8"。
    修改了 指派给 ,旧值为 "wangdifu",新值为 "luoyoujun"。
    修改了 实际完成,旧值为 "",新值为 "2025-05-16 20:04:38"。
    修改了 任务状态,旧值为 "wait",新值为 "done"。
    修改了 实际开始,旧值为 "0000-00-00 00:00:00",新值为 "2025-05-16 20:13:49"。
    修改了 预计剩余,旧值为 "8",新值为 "0"。
    修改了 由谁完成,旧值为 "",新值为 "wangdifu"。

    1:修改amazonWok 的任务调度,fba,webapi

    2:新增的脚本如下:

    create table if not exists `znyf-pricediscount`.amazon_stock_purchaseinfo ( Id bigint auto_increment  primary key, BatchNumber bigint      not null comment '批次号', OrderSourceId int         not null, OrderSourceSku varchar(50) not null, Sku varchar(50) not null, PurchaseNum int         null comment '建单待发', WarehouseId int         null comment '仓库id', AddTime datetime    not null, UpdateTime datetime    not null, constraint Amazon_Stock_PurchaseInfo_pk unique (OrderSourceSku, BatchNumber, OrderSourceId)
    ); create index amazon_stock_purchaseinfo_BatchNumber_index on `znyf-pricediscount`.amazon_stock_purchaseinfo (BatchNumber); create index amazon_stock_purchaseinfo_OrderSourceSku_OrderSourceId_index on `znyf-pricediscount`.amazon_stock_purchaseinfo (OrderSourceSku, OrderSourceId);
    



    3:核心代码部分:

  3. 2025-05-16 20:19:09, 由 王地福 添加备注。

    4:涉及任务调度: SyncPurchaseStockJob


    一个根据sql 查询数据写到表里,

    一个是删除历史数据

    入库时新增一个批次号字段,字段值格式为整形,取时间的YYYYMMddHH,取数据时,先取表中最大的批次号+listing查询。历史记录清除,也是取最大的批次号,再取24小时前的批次号,如果这二个批次号不相同,就删除24小时前的批次号数据

  4. 2025-05-17 09:38:34, 由 李亚婷 关闭。
    修改了 任务状态,旧值为 "done",新值为 "closed"。
    修改了 指派给 ,旧值为 "luoyoujun",新值为 "closed"。
    修改了 由谁关闭,旧值为 "",新值为 "liyating"。
    修改了 关闭时间,旧值为 "0000-00-00 00:00:00",新值为 "2025-05-17 09:38:34"。
    修改了 关闭原因,旧值为 "",新值为 "done"。
所属迭代 智能中心-智能备货迭代
所属模块 智能中心-需求池  战略独立项目   智能备货
相关需求 智能备货:建单待发数据源改为直接读取erp
指派给 Closed 于 2025-05-17 09:38:34
任务类型 后端
任务标签 初始
开发组
任务状态 已关闭
进度 100%
优先级 P2
关键词
抄送给
由谁创建 罗友军 于 2025-05-12 14:05:00
由谁完成 王地福 于 2025-05-16 20:04:38
由谁取消 暂无
由谁关闭 李亚婷 于 2025-05-17 09:38:34
关闭原因 已完成
最后编辑 李亚婷 于 2025-05-17 09:38:34
团队 最初预计 总计消耗 预计剩余
工时信息
最初预计 8工时
总计消耗 8工时
预计剩余 0工时
预计开始 2025-05-12
实际开始 2025-05-16
截止日期 2025-05-16