Commit d119fce9 by lizefeng

新增批量修改监控状态功能

parent 7ae2a313
......@@ -538,7 +538,7 @@ left join dc_base_warehouse as dbw on dacp.warehouse_code = dbw.warehouse_code w
/// <param name="warehouse_code"></param>
/// <param name="monitor_status"></param>
/// <returns></returns>
public static string MonitorStatus(string bailun_sku, string warehouse_code, int monitor_status)
public static string MonitorStatus(string bailun_sku, string warehouse_code, int monitor_status,UserData user)
{
if(monitor_status!=1 && monitor_status!=0)
......@@ -574,7 +574,7 @@ left join dc_base_warehouse as dbw on dacp.warehouse_code = dbw.warehouse_code w
warehouse_code =warehouse_code,
status = monitor_status,
gmt_create =now,
bl_operator ="",
bl_operator =user.UserName,
sku_title = "",
warehouse_name ="",
gmt_modified =now
......@@ -590,5 +590,71 @@ left join dc_base_warehouse as dbw on dacp.warehouse_code = dbw.warehouse_code w
}
/// <summary>
/// 批量修改监控状态
/// </summary>
/// <param name="ids"></param>
/// <param name="monitor_status"></param>
/// <param name="user"></param>
/// <returns></returns>
public static string BatchMonitorStatus(string ids, int monitor_status, UserData user)
{
if (monitor_status != 1 && monitor_status != 0)
{
throw new Exception("状态异常");
}
var datas = _connection.Query<AutoTurnOver.Models.dc_auto_turnover>(" select * from dc_auto_turnover where id in @ids ", new { ids = ids.Split(',') }).AsList();
foreach (AutoTurnOver.Models.dc_auto_turnover turnover_item in datas)
{
// 先检查当前状态
var oldData = _connection.QueryFirstOrDefault<dc_auto_config_sku_warehouse>($"select * from dc_auto_config_sku_warehouse where bailun_sku=@bailun_sku and warehouse_code=@warehouse_code ", new { turnover_item.bailun_sku, turnover_item.warehouse_code });
if (oldData == null || oldData.status == 0)
{
if (monitor_status == 0)
{
continue;
}
}
if (oldData != null && oldData.status == 1)
{
if (monitor_status == 1)
{
continue;
}
}
DateTime now = DateTime.Now;
if (oldData == null)
{
var newData = new dc_auto_config_sku_warehouse
{
bailun_sku = turnover_item.bailun_sku,
warehouse_code = turnover_item.warehouse_code,
status = monitor_status,
gmt_create = now,
bl_operator = user.UserName,
sku_title = "",
warehouse_name = "",
gmt_modified = now
};
_connection.Insert<dc_auto_config_sku_warehouse>(newData);
}
else
{
_connection.Execute(" update dc_auto_config_sku_warehouse set status=@monitor_status,bl_operator=@bl_operator where id=@id", new { monitor_status, id = oldData.id, bl_operator= user.UserName });
}
}
return "";
}
}
}
......@@ -101,8 +101,8 @@ select
select
t1.bailun_sku,
'GZBLWH' as 'warehouse_code',
t1.quantity_init_advise as 'quantity_init_advise', -- 原始采购建议数量 new
( t1.quantity_out_stock - ( t1.quantity_inventory + t1.quantity_transfer + t1.quantity_purchase ) ) as 'quantity_final_advise', -- 计算moq之后的数量 new
sum(t1.quantity_init_advise) as 'quantity_init_advise', -- 原始采购建议数量 new
( sum(t1.quantity_out_stock) - ( sum(t1.quantity_inventory) + sum(t1.quantity_transfer) + sum(t1.quantity_purchase) ) ) as 'quantity_final_advise', -- 计算moq之后的数量 new
t6.product_inner_code as 'product_inner_code', -- 内部商品编码 new
0 as 'goods_quantity_init_advise', -- 商品本次的建议下单数量 new
0 as 'goods_moq', -- 商品的moq new
......@@ -125,7 +125,10 @@ select
left join dc_auto_sales as t2 on t1.bailun_sku = t2.bailun_sku and t1.warehouse_code = t2.warehouse_code
left join dc_auto_config_sku_warehouse as t5 on t1.bailun_sku = t5.bailun_sku and t1.warehouse_code = t5.warehouse_code
left join dc_base_sku as t6 on t1.bailun_sku = t6.bailun_sku
where t6.buyer_name in ('赵美聪','张莹霞','张莹霞1','冯兆欣') and t1.warehouse_code not in ('GZBLWH','GZBLYS') and ( t1.quantity_inventory + t1.quantity_transfer + t1.quantity_purchase < t1.quantity_out_stock )
where t6.buyer_name in ('赵美聪','张莹霞','张莹霞1','冯兆欣')
and t1.warehouse_code in ('GZBLWH','GZBLYS')
GROUP BY t1.bailun_sku
HAVING ( sum(t1.quantity_inventory) + sum(t1.quantity_transfer) + sum(t1.quantity_purchase) < sum(t1.quantity_out_stock) )
) ", new { main_id = mainID }, commandTimeout: 0);
......@@ -135,13 +138,13 @@ select
_connection.Execute(@" update dc_auto_purchase_advise_detailed as t1,
dc_base_sku as t2
set t1.quantity_final_advise=2
where t1.bailun_sku = t2.bailun_sku and t1.quantity_final_advise=1 and t1.quantity_init_advise<=0 and t2.buyer_name not in ('赵美聪','张莹霞','张莹霞1') and t1.main_id=@main_id ", new { main_id = mainID }, commandTimeout: 0);
where t1.bailun_sku = t2.bailun_sku and t1.quantity_final_advise=1 and t1.quantity_init_advise<=0 and ( t2.buyer_name not in ('赵美聪','张莹霞','张莹霞1') or t1.warehouse_code!='GZBLWH' ) and t1.main_id=@main_id ", new { main_id = mainID }, commandTimeout: 0);
// 初始建议数为1,,系统建议数为1时 改为3 ( 只补缺货的不管 )
_connection.Execute(@" update dc_auto_purchase_advise_detailed as t1,
dc_base_sku as t2
set quantity_final_advise=3
where t1.bailun_sku = t2.bailun_sku and quantity_final_advise=1 and quantity_init_advise=1 and t2.buyer_name not in ('赵美聪','张莹霞','张莹霞1') and main_id=@main_id ", new { main_id = mainID }, commandTimeout: 0);
where t1.bailun_sku = t2.bailun_sku and quantity_final_advise=1 and quantity_init_advise=1 and ( t2.buyer_name not in ('赵美聪','张莹霞','张莹霞1') or t1.warehouse_code!='GZBLWH' ) and main_id=@main_id ", new { main_id = mainID }, commandTimeout: 0);
// 调整因为舍弃小数导致的moq不足
var datas = _connection.Query<dc_auto_purchase_advise_detailed>(" select * from dc_auto_purchase_advise_detailed where main_id=@main_id ", new { main_id = mainID }, commandTimeout: 0).AsList();
......
......@@ -408,9 +408,14 @@ namespace AutoTurnOver.Services
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public string MonitorStatus(string bailun_sku, string warehouse_code, int monitor_status)
public string MonitorStatus(string bailun_sku, string warehouse_code, int monitor_status,UserData user)
{
return DB.db_config.MonitorStatus(bailun_sku, warehouse_code, monitor_status);
return DB.db_config.MonitorStatus(bailun_sku, warehouse_code, monitor_status, user);
}
public string BatchMonitorStatus(string ids,int monitor_status, UserData user)
{
return DB.db_config.BatchMonitorStatus(ids, monitor_status, user);
}
}
}
......@@ -2,6 +2,7 @@
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using AutoTurnOver.Common;
using AutoTurnOver.Models;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
......@@ -271,7 +272,22 @@ namespace AutoTurnOver.Controllers
[HttpGet]
public JsonResult MonitorStatus(string bailun_sku,string warehouse_code,int monitor_status)
{
var result = new Services.ConfigServices().MonitorStatus(bailun_sku, warehouse_code, monitor_status);
var user = AutoUtility.GetUser();
if (user == null) return null;
var result = new Services.ConfigServices().MonitorStatus(bailun_sku, warehouse_code, monitor_status, user);
return new JsonResult(result);
}
/// <summary>
/// 批量修改
/// </summary>
/// <returns></returns>
[HttpGet]
public JsonResult BatchMonitorStatus(string ids, int monitor_status)
{
var user = AutoUtility.GetUser();
if (user == null) return null;
var result = new Services.ConfigServices().BatchMonitorStatus(ids, monitor_status, user);
return new JsonResult(result);
}
......
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