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

更新使用状态和占用。

tangdi 3 лет назад
Родитель
Сommit
5705fab7d5

+ 10 - 7
MicroServices/Business/Business.Application/ResourceExamineManagement/ResourceExamineAppService.cs

@@ -478,7 +478,6 @@ namespace Business.ResourceExamineManagement
                 BomStock(getBomList, bangid, input.factoryId);
                 //计算
                 calcTest(getBomList, bangid, o.Id, o.qty.Value, input, o.plan_date);
-
                 //TODO:最晚开始时间
                 var curFacDtl = leadTimes.FirstOrDefault(p=>p.item_id == childBom.icitem_id);
                 //最晚开工时间=订单行客户要求交期-运输提前期-库存提前期-生产提前期-下单提前期
@@ -1405,18 +1404,19 @@ namespace Business.ResourceExamineManagement
                 }
                 else
                 {
+                    //直接占用库存,缺料就生成采购
+                    ic_item_stockoccupy itemStockoccupyDto = new ic_item_stockoccupy();
+                    itemStockoccupyDto.bang_id = bangid;
+                    itemStockoccupyDto.icitem_id = item.item_id;
+                    itemStockoccupyDto.quantity = item.sqty;
+                    sklist.Add(itemStockoccupyDto);
+                    item.is_use = true;
                     if (item.erp_cls == 1)
                     {
                         //走自制
                     }
                     else if (item.erp_cls == 2 || item.erp_cls == 3)
                     {
-                        //直接占用库存,缺料就生成采购
-                        ic_item_stockoccupy itemStockoccupyDto = new ic_item_stockoccupy();
-                        itemStockoccupyDto.bang_id = bangid;
-                        itemStockoccupyDto.icitem_id = item.item_id;
-                        itemStockoccupyDto.quantity = item.sqty;
-                        sklist.Add(itemStockoccupyDto);
                         var leadTimeList = GetLeadTime(new List<long> { item.item_id }, input.tenantId, input.factoryId);//提前期列表
                         var supplierList = GetSupplier(new List<BomChildExamineDto> { item }, input.tenantId, input.factoryId);//供应商列表
                         var planList = GetICPlan(new List<BomChildExamineDto> { item }, input.tenantId, input.factoryId);//plan列表
@@ -1588,6 +1588,7 @@ namespace Business.ResourceExamineManagement
                 ic_item_stockoccupy itemStockoccupyDto = new ic_item_stockoccupy();
                 itemStockoccupyDto.bang_id = bangid;
                 itemStockoccupyDto.icitem_id = slt.item_id;
+                slt.is_use = true;
                 if (slt.lack_qty > 0)
                 {
 
@@ -1689,10 +1690,12 @@ namespace Business.ResourceExamineManagement
                     //根据混用逻辑,去占用物料
                     foreach (var zy in list)
                     {
+                        zy.is_use = true;
                         ic_item_stockoccupy itemStockoccupyDto = new ic_item_stockoccupy();
                         itemStockoccupyDto.bang_id = bangid;
                         itemStockoccupyDto.icitem_id = zy.item_id;
                         itemStockoccupyDto.quantity = use_p_num * zy.qty; ;
+                        sklist.Add(itemStockoccupyDto);
                     }
                     idx++;
                 }