tangdi 2 лет назад
Родитель
Сommit
5488916f16

+ 10 - 10
MicroServices/Business/Business.Application/ReplenishmentManagement/ReplenishmentAppService.cs

@@ -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物料编码集合

+ 2 - 4
MicroServices/Business/Business.Application/ResourceExamineManagement/ResourceExamineAppService.cs

@@ -1911,7 +1911,7 @@ namespace Business.ResourceExamineManagement
                     item.bang_id = bangid;
                     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);
@@ -3921,14 +3921,12 @@ namespace Business.ResourceExamineManagement
             //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物料编码集合
             //根据WMS物料,取出DOP物料数据
             var items = _mysql_ic_item.GetListAsync(a => itemNums.Contains(a.number) && a.factory_id == param.factoryId && a.company_id == param.company_id).Result;
 
-
             var itemIds = items.Select(b => b.Id).ToList();//需要处理的dop物料id集合
             List<ic_item_stock> mysqlStock = _mysql_ic_item_stock.GetListAsync(a => itemIds.Contains(a.Id) && a.factory_id == param.factoryId && a.company_id == param.company_id).Result;
             List<ic_item_stock> needAddList = new List<ic_item_stock>();

+ 12 - 0
MicroServices/Business/Business.Domain/StructuredDB/MES/IC/InvMaster.cs

@@ -45,6 +45,18 @@ namespace Business.Domain
         [Comment("库存数量")]
         public decimal? QtyOnHand { get; set; }
 
+        /// <summary>
+        /// 非限制数量
+        /// </summary>
+        [Comment("非限制数量")]
+        public decimal? AvailStatusQty { get; set; }
+
+        /// <summary>
+        /// 质检数量
+        /// </summary>
+        [Comment("质检数量")]
+        public decimal? Assay { get; set; }
+
         /// <summary>
         /// 是否有效:1-有效;0-无效
         /// </summary>