Bladeren bron

交货单占用逻辑调整:已关闭交货单取已送数量;未关闭交货单取需求数量

heteng 2 jaren geleden
bovenliggende
commit
5431fa7397

+ 5 - 4
MicroServices/Business/Business.Application/ReplenishmentManagement/ReplenishmentAppService.cs

@@ -6787,7 +6787,7 @@ namespace Business.Replenishment
                 //采购单明细的剩余未交数量:采购明细的需求数量-送货单需求数量(不是交货单转的送货单)
                 sumRestQty = curPurDtls.Sum(p => p.QtyOrded) - curShds.Sum(p=>p.sh_delivery_quantity);
                 //交货单占用数量:交货单的需求数量
-                sumDbOccupy = curDbOccupys.Sum(p => p.schedqty);
+                sumDbOccupy = curDbOccupys.Where(p=>p.status.ToUpper() == "C").Sum(p => p.sentqty) + curDbOccupys.Where(p=>p.status.ToUpper() != "C").Sum(p=>p.schedqty);
                 //本次计算交货单占用数量:本次计算交货单的需求数量
                 sumCurOccupy = curCalcOccupys.Sum(p => p.schedqty);
                 //剩余可用数量
@@ -6876,7 +6876,8 @@ namespace Business.Replenishment
                     //采购单明细剩余可用数量
                     sumRestQty = pchPurDtls.Sum(p => p.QtyOrded) - pchShds.Sum(p=>p.sh_delivery_quantity);
                     //交货单占用数量:交货单的剩余需要采购数量
-                    sumDbOccupy = curDbOccupys.Where(p => pchPurDtls.Select(m => m.PurOrd).Contains(p.ponumber)).Sum(p => p.schedqty);
+                    var pchDbOccupys = curDbOccupys.Where(p => pchPurDtls.Select(m => m.PurOrd).Contains(p.ponumber)).ToList();
+                    sumDbOccupy = pchDbOccupys.Where(p=>p.status.ToUpper() == "C").Sum(p => p.sentqty) + pchDbOccupys.Where(p => p.status.ToUpper() != "C").Sum(p => p.schedqty);
                     //本次计算交货单占用数量:本次计算交货单的需求数量
                     sumCurOccupy = curCalcOccupys.Where(p => pchPurDtls.Select(m => m.PurOrd).Contains(p.ponumber)).Sum(p => p.schedqty);
                     //剩余可用数量
@@ -6909,8 +6910,8 @@ namespace Business.Replenishment
                         //当前采购明细剩余数量=订单数量-送货单数量(不是由交货单转的送货单)
                         decimal syQty = pchPurDtls[k].QtyOrded - pchShds.Where(p => p.po_billline == pchPurDtls[k].Line.ToString()).Sum(p=>p.sh_delivery_quantity);
                         //当前采购明细被占用数量(已占用数量)
-                        var occupy = curDbOccupys.Where(p => p.ponumber == pchPurDtls[k].PurOrd && p.itemnum == pchPurDtls[k].ItemNum && p.poline == pchPurDtls[k].Line).ToList();
-                        decimal yzyQty = occupy.Sum(p => p.schedqty);
+                        var occupy = pchDbOccupys.Where(p => p.ponumber == pchPurDtls[k].PurOrd && p.itemnum == pchPurDtls[k].ItemNum && p.poline == pchPurDtls[k].Line).ToList();
+                        decimal yzyQty = occupy.Where(p=>p.status.ToUpper() == "C").Sum(p => p.sentqty) + occupy.Where(p=>p.status.ToUpper() != "C").Sum(p=>p.schedqty);
                         //当前计算中采购明细被占用数量(本次计算占用数量)
                         var calcs = inserts.Where(p => p.ponumber == pchPurDtls[k].PurOrd && p.itemnum == pchPurDtls[k].ItemNum && p.poline == pchPurDtls[k].Line).ToList();
                         decimal bzyQty = calcs.Sum(p => p.schedqty);