Commit b6ad8e5f by lizefeng

计算早上那波服装出货前,先刷新一下缺货字段,以免漏单

parent 60e149d0
......@@ -326,9 +326,14 @@ where t2.`status`=2 and t1.bailun_sku = t2.bailun_sku and quantity_final_advise=
/// <param name="mainID"></param>
public static int ImportFuZhuangShortageDetailed(int mainID)
{
var now = DateTime.Now;
// 计算之前先刷新一遍缺货,一面产生间隙(8点56进系统的单,没有算到缺货里面,下午1点那波也不会算上他)
ResetShortageField();
if (mainID <= 0)
{
mainID = purchase_advise.Add(new dc_auto_purchase_advise { create_time = DateTime.Now, no = purchase_advise.GenerateOrderNo(),type = 1 }) ?? 0;
mainID = purchase_advise.Add(new dc_auto_purchase_advise { create_time = now, no = purchase_advise.GenerateOrderNo(),type = 1 }) ?? 0;
}
_connection.Execute(@" INSERT into dc_auto_purchase_advise_detailed(`bailun_sku`,`source_warehouse_code`,`warehouse_code`,`quantity_init_advise`,`quantity_final_advise`,
`product_inner_code`,`goods_quantity_init_advise`,`goods_moq`,`good_sku_codes`,`goods_history_fourteenday_sales`,`history_fourteenday_sales`,
......@@ -376,6 +381,53 @@ t7.bailun_order_ids
}
/// <summary>
/// 刷新缺货字段
/// </summary>
public static void ResetShortageField()
{
try
{
_connection.Execute(@"
insert into dc_mid_transit(bailun_sku, warehouse_code, quantity_out_stock,gmt_out_stock_modified)
SELECT
t1.bailun_sku as bailunSku,
t1.warehouse_code as warehouseCode,
t1.bailun_sku_quantity_ordered - t1.bailun_sku_quantity_pushed - t2.usable_stock - t2.occupy_stock + ifnull(t3.safe_stock, 0) as quantityOutStock, CURRENT_TIMESTAMP
FROM
(
SELECT
bailun_sku,warehouse_code,SUM(bailun_sku_quantity_ordered) AS bailun_sku_quantity_ordered,SUM(bailun_sku_quantity_pushed) AS bailun_sku_quantity_pushed
FROM
dc_base_oms_sku
WHERE
bailun_order_status = 'Handling'
and bailun_interception_status in('None','Failed')
and warehouse_code != ''
and platform_type != 'FBA'
and has_delete = 0
and has_scalp = 0
and has_fba_s = 0
and has_innersale = 0
and paid_time >= '2019-03-01 12:00:00'
and bailun_sku_quantity_ordered > bailun_sku_quantity_shipped
GROUP BY
bailun_sku,
warehouse_code
) t1 INNER JOIN dc_base_stock t2 ON t1.bailun_sku=t2.bailun_sku and t1.warehouse_code=t2.warehouse_code
LEFT JOIN dc_auto_jit_inventory t3 ON t1.bailun_sku=t3.bailun_sku and t1.warehouse_code=t3.warehouse_code
WHERE (t1.bailun_sku_quantity_ordered - t1.bailun_sku_quantity_pushed - t2.usable_stock - t2.occupy_stock + ifnull(t3.safe_stock, 0)) >= 0
ON DUPLICATE KEY UPDATE quantity_out_stock = values(quantity_out_stock) ,gmt_out_stock_modified = values(gmt_out_stock_modified)
", commandTimeout: 0);
}
catch (Exception ex)
{
throw new Exception("缺货计算异常:"+ex.Message);
}
}
/// <summary>
/// 服装增量采购
/// 03
/// </summary>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment