Commit 5f44dcec by 泽锋 李

刷新调拨费用

parent 7771235d
......@@ -872,8 +872,9 @@ where t1.gmt_create>=@btime and t1.gmt_create<=@etime ";
{
var now = DateTime.Now;
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_sku as t3 on t1.bailun_sku = t3.bailun_sku
where t2.creationtime>=@btime and t2.creationtime<=@etime
group by t1.transfer_order_id,t1.box_id
) as t1
......@@ -890,16 +891,18 @@ group by t1.transfer_order_id,t1.box_id
page++;
foreach (var order_item in order_list)
{
foreach (var order_item_sku in order_item.skus)
{
try
{
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)
{
// 把原本未挂载平台的数据删除
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,
data_type = (int)dc_report_cash_flow_log_data_type_enum.新增头程费用_首单
});
......@@ -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()
{
bailun_sku = order_item.bailun_sku,
bailun_sku = order_item_sku.bailun_sku,
data_type = (int)dc_report_cash_flow_log_data_type_enum.新增头程费用,
is_delete = (order_item.isdeleted == 1) ? 1 : 0,
item = order_item.transfer_order_id,
......@@ -918,8 +921,8 @@ group by t1.transfer_order_id,t1.box_id
no = order_item.transfer_order_id,
platform_type = platformItem.platform_type,
web_site = platformItem.web_stie,
remarks = $" 原本调拨费用 {order_item.cost_first} 该平台站点 日均加权销量 {platformItem.sales_weight} 占比 {platformItem.ratio} ",
val = 0 - (Math.Abs(order_item.cost_first) * platformItem.ratio),
remarks = $" 原本调拨费用 {order_item_sku.cost_first} 该平台站点 日均加权销量 {platformItem.sales_weight} 占比 {platformItem.ratio} ",
val = 0 - (Math.Abs(order_item_sku.cost_first) * platformItem.ratio),
occur_time = occur_time,
warehouse_code = order_item.warehouse_code,
pay_type = (int)dc_report_cash_flow_log_pay_type_enum.后付,
......@@ -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()
{
bailun_sku = order_item.bailun_sku,
bailun_sku = order_item_sku.bailun_sku,
data_type = (int)dc_report_cash_flow_log_data_type_enum.新增头程费用_首单,
is_delete = (order_item.isdeleted == 1) ? 1 : 0,
item = order_item.transfer_order_id,
......@@ -963,7 +966,7 @@ group by t1.transfer_order_id,t1.box_id
platform_type = "",
web_site = "",
remarks = "",
val = 0 - Math.Abs(order_item.cost_first),
val = 0 - Math.Abs(order_item_sku.cost_first),
occur_time = order_item.creationtime,
warehouse_code = order_item.warehouse_code,
pay_type = (int)dc_report_cash_flow_log_pay_type_enum.后付,
......@@ -999,6 +1002,8 @@ group by t1.transfer_order_id,t1.box_id
Console.WriteLine($"现金流-调拨单-{order_item.transfer_order_id}-异常" + ex.Message);
Console.WriteLine("现金流-调拨单-异常" + ex.StackTrace);
}
}
}
}
......
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace AutoTurnOver.Models.Report
......@@ -113,10 +114,54 @@ namespace AutoTurnOver.Models.Report
public string logisticscode { get; set; }
public int isdeleted { 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 decimal weight { get; set; }
public decimal cost_first { get; set; }
}
public string transfer_order_id { 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
Console.WriteLine("刷新缺货数据任务启动...");
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) =>
{
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