Commit 386ceaca by zhoujinhui

新增查询sku是否缺货

parent dad41cdb
......@@ -156,5 +156,42 @@ left join dc_auto_sales as t2 on t1.bailun_sku = t2.bailun_sku and t1.warehouse_
var data = await _connection.QueryAsync<api_base_stock_amount_info_output_dto>(sqlText.ToString(), parameters);
return data.ToList();
}
/// <summary>
/// 查询sku是否缺货
/// </summary>
/// <param name="search"></param>
/// <returns></returns>
public static async Task<List<api_oms_sku_outofstock_output_dto>> GetSkuOutOfStockInfo(api_oms_sku_outofstock_input_dto search)
{
try
{
StringBuilder sqlText = new StringBuilder();
sqlText.Append(@"
SELECT t1.bailun_sku,MAX(t2.gmt_out_stock_modified)AS gmt_out_stock_modified,
(case when t1.bailun_sku_quantity_ordered>t1.bailun_sku_quantity_picked then 1 else 0 end) as 'is_out_stock'
FROM dc_base_oms_sku_outofstock AS t1
LEFT JOIN dc_mid_transit AS t2 ON t1.bailun_sku = t2.bailun_sku and t1.warehouse_code = t2.warehouse_code
LEFT JOIN dc_base_sku as t6 on t1.bailun_sku = t6.bailun_sku
WHERE t1.bailun_sku IN @bailun_skus
");
DynamicParameters parameters = new DynamicParameters();
parameters.Add("bailun_skus", search.bailun_skus);
if (search.start_time.HasValue && search.start_time.Value != DateTime.MinValue &&
search.end_time.HasValue && search.end_time.Value != DateTime.MinValue)
{
sqlText.Append(" AND t2.gmt_out_stock_modified>= @start_time AND t2.gmt_out_stock_modified<= @end_time ");
parameters.Add("start_time", search.start_time.Value);
parameters.Add("end_time", search.end_time.Value);
}
sqlText.Append(" GROUP BY t1.bailun_sku; ");
var data = await _connection.QueryAsync<api_oms_sku_outofstock_output_dto>(sqlText.ToString(), parameters);
return data.ToList();
}
catch (Exception ex)
{
return new List<api_oms_sku_outofstock_output_dto>();
}
}
}
}
using System;
using System.Collections.Generic;
namespace AutoTurnOver.Models.ApiDto.Stock
{
/// <summary>
/// 查询缺货输入参数
/// </summary>
public class api_oms_sku_outofstock_input_dto
{
/// <summary>
/// 百伦sku
/// </summary>
public List<string> bailun_skus { get; set; }
/// <summary>
/// 查询开始时间
/// </summary>
public DateTime? start_time { get; set; }
/// <summary>
/// 查询结束时间
/// </summary>
public DateTime? end_time { get; set; }
}
}
\ No newline at end of file
using System;
namespace AutoTurnOver.Models.ApiDto.Stock
{
/// <summary>
/// 查询缺货记录输出参数
/// </summary>
public class api_oms_sku_outofstock_output_dto
{
/// <summary>
/// 百伦sku
/// </summary>
public string bailun_sku { get; set; }
/// <summary>
/// 缺货时间
/// </summary>
public DateTime? gmt_out_stock_modified { get; set; }
/// <summary>
/// 是否缺货
/// </summary>
public bool is_out_stock { get; set; }
}
}
\ No newline at end of file
......@@ -826,5 +826,15 @@ namespace AutoTurnOver.Services
{
return await api_dao.GetBaseStockAmountInfo(search);
}
/// <summary>
/// 查询sku是否缺货
/// </summary>
/// <param name="search"></param>
/// <returns></returns>
public static async Task<List<api_oms_sku_outofstock_output_dto>> GetSkuOutOfStockInfo(api_oms_sku_outofstock_input_dto search)
{
return await api_dao.GetSkuOutOfStockInfo(search);
}
}
}
......@@ -300,5 +300,16 @@ namespace AutoTurnOver.Controllers
{
return new RequestResultDto { success = true, data = await ApiServices.GetBaseStockAmountInfo(search) };
}
/// <summary>
/// 查询sku是否缺货
/// </summary>
/// <param name="search"></param>
/// <returns></returns>
[HttpPost("GetSkuOutOfStockInfo")]
public async Task<ActionResult<RequestResultDto>> GetSkuOutOfStockInfo([FromBody] api_oms_sku_outofstock_input_dto search)
{
return new RequestResultDto { success = true, data = await ApiServices.GetSkuOutOfStockInfo(search) };
}
}
}
\ 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