Commit cdcfcf25 by 泽锋 李

新增半成品安全库存汇总

parent 2fd68c32
......@@ -4,6 +4,8 @@ using System.Text;
using Dapper;
using AutoTurnOver.Models;
using AutoTurnOver.Models.Common;
using System.Linq;
using AutoTurnOver.Models.stock;
namespace AutoTurnOver.DB
{
......@@ -26,6 +28,10 @@ namespace AutoTurnOver.DB
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}'";
}
......
......@@ -7,6 +7,7 @@ using System.Text;
using System.Linq;
using AutoTurnOver.Models.Base;
using AutoTurnOver.DB.Base;
using AutoTurnOver.Models.stock;
namespace AutoTurnOver.DB
{
......@@ -2278,18 +2279,17 @@ where t2.buyer_name = '赵美聪'
/// <returns></returns>
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',
count(t1.bailun_sku) as 'sku_count',
sum(ifnull(t1.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'
from dc_base_stock as t2
left join dc_auto_turnover as t1 on t1.bailun_sku = t2.bailun_sku and t1.warehouse_code = t2.warehouse_code
count(DISTINCT bailun_sku) as 'sku_count',
sum(ifnull(t2.quantity_safe_inventory, 0)) as 'quantity_safe_inventory',
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_full_stock as t2
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
";
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();
if (search_data != null)
{
......@@ -2309,8 +2309,8 @@ where 1=1
}
if (!string.IsNullOrWhiteSpace(search_data.warehousetype))
{
sql += " and t3.hq_type = @hq_type ";
sqlCount += " and t3.hq_type = @hq_type ";
sql += " and t2.warehouse_type = @hq_type ";
sqlCount += " and t2.warehouse_type = @hq_type ";
parameters.Add("hq_type", search_data.warehousetype);
}
}
......@@ -2318,7 +2318,7 @@ where 1=1
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);
if (!search_data.is_sum)
......@@ -2328,5 +2328,27 @@ where 1=1
}
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.Text;
......@@ -14,10 +15,22 @@ namespace AutoTurnOver.Models.stock
public string sku_name { 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 int id { get; set; }
public string warehouse_code { 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;
using System.IO;
using System.Threading.Tasks;
using AutoTurnOver.Models.Base;
using AutoTurnOver.Models.stock;
namespace AutoTurnOver.Services
{
......@@ -770,6 +771,13 @@ namespace AutoTurnOver.Services
{
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;
using AutoTurnOver.Common;
using System.IO;
using AutoTurnOver.Models;
using AutoTurnOver.Models.stock;
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)
{
......
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