Commit 8f997c90 by 泽锋 李

1、利润最大化:点击去到产品库

2、利润最大化:字段放后面,
3、利润最大化:汇总行
4、利润最大化:上前3列固定列,显示异常
parent 538033e2
...@@ -2031,15 +2031,56 @@ order by t1.gmt_modified asc ...@@ -2031,15 +2031,56 @@ order by t1.gmt_modified asc
/// <param name="sku">sku</param> /// <param name="sku">sku</param>
/// <param name="warehouse_code">仓库编码</param> /// <param name="warehouse_code">仓库编码</param>
/// <returns></returns> /// <returns></returns>
public static List<dc_report_profit_analysis> ProfitAnalysis(Condition_AutoTurnOver m, int offset, int limit, ref int total, string order = "", string sort = "", bool isSum = false) public static List<dc_report_profit_analysis_dto> ProfitAnalysis(Condition_AutoTurnOver m, int offset, int limit, ref int total, string order = "", string sort = "", bool isSum = false)
{ {
DynamicParameters parameters = new DynamicParameters(); DynamicParameters parameters = new DynamicParameters();
var sql = ""; var sql = "";
if (m.isSum)
{
sql = @" select ta.* from dc_report_profit_analysis as ta sql = @"
select
AVG(ta.sales_avg_180) as 'sales_avg_180',
AVG(ta.sales_avg_90) as 'sales_avg_90',
AVG(ta.sales_avg_30) as 'sales_avg_30',
AVG(ta.sales_avg_7) as 'sales_avg_7',
sum(ta.quantity_final_advise) as 'quantity_final_advise',
sum(ta.quantity_final_advise_amount) as 'quantity_final_advise_amount',
sum(ta.turnover) as 'turnover',
sum(ta.freight_price) as 'freight_price',
sum(ta.freight_unit_price) as 'freight_unit_price',
sum(ta.quantity_final_advise_ocean) as 'quantity_final_advise_ocean',
sum(ta.quantity_final_advise_ocean_amount) as 'quantity_final_advise_ocean_amount',
sum(ta.freight_price_ocean) as 'freight_price_ocean',
sum(ta.quantity_final_advise_air) as 'quantity_final_advise_air',
sum(ta.quantity_final_advise_air_amount) as 'quantity_final_advise_air_amount',
sum(ta.freight_price_air) as 'freight_price_air',
sum(ta.freight_price_ocean_difference_amount) as 'freight_price_ocean_difference_amount',
sum(ta.quantity_final_ocean_difference_amount) as 'quantity_final_ocean_difference_amount',
sum(ta.freight_price_air_difference_amount) as 'freight_price_air_difference_amount',
sum(ta.quantity_final_air_difference_amount) as 'quantity_final_air_difference_amount',
sum(ta.freight_price_ocean_air_difference) as 'freight_price_ocean_air_difference',
sum(ta.quantity_final__ocean_air_difference_amount) as 'quantity_final__ocean_air_difference_amount',
sum(ta.quantity_safe_inventory) as 'quantity_safe_inventory',
sum(ta.freight_price_ocean_30_difference) as 'freight_price_ocean_30_difference',
sum(ta.freight_price_air_30_difference) as 'freight_price_air_30_difference',
sum(ta.freight_price_air_ocean_30_difference) as 'freight_price_air_ocean_30_difference',
sum(ta.ocean_purchase) as 'ocean_purchase',
sum(ta.ocean_purchase_amount) as 'ocean_purchase_amount'
from dc_report_profit_analysis as ta
left join dc_auto_turnover as dat on dat.warehouse_code = ta.warehouse_code and dat.bailun_sku = ta.bailun_sku left join dc_auto_turnover as dat on dat.warehouse_code = ta.warehouse_code and dat.bailun_sku = ta.bailun_sku
left join dc_base_sku as t4 on dat.bailun_sku = t4.bailun_sku
"; ";
}
else
{
sql = @" select ta.*,t4.product_code from dc_report_profit_analysis as ta
left join dc_auto_turnover as dat on dat.warehouse_code = ta.warehouse_code and dat.bailun_sku = ta.bailun_sku
left join dc_base_sku as t4 on dat.bailun_sku = t4.bailun_sku
";
}
var sqlCount = @" var sqlCount = @"
select select
...@@ -2061,7 +2102,6 @@ left join dc_auto_turnover as dat on dat.warehouse_code = ta.warehouse_code and ...@@ -2061,7 +2102,6 @@ left join dc_auto_turnover as dat on dat.warehouse_code = ta.warehouse_code and
if (m.categoryModels != null || (!string.IsNullOrWhiteSpace(m.product_type))) if (m.categoryModels != null || (!string.IsNullOrWhiteSpace(m.product_type)))
{ {
sqlCount += " left join dc_base_sku as t4 on dat.bailun_sku = t4.bailun_sku "; sqlCount += " left join dc_base_sku as t4 on dat.bailun_sku = t4.bailun_sku ";
sql += " left join dc_base_sku as t4 on dat.bailun_sku = t4.bailun_sku ";
} }
if (m.monitor_status != null) if (m.monitor_status != null)
{ {
...@@ -2313,7 +2353,7 @@ left join dc_auto_turnover as dat on dat.warehouse_code = ta.warehouse_code and ...@@ -2313,7 +2353,7 @@ left join dc_auto_turnover as dat on dat.warehouse_code = ta.warehouse_code and
} }
if (limit > 1000) if (limit > 1000 || m.isSum)
{ {
total = 0; total = 0;
} }
...@@ -2343,7 +2383,7 @@ left join dc_auto_turnover as dat on dat.warehouse_code = ta.warehouse_code and ...@@ -2343,7 +2383,7 @@ left join dc_auto_turnover as dat on dat.warehouse_code = ta.warehouse_code and
} }
} }
sql += " limit " + offset + "," + limit; sql += " limit " + offset + "," + limit;
var obj = _connection.Query<dc_report_profit_analysis>(sql, parameters, buffered: false, commandTimeout: 0).AsList(); var obj = _connection.Query<dc_report_profit_analysis_dto>(sql, parameters, buffered: false, commandTimeout: 0).AsList();
return obj; return obj;
} }
......
...@@ -309,6 +309,8 @@ namespace AutoTurnOver.Models ...@@ -309,6 +309,8 @@ namespace AutoTurnOver.Models
public class Condition_AutoTurnOver public class Condition_AutoTurnOver
{ {
public bool isSum { get; set; }
[Description("sku标签")] [Description("sku标签")]
public string sku_label { get; set; } public string sku_label { get; set; }
......
...@@ -292,4 +292,8 @@ namespace AutoTurnOver.Models ...@@ -292,4 +292,8 @@ namespace AutoTurnOver.Models
/// </summary> /// </summary>
public string formula_json { get; set;} public string formula_json { get; set;}
} }
public class dc_report_profit_analysis_dto: dc_report_profit_analysis {
public string product_code { get; set; }
}
} }
...@@ -689,7 +689,7 @@ namespace AutoTurnOver.Services ...@@ -689,7 +689,7 @@ namespace AutoTurnOver.Services
return DB.dc_auto_turnover.TransferProfitList(bailun_sku, warehouse_code); return DB.dc_auto_turnover.TransferProfitList(bailun_sku, warehouse_code);
} }
public List<dc_report_profit_analysis> ProfitAnalysis(Condition_AutoTurnOver m, int offset, int limit, ref int total, string order = "", string sort = "") public List<dc_report_profit_analysis_dto> ProfitAnalysis(Condition_AutoTurnOver m, int offset, int limit, ref int total, string order = "", string sort = "")
{ {
if (!string.IsNullOrWhiteSpace(m.categoryIds)) if (!string.IsNullOrWhiteSpace(m.categoryIds))
{ {
......
...@@ -93,6 +93,18 @@ namespace AutoTurnOver.Controllers ...@@ -93,6 +93,18 @@ namespace AutoTurnOver.Controllers
} }
[NoLogin]
public JsonResult ProfitAnalysisSumFooter([FromQuery]Condition_AutoTurnOver m)
{
var services = new SkuAutoTurnServices();
var total = 0;
m.isSum = true;
var list = services.ProfitAnalysis(m, 0, 1, ref total, "", "");
return new JsonResult(list == null || list.Count <= 0 ? new dc_report_profit_analysis_dto() : list[0]);
}
public JsonResult ExportProfitAnalysis([FromQuery] dc_base_stock_search_dto search_data) public JsonResult ExportProfitAnalysis([FromQuery] dc_base_stock_search_dto search_data)
{ {
try try
......
...@@ -22,11 +22,11 @@ namespace ResetOutofstock ...@@ -22,11 +22,11 @@ namespace ResetOutofstock
//dc_base_transfer_extend_dao.SynchroLmsTransferOrder(); //dc_base_transfer_extend_dao.SynchroLmsTransferOrder();
//dc_base_supplier_dao.SynchroBailunLmsChannel(); //dc_base_supplier_dao.SynchroBailunLmsChannel();
//dc_base_trans_temp_schedule_dao.SynchroTransTempScheduleData(true); //dc_base_trans_temp_schedule_dao.SynchroTransTempScheduleData(true);
//dc_auto_turnover.CalculationProfitAnalysis("944766402", "ESFBABLEM"); //dc_auto_turnover.CalculationProfitAnalysis("946549801", "GB4PXBL");
//dc_auto_turnover.SynchroCalculationProfitAnalysis(); //dc_auto_turnover.SynchroCalculationProfitAnalysis();
//dc_auto_turnover.SynchroCalculationProfitAnalysis(); //dc_auto_turnover.SynchroCalculationProfitAnalysis();
//dc_base_transfer_freight_dao.CalculationSingle("944913201", "MMDUSFBA"); //dc_base_transfer_freight_dao.CalculationSingle("946549801", "GB4PXBL");
//dc_base_transfer_freight_dao.Init(); //dc_base_transfer_freight_dao.Init();
} }
catch (Exception ex) catch (Exception ex)
......
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