Commit d6ff8199 by guanzhenshan

调整逻辑仓库

parent 3d7b3fec
......@@ -17,6 +17,8 @@ namespace Bailun.DC.LogicWareHouse.Models
public int days { get; set; }
public string day_str { get; set; }
public string hq_type { get; set; }
public string usable_stock { get; set; }
......
......@@ -7,23 +7,33 @@ namespace Bailun.DC.LogicWareHouse
{
class Program
{
static async Task Main(string[] args)
//static async Task Main(string[] args)
//{
// Console.WriteLine("进入 逻辑仓库");
// new Services().Save();
// var builder = new HostBuilder().ConfigureServices((hostContext, services) =>
// {
// services.AddHostedService<Services>();
// });
// await builder.RunConsoleAsync();
//}
static void Main(string[] args)
{
Console.WriteLine("进入 逻辑仓库");
new Services().Save();
var builder = new HostBuilder().ConfigureServices((hostContext, services) =>
{
services.AddHostedService<Services>();
});
//半成品库存
//new Services().SemiStock();
await builder.RunConsoleAsync();
}
//static void Main(string[] args)
//{
// //new Services().Save();
// //new Services().SaleWHDailySnaps();
// new Services().UpdateSemiSale();
//}
//半成品销量
//new Services().UpdateSemiSale();
// 更新缺货数和待发货数据
//new Services().UpdateOutStockAndNoShipping();
//更新30天现金流
//new Services().UpdateCash30Days();
}
}
}
......@@ -102,11 +102,11 @@ namespace Bailun.DC.LogicWareHouse
Console.WriteLine("成品运行成功,时间:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
//半成品
var result = SemiStock(cn);
}
//半成品库存
SemiStock();
//半成品销量
UpdateSemiSale();
......@@ -135,7 +135,11 @@ namespace Bailun.DC.LogicWareHouse
/// 半成品
/// </summary>
/// <returns></returns>
private bool SemiStock(MySqlConnection cn)
public void SemiStock()
{
try
{
using (var cn = new MySqlConnection(Common.GlobalConfig.ConnectionString))
{
if (cn.State == System.Data.ConnectionState.Closed)
{
......@@ -144,13 +148,13 @@ namespace Bailun.DC.LogicWareHouse
var page = 1;
var pagesize = 5000;
var listcount = cn.QueryFirstOrDefault<int>("select count(id) from dc_semi_daily_stock where `day`= '"+DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd")+"'");
var listcount = cn.QueryFirstOrDefault<int>("select count(id) from dc_semi_daily_stock where `day`= '" + DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd") + "'");
var resultcount = 0;
while (page == 1 || (resultcount == pagesize && resultcount != 0))
{
var strlimit = (((page - 1) * pagesize) + "," + pagesize);
var sql = $@"select sku_code as bailun_sku,warehouse_id as warehouse_code,warehouse_name,'半成品仓' as hq_type,stock_quantity as usable_stock,inventory_amount as amount_stock from dc_semi_daily_stock where `day`= '{DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd")}' limit "+strlimit;
var sql = $@"select sku_code as bailun_sku,warehouse_id as warehouse_code,warehouse_name,'半成品仓' as hq_type,stock_quantity as usable_stock,inventory_amount as amount_stock from dc_semi_daily_stock where `day`= '{DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd")}' limit " + strlimit;
var liststock = cn.Query<DC.Models.Warehouse.dc_skuwarehouse_stock_sales>(sql, null, null, true, 30 * 60);
......@@ -175,7 +179,13 @@ namespace Bailun.DC.LogicWareHouse
Console.WriteLine("半成品 运行成功,时间:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
return true;
}
}
catch (Exception ex)
{
Console.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")+"重跑SemiStock,异常信息:" + ex.Message);
SemiStock();
}
}
......@@ -184,6 +194,8 @@ namespace Bailun.DC.LogicWareHouse
/// </summary>
public void UpdateSemiSale()
{
try
{
Console.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + " 执行同步半成品销量任务...");
var _url = "http://mjzz.bailuntec.com/api/StockReport?rows=1000";
......@@ -288,11 +300,21 @@ namespace Bailun.DC.LogicWareHouse
Console.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + " 结束同步半成品销量任务");
}
catch (Exception ex)
{
Console.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "重跑UpdateSemiSale,异常信息:" + ex.Message);
UpdateSemiSale();
}
}
/// <summary>
/// 更新缺货数和待发货数据
/// </summary>
private void UpdateOutStockAndNoShipping()
public void UpdateOutStockAndNoShipping()
{
try
{
var sql = @"update dc_skuwarehouse_stock_sales t1
join dc_mid_transit t2 on (t2.quantity_unshipped>0 or t2.quantity_out_stock>0) and t1.bailun_sku=t2.bailun_sku and t1.warehouse_code=t2.warehouse_code
......@@ -308,6 +330,14 @@ namespace Bailun.DC.LogicWareHouse
cn.Execute("update dc_skuwarehouse_stock_sales set noshippingcount=0,nostockcount=0");
cn.Execute(sql);
}
}
catch (Exception ex)
{
Console.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "重跑UpdateOutStockAndNoShipping,异常信息:" + ex.Message);
UpdateOutStockAndNoShipping();
}
}
......@@ -317,7 +347,9 @@ namespace Bailun.DC.LogicWareHouse
/// </summary>
public void UpdateCash30Days()
{
Console.WriteLine("开始执行更新现金流方法 "+DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
try
{
Console.WriteLine("开始执行更新现金流方法 " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
using (var cn = new MySqlConnection(Common.GlobalConfig.ConnectionString + "Allow User Variables=True;"))
{
......@@ -329,7 +361,7 @@ namespace Bailun.DC.LogicWareHouse
cn.Execute("update dc_skuwarehouse_stock_sales set cash_in_30days=0,cash_out_30days=0,cash_net = 0");
var list = cn.Query<mCash>("select t2.bailun_sku,t2.warehouse_code,t2.pay_amount_30,t2.income_amount_30 from dc_base_stock t2 where (t2.pay_amount_30>0 or t2.income_amount_30>0)");
foreach(var item in list)
foreach (var item in list)
{
cn.Execute("update dc_skuwarehouse_stock_sales set cash_in_30days=" + item.income_amount_30 + ",cash_out_30days=" + item.pay_amount_30 + ",cash_net=" + (item.income_amount_30 - item.pay_amount_30) + " where bailun_sku='" + item.bailun_sku + "' and warehouse_code='" + item.warehouse_code + "'");
Console.WriteLine(item.bailun_sku + "&" + item.warehouse_code);
......@@ -346,12 +378,19 @@ namespace Bailun.DC.LogicWareHouse
Console.WriteLine(" 更新现金流方法 已完成 " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
}
catch (Exception ex)
{
Console.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "重跑UpdateCash30Days,异常信息:" + ex.Message);
}
}
/// <summary>
/// 保存每日数据快照
/// </summary>
public void SaleWHDailySnaps()
{
Console.WriteLine("开始执行保存逻辑仓库的每日快照信息 "+DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
var sql = @"select t1.hq_type,t1.warehouse_code,t1.warehouse_name,sum(t1.usable_stock) usable_stock,sum(t1.amount_stock) amount_stock,sum(t1.quantity_purchase) quantity_purchase,sum(t1.purchase_amount) purchase_amount,sum(t1.quantity_transfer) quantity_transfer,sum(t1.amount_transit) amount_transit,sum(t1.oneday_total_sales) oneday_total_sales,sum(t1.amount_onedaysale) amount_onedaysale,sum(t1.sevenday_total_sales) sevenday_total_sales,sum(t1.fourteenday_total_sales) fourteenday_total_sales,sum(t1.thirtyday_total_sales) thirtyday_total_sales,sum(quantity_tuneout_onway) quantity_tuneout_onway,sum(t1.quantity_tuneout_30days) quantity_tuneout_30days,sum(t1.quantity_tunein_30days) quantity_tunein_30days from dc_skuwarehouse_stock_sales t1 group by warehouse_code";
......
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