Просмотр исходного кода

增加资源检查报告里包含占用情况。

tangdi 3 лет назад
Родитель
Сommit
5d7c4250db

+ 4 - 0
MicroServices/Business/Business.Application.Contracts/ResourceExamineManagement/Dto/PschedDto.cs

@@ -2,6 +2,8 @@ using System;
 using System.Collections.Generic;
 using Volo.Abp.Application.Dtos;
 using System.ComponentModel.DataAnnotations;
+using Bussiness.Model.MES.IC;
+
 namespace Business.ResourceExamineManagement.Dto
 {
     /// <summary>
@@ -18,6 +20,8 @@ namespace Business.ResourceExamineManagement.Dto
         /// 资源检查明细list
         /// </summary>
         public List<ExamineResult> examines { get; set; }
+
+        public List<ic_item_stockoccupy> sklist { get; set; }
     }
 
     /// <summary>

+ 6 - 8
MicroServices/Business/Business.Application/ResourceExamineManagement/ResourceExamineAppService.cs

@@ -391,7 +391,8 @@ namespace Business.ResourceExamineManagement
             List<ic_bom_child> bomchildlist = new List<ic_bom_child>();
             //获取物料bom,物料bom明细
             GetIcBomData(boms, bomlist, bomchildlist);
-            
+            //物料占用记录
+            List<ic_item_stockoccupy> sklist = new List<ic_item_stockoccupy>();
             //获取物料数据
             List<long> itemIds = bomlist.Select(p => p.icitem_id).ToList();
             itemIds.AddRange(bomchildlist.Select(p => p.icitem_id).ToList());
@@ -414,7 +415,7 @@ namespace Business.ResourceExamineManagement
                 //库存初始化
                 BomStock(getBomList, bangid, input.factoryId);
                 //计算
-                calcTest(getBomList, bangid, item.Id, item.qty.Value, input, item.plan_date);
+                calcTest(getBomList, bangid, item.Id, item.qty.Value, input, item.plan_date, sklist);
 
                 //TODO:最晚开始时间
                 var curFacDtl = leadTimes.FirstOrDefault(p => p.item_id == childBom.icitem_id);
@@ -431,6 +432,7 @@ namespace Business.ResourceExamineManagement
             }
             //订单行资源检查明细list
             rtn.examines = examines;
+            rtn.sklist = sklist;
             return JsonConvert.SerializeObject(rtn);
         }
 
@@ -1253,12 +1255,8 @@ namespace Business.ResourceExamineManagement
         /// <param name="input"></param>
         /// <param name="plan_date"></param>
         public void calcTest(List<BomChildExamineDto> returnlist, long bangid, long orderid, decimal count, SeorderentryDto input, DateTime
-            ? plan_date)
+            ? plan_date, List<ic_item_stockoccupy> sklist)
         {
-            //占用情况
-            List<ic_item_stockoccupy> sklist = new List<ic_item_stockoccupy>();
-            //var occupylist = _ic_item_stockoccupy.GetManyByCondition(p => p.icitem_id == bangid && p.order_id == orderid).Result;
-
             //第一级
             returnlist = returnlist.OrderBy(s => s.num).ToList();
             var childList = returnlist.Where(s => s.parent_id == returnlist[0].id && s.type == 0).ToList();
@@ -1799,7 +1797,7 @@ namespace Business.ResourceExamineManagement
                 {
                     var parent = returnlist.Find(s => s.id == g.parent_id);
                     //根据占用情况计算库存
-                    Calczykc(parent, g, sockoccupyList);
+                    Calczykc(g, parent, sockoccupyList);
                     /*if (g.stock_state != 1)
                     {
                         //判断此料是否BOM,如果是BOM,就考虑自制是否足够,此处递归检查子集