Commit 0fd53f7a by lizefeng

aims 周转表,调拨在途点击查看明细

parent 5cab1cee
...@@ -17,21 +17,42 @@ namespace AutoTurnOver.DB ...@@ -17,21 +17,42 @@ namespace AutoTurnOver.DB
public static IEnumerable<dc_purchase_daily_dto> List(string sku, string warehouse_code) public static IEnumerable<dc_purchase_daily_dto> List(string sku, string warehouse_code)
{ {
var sql = @" var sql = @"
select t1.create_time, SELECT
t1.bailun_sku, tb1.bailun_sku AS bailun_sku,
t1.sku_name, tb1.warehouse_code AS warehouse_code,
t1.purchase_id, tb1.purchase_id AS purchase_id,
t1.warehouse_code, tb1.estimated_arrival_time AS estimated_arrival_time,
t1.warehouse_name, -- tb1.has_transfer AS has_transfer,
t1.count as 'purchaseQuantity', sum( ( tb1.count - IFNULL( tb2.count, 0 ) ) ) AS dailyQuantity ,
t2.inboundQuantity (case when t_w.hq_type='fba仓' then t_w.bailun_account else t_w.warehouse_name end) as warehouse_name
from dc_base_purchase as t1 FROM
left join ( (
select t2_1.purchase_id,t2_1.warehouse_code,t2_1.bailun_sku,sum(t2_1.count) as 'inboundQuantity' from dc_base_purchase_inbound as t2_1 SELECT
where t2_1.warehouse_code=@warehouse_code and t2_1.bailun_sku=@bailun_sku bailun_sku,
GROUP BY t2_1.warehouse_code,t2_1.bailun_sku,t2_1.purchase_id warehouse_code,
) as t2 on t1.bailun_sku = t2.bailun_sku and t1.warehouse_code = t2.warehouse_code and t1.purchase_id = t2.purchase_id parent_id,
where t1.count>t2.inboundQuantity and t1.warehouse_code=@warehouse_code and t1.bailun_sku=@bailun_sku purchase_id,
estimated_arrival_time,
has_transfer,
sum( count ) AS count
FROM
dc_base_purchase
WHERE
buy_status IN ( 0, 1, 2, 3 )
AND has_delete = 0
AND bailun_sku = @bailun_sku
AND warehouse_code = @warehouse_code
GROUP BY
bailun_sku,
parent_id
) tb1
LEFT JOIN ( SELECT bailun_sku, warehouse_code, parent_id, sum( count ) AS count FROM dc_base_purchase_inbound GROUP BY bailun_sku, parent_id ) tb2 ON tb1.bailun_sku = tb2.bailun_sku
AND tb1.parent_id = tb2.parent_id
left join dc_base_warehouse as t_w on tb1.warehouse_code = t_w.warehouse_code
GROUP BY
tb1.bailun_sku,
tb1.warehouse_code,
tb1.purchase_id
"; ";
DynamicParameters parameters = new DynamicParameters(); DynamicParameters parameters = new DynamicParameters();
parameters.Add("bailun_sku", sku); parameters.Add("bailun_sku", sku);
...@@ -39,6 +60,94 @@ where t1.count>t2.inboundQuantity and t1.warehouse_code=@warehouse_code and t1.b ...@@ -39,6 +60,94 @@ where t1.count>t2.inboundQuantity and t1.warehouse_code=@warehouse_code and t1.b
return _connection.Query<dc_purchase_daily_dto>(sql, parameters); return _connection.Query<dc_purchase_daily_dto>(sql, parameters);
} }
// <summary>
/// 查询调拨在途数据
/// </summary>
/// <param name="sku">sku</param>
/// <param name="warehouse_code">仓库编码</param>
/// <returns></returns>
public static IEnumerable<dc_transfer_daily_dto> TransferList(string sku, string warehouse_code)
{
var sql = @"
SELECT
tb5.bailun_sku bailun_sku,
tb5.warehouse_code warehouse_code,
tb5.transfer_order_id transfer_order_id,
tb5.estimated_arrival_time estimated_arrival_time,
tb5.create_time create_time,
( tb5.count - IFNULL( tb4.count, 0 ) ) AS count ,
(case when t_w.hq_type='fba仓' then t_w.bailun_account else t_w.warehouse_name end) as warehouse_name
FROM
(
SELECT
tb1.bailun_sku,
tb1.warehouse_code,
tb1.transfer_order_id,
tb1.estimated_arrival_time,
tb1.create_time,
sum( tb1.count ) count
FROM
dc_base_transfer_verify tb1
LEFT JOIN dc_base_transfer_complete tb2 ON tb1.deleted = tb2.deleted
AND tb1.bailun_sku = tb2.bailun_sku
AND tb1.warehouse_code = tb2.warehouse_code
AND tb1.transfer_order_id = tb2.transfer_order_id
WHERE
tb2.bailun_sku IS NULL
AND tb1.bailun_sku = @bailun_sku
AND tb1.warehouse_code = @warehouse_code
AND tb1.deleted = 0
GROUP BY
bailun_sku,
warehouse_code,
transfer_order_id
) tb5
LEFT JOIN (
SELECT
bailun_sku,
warehouse_code,
transfer_order_id,
sum( count ) count
FROM
(
SELECT
tb1.bailun_sku,
tb1.warehouse_code,
max( tb1.count ) count,
tb1.transfer_order_id
FROM
dc_base_transfer_inbound tb1
LEFT JOIN dc_base_transfer_complete tb2 ON tb2.deleted = 0
AND tb1.bailun_sku = tb2.bailun_sku
AND tb1.warehouse_code = tb2.warehouse_code
AND tb1.transfer_order_id = tb2.transfer_order_id
WHERE
tb2.bailun_sku IS NULL
AND tb1.deleted = 0
GROUP BY
bailun_sku,
warehouse_code,
transfer_order_id
) tb3
GROUP BY
bailun_sku,
warehouse_code,
transfer_order_id
) tb4 ON tb5.bailun_sku = tb4.bailun_sku
AND tb5.warehouse_code = tb4.warehouse_code
AND tb5.transfer_order_id = tb4.transfer_order_id
left join dc_base_warehouse as t_w on tb5.warehouse_code = t_w.warehouse_code
WHERE
( tb5.count - IFNULL( tb4.count, 0 ) ) > 0
";
DynamicParameters parameters = new DynamicParameters();
parameters.Add("bailun_sku", sku);
parameters.Add("warehouse_code", warehouse_code);
return _connection.Query<dc_transfer_daily_dto>(sql, parameters);
}
/// <summary> /// <summary>
/// 查询时实库存数据 /// 查询时实库存数据
...@@ -50,15 +159,17 @@ where t1.count>t2.inboundQuantity and t1.warehouse_code=@warehouse_code and t1.b ...@@ -50,15 +159,17 @@ where t1.count>t2.inboundQuantity and t1.warehouse_code=@warehouse_code and t1.b
{ {
var sql = @" var sql = @"
select select
dbw.warehouse_name, (case when dbw.hq_type='fba仓' then dbw.bailun_account else dbw.warehouse_name end) as warehouse_name,
t3.sku_title_cn as 'sku_name', t3.sku_title_cn as 'sku_name',
t2.quantity as 'purchase_daily_quantity', t2.quantity as 'purchase_daily_quantity',
t3.buyer_name,t3.sku_title_cn,t3.sku_title_en,t3.product_inner_code, t3.buyer_name,t3.sku_title_cn,t3.sku_title_en,t3.product_inner_code,
t4.quantity_purchase as 'realtime_quantity_purchase',t4.quantity_transfer as 'realtime_quantity_transfer',
t1.* t1.*
from dc_base_stock as t1 from dc_base_stock as t1
left join ( select * from dc_daily_purchase where record_time>=@time and type=1) as t2 on t1.warehouse_code = t2.warehouse_code and t1.bailun_sku = t2.bailun_sku left join ( select * from dc_daily_purchase where record_time>=@time and type=1) as t2 on t1.warehouse_code = t2.warehouse_code and t1.bailun_sku = t2.bailun_sku
left join dc_base_sku as t3 on t1.bailun_sku = t3.bailun_sku left join dc_base_sku as t3 on t1.bailun_sku = t3.bailun_sku
left join dc_base_warehouse as dbw on t1.warehouse_code = dbw.warehouse_code left join dc_base_warehouse as dbw on t1.warehouse_code = dbw.warehouse_code
left join dc_mid_transit as t4 on t1.bailun_sku = t4.bailun_sku and t1.warehouse_code = t4.warehouse_code
where 1=1 where 1=1
"; ";
......
...@@ -40,7 +40,8 @@ sum(dat.quantity_transfer) as 'quantity_transfer', ...@@ -40,7 +40,8 @@ sum(dat.quantity_transfer) as 'quantity_transfer',
sum(t2.oneday_sales) as 'oneday_sales', sum(t2.oneday_sales) as 'oneday_sales',
sum(t2.forecast_oneday_sales) as 'forecast_oneday_sales2', sum(t2.forecast_oneday_sales) as 'forecast_oneday_sales2',
sum(dat.quantity_final_advise) as 'quantity_final_advise', sum(dat.quantity_final_advise) as 'quantity_final_advise',
sum(dat.quantity_promotion) as 'quantity_promotion' sum(dat.quantity_promotion) as 'quantity_promotion',
sum(dat.quantity_safe_inventory) as 'quantity_safe_inventory'
from dc_auto_turnover as dat from dc_auto_turnover as dat
left join dc_auto_sales as t2 on t2.bailun_sku=dat.bailun_sku and dat.warehouse_code = t2.warehouse_code left join dc_auto_sales as t2 on t2.bailun_sku=dat.bailun_sku and dat.warehouse_code = t2.warehouse_code
left join dc_base_warehouse as t3 on dat.warehouse_code = t3.warehouse_code left join dc_base_warehouse as t3 on dat.warehouse_code = t3.warehouse_code
......
...@@ -186,5 +186,15 @@ namespace AutoTurnOver.Models ...@@ -186,5 +186,15 @@ namespace AutoTurnOver.Models
/// 产品内部编码 /// 产品内部编码
/// </summary> /// </summary>
public string product_inner_code { get; set; } public string product_inner_code { get; set; }
/// <summary>
/// 实时采购在途
/// </summary>
public int realtime_quantity_purchase { get; set; }
/// <summary>
/// 实时调拨在途
/// </summary>
public int realtime_quantity_transfer { get; set; }
} }
} }
...@@ -33,23 +33,41 @@ namespace AutoTurnOver.Models ...@@ -33,23 +33,41 @@ namespace AutoTurnOver.Models
/// </summary> /// </summary>
public string purchase_id { get; set; } public string purchase_id { get; set; }
/// <summary> /// <summary>
/// 采购数量 /// 在途数量
/// </summary> /// </summary>
public int purchaseQuantity { get; set; } public int dailyQuantity { get; set; }
/// <summary> /// <summary>
/// 入库数量 /// 预计到货
/// </summary> /// </summary>
public int inboundQuantity { get; set; } public DateTime? estimated_arrival_time { get; set; }
}
/// <summary> /// <summary>
/// 在途数量 /// 调拨明细
/// </summary> /// </summary>
public int dailyQuantity { get public class dc_transfer_daily_dto
{ {
return purchaseQuantity - inboundQuantity; public string bailun_sku { get; set; }
} }
public string warehouse_code { get; set; }
public string transfer_order_id { get; set; }
public string estimated_arrival_time { get; set; }
public string create_time { get; set; }
/// <summary>
/// 在途数量
/// </summary>
public string count { get; set; }
public string warehouse_name { get; set; }
} }
} }
...@@ -21,6 +21,18 @@ namespace AutoTurnOver.Services ...@@ -21,6 +21,18 @@ namespace AutoTurnOver.Services
return DB.daily.List(sku, warehouse_code); return DB.daily.List(sku, warehouse_code);
} }
/// <summary>
/// 查询调拨在途数据
/// </summary>
/// <param name="sku">sku</param>
/// <param name="warehouse_code">仓库编码</param>
/// <returns></returns>
public IEnumerable<dc_transfer_daily_dto> TransferList(string sku, string warehouse_code)
{
return DB.daily.TransferList(sku, warehouse_code);
}
public IEnumerable<dc_base_stock_dto> RealtimeList(string sku, string warehouse_code, string product_inner_code, string sku_title_cn, int offset, int limit, ref int total, string warehousetype, int? warehousearea) public IEnumerable<dc_base_stock_dto> RealtimeList(string sku, string warehouse_code, string product_inner_code, string sku_title_cn, int offset, int limit, ref int total, string warehousetype, int? warehousearea)
{ {
return DB.daily.RealtimeList(sku, warehouse_code,product_inner_code,sku_title_cn,offset, limit, ref total,warehousetype,warehousearea); return DB.daily.RealtimeList(sku, warehouse_code,product_inner_code,sku_title_cn,offset, limit, ref total,warehousetype,warehousearea);
......
...@@ -31,6 +31,28 @@ namespace AutoTurnOver.Controllers ...@@ -31,6 +31,28 @@ namespace AutoTurnOver.Controllers
} }
/// <summary> /// <summary>
/// 调拨在途
/// </summary>
/// <param name="warehousecode"></param>
/// <param name="sku"></param>
/// <returns></returns>
[HttpGet]
public JsonResult TransferList(string warehousecode, string sku)
{
var service = new Services.DailyServices();
var list = service.TransferList(sku, warehousecode);
return new JsonResult(new
{
rows = list,
total = list.Count()
});
}
/// <summary>
/// 实时库存 /// 实时库存
/// </summary> /// </summary>
/// <param name="sku"></param> /// <param name="sku"></param>
...@@ -65,7 +87,7 @@ namespace AutoTurnOver.Controllers ...@@ -65,7 +87,7 @@ namespace AutoTurnOver.Controllers
var list = services.RealtimeList(sku, warehousecode, product_inner_code, sku_title_cn, 0, int.MaxValue, ref total,warehousetype,warehousearea); var list = services.RealtimeList(sku, warehousecode, product_inner_code, sku_title_cn, 0, int.MaxValue, ref total,warehousetype,warehousearea);
DataTable table = new DataTable(); DataTable table = new DataTable();
string[] cols = new string[] { "Sku", "采购名称", "中文名", "英文名称","内部编码", "仓库编码", "仓库名称", "货主编码" string[] cols = new string[] { "Sku", "采购名称", "中文名", "英文名称","内部编码", "仓库编码", "仓库名称", "货主编码","实时采购在途","实时调拨在途"
,"订货数量","运输在途","中转仓库存","冻结库存","供应商库存","预售库存","不良品库存","在途库存","收货待检" ,"订货数量","运输在途","中转仓库存","冻结库存","供应商库存","预售库存","不良品库存","在途库存","收货待检"
,"待上架","可配库存","销售可用库存(聚合)","销售可用库存(私有)","销售可用库存(共享)","在仓库存(共享)","在仓库存(私有)","在仓库存(聚合)","仓库占用(共享)" ,"待上架","可配库存","销售可用库存(聚合)","销售可用库存(私有)","销售可用库存(共享)","在仓库存(共享)","在仓库存(私有)","在仓库存(聚合)","仓库占用(共享)"
,"仓库占用(私有)","仓库占用(聚合)","活动占用","单占用(私有)","订单占用(共享)","订单占用(聚合)","环球更新时间" ,"仓库占用(私有)","仓库占用(聚合)","活动占用","单占用(私有)","订单占用(共享)","订单占用(聚合)","环球更新时间"
...@@ -113,6 +135,9 @@ namespace AutoTurnOver.Controllers ...@@ -113,6 +135,9 @@ namespace AutoTurnOver.Controllers
row["订单占用(聚合)"] = itemData.occupy_order_share; row["订单占用(聚合)"] = itemData.occupy_order_share;
row["环球更新时间"] = itemData.update_time; row["环球更新时间"] = itemData.update_time;
row["实时采购在途"] = itemData.realtime_quantity_purchase;
row["实时调拨在途"] = itemData.realtime_quantity_transfer;
table.Rows.Add(row); table.Rows.Add(row);
} }
......
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