Commit 76adec1b by guanzhenshan

解决逻辑仓库服务统计出错的问题

parent 29fef30f
......@@ -8,7 +8,7 @@ namespace Bailun.DC.DailyPurchaseSellStock
{
var _services = new Services();
var start = DateTime.Parse("2019-10-22");
var start = DateTime.Parse("2019-09-01");
while (start.AddDays(1) < DateTime.Now)
{
_services.Init(start);
......
......@@ -50,10 +50,10 @@ namespace Bailun.DC.DailyPurchaseSellStock
var objOnWay = cn.Query<mStock>(sql, null, null, true, 2 * 60);
var temparr = new List<Tuple<string, string,string>>();
temparr.AddRange(objPreStock.Select(p => new Tuple<string, string,string>(p.bailun_sku, p.warehouse_code,p.warehouse_name)));
temparr.AddRange(objStock.Select(p => new Tuple<string, string,string>(p.bailun_sku, p.warehouse_code,p.warehouse_name)));
temparr.AddRange(objPreOnWay.Select(p => new Tuple<string, string,string>(p.bailun_sku, p.warehouse_code,p.warehouse_name)));
temparr.AddRange(objOnWay.Select(p => new Tuple<string, string,string>(p.bailun_sku, p.warehouse_code,p.warehouse_name)));
temparr.AddRange(objPreStock.Select(p => new Tuple<string, string,string>(p.bailun_sku.ToUpper(), p.warehouse_code.ToUpper(), p.warehouse_name)));
temparr.AddRange(objStock.Select(p => new Tuple<string, string,string>(p.bailun_sku.ToUpper(), p.warehouse_code.ToUpper(), p.warehouse_name)));
temparr.AddRange(objPreOnWay.Select(p => new Tuple<string, string,string>(p.bailun_sku.ToUpper(), p.warehouse_code.ToUpper(), p.warehouse_name)));
temparr.AddRange(objOnWay.Select(p => new Tuple<string, string,string>(p.bailun_sku.ToUpper(), p.warehouse_code.ToUpper(), p.warehouse_name)));
temparr = temparr.Distinct().ToList();
......@@ -77,28 +77,28 @@ namespace Bailun.DC.DailyPurchaseSellStock
start_stock_count = 0,
};
var p = objPreStock.Where(a => a.bailun_sku == item.Item1 && a.warehouse_code == item.Item2).FirstOrDefault();
var p = objPreStock.Where(a => a.bailun_sku.ToUpper() == item.Item1 && a.warehouse_code.ToUpper() == item.Item2).FirstOrDefault();
if (p != null)
{
m.start_stock_count = p.count;
m.start_stock_amount = p.amount;
}
p = objStock.Where(a => a.bailun_sku == item.Item1 && a.warehouse_code == item.Item2).FirstOrDefault();
p = objStock.Where(a => a.bailun_sku.ToUpper() == item.Item1 && a.warehouse_code.ToUpper() == item.Item2).FirstOrDefault();
if (p != null)
{
m.end_stock_count = p.count;
m.end_stock_amount = p.amount;
}
p = objPreOnWay.Where(a => a.bailun_sku == item.Item1 && a.warehouse_code == item.Item2).FirstOrDefault();
p = objPreOnWay.Where(a => a.bailun_sku.ToUpper() == item.Item1 && a.warehouse_code.ToUpper() == item.Item2).FirstOrDefault();
if (p != null)
{
m.start_onway_count = p.count;
m.start_onway_amount = p.amount;
}
p = objOnWay.Where(a => a.bailun_sku == item.Item1 && a.warehouse_code == item.Item2).FirstOrDefault();
p = objOnWay.Where(a => a.bailun_sku.ToUpper() == item.Item1 && a.warehouse_code.ToUpper() == item.Item2).FirstOrDefault();
if (p != null)
{
m.end_onway_count = p.count;
......
......@@ -26,7 +26,7 @@ namespace Bailun.DC.LogicWareHouse
{
var now = DateTime.Now;
if (now.Hour == 8 && now.Minute == 1)
if (now.Hour == 6 && now.Minute == 23)
{
Save();
}
......@@ -57,15 +57,15 @@ namespace Bailun.DC.LogicWareHouse
var page = 1;
var pagesize = 5000;
var listcount = cn.QueryFirstOrDefault<int>("select count(id) from dc_base_stock");
//var listcount = cn.QueryFirstOrDefault<int>("select count(id) from dc_base_stock");
var resultcount = 0;
while (page == 1 || (resultcount == pagesize && resultcount != 0))
while (page == 1 || (resultcount > 0))
{
var strlimit = (((page - 1) * pagesize) + "," + pagesize);
var sql = $@"select t1.bailun_sku,t1.warehouse_code,t4.warehouse_name,t4.hq_type,(t1.usable_stock) usable_stock,(t1.usable_stock*t1.unit_price) amount_stock,(t2.quantity_purchase) quantity_purchase,(t2.quantity_purchase*t1.unit_price) purchase_amount,(t2.quantity_transfer) quantity_transfer,(t2.quantity_transfer*t1.unit_price) amount_transit,(t5.oneday_total_sales) oneday_total_sales,(t5.oneday_total_sales*t1.unit_price) amount_onedaysale,(t5.sevenday_total_sales) sevenday_total_sales,(t5.fourteenday_total_sales) fourteenday_total_sales,(t5.thirtyday_total_sales) thirtyday_total_sales
from (select t01.bailun_sku,t01.warehouse_code,t01.usable_stock,t02.unit_price from dc_base_stock t01
join dc_base_sku t02 on t01.bailun_sku=t02.bailun_sku and t02.company_id=1
join dc_base_sku t02 on t01.bailun_sku=t02.bailun_sku and t02.company_id=1 order by t01.id
limit {strlimit}) t1
left join dc_mid_transit t2 on t1.warehouse_code=t2.warehouse_code and t1.bailun_sku=t2.bailun_sku
left join dc_daily_sales t5 on t5.record_date = '{DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd")}' and t1.warehouse_code=t5.warehouse_code and t1.bailun_sku =t5.bailun_sku
......
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