Commit cdcfcf25 by 泽锋 李

新增半成品安全库存汇总

parent 2fd68c32
...@@ -4,6 +4,8 @@ using System.Text; ...@@ -4,6 +4,8 @@ using System.Text;
using Dapper; using Dapper;
using AutoTurnOver.Models; using AutoTurnOver.Models;
using AutoTurnOver.Models.Common; using AutoTurnOver.Models.Common;
using System.Linq;
using AutoTurnOver.Models.stock;
namespace AutoTurnOver.DB namespace AutoTurnOver.DB
{ {
...@@ -26,6 +28,10 @@ namespace AutoTurnOver.DB ...@@ -26,6 +28,10 @@ namespace AutoTurnOver.DB
if (!string.IsNullOrWhiteSpace(type)) if (!string.IsNullOrWhiteSpace(type))
{ {
if (type == "半成品仓")
{
return _connection.Query<dc_base_wip_warehouse>(" select * from dc_base_wip_warehouse ").Select(s => new dc_base_warehouse() { warehouse_code = s.warehouse_code,warehouse_name= s.warehouse_name}).ToList() ;
}
sql += " and hq_type=" + $"'{type}'"; sql += " and hq_type=" + $"'{type}'";
} }
......
...@@ -7,6 +7,7 @@ using System.Text; ...@@ -7,6 +7,7 @@ using System.Text;
using System.Linq; using System.Linq;
using AutoTurnOver.Models.Base; using AutoTurnOver.Models.Base;
using AutoTurnOver.DB.Base; using AutoTurnOver.DB.Base;
using AutoTurnOver.Models.stock;
namespace AutoTurnOver.DB namespace AutoTurnOver.DB
{ {
...@@ -2278,18 +2279,17 @@ where t2.buyer_name = '赵美聪' ...@@ -2278,18 +2279,17 @@ where t2.buyer_name = '赵美聪'
/// <returns></returns> /// <returns></returns>
public static Page<quantity_safe_inventory_dto> GetInventoryStock(quantity_safe_inventory_search_dto search_data) public static Page<quantity_safe_inventory_dto> GetInventoryStock(quantity_safe_inventory_search_dto search_data)
{ {
string sql = $@" select t3.hq_type,t3.warehouse_name, t2.warehouse_code,sum( LEAST(ifnull(t1.quantity_safe_inventory,0),t2.usable_stock)) as 'real_quantity_safe_inventory', string sql = $@" select t2.warehouse_type as 'hq_type',(case when t2.warehouse_type='半成品仓' then t4.warehouse_name else t3.warehouse_name end )'warehouse_name', t2.warehouse_code,sum( LEAST(ifnull(t2.quantity_safe_inventory,0),t2.usable_stock)) as 'real_quantity_safe_inventory',
sum(t2.usable_stock) as 'usable_stock', sum(t2.usable_stock) as 'usable_stock',
count(t1.bailun_sku) as 'sku_count', count(DISTINCT bailun_sku) as 'sku_count',
sum(ifnull(t1.quantity_safe_inventory, 0)) as 'quantity_safe_inventory', sum(ifnull(t2.quantity_safe_inventory, 0)) as 'quantity_safe_inventory',
sum(LEAST(ifnull(t1.quantity_safe_inventory, 0), t2.usable_stock) * ifnull(t4.unit_price, 0)) as 'real_quantity_safe_inventory_amount' sum(LEAST(ifnull(t2.quantity_safe_inventory, 0), t2.usable_stock) * ifnull(t2.unit_price, 0)) as 'real_quantity_safe_inventory_amount'
from dc_base_stock as t2 from dc_base_full_stock as t2
left join dc_auto_turnover as t1 on t1.bailun_sku = t2.bailun_sku and t1.warehouse_code = t2.warehouse_code
left join dc_base_warehouse as t3 on t2.warehouse_code = t3.warehouse_code left join dc_base_warehouse as t3 on t2.warehouse_code = t3.warehouse_code
left join dc_base_sku as t4 on t2.bailun_sku = t4.bailun_sku left join dc_base_wip_warehouse as t4 on t2.warehouse_code = t4.warehouse_code
where 1=1 where 1=1
"; ";
string sqlCount = $@" select count(DISTINCT t2.warehouse_code) from dc_base_stock as t2 left join dc_base_warehouse as t3 on t2.warehouse_code = t3.warehouse_code where 1=1 "; string sqlCount = $@" select count(DISTINCT t2.warehouse_code) from dc_base_full_stock as t2 left join dc_base_warehouse as t3 on t2.warehouse_code = t3.warehouse_code where 1=1 ";
DynamicParameters parameters = new DynamicParameters(); DynamicParameters parameters = new DynamicParameters();
if (search_data != null) if (search_data != null)
{ {
...@@ -2309,8 +2309,8 @@ where 1=1 ...@@ -2309,8 +2309,8 @@ where 1=1
} }
if (!string.IsNullOrWhiteSpace(search_data.warehousetype)) if (!string.IsNullOrWhiteSpace(search_data.warehousetype))
{ {
sql += " and t3.hq_type = @hq_type "; sql += " and t2.warehouse_type = @hq_type ";
sqlCount += " and t3.hq_type = @hq_type "; sqlCount += " and t2.warehouse_type = @hq_type ";
parameters.Add("hq_type", search_data.warehousetype); parameters.Add("hq_type", search_data.warehousetype);
} }
} }
...@@ -2318,7 +2318,7 @@ where 1=1 ...@@ -2318,7 +2318,7 @@ where 1=1
if (!search_data.is_sum) if (!search_data.is_sum)
{ {
sql += " GROUP BY t1.warehouse_code "; sql += " GROUP BY t2.warehouse_code ";
} }
var pageDatas = _connection.Page<quantity_safe_inventory_dto>(sql, search_data, parameters,isCount:false); var pageDatas = _connection.Page<quantity_safe_inventory_dto>(sql, search_data, parameters,isCount:false);
if (!search_data.is_sum) if (!search_data.is_sum)
...@@ -2328,5 +2328,27 @@ where 1=1 ...@@ -2328,5 +2328,27 @@ where 1=1
} }
return pageDatas; return pageDatas;
} }
/// <summary>
/// 查看半成品库存
/// </summary>
/// <returns></returns>
public static Page<dc_base_wip_stock_dto> GetWipStockPage(dc_base_wip_stock_search_dto search)
{
var sql = " select t1.*,( LEAST(ifnull(t1.quantity_safe_inventory,0),t1.usable_stock)) as 'real_quantity_safe_inventory',t2.warehouse_name from dc_base_wip_stock as t1 left join dc_base_wip_warehouse as t2 on t1.warehouse_code = t2.warehouse_code where 1=1 ";
DynamicParameters parameters = new DynamicParameters();
if (!string.IsNullOrWhiteSpace(search.bailun_sku))
{
sql += " and t1.bailun_sku like @bailun_sku ";
parameters.Add("bailun_sku", search.bailun_sku);
}
if (!string.IsNullOrWhiteSpace(search.warehouse_code))
{
sql += " and t1.warehouse_code like @warehouse_code ";
parameters.Add("warehouse_code", search.warehouse_code);
}
return _connection.Page<dc_base_wip_stock_dto>(sql, search, parameters);
}
} }
} }
......
using System; using AutoTurnOver.Models.Base;
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Text; using System.Text;
...@@ -14,10 +15,22 @@ namespace AutoTurnOver.Models.stock ...@@ -14,10 +15,22 @@ namespace AutoTurnOver.Models.stock
public string sku_name { get; set; } public string sku_name { get; set; }
public decimal unit_price { get; set; } public decimal unit_price { get; set; }
} }
public class dc_base_wip_stock_dto : dc_base_wip_stock
{
public string warehouse_name { get; set; }
public decimal real_quantity_safe_inventory { get; set; }
}
public class dc_base_wip_warehouse public class dc_base_wip_warehouse
{ {
public int id { get; set; } public int id { get; set; }
public string warehouse_code { get; set; } public string warehouse_code { get; set; }
public string warehouse_name { get; set; } public string warehouse_name { get; set; }
} }
public class dc_base_wip_stock_search_dto: page_search_dto
{
public string warehouse_code { get; set; }
public string bailun_sku { get; set; }
}
} }
...@@ -12,6 +12,7 @@ using System.Dynamic; ...@@ -12,6 +12,7 @@ using System.Dynamic;
using System.IO; using System.IO;
using System.Threading.Tasks; using System.Threading.Tasks;
using AutoTurnOver.Models.Base; using AutoTurnOver.Models.Base;
using AutoTurnOver.Models.stock;
namespace AutoTurnOver.Services namespace AutoTurnOver.Services
{ {
...@@ -770,6 +771,13 @@ namespace AutoTurnOver.Services ...@@ -770,6 +771,13 @@ namespace AutoTurnOver.Services
{ {
return report.GetInventoryStock(search); return report.GetInventoryStock(search);
} }
public Page<dc_base_wip_stock_dto> GetWipStockPage(dc_base_wip_stock_search_dto search)
{
return report.GetWipStockPage(search);
}
} }
} }
...@@ -11,6 +11,7 @@ using System.Data; ...@@ -11,6 +11,7 @@ using System.Data;
using AutoTurnOver.Common; using AutoTurnOver.Common;
using System.IO; using System.IO;
using AutoTurnOver.Models; using AutoTurnOver.Models;
using AutoTurnOver.Models.stock;
namespace AutoTurnOver.Controllers namespace AutoTurnOver.Controllers
{ {
...@@ -800,6 +801,38 @@ namespace AutoTurnOver.Controllers ...@@ -800,6 +801,38 @@ namespace AutoTurnOver.Controllers
} }
} }
public JsonResult GetWipStockPage(string warehouse_code, string bailun_sku, int offset, int limit, string order, string sort)
{
try
{
var m = new dc_base_wip_stock_search_dto
{
warehouse_code = warehouse_code,
bailun_sku = bailun_sku,
page = (offset / limit) + 1,
rows = limit,
sidx = sort,
sord = order,
};
var services = new ReportServices();
var page_data = services.GetWipStockPage(m);
return new JsonResult(new
{
rows = page_data.Items,
total = page_data.TotalItems
});
}
catch (Exception ex)
{
return new JsonResult(new
{
message = ex.Message,
stack_trace = ex.StackTrace
});
}
}
public JsonResult GetInventoryStockSumFooter(string warehousetype, int offset, int limit, string order, string sort, int? warehousearea, string warehouse_code) public JsonResult GetInventoryStockSumFooter(string warehousetype, int offset, int limit, string order, string sort, int? warehousearea, string warehouse_code)
{ {
......
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