Commit 5f44dcec by 泽锋 李

刷新调拨费用

parent 7771235d
...@@ -872,8 +872,9 @@ where t1.gmt_create>=@btime and t1.gmt_create<=@etime "; ...@@ -872,8 +872,9 @@ where t1.gmt_create>=@btime and t1.gmt_create<=@etime ";
{ {
var now = DateTime.Now; var now = DateTime.Now;
var sql = @"select * from ( var sql = @"select * from (
select t2.creationtime,t2.logisticscode,t2.isdeleted,t1.transfer_order_id,t1.box_id,t1.bailun_sku,t1.warehouse_code,cost_first from dc_base_cost_first as t1 select t2.creationtime,t2.logisticscode,t2.isdeleted,t1.transfer_order_id,t1.box_id,GROUP_CONCAT(t1.bailun_sku,':',t3.weight) as 'bailun_skus',t1.warehouse_code,cost_first as 'sum_cost_first' from dc_base_cost_first as t1
left join dc_base_transfer_info as t2 on t1.transfer_order_id = t2.`code` left join dc_base_transfer_info as t2 on t1.transfer_order_id = t2.`code`
left join dc_base_sku as t3 on t1.bailun_sku = t3.bailun_sku
where t2.creationtime>=@btime and t2.creationtime<=@etime where t2.creationtime>=@btime and t2.creationtime<=@etime
group by t1.transfer_order_id,t1.box_id group by t1.transfer_order_id,t1.box_id
) as t1 ) as t1
...@@ -890,16 +891,18 @@ group by t1.transfer_order_id,t1.box_id ...@@ -890,16 +891,18 @@ group by t1.transfer_order_id,t1.box_id
page++; page++;
foreach (var order_item in order_list) foreach (var order_item in order_list)
{ {
foreach (var order_item_sku in order_item.skus)
{
try try
{ {
var occur_time = order_item.creationtime; var occur_time = order_item.creationtime;
var platforms = GetPlatformShare(occur_time, conn, inventoryConfigs, order_item.warehouse_code, order_item.bailun_sku); var platforms = GetPlatformShare(occur_time, conn, inventoryConfigs, order_item.warehouse_code, order_item_sku.bailun_sku);
if (platforms != null && platforms.Count >= 1) if (platforms != null && platforms.Count >= 1)
{ {
// 把原本未挂载平台的数据删除 // 把原本未挂载平台的数据删除
conn.Execute(" delete from dc_report_cash_flow_log where data_type=@data_type and bailun_sku=@bailun_sku and `no`=@transfer_order_id ", new conn.Execute(" delete from dc_report_cash_flow_log where data_type=@data_type and bailun_sku=@bailun_sku and `no`=@transfer_order_id ", new
{ {
bailun_sku = order_item.bailun_sku, bailun_sku = order_item_sku.bailun_sku,
transfer_order_id = order_item.transfer_order_id, transfer_order_id = order_item.transfer_order_id,
data_type = (int)dc_report_cash_flow_log_data_type_enum.新增头程费用_首单 data_type = (int)dc_report_cash_flow_log_data_type_enum.新增头程费用_首单
}); });
...@@ -910,7 +913,7 @@ group by t1.transfer_order_id,t1.box_id ...@@ -910,7 +913,7 @@ group by t1.transfer_order_id,t1.box_id
dc_report_cash_flow_log item = new dc_report_cash_flow_log() dc_report_cash_flow_log item = new dc_report_cash_flow_log()
{ {
bailun_sku = order_item.bailun_sku, bailun_sku = order_item_sku.bailun_sku,
data_type = (int)dc_report_cash_flow_log_data_type_enum.新增头程费用, data_type = (int)dc_report_cash_flow_log_data_type_enum.新增头程费用,
is_delete = (order_item.isdeleted == 1) ? 1 : 0, is_delete = (order_item.isdeleted == 1) ? 1 : 0,
item = order_item.transfer_order_id, item = order_item.transfer_order_id,
...@@ -918,8 +921,8 @@ group by t1.transfer_order_id,t1.box_id ...@@ -918,8 +921,8 @@ group by t1.transfer_order_id,t1.box_id
no = order_item.transfer_order_id, no = order_item.transfer_order_id,
platform_type = platformItem.platform_type, platform_type = platformItem.platform_type,
web_site = platformItem.web_stie, web_site = platformItem.web_stie,
remarks = $" 原本调拨费用 {order_item.cost_first} 该平台站点 日均加权销量 {platformItem.sales_weight} 占比 {platformItem.ratio} ", remarks = $" 原本调拨费用 {order_item_sku.cost_first} 该平台站点 日均加权销量 {platformItem.sales_weight} 占比 {platformItem.ratio} ",
val = 0 - (Math.Abs(order_item.cost_first) * platformItem.ratio), val = 0 - (Math.Abs(order_item_sku.cost_first) * platformItem.ratio),
occur_time = occur_time, occur_time = occur_time,
warehouse_code = order_item.warehouse_code, warehouse_code = order_item.warehouse_code,
pay_type = (int)dc_report_cash_flow_log_pay_type_enum.后付, pay_type = (int)dc_report_cash_flow_log_pay_type_enum.后付,
...@@ -954,7 +957,7 @@ group by t1.transfer_order_id,t1.box_id ...@@ -954,7 +957,7 @@ group by t1.transfer_order_id,t1.box_id
dc_report_cash_flow_log item = new dc_report_cash_flow_log() dc_report_cash_flow_log item = new dc_report_cash_flow_log()
{ {
bailun_sku = order_item.bailun_sku, bailun_sku = order_item_sku.bailun_sku,
data_type = (int)dc_report_cash_flow_log_data_type_enum.新增头程费用_首单, data_type = (int)dc_report_cash_flow_log_data_type_enum.新增头程费用_首单,
is_delete = (order_item.isdeleted == 1) ? 1 : 0, is_delete = (order_item.isdeleted == 1) ? 1 : 0,
item = order_item.transfer_order_id, item = order_item.transfer_order_id,
...@@ -963,7 +966,7 @@ group by t1.transfer_order_id,t1.box_id ...@@ -963,7 +966,7 @@ group by t1.transfer_order_id,t1.box_id
platform_type = "", platform_type = "",
web_site = "", web_site = "",
remarks = "", remarks = "",
val = 0 - Math.Abs(order_item.cost_first), val = 0 - Math.Abs(order_item_sku.cost_first),
occur_time = order_item.creationtime, occur_time = order_item.creationtime,
warehouse_code = order_item.warehouse_code, warehouse_code = order_item.warehouse_code,
pay_type = (int)dc_report_cash_flow_log_pay_type_enum.后付, pay_type = (int)dc_report_cash_flow_log_pay_type_enum.后付,
...@@ -999,6 +1002,8 @@ group by t1.transfer_order_id,t1.box_id ...@@ -999,6 +1002,8 @@ group by t1.transfer_order_id,t1.box_id
Console.WriteLine($"现金流-调拨单-{order_item.transfer_order_id}-异常" + ex.Message); Console.WriteLine($"现金流-调拨单-{order_item.transfer_order_id}-异常" + ex.Message);
Console.WriteLine("现金流-调拨单-异常" + ex.StackTrace); Console.WriteLine("现金流-调拨单-异常" + ex.StackTrace);
} }
}
} }
} }
......
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq;
using System.Text; using System.Text;
namespace AutoTurnOver.Models.Report namespace AutoTurnOver.Models.Report
...@@ -113,10 +114,54 @@ namespace AutoTurnOver.Models.Report ...@@ -113,10 +114,54 @@ namespace AutoTurnOver.Models.Report
public string logisticscode { get; set; } public string logisticscode { get; set; }
public int isdeleted { get; set; } public int isdeleted { get; set; }
public string box_id { get; set; } public string box_id { get; set; }
public string bailun_skus { get; set; }
public List<sku_dto> skus { get
{
if (string.IsNullOrWhiteSpace(bailun_skus))
{
return new List<sku_dto>();
}
else
{
try
{
var temp_skus = bailun_skus.Split(',').Select(s => {
var arr = s.Split(':');
return new sku_dto()
{
bailun_sku = arr[0],
weight = decimal.Parse(arr[1])
};
}).ToList();
var sum_weight = temp_skus.Sum(s => s.weight);
foreach (var item in temp_skus)
{
item.cost_first = Math.Round(item.weight / sum_weight * sum_cost_first, 2);
}
return temp_skus;
}
catch (Exception ex)
{
throw;
}
}
} }
public class sku_dto
{
public string bailun_sku { get; set; } public string bailun_sku { get; set; }
public decimal weight { get; set; }
public decimal cost_first { get; set; }
}
public string transfer_order_id { get; set; } public string transfer_order_id { get; set; }
public string warehouse_code { get; set; } public string warehouse_code { get; set; }
public decimal cost_first { get; set; } public decimal sum_cost_first { get; set; }
} }
......
...@@ -15,7 +15,7 @@ namespace ResetOutofstock ...@@ -15,7 +15,7 @@ namespace ResetOutofstock
Console.WriteLine("刷新缺货数据任务启动..."); Console.WriteLine("刷新缺货数据任务启动...");
var now = DateTime.Now; var now = DateTime.Now;
//report_cash_flow_dao.CalculationTransferOrder(now.AddMonths(-3), DateTime.Parse(now.AddDays(-1).ToString("yyyy-MM-dd 23:59:59"))); report_cash_flow_dao.CalculationTransferOrder(now.AddMonths(-3), DateTime.Parse(now.AddDays(-1).ToString("yyyy-MM-dd 23:59:59")));
var builder = new HostBuilder().ConfigureServices((hostContext, services) => var builder = new HostBuilder().ConfigureServices((hostContext, services) =>
{ {
services.AddHostedService<ResetOutofstockBackgrounService>(); services.AddHostedService<ResetOutofstockBackgrounService>();
......
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