Commit e39c175e by zhouminghui

fix

parent c73d2a69
......@@ -2026,7 +2026,8 @@ AND platform_type = '{item.platform_type}' AND financecategoryname = '{item.fina
{
var startTime = Convert.ToDateTime("2021-08-01");
var endTime = Convert.ToDateTime("2021-09-01");
var lastMonth = startTime.AddDays(-1);
//var lastMonth = startTime.AddDays(-1);
var lastMonth = startTime;
for (int i = 1; i < 100000; i++)
{
var skuData = GetMonthStockWeightingSkuList(startTime, endTime, i, 20);
......@@ -2134,20 +2135,39 @@ AND platform_type = '{item.platform_type}' AND financecategoryname = '{item.fina
private List<GetMonthStockWeightingSummaryDto> GetMonthEndInventory(List<string> skus, DateTime lastMonth)
{
string sqlSku = "('" + string.Join("','", skus) + "')";
string sql = $@"
SELECT temp.bailun_sku,
//string sql = $@"
// SELECT temp.bailun_sku,
// CASE WHEN stock_flow.on_hand_stock*temp.price>0 THEN stock_flow.on_hand_stock*temp.price ELSE 0 END AS total_price,
// CASE WHEN stock_flow.on_hand_stock>0 THEN stock_flow.on_hand_stock ELSE 0 END AS on_hand_stock
// FROM(SELECT t1.bailun_sku,t1.count,t2.price FROM dc_base_purchase_inbound AS t1
// INNER JOIN dc_base_purchase AS t2 ON t2.purchase_id = t1.purchase_id AND t2.bailun_sku = t1.bailun_sku
// WHERE DATE(t1.create_time)='{lastMonth.ToString("yyyy-MM-dd")}' AND t1.`status` = 1 AND t1.bailun_sku IN {sqlSku}) AS temp
// LEFT JOIN (
// SELECT bailun_sku,SUM(on_hand_stock)on_hand_stock FROM(
// SELECT bailun_sku,on_hand_stock
// FROM dc_base_wms_stock_flow WHERE 1=1 AND DATE(order_creation_time) ='{lastMonth.ToString("yyyy-MM-dd")}' AND warehouse_code IN('GZBLZZG','GZBLWH')
// ORDER BY order_creation_time DESC)AS temp GROUP BY bailun_sku
// )AS stock_flow ON stock_flow.bailun_sku = temp.bailun_sku;
// ";
DateTime start = lastMonth.AddMonths(-1);
var sql = $@"SELECT temp.bailun_sku,temp.create_time,
CASE WHEN stock_flow.on_hand_stock*temp.price>0 THEN stock_flow.on_hand_stock*temp.price ELSE 0 END AS total_price,
CASE WHEN stock_flow.on_hand_stock>0 THEN stock_flow.on_hand_stock ELSE 0 END AS on_hand_stock
FROM(SELECT t1.bailun_sku,t1.count,t2.price FROM dc_base_purchase_inbound AS t1
INNER JOIN dc_base_purchase AS t2 ON t2.purchase_id = t1.purchase_id AND t2.bailun_sku = t1.bailun_sku
WHERE DATE(t1.create_time)='{lastMonth.ToString("yyyy-MM-dd")}' AND t1.`status` = 1 AND t1.bailun_sku IN {sqlSku}) AS temp
LEFT JOIN (
SELECT bailun_sku,SUM(on_hand_stock)on_hand_stock FROM(
SELECT bailun_sku,on_hand_stock
FROM dc_base_wms_stock_flow WHERE 1=1 AND DATE(order_creation_time) ='{lastMonth.ToString("yyyy-MM-dd")}' AND warehouse_code IN('GZBLZZG','GZBLWH')
ORDER BY order_creation_time DESC)AS temp GROUP BY bailun_sku
)AS stock_flow ON stock_flow.bailun_sku = temp.bailun_sku;
";
CASE WHEN stock_flow.on_hand_stock>0 THEN stock_flow.on_hand_stock ELSE 0 END AS on_hand_stock
FROM(
SELECT t1.bailun_sku,t1.count,t2.price,MAX(t1.create_time) create_time
FROM dc_base_purchase_inbound AS t1
INNER JOIN dc_base_purchase AS t2 ON t2.purchase_id = t1.purchase_id AND t2.bailun_sku = t1.bailun_sku
WHERE t1.create_time >= '{start}' AND t1.create_time < '{lastMonth}'
AND t1.`status` = 1 AND t1.bailun_sku IN {sqlSku} group by t1.bailun_sku) AS temp
LEFT JOIN (
SELECT bailun_sku,SUM(on_hand_stock)on_hand_stock
FROM(
SELECT bailun_sku,on_hand_stock,MAX(order_creation_time)
FROM dc_base_wms_stock_flow WHERE 1=1 AND order_creation_time >= '{start}'
AND order_creation_time < '{lastMonth}'
AND warehouse_code IN('GZBLZZG','GZBLWH')
GROUP BY bailun_sku )AS temp group by bailun_sku
)AS stock_flow ON stock_flow.bailun_sku = temp.bailun_sku;";
using (var cn = new MySqlConnection(GlobalConfig.ConnectionString))
{
if (cn.State == ConnectionState.Closed)
......@@ -2164,31 +2184,34 @@ AND platform_type = '{item.platform_type}' AND financecategoryname = '{item.fina
INNER JOIN dc_base_purchase AS t2 ON t2.purchase_id = t1.purchase_id AND t2.bailun_sku = t1.bailun_sku
WHERE t1.bailun_sku = @sku AND DATE(t1.create_time)>= @start AND DATE(t1.create_time)< @end
AND t1.`status` = 1";
var sqlStock = @"SELECT temp.bailun_sku,
var sqlStock = @"SELECT temp.bailun_sku,create_time,
CASE WHEN stock_flow.on_hand_stock*temp.price>0 THEN stock_flow.on_hand_stock*temp.price ELSE 0 END AS total_price,
CASE WHEN stock_flow.on_hand_stock>0 THEN stock_flow.on_hand_stock ELSE 0 END AS on_hand_stock
FROM(SELECT t1.bailun_sku,t1.count,t2.price FROM dc_base_purchase_inbound AS t1
FROM(SELECT t1.bailun_sku,t1.count,t2.price,t1.create_time FROM dc_base_purchase_inbound AS t1
INNER JOIN dc_base_purchase AS t2 ON t2.purchase_id = t1.purchase_id AND t2.bailun_sku = t1.bailun_sku
WHERE DATE(t1.create_time)= @purchaseTime AND t1.`status` = 1 AND t1.bailun_sku = @sku ) AS temp
WHERE t1.create_time >= @purchasestart AND t1.create_time < @purchaseend and t1.`status` = 1 AND t1.bailun_sku = @sku1 ) AS temp
LEFT JOIN(
SELECT bailun_sku, SUM(on_hand_stock) on_hand_stock FROM(
SELECT bailun_sku, on_hand_stock
FROM dc_base_wms_stock_flow WHERE 1 = 1 AND DATE(order_creation_time) = @stockTime AND warehouse_code IN('GZBLZZG', 'GZBLWH')
and bailun_sku = 'N-8ML-G1341'
FROM dc_base_wms_stock_flow WHERE 1 = 1 AND order_creation_time >= @stockstart and order_creation_time < @stockend AND warehouse_code IN('GZBLZZG', 'GZBLWH')
and bailun_sku = @sku2
ORDER BY order_creation_time DESC limit 1 )AS temp
)AS stock_flow ON stock_flow.bailun_sku = temp.bailun_sku";
)AS stock_flow ON stock_flow.bailun_sku = temp.bailun_sku order by create_time desc limit 1";
var sqlPurchaseParam = new DynamicParameters();
var sqlStockParam = new DynamicParameters();
sqlPurchaseParam.Add("sku", sku);
sqlStockParam.Add("sku", sku);
sqlStockParam.Add("sku1", sku);
sqlStockParam.Add("sku2", sku);
var time = Convert.ToDateTime(month);
var timeEnd = time.AddMonths(1);
var timeLast = time.AddDays(-1);
//var timeLast = time.AddDays(-1);
sqlPurchaseParam.Add("start", time);
sqlPurchaseParam.Add("end", timeEnd);
sqlStockParam.Add("purchaseTime", timeLast);
sqlStockParam.Add("stockTime", timeLast);
var stockdate = time.AddMonths(-1);
sqlStockParam.Add("purchasestart", stockdate);
sqlStockParam.Add("purchaseend", time);
sqlStockParam.Add("stockstart", stockdate);
sqlStockParam.Add("stockend", time);
var purchase = SimpleCRUD.Query<dynamic>(sqlPurchase, sqlPurchaseParam, GlobalConfig.ConnectionString).ToList();
var stock = SimpleCRUD.Query<GetMonthStockWeightingSummaryDto>(sqlStock, sqlStockParam, GlobalConfig.ConnectionString).ToList();
//var stock = GetMonthEndInventory(new List<string> { sku }, timeLast);
......
......@@ -672,5 +672,8 @@ namespace Bailun.DC.WebApi.Controllers
public object GetMonthStockWeightingDetail(string sku, string month)
=> new FinanceService().GetMonthStockWeightingDetail(sku, month);
#endregion
[HttpGet("GetTest")]
public void GetTest()
=> new FinanceService().SynchMonthStockWeighting();
}
}
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