1.需求背景
a.目前FBA清库无法实现自动清库,因为进销存没有真实FBA仓库名称,都转化成了母仓进行维护,需优化保证流程正常运行
b.FBA仓存在4000多个仓库,需要全部清库,目前限制了最多选择10个仓库,导致用户设置不方便,如果全部清仓的话,需要设置几百个策略
2.需求内容
a.通过FBA仓库获取母仓,,判断满足条件的母仓和库龄。针对满足条件的数据再通过母仓获取对应FBA仓,对应代码逻辑如下:
--字母仓关系建立
select
wh.ID '子仓ID'
,os.ID
,os.OrderSourceName
,osa.DevIDSellerId
,wh.WareHouseName '子仓名称'
,iwh.ID '母仓ID'
,iwh.InventoryWarehouseName '母仓名称'
from
dbo.RB_WareHouse wh WITH (nolock)
LEFT JOIN RB_OrderSource os WITH (NOLOCK) ON wh.AutonomousWareHouseID=os.ID AND wh.CustomerID=os.CustomerID
LEFT JOIN RB_OrderSource_EbayAmazonAPI osa WITH (NOLOCK) ON osa.OrderSourceID=os.ID AND osa.CustomerID=os.CustomerID
LEFT JOIN RB_Inventory_WareHouse iwh WITH (NOLOCK) ON iwh.CustomerID=osa.CustomerID AND iwh.DevIDSellerId=osa.DevIDSellerId AND iwh.CustomerID = osa.CustomerID
where wh.CustomerID=1 and wh.WareHouseType=3 and osa.DevIDSellerId='A2LH3VU8QZXXBL'
--上面已经查出来了仓库ID,结合实际业务,根据WareHouseID+ SKU +OrderSourceSKU 可以关联出各子仓的实时库
select * from RB_WareHouse_Product where WareHouseID in
(
7402
,7403
,7404
,7405
,7406
) and SKU='4960782' and OrderSourceSKU='OBA004MM1455XC1EO93SF'
b.针对选择仓库字段,取消最多可选择10个的拦截逻辑
1、之前逻辑:针对本地仓和非本地仓的概念,目前改为本地仓、fba仓、其他海外仓概念,在策略设置勾选仓库,本地仓、fba仓、其他海外仓都可以直选一种仓库类型,新增或编辑新增了,在本地仓、非本地仓基础上,加上了fba仓类型,去掉了仓库只可选择10个限制(策略设置这块需重点注意下)
2、针对fba仓,查询库龄报告详情,返回回来仓库是母仓,策略设置仓库是子仓,需要通过母仓去找对应子仓,子仓和母仓库龄报告是相同的,意味着库龄报告,会有母仓对应多个子仓库龄报告详情
3、海外仓和本地仓获取库龄报告逻辑一致
针对fba仓库逻辑优化,重构了之前逻辑,最好针对本地仓也跑下服务,线上已经跑了fba仓和海外仓