Commit 844cd838 by zhoujinhui

新增导入fba站点平台sku接口

parent af39097d
...@@ -94,10 +94,11 @@ t13.quantity_air_transfer as 'quantity_air_transfer', ...@@ -94,10 +94,11 @@ t13.quantity_air_transfer as 'quantity_air_transfer',
t13.quantity_railway_transfer as 'quantity_railway_transfer', t13.quantity_railway_transfer as 'quantity_railway_transfer',
dat.dc_auto_sales_forecast_title, dat.dc_auto_sales_forecast_title,
-- t14.title as 'dc_auto_sales_forecast_title', -- t14.title as 'dc_auto_sales_forecast_title',
t4.`status` as 'sku_status'-- , t4.`status` as 'sku_status' ,
-- t11.label as 'sku_label' -- t11.label as 'sku_label'
-- ,t10.`name` as 'group_name', -- ,t10.`name` as 'group_name',
t18.site_sku as fba_site_sku,
t18.category_label as fba_category_label
from dc_auto_turnover as dat from dc_auto_turnover as dat
...@@ -116,7 +117,7 @@ left join dc_mid_transit as t13 on dat.bailun_sku = t13.bailun_sku and dat.wareh ...@@ -116,7 +117,7 @@ left join dc_mid_transit as t13 on dat.bailun_sku = t13.bailun_sku and dat.wareh
-- left join dc_auto_sales_forecast_config as t14 on dat.dc_auto_sales_forecast_config_id = t14.id -- left join dc_auto_sales_forecast_config as t14 on dat.dc_auto_sales_forecast_config_id = t14.id
-- left join not_trans_view as t15 on dat.bailun_sku = t15.bailun_sku and dat.warehouse_code = t15.warehouse_code -- left join not_trans_view as t15 on dat.bailun_sku = t15.bailun_sku and dat.warehouse_code = t15.warehouse_code
-- left join dc_base_storage_capacity as t17 on dat.bailun_sku_warehouse_code = t17.bailun_sku_warehouse_code -- left join dc_base_storage_capacity as t17 on dat.bailun_sku_warehouse_code = t17.bailun_sku_warehouse_code
left join dc_base_sku_fba_mapping as t18 on dat.bailun_sku = t18.bailun_sku and dat.warehouse_code = t18.warehouse_code
"; ";
} }
......
using AutoTurnOver.Models;
using Dapper;
namespace AutoTurnOver.DB
{
/// <summary>
/// fba站点sku映射关系
/// </summary>
public class dc_base_sku_fba_mapping_dao : connectionHelper
{
/// <summary>
/// 保存新增或修改
/// </summary>
/// <param name="data"></param>
/// <returns></returns>
public static bool Save(dc_base_sku_fba_mapping data)
{
DynamicParameters parameters = new DynamicParameters();
parameters.Add("bailun_sku", data.bailun_sku);
parameters.Add("warehouse_code", data.warehouse_code);
var oldData = _connection.QueryFirstOrDefault(" SELECT * FROM dc_base_sku_fba_mapping WHERE bailun_sku = @bailun_sku AND warehouse_code = @warehouse_code; ", parameters);
if (oldData == null)
{
_connection.Insert(data);
}
else
{
data.id = oldData.ID;
_connection.Update(data);
}
return true;
}
}
}
...@@ -1438,5 +1438,15 @@ namespace AutoTurnOver.Models ...@@ -1438,5 +1438,15 @@ namespace AutoTurnOver.Models
public bool? fba_need_airlift { get; set; } public bool? fba_need_airlift { get; set; }
public string fba_need_airlift_str => fba_need_airlift.HasValue && fba_need_airlift.Value == true ? "是" : "否"; public string fba_need_airlift_str => fba_need_airlift.HasValue && fba_need_airlift.Value == true ? "是" : "否";
/// <summary>
/// fba站点sku
/// </summary>
public string fba_site_sku { get; set; }
/// <summary>
/// fba 分类标签
/// </summary>
public string fba_category_label { get; set; }
} }
} }
using System;
namespace AutoTurnOver.Models
{
/// <summary>
/// fba站点sku映射关系表
/// </summary>
public class dc_base_sku_fba_mapping
{
/// <summary>
/// fba站点sku映射关系表id
/// </summary>
public int id { get; set; }
/// <summary>
/// 百伦sku编码
/// </summary>
public string bailun_sku { get; set; }
/// <summary>
/// 仓库编码
/// </summary>
public string warehouse_code { get; set; }
/// <summary>
/// 站点编码
/// </summary>
public string country_code { get; set; }
/// <summary>
/// 站点sku编码
/// </summary>
public string site_sku { get; set; }
/// <summary>
/// fba分类标签
/// </summary>
public string category_label { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime creation_time { get; set; }
/// <summary>
/// 创建人姓名
/// </summary>
public string create_user_name { get; set; }
}
}
...@@ -321,7 +321,7 @@ namespace AutoTurnOver.Services ...@@ -321,7 +321,7 @@ namespace AutoTurnOver.Services
"日均出单次数","首次出单日期","首次出单订单号", "日均出单次数","首次出单日期","首次出单订单号",
"备货数量","产品类型","头程平均值取值来源","Walmart最近7天日均销量","Walmart最近14天日均销量","Walmart最近30天日均销量","shopify最近7天日均销量","shopify最近14天日均销量","shopify最近30天日均销量", "备货数量","产品类型","头程平均值取值来源","Walmart最近7天日均销量","Walmart最近14天日均销量","Walmart最近30天日均销量","shopify最近7天日均销量","shopify最近14天日均销量","shopify最近30天日均销量",
"平均交期","配置交期", "平均交期","配置交期",
"库存可用天数","库存可用日期", "库存+在途可用天数","库存+在途可用日期","在途+库存可卖天数总目标销量","供应链长度总目标销量","最近7天的备货数量","清货状态","可消耗天数" "库存可用天数","库存可用日期", "库存+在途可用天数","库存+在途可用日期","在途+库存可卖天数总目标销量","供应链长度总目标销量","最近7天的备货数量","清货状态","可消耗天数","FBA站点SKU","FBA分类标签"
}; };
foreach (var item in cols) foreach (var item in cols)
{ {
...@@ -434,7 +434,8 @@ namespace AutoTurnOver.Services ...@@ -434,7 +434,8 @@ namespace AutoTurnOver.Services
row["首次入库时间"] = (itemData.first_inbound_date == null ? "" : itemData.first_inbound_date.Value.ToString("yyyy-MM-dd")); row["首次入库时间"] = (itemData.first_inbound_date == null ? "" : itemData.first_inbound_date.Value.ToString("yyyy-MM-dd"));
row["供应链累计销量"] = itemData.turnover_sales; row["供应链累计销量"] = itemData.turnover_sales;
row["清货状态"] = itemData.clearance_status == 1 ? "清货" : ""; row["清货状态"] = itemData.clearance_status == 1 ? "清货" : "";
row["FBA站点SKU"] = itemData.fba_site_sku;
row["FBA分类标签"] = itemData.fba_category_label;
//row["FBA平台asin"] = itemData.fba_asin; //row["FBA平台asin"] = itemData.fba_asin;
//row["FBA备注销售"] = itemData.fba_sale_remark; //row["FBA备注销售"] = itemData.fba_sale_remark;
//row["FBA预计断货时间"] = itemData.fba_out_of_stock_predict_time; //row["FBA预计断货时间"] = itemData.fba_out_of_stock_predict_time;
...@@ -612,13 +613,13 @@ namespace AutoTurnOver.Services ...@@ -612,13 +613,13 @@ namespace AutoTurnOver.Services
{ {
// 等待周转跑完 // 等待周转跑完
AutoTurnOver.DB.dc_auto_turnover.WaitTurnoverQueueTask(); AutoTurnOver.DB.dc_auto_turnover.WaitTurnoverQueueTask();
// // 清理已经删除的数据 // // 清理已经删除的数据
// conn.Execute(@" update dc_auto_purchase_advise_detailed set status=-1 where bailun_sku_warehouse_code in @bailun_sku_warehouse_codes and main_id in ( // conn.Execute(@" update dc_auto_purchase_advise_detailed set status=-1 where bailun_sku_warehouse_code in @bailun_sku_warehouse_codes and main_id in (
// select id from dc_auto_purchase_advise where buy_sys_plan_no not in ('补海运') // select id from dc_auto_purchase_advise where buy_sys_plan_no not in ('补海运')
//) ", new //) ", new
// { // {
// bailun_sku_warehouse_codes = bailun_sku_warehouse_codes // bailun_sku_warehouse_codes = bailun_sku_warehouse_codes
// }, commandTimeout: 0); // }, commandTimeout: 0);
// 出周转建议 // 出周转建议
PurchaseAdviseServices.Generate($"采购单更新,刷新周转 {DateTime.Now.ToString("HH:mm")}", btime, is_bak: false); PurchaseAdviseServices.Generate($"采购单更新,刷新周转 {DateTime.Now.ToString("HH:mm")}", btime, is_bak: false);
} }
...@@ -696,12 +697,12 @@ namespace AutoTurnOver.Services ...@@ -696,12 +697,12 @@ namespace AutoTurnOver.Services
// 等待周转跑完 // 等待周转跑完
AutoTurnOver.DB.dc_auto_turnover.WaitTurnoverQueueTask(); AutoTurnOver.DB.dc_auto_turnover.WaitTurnoverQueueTask();
// 清理已经删除的数据 // 清理已经删除的数据
// conn.Execute(@" update dc_auto_purchase_advise_detailed set status=-1 where bailun_sku_warehouse_code in @bailun_sku_warehouse_codes and main_id in ( // conn.Execute(@" update dc_auto_purchase_advise_detailed set status=-1 where bailun_sku_warehouse_code in @bailun_sku_warehouse_codes and main_id in (
// select id from dc_auto_purchase_advise where buy_sys_plan_no not in ('补海运') // select id from dc_auto_purchase_advise where buy_sys_plan_no not in ('补海运')
//) ", new //) ", new
// { // {
// bailun_sku_warehouse_codes = bailun_sku_warehouse_codes // bailun_sku_warehouse_codes = bailun_sku_warehouse_codes
// }, commandTimeout: 0); // }, commandTimeout: 0);
// 出周转建议 // 出周转建议
PurchaseAdviseServices.Generate($"调拨单刷新 {DateTime.Now.ToString("HH:mm")}", btime, is_bak: false); PurchaseAdviseServices.Generate($"调拨单刷新 {DateTime.Now.ToString("HH:mm")}", btime, is_bak: false);
...@@ -779,7 +780,7 @@ namespace AutoTurnOver.Services ...@@ -779,7 +780,7 @@ namespace AutoTurnOver.Services
{ {
DataRow row = table.NewRow(); DataRow row = table.NewRow();
row["监控状态"] = itemData.monitor_status==1?"停止监控":"正常监控"; row["监控状态"] = itemData.monitor_status == 1 ? "停止监控" : "正常监控";
row["采购在途"] = itemData.quantity_purchase; row["采购在途"] = itemData.quantity_purchase;
row["调拨在途(采购临时)"] = itemData.quantity_transfer_temp_schedule; row["调拨在途(采购临时)"] = itemData.quantity_transfer_temp_schedule;
row["调拨在途(暂存)"] = itemData.quantity_transfer_temporary_storage; row["调拨在途(暂存)"] = itemData.quantity_transfer_temporary_storage;
...@@ -858,5 +859,46 @@ namespace AutoTurnOver.Services ...@@ -858,5 +859,46 @@ namespace AutoTurnOver.Services
} }
} }
#region 导入FBA站点sku和标签
/// <summary>
/// 导入FBA站点sku和标签
/// </summary>
/// <param name="fileInfo"></param>
/// <param name="user"></param>
/// <returns></returns>
public bool ImportFBASiteSku(Stream fileInfo, UserData user)
{
var data_set = EPPlusHelper.ReadExcel(fileInfo);
var table = data_set.Tables[0];
var list = new List<dc_base_sku_fba_mapping>();
foreach (DataRow row in table.Rows)
{
list.Add(new dc_base_sku_fba_mapping
{
warehouse_code = row["仓库编码"].ToString(),
bailun_sku = row["Sku"].ToString(),
country_code = row["站点"].ToString(),
site_sku = row["站点SKU"].ToString(),
category_label = row["fba-sku分类标签"].ToString(),
creation_time = DateTime.Now,
create_user_name = user.UserName
});
}
var count = list.Count(x => string.IsNullOrWhiteSpace(x.warehouse_code));
if (count > 0) throw new Exception("仓库编码不能为空");
count = list.Count(x => string.IsNullOrWhiteSpace(x.bailun_sku));
if (count > 0) throw new Exception("SKU编码不能为空");
count = list.Count(x => string.IsNullOrWhiteSpace(x.country_code));
if (count > 0) throw new Exception("站点编码不能为空");
count = list.Count(x => string.IsNullOrWhiteSpace(x.site_sku));
if (count > 0) throw new Exception("站点sku编码不能为空");
foreach (var item in list)
{
dc_base_sku_fba_mapping_dao.Save(item);
}
return true;
}
#endregion
} }
} }
...@@ -654,5 +654,26 @@ namespace AutoTurnOver.Controllers ...@@ -654,5 +654,26 @@ namespace AutoTurnOver.Controllers
} }
/// <summary>
/// 导入FBA站点sku和标签
/// </summary>
/// <param name="fileName"></param>
/// <returns></returns>
[HttpPost]
[BrowseLog("Bailun_aims", "触发【百伦自动周转系统】->【自动下单管理】->【导入FBA站点sku和标签】操作", 1)]
public ActionResult<RequestResultDto> ImportFBASiteSku(IFormFile file)
{
try
{
var user = AutoUtility.GetUser();
var result = new SkuAutoTurnServices().ImportFBASiteSku(file.OpenReadStream(), user);
return new RequestResultDto { success = result };
}
catch (Exception ex)
{
return new RequestResultDto { success = false, message = ex.Message };
}
}
} }
} }
\ No newline at end of file
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