Commit 04fee959 by lizefeng

jit的缺货订单 每天凌晨6点推送

parent a5ce3e79
...@@ -30,7 +30,10 @@ namespace AutoGeneratePurchaseAdvise ...@@ -30,7 +30,10 @@ namespace AutoGeneratePurchaseAdvise
PurchaseAdviseServices.Generate(); PurchaseAdviseServices.Generate();
Console.WriteLine($"结束采购平均值统计任务,线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}"); Console.WriteLine($"结束采购平均值统计任务,线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}");
}
if (now.Hour == 6 && now.Minute == 1)
{
Console.WriteLine($"开始采购平均值统计任务,线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}"); Console.WriteLine($"开始采购平均值统计任务,线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}");
PurchaseAdviseServices.AutoPushBuySys(); PurchaseAdviseServices.AutoPushBuySys();
Console.WriteLine($"结束采购平均值统计任务,线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}"); Console.WriteLine($"结束采购平均值统计任务,线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}");
......
...@@ -335,7 +335,7 @@ where 1=1 ...@@ -335,7 +335,7 @@ where 1=1
} }
else else
{ {
total = _connection.QueryFirst<int>(countSql, parameters); total = _connection.QueryFirst<int>(countSql, parameters,commandTimeout:0);
if (!string.IsNullOrEmpty(sort) && !string.IsNullOrEmpty(order)) if (!string.IsNullOrEmpty(sort) && !string.IsNullOrEmpty(order))
{ {
......
...@@ -158,19 +158,52 @@ where t2.`status`=2 and t1.bailun_sku = t2.bailun_sku and quantity_final_advise= ...@@ -158,19 +158,52 @@ where t2.`status`=2 and t1.bailun_sku = t2.bailun_sku and quantity_final_advise=
} }
} }
} }
ImportFuZhuangShortageDetailed(mainID);
}
ImportJITShortageDetailed(mainID); /// <summary>
ImportFuZhuangShortageDetailed(mainID); /// 把流水号装换成4位数字符串形式
/// </summary>
/// <param name="num"></param>
/// <returns></returns>
public static string GetIntStr(int num)
{
var intLength = num.ToString().Length;
var intStr = num.ToString();
for (int i = intLength; i < 3; i++)
{
intStr = "0" + intStr;
}
return intStr;
}
/// <summary>
/// 生成一个流水号
/// </summary>
public static string GenerateOrderNo()
{
var now = DateTime.Now;
string dataStr = now.ToString("yyyyMMdd");
//查找当前最大的订单号
var maxNo = purchase_advise.MaxNo();
//取出订单号的流水部分
if (string.IsNullOrWhiteSpace(maxNo))
return dataStr + "001";
return dataStr + GetIntStr(int.Parse(maxNo.Substring(8, 3)) + 1);
} }
/// <summary> /// <summary>
/// 导入缺货明细 /// 导入缺货明细
/// </summary> /// </summary>
/// <param name="mainID"></param> /// <param name="mainID"></param>
public static void ImportJITShortageDetailed(int mainID) public static int ImportJITShortageDetailed(int mainID)
{
if (mainID <= 0)
{ {
mainID = purchase_advise.Add(new dc_auto_purchase_advise { create_time = DateTime.Now, no = purchase_advise.GenerateOrderNo() }) ?? 0;
}
// 采购员为 赵美聪 的商品 按缺货数量下单 // 采购员为 赵美聪 的商品 按缺货数量下单
_connection.Execute(@" INSERT into dc_auto_purchase_advise_detailed(`bailun_sku`,`warehouse_code`,`quantity_init_advise`,`quantity_final_advise`, _connection.Execute(@" INSERT into dc_auto_purchase_advise_detailed(`bailun_sku`,`warehouse_code`,`quantity_init_advise`,`quantity_final_advise`,
`product_inner_code`,`goods_quantity_init_advise`,`goods_moq`,`good_sku_codes`,`goods_history_fourteenday_sales`,`history_fourteenday_sales`, `product_inner_code`,`goods_quantity_init_advise`,`goods_moq`,`good_sku_codes`,`goods_history_fourteenday_sales`,`history_fourteenday_sales`,
...@@ -212,6 +245,8 @@ where t2.`status`=2 and t1.bailun_sku = t2.bailun_sku and quantity_final_advise= ...@@ -212,6 +245,8 @@ where t2.`status`=2 and t1.bailun_sku = t2.bailun_sku and quantity_final_advise=
HAVING ( sum((case when t7.quantity_out_stock>0 then 0 else t1.quantity_inventory end )) + sum(t1.quantity_transfer) + sum(t1.quantity_purchase) < sum(t7.quantity_out_stock) ) HAVING ( sum((case when t7.quantity_out_stock>0 then 0 else t1.quantity_inventory end )) + sum(t1.quantity_transfer) + sum(t1.quantity_purchase) < sum(t7.quantity_out_stock) )
) ", new { main_id = mainID }, commandTimeout: 0); ) ", new { main_id = mainID }, commandTimeout: 0);
return mainID;
} }
/// <summary> /// <summary>
...@@ -266,7 +301,7 @@ where t2.`status`=2 and t1.bailun_sku = t2.bailun_sku and quantity_final_advise= ...@@ -266,7 +301,7 @@ where t2.`status`=2 and t1.bailun_sku = t2.bailun_sku and quantity_final_advise=
/// <summary> /// <summary>
/// 冗余扣减 /// 冗余扣减
/// </summary> /// </summary>
public static void RedundancyDeduction(string warehouse_code_form,string warehouse_code_to) public static void RedundancyDeduction(string warehouse_code_form, string warehouse_code_to)
{ {
// 把广州01出了建议数的找出来 // 把广州01出了建议数的找出来
var gzblwh_turnover_list = _connection.Query<Models.dc_auto_turnover>(@" var gzblwh_turnover_list = _connection.Query<Models.dc_auto_turnover>(@"
...@@ -279,7 +314,7 @@ where ( t5.`status`=0 or t5.`status` is null ) and t1.quantity_begin_advise>0 an ...@@ -279,7 +314,7 @@ where ( t5.`status`=0 or t5.`status` is null ) and t1.quantity_begin_advise>0 an
{ {
foreach (var item in gzblwh_turnover_list) foreach (var item in gzblwh_turnover_list)
{ {
Models.dc_auto_turnover qyblzz_data = _connection.QuerySingleOrDefault<Models.dc_auto_turnover>(" select * from dc_auto_turnover where warehouse_code=@warehouse_code_form and bailun_sku=@bailun_sku ", new { warehouse_code_form,item.bailun_sku }); Models.dc_auto_turnover qyblzz_data = _connection.QuerySingleOrDefault<Models.dc_auto_turnover>(" select * from dc_auto_turnover where warehouse_code=@warehouse_code_form and bailun_sku=@bailun_sku ", new { warehouse_code_form, item.bailun_sku });
if (qyblzz_data != null && qyblzz_data.quantity_begin_advise < 0) if (qyblzz_data != null && qyblzz_data.quantity_begin_advise < 0)
{ {
// 清远03的冗余够用了 // 清远03的冗余够用了
......
...@@ -467,7 +467,7 @@ left join china_warehouse_stock as t3 on t1.bailun_sku = t3.bailun_sku and t_db. ...@@ -467,7 +467,7 @@ left join china_warehouse_stock as t3 on t1.bailun_sku = t3.bailun_sku and t_db.
left join china_warehouse_unshipped as t4 on t1.bailun_sku = t4.bailun_sku and t_db.warehouse_code in ( 'GZBLWH', 'QYBLZZ' ) left join dc_base_stock as t5 on t1.bailun_sku = t5.bailun_sku and t1.warehouse_code = t5.warehouse_code left join china_warehouse_unshipped as t4 on t1.bailun_sku = t4.bailun_sku and t_db.warehouse_code in ( 'GZBLWH', 'QYBLZZ' ) left join dc_base_stock as t5 on t1.bailun_sku = t5.bailun_sku and t1.warehouse_code = t5.warehouse_code
where where
t1.warehouse_code in ('AU4PXBL','BLGZ03','DYGXC','GB4PXBL','GBBLJW','GBYKD','GZBLWH','QYBLZZ','US4PXBL','USGCBL') t1.warehouse_code in ('AU4PXBL','BLGZ03','DYGXC','GB4PXBL','GBBLJW','GBYKD','GZBLWH','QYBLZZ','US4PXBL','USGCBL')
and ( t_db.hq_type!='国内仓' or t2.buyer_name not in ('张莹霞','张莹霞1') ) and ( t_db.hq_type!='国内仓' or t2.buyer_name not in ('张莹霞','张莹霞1','赵美聪') )
and t_db.hq_type!='fba仓' and t_db.hq_type!='fba仓'
and (case when t_db.warehouse_code in ( 'GZBLWH', 'QYBLZZ' ) and t2.buyer_name not in ('张莹霞','张莹霞1') then (ifnull(t4.sum_unshipped_quantity,0) - ifnull(t3.sum_usable_stock,0)) else t1.quantity_out_stock end )>0 and (case when t_db.warehouse_code in ( 'GZBLWH', 'QYBLZZ' ) and t2.buyer_name not in ('张莹霞','张莹霞1') then (ifnull(t4.sum_unshipped_quantity,0) - ifnull(t3.sum_usable_stock,0)) else t1.quantity_out_stock end )>0
and not exists ( select * from dc_auto_shortage_push where dc_auto_shortage_push.warehouse_code = t1.warehouse_code and dc_auto_shortage_push.bailun_sku = t1.bailun_sku and dc_auto_shortage_push.`type`=1 )"; and not exists ( select * from dc_auto_shortage_push where dc_auto_shortage_push.warehouse_code = t1.warehouse_code and dc_auto_shortage_push.bailun_sku = t1.bailun_sku and dc_auto_shortage_push.`type`=1 )";
......
...@@ -20,7 +20,7 @@ namespace AutoTurnOver.Services ...@@ -20,7 +20,7 @@ namespace AutoTurnOver.Services
try try
{ {
// 创建一个采购计划 // 创建一个采购计划
var mainID = purchase_advise.Add(new dc_auto_purchase_advise { create_time = DateTime.Now, no = GenerateOrderNo() }); var mainID = purchase_advise.Add(new dc_auto_purchase_advise { create_time = DateTime.Now, no = purchase_advise.GenerateOrderNo() });
if (mainID == null) throw new Exception("创建采购建议失败"); if (mainID == null) throw new Exception("创建采购建议失败");
purchase_advise.ImportDetailed(mainID.Value); purchase_advise.ImportDetailed(mainID.Value);
...@@ -32,38 +32,9 @@ namespace AutoTurnOver.Services ...@@ -32,38 +32,9 @@ namespace AutoTurnOver.Services
} }
/// <summary>
/// 生成一个流水号
/// </summary>
public static string GenerateOrderNo()
{
var now = DateTime.Now;
string dataStr = now.ToString("yyyyMMdd");
//查找当前最大的订单号
var maxNo = purchase_advise.MaxNo();
//取出订单号的流水部分
if (string.IsNullOrWhiteSpace(maxNo))
return dataStr + "001";
return dataStr + GetIntStr(int.Parse(maxNo.Substring(8, 3)) + 1);
}
/// <summary>
/// 把流水号装换成4位数字符串形式
/// </summary>
/// <param name="num"></param>
/// <returns></returns>
public static string GetIntStr(int num)
{
var intLength = num.ToString().Length;
var intStr = num.ToString();
for (int i = intLength; i < 3; i++)
{
intStr = "0" + intStr;
}
return intStr;
}
/// <summary> /// <summary>
/// 获取采购建议列表 /// 获取采购建议列表
...@@ -196,14 +167,16 @@ namespace AutoTurnOver.Services ...@@ -196,14 +167,16 @@ namespace AutoTurnOver.Services
/// </summary> /// </summary>
public static void AutoPushBuySys() public static void AutoPushBuySys()
{ {
// 生产jit采购建议
var mainID = purchase_advise.ImportJITShortageDetailed(0);
try try
{ {
List<dc_auto_purchase_advise_detailed_dto> datas = new List<dc_auto_purchase_advise_detailed_dto>(); List<dc_auto_purchase_advise_detailed_dto> datas = new List<dc_auto_purchase_advise_detailed_dto>();
// 推送 张莹霞 广州01 仓的数据 // 推送 张莹霞 广州01 仓的数据
var total = 0; var total = 0;
datas.AddRange(PurchaseAdviseServices.DetailList(new dc_auto_purchase_advise_detailed_search_dto { end_date = DateTime.Now,start_date = DateTime.Now, ispush = false,purchase_user="张莹霞",warehouse_code= "GZBLWH" }, 0, int.MaxValue, ref total)); datas.AddRange(PurchaseAdviseServices.DetailList(new dc_auto_purchase_advise_detailed_search_dto { main_id = mainID, end_date = DateTime.Now,start_date = DateTime.Now, ispush = false,purchase_user="张莹霞",warehouse_code= "GZBLWH" }, 0, int.MaxValue, ref total));
datas.AddRange(PurchaseAdviseServices.DetailList(new dc_auto_purchase_advise_detailed_search_dto { end_date = DateTime.Now, start_date = DateTime.Now, ispush = false, purchase_user = "张莹霞1", warehouse_code = "GZBLWH" }, 0, int.MaxValue, ref total)); datas.AddRange(PurchaseAdviseServices.DetailList(new dc_auto_purchase_advise_detailed_search_dto { main_id = mainID, end_date = DateTime.Now, start_date = DateTime.Now, ispush = false, purchase_user = "张莹霞1", warehouse_code = "GZBLWH" }, 0, int.MaxValue, ref total));
PurchaseAdviseServices.PushBuySys(datas, new UserData { UserName = "admin" }); PurchaseAdviseServices.PushBuySys(datas, new UserData { UserName = "admin" });
} }
catch (Exception ex) catch (Exception ex)
......
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