|
|
@@ -6992,14 +6992,14 @@ namespace Business.Replenishment
|
|
|
//获取当前供应商对应的采购单明细数据,按照交货日期从小到大开始占用
|
|
|
var pchPurMsts = curPurMsts.Where(p => p.Supp == curChaes[j].supplier_number).ToList();
|
|
|
var pchPurDtls = curPurDtls.Where(p => pchPurMsts.Select(m => m.PurOrd).Contains(p.PurOrd)).ToList();
|
|
|
+ //交货单占用数量:交货单的剩余需要采购数量,如果交货单关联了送货单,那么取送货单的送货数量参与计算
|
|
|
+ var pchDbOccupys = curDbOccupys.Where(p => pchPurDtls.Select(m => m.PurOrd).Contains(p.ponumber)).ToList();
|
|
|
//送货单占用数量
|
|
|
//var pchShds = curShds.Where(p => pchPurMsts.Select(m => m.PurOrd).Contains(p.po_bill)).ToList();
|
|
|
- var pchShds = curShds.Where(p => pchPurMsts.Select(m => m.PurOrd).Contains(p.po_bill) && string.IsNullOrEmpty(p.jhdbh)).ToList();
|
|
|
+ var pchShds = curShds.Where(p => pchPurMsts.Select(m => m.PurOrd).Contains(p.po_bill) && !pchDbOccupys.Select(m=>m.dsnum).Contains(p.jhdbh)).ToList();
|
|
|
//校验当前供应商的采购明细剩余可用数量是否满足供应商的配额
|
|
|
//采购单明细剩余可用数量
|
|
|
sumRestQty = pchPurDtls.Sum(p => p.QtyOrded) - pchShds.Sum(p=>p.sh_delivery_quantity);
|
|
|
- //交货单占用数量:交货单的剩余需要采购数量,如果交货单关联了送货单,那么取送货单的送货数量参与计算
|
|
|
- var pchDbOccupys = curDbOccupys.Where(p => pchPurDtls.Select(m => m.PurOrd).Contains(p.ponumber)).ToList();
|
|
|
//生成了送货单
|
|
|
var yShd = curShds.Where(p => pchDbOccupys.Select(m => m.dsnum).Contains(p.jhdbh)).ToList();
|
|
|
//没有生成送货单
|
|
|
@@ -7089,10 +7089,10 @@ namespace Business.Replenishment
|
|
|
//当前供应商配额以满足,循环下一个供应商
|
|
|
break;
|
|
|
}
|
|
|
- //当前采购明细剩余数量=订单数量-送货单数量(不是由交货单转的送货单)
|
|
|
- decimal syQty = pchPurDtls[k].QtyOrded - pchShds.Where(p => p.po_bill == pchPurDtls[k].PurOrd && p.po_billline == pchPurDtls[k].Line.ToString()).Sum(p=>p.sh_delivery_quantity);
|
|
|
//当前采购明细被占用数量(已占用数量)
|
|
|
var occupy = pchDbOccupys.Where(p => p.ponumber == pchPurDtls[k].PurOrd && p.itemnum == pchPurDtls[k].ItemNum && p.poline == pchPurDtls[k].Line).ToList();
|
|
|
+ //当前采购明细剩余数量=订单数量-送货单数量(不是由交货单转的送货单)
|
|
|
+ decimal syQty = pchPurDtls[k].QtyOrded - pchShds.Where(p => p.po_bill == pchPurDtls[k].PurOrd && p.po_billline == pchPurDtls[k].Line.ToString()).Sum(p=>p.sh_delivery_quantity);
|
|
|
//生成了送货单
|
|
|
var pyShd = curShds.Where(p => occupy.Select(m => m.dsnum).Contains(p.jhdbh)).ToList();
|
|
|
//没有生成送货单
|