Commit bc0c496c by lizefeng

优化缺货数据刷新的过程中,数据无法使用的问题

parent 319cae62
......@@ -271,25 +271,30 @@ set session transaction isolation level read uncommitted;
start transaction;
-- 清空视图表的数据
Truncate table dc_base_oms_sku_outofstock;
Truncate table dc_base_oms_sku_outofstock_temp;
INSERT into dc_base_oms_sku_outofstock (
INSERT into dc_base_oms_sku_outofstock_temp (
select
t1.*
from dc_base_oms_sku as t1
left join dc_base_warehouse as t_db on t1.warehouse_code = t_db.warehouse_code
left join dc_base_sku as t6 on t1.bailun_sku = t6.bailun_sku
where t1.create_time>'2019-03-01 12:00:00' and t1.bailun_picking_status!='TotalPicked' and t1.bailun_order_status !='Canceled' and t1.has_delete=0 and t1.has_scalp=0 and t1.bailun_interception_status not in ('Success','Part') and t1.platform_type!='FBA'
) ", commandTimeout: 0);
);
alter table dc_base_oms_sku_outofstock rename dc_base_oms_sku_outofstockTemp;
alter table dc_base_oms_sku_outofstock_temp rename dc_base_oms_sku_outofstock;
alter table dc_base_oms_sku_outofstockTemp rename dc_base_oms_sku_outofstock_temp;
truncate table dc_base_oms_sku_outofstock_temp; ", commandTimeout: 0);
_connection.Execute(@" -- 刷新缺货明细表
set session transaction isolation level read uncommitted;
start transaction;
-- 清空视图表的数据
Truncate table china_warehouse_stock;
Truncate table china_warehouse_stock_temp;
INSERT into china_warehouse_stock(`bailun_sku`,`sum_usable_stock`,`warehouse_codes`) (
INSERT into china_warehouse_stock_temp(`bailun_sku`,`sum_usable_stock`,`warehouse_codes`) (
SELECT
`t1`.`bailun_sku` AS `bailun_sku`,
sum( `t1`.`usable_stock` ) AS `sum_usable_stock`,
......@@ -300,16 +305,20 @@ WHERE
( ( `t2`.`hq_type` = '国内仓' ) AND ( `t1`.`warehouse_code` NOT IN ( 'GZBLZZG', 'QYBLZZC', 'SZBLZZC' ) ) )
GROUP BY
`t1`.`bailun_sku`
) ", commandTimeout: 0);
);
alter table china_warehouse_stock rename china_warehouse_stockTemp;
alter table china_warehouse_stock_temp rename china_warehouse_stock;
alter table china_warehouse_stockTemp rename china_warehouse_stock_temp;
truncate table china_warehouse_stock_temp; ", commandTimeout: 0);
_connection.Execute(@" -- 刷新缺货明细表
set session transaction isolation level read uncommitted;
start transaction;
-- 清空视图表的数据
Truncate table china_warehouse_unshipped;
Truncate table china_warehouse_unshipped_temp;
INSERT into china_warehouse_unshipped(`bailun_sku`,`sum_unshipped_quantity`) (
INSERT into china_warehouse_unshipped_temp(`bailun_sku`,`sum_unshipped_quantity`) (
SELECT
`t1`.`bailun_sku` AS `bailun_sku`,
sum(case when t1.bailun_order_status !='Canceled' and t1.has_delete=0 and t1.has_scalp=0 then ( `t1`.`bailun_sku_quantity_ordered` - `t1`.`bailun_sku_quantity_picked` ) else 0 end ) AS `sum_unshipped_quantity`
......@@ -319,7 +328,12 @@ WHERE
`t2`.`hq_type` = '国内仓' and t1.warehouse_code not in('GZBLZZG','QYBLZZC','SZBLZZC')
GROUP BY
`t1`.`bailun_sku`
) ", commandTimeout: 0);
);
alter table china_warehouse_unshipped rename china_warehouse_unshippedTemp;
alter table china_warehouse_unshipped_temp rename china_warehouse_unshipped;
alter table china_warehouse_unshippedTemp rename china_warehouse_unshipped_temp;
truncate table china_warehouse_unshipped_temp; ", commandTimeout: 0);
}
catch (Exception ex)
{
......
......@@ -32,7 +32,7 @@ namespace AutoTurnOver.Models.ApiDto
/// 2 = 实际缺货
/// 3 = 补货
/// </summary>
public int type { get; set; }
public int sys_source { get; set; }
public string bp_remark { get; set; }
......@@ -52,6 +52,8 @@ namespace AutoTurnOver.Models.ApiDto
///</summary>
public string bd_sku { get; set; }
public int sys_source { get; set; }
///<summary>
///采购数量
///</summary>
......
using System;
using System.Collections.Generic;
using System.Text;
using System.Linq;
namespace AutoTurnOver.Models.Report
{
......@@ -157,6 +158,40 @@ namespace AutoTurnOver.Models.Report
/// 在途数据
/// </summary>
public string buy_ontheway_detail { get; set; }
public buy_ontheway_detail_dto min_buy { get {
if (buy_ontheway_detail_list.Count <= 0) return new buy_ontheway_detail_dto { };
else
{
return buy_ontheway_detail_list.OrderBy(s => s.arrival_date).FirstOrDefault();
}
} }
public List<buy_ontheway_detail_dto> buy_ontheway_detail_list
{
get
{
if (string.IsNullOrWhiteSpace(buy_ontheway_detail))
{
return new List<buy_ontheway_detail_dto>();
}
else
{
var datas = new List<buy_ontheway_detail_dto>();
foreach (var buy_str in buy_ontheway_detail.Split(','))
{
var temp_sry = buy_str.Replace("【", "").Replace("】", "");
var buy_array = temp_sry.Split('|');// Trim()
datas.Add(new buy_ontheway_detail_dto {
no = buy_array[0].Trim(),
count = int.Parse(buy_array[1].Trim()),
inbound = int.Parse(buy_array[2].Trim()),
arrival_date = DateTime.Parse(buy_array[3].Trim())
});
}
return datas;
}
}
}
}
public class quantity_out_stock_detail_search_dto
......@@ -174,4 +209,12 @@ namespace AutoTurnOver.Models.Report
public string purchase_user { get; set; }
}
public class buy_ontheway_detail_dto
{
public string no { get; set; }
public int count { get; set; }
public int inbound { get; set; }
public DateTime arrival_date { get; set; }
}
}
......@@ -156,7 +156,7 @@ namespace AutoTurnOver.Services
bp_send = item.Key.warehouse_type != "国内仓" ? 1 : 0,
bp_sendfromCode = item.Key.warehouse_type != "国内仓" ? "GZBLZZG" : item.Key.warehouse_code,
bp_sendtoCode = item.Key.warehouse_type != "国内仓" ? item.Key.warehouse_code : null,
type = item.Any(s => s.type == 2) ? 2 : item.Any(s => s.type == 1) ? 1 : 3,
sys_source = item.Any(s => s.type == 2) ? 2 : item.Any(s => s.type == 1) ? 1 : 3,
bi_buyplandetail = new List<bi_buyplandetail>(),
bp_remark = $"用户{user.UserName} 在 aims 操作推送"
};
......@@ -165,7 +165,8 @@ namespace AutoTurnOver.Services
{
bd_count = s.quantity_actual > 0 ? s.quantity_actual : s.quantity_final_advise,
bd_price = s.unit_price,
bd_sku = s.bailun_sku
bd_sku = s.bailun_sku,
sys_source = s.type
}).ToList();
var result = ApiServices.PushBuyPlan(data);
......
......@@ -273,7 +273,7 @@ namespace AutoTurnOver.Controllers
DataTable table = new DataTable();
string[] cols = new string[] { "缺货统计时间", "平台订单号", "平台类型", "百伦订单号", "付款交易号", "站点", "付款时间", "销售账号","国家","sku",
"产品名称", "订单sku销量", "发货仓库编码","发货仓库", "是否缺货", "仓库总缺货", "国内仓总缺货", "其他有库存仓库", "其他仓库库存数","国内仓是否缺货","采购员",
"平台物流方式", "发货物流方式", "sku监控状态", "销售状态", "总在途库存数", "采购在途数据"
"平台物流方式", "发货物流方式", "sku监控状态", "销售状态", "总在途库存数", "最先到货采购单","最快到货时间"
};
foreach (var item in cols)
{
......@@ -310,7 +310,8 @@ namespace AutoTurnOver.Controllers
row["sku监控状态"] = itemData.monitor_status;
row["销售状态"] = itemData.sku_status;
row["总在途库存数"] = itemData.quantity_ontheway;
row["采购在途数据"] = itemData.buy_ontheway_detail;
row["最先到货采购单"] = itemData.min_buy.no;
row["最快到货时间"] = itemData.min_buy.arrival_date;
table.Rows.Add(row);
}
......
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