|
|
@@ -523,7 +523,7 @@ namespace Business.Replenishment
|
|
|
{
|
|
|
itemInProduct = dictInProduction[item.SAPItemNumber];
|
|
|
}
|
|
|
- var locationSum = (locationList.Count == 0 ? 0 : locationList.Sum(x => x.QtyOnHand)) + gkStock+ hwStock + (ship.Count == 0 ? 0 : ship.Sum(x => x.RealQty)) + itemInProduct + 0;
|
|
|
+ var locationSum = (locationList.Count == 0 ? 0 : locationList.Sum(x => x.AvailStatusQty.GetValueOrDefault() + x.Assay.GetValueOrDefault())) + gkStock+ hwStock + (ship.Count == 0 ? 0 : ship.Sum(x => x.RealQty)) + itemInProduct + 0;
|
|
|
//前面N个月的生产数量
|
|
|
var frontQtySum = annualProductionOutlines.Sum(x => x.Qty);
|
|
|
//生产数量:3月为例子,if((库存合计和前2月生产数量)-(前2个月销售预测数据)-当月销售预测数据 / 2 < 0)
|
|
|
@@ -695,14 +695,14 @@ namespace Business.Replenishment
|
|
|
|
|
|
if (locations.FirstOrDefault(a => a.ItemNum == item.SAPItemNumber && a.Location == "8001")!=null)
|
|
|
{
|
|
|
- plan.Inventory = locations.FirstOrDefault(a => a.ItemNum == item.SAPItemNumber && a.Location == "8001").QtyOnHand.GetValueOrDefault();
|
|
|
+ plan.Inventory = locations.Where(a => a.ItemNum == item.SAPItemNumber && a.Location == "8001").Sum(c => c.AvailStatusQty.GetValueOrDefault() + c.Assay.GetValueOrDefault());
|
|
|
}else
|
|
|
{
|
|
|
plan.Inventory = 0;
|
|
|
}
|
|
|
if (locations.FirstOrDefault(a => a.ItemNum == item.SAPItemNumber && a.Location == "8000") != null)
|
|
|
{
|
|
|
- plan.Inventory1 = locations.FirstOrDefault(a => a.ItemNum == item.SAPItemNumber && a.Location == "8000").QtyOnHand.GetValueOrDefault();
|
|
|
+ plan.Inventory1 = locations.Where(a => a.ItemNum == item.SAPItemNumber && a.Location == "8000").Sum(c => c.AvailStatusQty.GetValueOrDefault() + c.Assay.GetValueOrDefault());
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
@@ -710,7 +710,7 @@ namespace Business.Replenishment
|
|
|
}
|
|
|
if (locations.FirstOrDefault(a => a.ItemNum == item.SAPItemNumber && a.Location == "5008") != null)
|
|
|
{
|
|
|
- plan.Inventory2 = locations.FirstOrDefault(a => a.ItemNum == item.SAPItemNumber && a.Location == "5008").QtyOnHand.GetValueOrDefault();
|
|
|
+ plan.Inventory2 = locations.Where(a => a.ItemNum == item.SAPItemNumber && a.Location == "5008").Sum(c => c.AvailStatusQty.GetValueOrDefault() + c.Assay.GetValueOrDefault());
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
@@ -906,11 +906,11 @@ namespace Business.Replenishment
|
|
|
{
|
|
|
if (dictItemStock.ContainsKey(item.ItemNum))
|
|
|
{
|
|
|
- dictItemStock[item.ItemNum] += item.QtyOnHand.GetValueOrDefault();
|
|
|
+ dictItemStock[item.ItemNum] += (item.AvailStatusQty.GetValueOrDefault() + item.Assay.GetValueOrDefault());
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- dictItemStock.Add(item.ItemNum, item.QtyOnHand.GetValueOrDefault());
|
|
|
+ dictItemStock.Add(item.ItemNum, (item.AvailStatusQty.GetValueOrDefault() + item.Assay.GetValueOrDefault()));
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -1384,7 +1384,7 @@ namespace Business.Replenishment
|
|
|
{
|
|
|
//取实际库存
|
|
|
//1开始的库位为原料仓
|
|
|
- rop.avaStockQty = locations.Where(a=>a.ItemNum==rop.number && a.Location.StartsWith("1")).Sum(a=>a.QtyOnHand);
|
|
|
+ rop.avaStockQty = locations.Where(a=>a.ItemNum==rop.number && a.Location.StartsWith("1")).Sum(a=> a.AvailStatusQty.GetValueOrDefault() + a.Assay.GetValueOrDefault());
|
|
|
}
|
|
|
rop.montheop1 = rop.rop_computed > rop.avaStockQty.GetValueOrDefault() ? rop.eop : 0;
|
|
|
rop.montheop2 = rop.security_stock > rop.avaStockQty.GetValueOrDefault() ? rop.eop : 0;
|
|
|
@@ -2468,7 +2468,7 @@ namespace Business.Replenishment
|
|
|
ropMaterialModelList.ForEach(b =>
|
|
|
{
|
|
|
var materialQty=materialItemStock?.Where(c => c.ItemNum == b.number && c.Location.StartsWith('1'));
|
|
|
- decimal QtyStock = materialQty != null ? materialQty.Sum(c => c.QtyOnHand.GetValueOrDefault()) : 0;
|
|
|
+ decimal QtyStock = materialQty != null ? materialQty.Sum(c => c.AvailStatusQty.GetValueOrDefault() + c.Assay.GetValueOrDefault()) : 0;
|
|
|
if (QtyStock < b.security_stock)
|
|
|
{
|
|
|
mo_srm_purchase supplier = null;
|
|
|
@@ -3582,7 +3582,7 @@ namespace Business.Replenishment
|
|
|
var pret = pretreatments.Find(s => s.item_id == item.icitem_id);
|
|
|
if (pret != null)
|
|
|
{
|
|
|
- item.sqty = locStock.Where(s => s.ItemNum == pret.item_number).Sum(p => p.QtyOnHand);
|
|
|
+ item.sqty = locStock.Where(s => s.ItemNum == pret.item_number).Sum(p => p.AvailStatusQty.GetValueOrDefault() + p.Assay.GetValueOrDefault());
|
|
|
}
|
|
|
});
|
|
|
var moIcitemStokc = ObjectMapper.Map<List<ic_item_stock>, List<mo_ic_item_stock>>(icitemStokc);
|
|
|
@@ -4392,7 +4392,7 @@ namespace Business.Replenishment
|
|
|
//WMS物料记录汇总
|
|
|
var groupList = stockList.
|
|
|
GroupBy(m => new { m.ItemNum }).
|
|
|
- Select(a => new { ItemNum = a.Key.ItemNum, Qty = a.Sum(c => c.QtyOnHand) }).ToList();
|
|
|
+ Select(a => new { ItemNum = a.Key.ItemNum, Qty = a.Sum(c => c.AvailStatusQty.GetValueOrDefault() + c.Assay.GetValueOrDefault()) }).ToList();
|
|
|
|
|
|
|
|
|
var itemNums = groupList.Select(b => b.ItemNum).ToList();//需要处理的dop物料编码集合
|