Commit 7b6ae24d by guanzhenshan

1、调整sku利润统计表生成服务

2、增加sku+仓库利润统计报表
parent a9fe3284
......@@ -30,6 +30,51 @@ namespace Bailun.DC.Models
public string warehouse_name { get; set; }
/// <summary>
/// 分类id
/// </summary>
public int category_id { get; set; }
/// <summary>
/// 分类名称
/// </summary>
public string category_name { get; set; }
/// <summary>
/// 在库库存
/// </summary>
public int usable_stock { get; set; }
/// <summary>
/// 在库库存金额
/// </summary>
public decimal usable_stock_amount { get; set; }
/// <summary>
/// 采购在途数
/// </summary>
public int quantity_purchase { get; set; }
/// <summary>
/// 采购在途金额
/// </summary>
public decimal quantity_purchase_amount { get; set; }
/// <summary>
/// 调拨在途数
/// </summary>
public int quantity_transfer { get; set; }
/// <summary>
/// 调拨在途金额
/// </summary>
public decimal quantity_transfer_amount { get; set; }
/// <summary>
/// sku名称
/// </summary>
public string sku_title_cn { get; set; }
/// <summary>
/// 昨日销售额
/// </summary>
public decimal yd_sales_amount { get; set; }
......
......@@ -20,7 +20,7 @@ namespace Bailun.DC.SkuProfitService
//static void Main(string[] args)
//{
// Console.WriteLine("启动服务 "+DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
// Console.WriteLine("启动服务 " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
// var _service = new Services();
// _service.Save();
......
......@@ -54,6 +54,9 @@ namespace Bailun.DC.SkuProfitService
cn.Open();
}
//先删除历史记录
cn.Execute("delete from dc_mid_sku_profit", null, null, 2 * 60);
//30天销量
var list30day = cn.Query<Models.mSkuWarehouse>($@"select t.*,t2.unit_price,t2.category_id,t2.category_name,t3.usable_stock,t4.quantity_purchase,t4.quantity_transfer,t2.sku_title_cn from
(select t1.bailun_sku,t1.warehouse_code,t1.warehouse_name,sum(t1.bailun_sku_quantity_ordered) count,sum(t1.amount_sales*t1.bailun_sku_quantity_shipped*t1.seller_order_exchange_rate) amount,sum(t1.profit_total) profit_total from dc_base_oms_sku t1
......@@ -78,7 +81,7 @@ group by bailun_sku,warehouse_code", null, null, true, 5 * 60);
var listcount = list30day.Count();
var pagesize = 5000;
var index = 0;
var sqlInsert = @"insert dc_mid_sku_profit(day,createtime,bailun_sku,warehouse_code,warehouse_name,yd_sales_amount,yd_sales_count,yd_sales_stockamount,yd_grossprofit,yd_grossprofit_rate,pre30_sales_amount,pre30_sales_count,pre30_stockamount,pre30_grossprofit,pre30_grossprofit_rate,pre30_return_rate,pre30_stockamount_turn_rate,pre30_stockamount_add,pre30_stockamount__rate,pre30_stocknum_turn_rate,pre30_stock_add_count,pre30_stocknum_rate,pre30_stockamount_vendibility_day,pre30_stocknum_vendibility_day) values ";
var sqlInsert = @"insert dc_mid_sku_profit(day,createtime,bailun_sku,warehouse_code,warehouse_name,category_id,category_name,usable_stock,usable_stock_amount,quantity_purchase,quantity_purchase_amount,quantity_transfer,quantity_transfer_amount,sku_title_cn,yd_sales_amount,yd_sales_count,yd_sales_stockamount,yd_grossprofit,yd_grossprofit_rate,pre30_sales_amount,pre30_sales_count,pre30_stockamount,pre30_grossprofit,pre30_grossprofit_rate,pre30_return_rate,pre30_stockamount_turn_rate,pre30_stockamount_add,pre30_stockamount__rate,pre30_stocknum_turn_rate,pre30_stock_add_count,pre30_stocknum_rate,pre30_stockamount_vendibility_day,pre30_stocknum_vendibility_day) values ";
var str = "";
foreach (var item in list30day)
{
......@@ -136,7 +139,7 @@ group by bailun_sku,warehouse_code", null, null, true, 5 * 60);
index++;
str += ($@" ('{m.day.ToString("yyyy-MM-dd")}','{m.createtime.ToString("yyyy-MM-dd HH:mm:ss")}','{m.bailun_sku}','{m.warehouse_code}','{m.warehouse_name}',{m.yd_sales_amount},{m.yd_sales_count},{m.yd_sales_stockamount},{m.yd_grossprofit},{m.yd_grossprofit_rate},{m.pre30_sales_amount},{m.pre30_sales_count},{m.pre30_stockamount},{m.pre30_grossprofit},{m.pre30_grossprofit_rate},{m.pre30_return_rate},{m.pre30_stockamount_turn_rate},{m.pre30_stockamount_add},{m.pre30_stockamount__rate},{m.pre30_stocknum_turn_rate},{m.pre30_stock_add_count},{m.pre30_stocknum_rate},{m.pre30_stockamount_vendibility_day},{m.pre30_stocknum_vendibility_day}),");
str += ($@" ('{m.day.ToString("yyyy-MM-dd")}','{m.createtime.ToString("yyyy-MM-dd HH:mm:ss")}','{m.bailun_sku}','{m.warehouse_code}','{m.warehouse_name}',{item.category_id},'{item.category_name.Replace("'","")}',{item.usable_stock},{(item.usable_stock*item.unit_price)},{item.quantity_purchase},{(item.quantity_purchase*item.unit_price)},{item.quantity_transfer},{(item.quantity_transfer*item.unit_price)},'{item.sku_title_cn.Replace("'","")}',{m.yd_sales_amount},{m.yd_sales_count},{m.yd_sales_stockamount},{m.yd_grossprofit},{m.yd_grossprofit_rate},{m.pre30_sales_amount},{m.pre30_sales_count},{m.pre30_stockamount},{m.pre30_grossprofit},{m.pre30_grossprofit_rate},{m.pre30_return_rate},{m.pre30_stockamount_turn_rate},{m.pre30_stockamount_add},{m.pre30_stockamount__rate},{m.pre30_stocknum_turn_rate},{m.pre30_stock_add_count},{m.pre30_stocknum_rate},{m.pre30_stockamount_vendibility_day},{m.pre30_stocknum_vendibility_day}),");
if (index % pagesize == 0 || index == listcount)
{
......
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