Commit aabd4aae by 泽锋 李

首次入库的-需要排除之前在同国家其他仓库入库过的数据

parent 6d0de4d7
...@@ -13,6 +13,7 @@ namespace AutoGeneratePurchaseAdvise ...@@ -13,6 +13,7 @@ namespace AutoGeneratePurchaseAdvise
static async Task Main(string[] args) static async Task Main(string[] args)
{ {
Console.WriteLine("采购建议计算任务启动..."); Console.WriteLine("采购建议计算任务启动...");
//PurchaseAdviseServices.Generate(DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd 12:00:00")));
var builder = new HostBuilder().ConfigureServices((hostContext, services) => var builder = new HostBuilder().ConfigureServices((hostContext, services) =>
{ {
services.AddHostedService<GeneratePurchaseAdviseBackgroundService>(); services.AddHostedService<GeneratePurchaseAdviseBackgroundService>();
......
...@@ -1629,7 +1629,7 @@ start transaction; ...@@ -1629,7 +1629,7 @@ start transaction;
-- 清空视图表的数据 -- 清空视图表的数据
Truncate table dc_base_stock_record_effective_temp; Truncate table dc_base_stock_record_effective_temp;
INSERT into dc_base_stock_record_effective_temp(`gmt_create`,`gmt_modified`,`bailun_sku`,`warehouse_code`,`warehouse_name`,`quantity_stock`,`stock_time`,`has_transfer`,`bailun_sku_warehouse_code`) INSERT into dc_base_stock_record_effective_temp(`gmt_create`,`gmt_modified`,`bailun_sku`,`warehouse_code`,`warehouse_name`,`quantity_stock`,`stock_time`,`has_transfer`,`bailun_sku_warehouse_code`,`bailun_sku_warehouse_area`)
( (
select t1.gmt_create, select t1.gmt_create,
t1.gmt_modified, t1.gmt_modified,
...@@ -1639,7 +1639,8 @@ select t1.gmt_create, ...@@ -1639,7 +1639,8 @@ select t1.gmt_create,
t1.quantity_stock , t1.quantity_stock ,
t1.stock_time, t1.stock_time,
t1.has_transfer, t1.has_transfer,
t1.bailun_sku_warehouse_code t1.bailun_sku_warehouse_code,
CONCAT(t1.bailun_sku,t2.hq_type,ifnull(t2.area_id,0))
from dc_base_stock_record as t1 from dc_base_stock_record as t1
left join dc_base_warehouse as t2 on t1.warehouse_code = t2.warehouse_code left join dc_base_warehouse as t2 on t1.warehouse_code = t2.warehouse_code
where t1.has_transfer=1 or t2.hq_type = '国内仓' where t1.has_transfer=1 or t2.hq_type = '国内仓'
...@@ -1651,12 +1652,15 @@ alter table dc_base_stock_record_effectiveTemp rename dc_base_stock_record_effec ...@@ -1651,12 +1652,15 @@ alter table dc_base_stock_record_effectiveTemp rename dc_base_stock_record_effec
truncate table dc_base_stock_record_effective_temp; ", commandTimeout: 0); truncate table dc_base_stock_record_effective_temp; ", commandTimeout: 0);
_connection.Execute(@" -- 刷新 库存表的索引字段 _connection.Execute(@" -- 刷新 库存表的索引字段
update dc_base_stock set bailun_sku_warehouse_code=concat(bailun_sku,warehouse_code); update dc_base_stock as t1,dc_base_warehouse as t2
set bailun_sku_warehouse_code=concat(t1.bailun_sku,t1.warehouse_code),bailun_sku_warehouse_area=concat(t1.bailun_sku,t2.hq_type,IFNULL(t2.area_id,0)) where t1.warehouse_code = t2.warehouse_code;
update dc_base_stock_record set bailun_sku_warehouse_code=concat(bailun_sku,warehouse_code); update dc_base_stock_record set bailun_sku_warehouse_code=concat(bailun_sku,warehouse_code);
update dc_base_stock_record_effective set bailun_sku_warehouse_code=concat(bailun_sku,warehouse_code); update dc_base_stock_record_effective set bailun_sku_warehouse_code=concat(bailun_sku,warehouse_code);
update dc_base_stock as t1, (select bailun_sku_warehouse_code,min(stock_time) as 'min_time' from dc_base_stock_record_effective GROUP BY bailun_sku_warehouse_code) as t2 update dc_base_stock as t1,
(select t1.bailun_sku_warehouse_area,min(t1.stock_time) as 'min_time' from dc_base_stock_record_effective as t1
GROUP BY t1.bailun_sku_warehouse_area) as t2
set t1.first_inbound_date = t2.min_time set t1.first_inbound_date = t2.min_time
where t1.bailun_sku_warehouse_code = t2.bailun_sku_warehouse_code;", commandTimeout: 0); where t1.bailun_sku_warehouse_area=t2.bailun_sku_warehouse_area;", commandTimeout: 0);
_connection.Execute(@" -- 刷新库存日志 _connection.Execute(@" -- 刷新库存日志
set session transaction isolation level read uncommitted; set session transaction isolation level read uncommitted;
......
...@@ -73,16 +73,7 @@ namespace AutoTurnOver.DB ...@@ -73,16 +73,7 @@ namespace AutoTurnOver.DB
task_data.error_stack_trace = "模拟计算销量"; task_data.error_stack_trace = "模拟计算销量";
conn.Update(task_data); conn.Update(task_data);
// 查询平台费
task_data.platform_fee = ApiUtility.GetPlatformFee(new Models.ApiDto.api_platform_fee_input_dto
{
datas = new List<Models.ApiDto.api_platform_fee_input_dto.data_dto> {
new Models.ApiDto.api_platform_fee_input_dto.data_dto{ Plat =task_data.platform_type ,PlatCategoryId =task_data.platform_category_id,Site =task_data.web_site }
}
}).categoryRate;
// 模拟销销售额 // 模拟销销售额
logs.AddRange(turnover_list.Where(s => s.type == (int)invented_turnover_model.type_enum.销量).Select((s, index) => new dc_report_cash_flow_forecast_task_log() logs.AddRange(turnover_list.Where(s => s.type == (int)invented_turnover_model.type_enum.销量).Select((s, index) => new dc_report_cash_flow_forecast_task_log()
{ {
...@@ -144,7 +135,53 @@ namespace AutoTurnOver.DB ...@@ -144,7 +135,53 @@ namespace AutoTurnOver.DB
remarks = "模拟跑单", remarks = "模拟跑单",
task_id = task_data.id, task_id = task_data.id,
platform_type = task_data.platform_type, platform_type = task_data.platform_type,
val = s.val * task_data.sale_unit_price_cny * task_data.platform_fee.Value, val = s.val * task_data.sale_unit_price_cny * (task_data.platform_fee??0),
update_time = now,
web_site = task_data.web_site,
pay_time_year_month_no = "",
occur_time_year_month_no = "",
pay_time = report_cash_flow_dao.CalculationPayTime(configs, s.date, (int)dc_report_cash_flow_log_data_type_enum.销售数量, task_data.platform_type, task_data.web_site)
}));
// 模拟fba费
logs.AddRange(turnover_list.Where(s => s.type == (int)invented_turnover_model.type_enum.销量).Select((s, index) => new dc_report_cash_flow_forecast_task_log()
{
warehouse_code = task_data.warehouse_code,
bailun_sku = task_data.bailun_sku,
data_type = (int)dc_report_cash_flow_log_data_type_enum.FBA,
is_delete = 0,
item = "",
item_no = $"虚拟销售单 - {task_data.id}-{s.date_str}-{index}",
no = $"虚拟销售单 - {task_data.id}-{s.date_str}-{index}",
occur_time = s.date,
pay_type = (int)dc_report_cash_flow_log_pay_type_enum.实时,
remarks = "模拟跑单",
task_id = task_data.id,
platform_type = task_data.platform_type,
val = s.val * task_data.sale_unit_price_cny * (task_data.fba_fee??0),
update_time = now,
web_site = task_data.web_site,
pay_time_year_month_no = "",
occur_time_year_month_no = "",
pay_time = report_cash_flow_dao.CalculationPayTime(configs, s.date, (int)dc_report_cash_flow_log_data_type_enum.销售数量, task_data.platform_type, task_data.web_site)
}));
// 模拟pay费
logs.AddRange(turnover_list.Where(s => s.type == (int)invented_turnover_model.type_enum.销量).Select((s, index) => new dc_report_cash_flow_forecast_task_log()
{
warehouse_code = task_data.warehouse_code,
bailun_sku = task_data.bailun_sku,
data_type = (int)dc_report_cash_flow_log_data_type_enum.PayPal,
is_delete = 0,
item = "",
item_no = $"虚拟销售单 - {task_data.id}-{s.date_str}-{index}",
no = $"虚拟销售单 - {task_data.id}-{s.date_str}-{index}",
occur_time = s.date,
pay_type = (int)dc_report_cash_flow_log_pay_type_enum.实时,
remarks = "模拟跑单",
task_id = task_data.id,
platform_type = task_data.platform_type,
val = s.val * task_data.sale_unit_price_cny * (task_data.paypal_fee ?? 0),
update_time = now, update_time = now,
web_site = task_data.web_site, web_site = task_data.web_site,
pay_time_year_month_no = "", pay_time_year_month_no = "",
...@@ -651,10 +688,12 @@ namespace AutoTurnOver.DB ...@@ -651,10 +688,12 @@ namespace AutoTurnOver.DB
info_data.views.Add(new report_cash_flow_view_dto { date_type = new List<int> { 1 }, date_type_str = "销售数量", remarks = "", dates = new List<report_cash_flow_view_dto.date_dto>() }); info_data.views.Add(new report_cash_flow_view_dto { date_type = new List<int> { 1 }, date_type_str = "销售数量", remarks = "", dates = new List<report_cash_flow_view_dto.date_dto>() });
info_data.views.Add(new report_cash_flow_view_dto { date_type = new List<int> { 2 }, date_type_str = "销售金额", remarks = "过滤掉刷单的订单 ", dates = new List<report_cash_flow_view_dto.date_dto>() }); info_data.views.Add(new report_cash_flow_view_dto { date_type = new List<int> { 2 }, date_type_str = "销售金额", remarks = "过滤掉刷单的订单 ", dates = new List<report_cash_flow_view_dto.date_dto>() });
info_data.views.Add(new report_cash_flow_view_dto { date_type = new List<int> { 3 }, date_type_str = "退款", remarks = "预计销售数量 * 销售单价 * 退款率", dates = new List<report_cash_flow_view_dto.date_dto>() }); info_data.views.Add(new report_cash_flow_view_dto { date_type = new List<int> { 3 }, date_type_str = "退款", remarks = "预计销售数量 * 销售单价 * 退款率", dates = new List<report_cash_flow_view_dto.date_dto>() });
info_data.views.Add(new report_cash_flow_view_dto { date_type = new List<int> { 4 }, date_type_str = "利润", remarks = "oms 中的订单,分摊到sku的利润,不包含广告费,上架费,退款", dates = new List<report_cash_flow_view_dto.date_dto>() }); info_data.views.Add(new report_cash_flow_view_dto { date_type = new List<int> { 4 }, date_type_str = "利润", remarks = "销售金额 - 平台费 - fba费 - paypal 费 - 采购成本", dates = new List<report_cash_flow_view_dto.date_dto>() });
info_data.views.Add(new report_cash_flow_view_dto { date_type = new List<int> { 5 }, date_type_str = "平台费用", remarks = "根据平台、站点、产品分类 从利润系统查询的预估平台费率 * 销售数量 * 销售金额", dates = new List<report_cash_flow_view_dto.date_dto>() }); info_data.views.Add(new report_cash_flow_view_dto { date_type = new List<int> { 5 }, date_type_str = "平台费", remarks = "平台费率 * 销售金额", dates = new List<report_cash_flow_view_dto.date_dto>() });
info_data.views.Add(new report_cash_flow_view_dto { date_type = new List<int> { 11 }, date_type_str = "fba 费", remarks = "fba 费率 * 销售金额", dates = new List<report_cash_flow_view_dto.date_dto>() });
info_data.views.Add(new report_cash_flow_view_dto { date_type = new List<int> {12 }, date_type_str = "pay pal 费", remarks = "paypal 费率 * 销售金额", dates = new List<report_cash_flow_view_dto.date_dto>() });
info_data.views.Add(new report_cash_flow_view_dto { date_type = new List<int> { 6 }, date_type_str = "释放销售成本", remarks = "采购成本,利润中已经计算了", dates = new List<report_cash_flow_view_dto.date_dto>() }); info_data.views.Add(new report_cash_flow_view_dto { date_type = new List<int> { 6 }, date_type_str = "释放销售成本", remarks = "", dates = new List<report_cash_flow_view_dto.date_dto>() });
//info_data.views.Add(new report_cash_flow_view_dto { date_type = new List<int> { 7 }, date_type_str = "释放头程费用", remarks = "", dates = new List<report_cash_flow_view_dto.date_dto>() }); //info_data.views.Add(new report_cash_flow_view_dto { date_type = new List<int> { 7 }, date_type_str = "释放头程费用", remarks = "", dates = new List<report_cash_flow_view_dto.date_dto>() });
info_data.views.Add(new report_cash_flow_view_dto { date_type = new List<int> { 8 }, date_type_str = "尾程费用", remarks = "", dates = new List<report_cash_flow_view_dto.date_dto>() }); info_data.views.Add(new report_cash_flow_view_dto { date_type = new List<int> { 8 }, date_type_str = "尾程费用", remarks = "", dates = new List<report_cash_flow_view_dto.date_dto>() });
info_data.views.Add(new report_cash_flow_view_dto { date_type = new List<int> { 9 }, date_type_str = "新增采购费用", remarks = " ", dates = new List<report_cash_flow_view_dto.date_dto>() }); info_data.views.Add(new report_cash_flow_view_dto { date_type = new List<int> { 9 }, date_type_str = "新增采购费用", remarks = " ", dates = new List<report_cash_flow_view_dto.date_dto>() });
......
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