tangdi 3 лет назад
Родитель
Сommit
1ee00d9332

+ 8 - 8
MicroServices/Business/Business.Application/ResourceExamineManagement/CalcBomViewAppService.cs

@@ -211,7 +211,7 @@ namespace Business.ResourceExamineManagement
             }
 
             //这是从上往下展开计算缺料和可制
-            CaleLackItem(level1Dto, childList, returnlist, sklist);
+            CaleLackItem(level1Dto, childList, returnlist, sklist, bangid);
             //level1Dto.kz = childList.Min(s => s.kz);//得到最小可制数量。
             //再加个循环,来根据替代关系里的检查结果,根据规则明确使用和生成占用关系。
             List<long> childidList = new List<long>();
@@ -313,7 +313,7 @@ namespace Business.ResourceExamineManagement
         /// <param name="bzlist"></param>
         /// <param name="returnlist"></param>
         /// <param name="sockoccupyList"></param>
-        public void CaleLackItem(BomChildExamineDto parent, List<BomChildExamineDto> bzlist, List<BomChildExamineDto> returnlist, List<mo_ic_item_stockoccupy> sockoccupyList)
+        public void CaleLackItem(BomChildExamineDto parent, List<BomChildExamineDto> bzlist, List<BomChildExamineDto> returnlist, List<mo_ic_item_stockoccupy> sockoccupyList,long bangid)
         {
             //从第二级开始循环
             foreach (var item in bzlist)
@@ -321,9 +321,9 @@ namespace Business.ResourceExamineManagement
                 var childList = returnlist.Where(s => s.parent_id == item.id && s.type == 0).ToList();
 
                 //根据占用情况计算库存
-                Calczykc(item, parent, sockoccupyList);
+                Calczykc(item, parent, sockoccupyList, bangid);
                 //如果有子集,则丢入循环,判断下库存可制等信息。
-                CaleLackItem(item, childList, returnlist, sockoccupyList);
+                CaleLackItem(item, childList, returnlist, sockoccupyList, bangid);
             }
         }
 
@@ -332,10 +332,10 @@ namespace Business.ResourceExamineManagement
         /// </summary>
         /// <param name="item"></param>
         /// <param name="sockoccupyList"></param>
-        public void Calczykc(BomChildExamineDto item, BomChildExamineDto parent, List<mo_ic_item_stockoccupy> sockoccupyList)
+        public void Calczykc(BomChildExamineDto item, BomChildExamineDto parent, List<mo_ic_item_stockoccupy> sockoccupyList, long bangid)
         {
             //找到当前物料的占用记录
-            var itemSockoccupy = sockoccupyList.Where(s => s.icitem_id == item.item_id).ToList();
+            var itemSockoccupy = sockoccupyList.Where(s => s.icitem_id == item.item_id && s.bang_id == bangid).ToList();
             //计算库存减去占用
             item.sqty -= itemSockoccupy.Sum(s => s.quantity);
             //如果库存
@@ -388,7 +388,7 @@ namespace Business.ResourceExamineManagement
                     }
                     else
                     {
-                        Calczykc(item, parent, sklist);
+                        Calczykc(item, parent, sklist, bangid);
 
                         //直接占用库存,缺料就生成采购
                         mo_ic_item_stockoccupy itemStockoccupyDto = new mo_ic_item_stockoccupy();
@@ -860,7 +860,7 @@ namespace Business.ResourceExamineManagement
 
                             var minute = _productExamineAppService.ProductiveExamine((int)sct.lack_qty);
                             //系统建议完工日期为 开工日期+产能检查时间=完工日期
-                            var Day = minute.Result / (60 * 10); //返回的分钟除以十个小时得出工作天数;
+                            var Day = minute / (60 * 10); //返回的分钟除以十个小时得出工作天数;
                             sct.kitting_time = sct.kitting_time.Value.AddDays((double)Day);
                             sct.make_qty = sct.lack_qty;
                             //todo: