-- Talep kaleminin planlanmış payları ve planlanacak kalanı (Planlama, Plan Takibi, kalem durumu). Miktarlar kalemin birimine çevrilir. -- Satınalma payı: teklif aşamasındaki teklif talebinde ya da iptal olmayan siparişe geçmiş teklif kaleminde duran miktar; ihale aynı kalemi -- bütün tedarikçilere kopyaladığı için ihale × ihale kalemi başına bir kez (en büyüğü) sayılır. -- Transfer payı (Stoktan kararı dahil — kaynak ve hedefi teslim konumu olan transfer): iptal olmayan iç transfer satırı — tamamlanmış belgede yapılan, açık belgede istenen miktar (eksik tamamlanan belgenin kalanı -- backorder belgesinde istenir); tamamlanmış iade belgesinin yapılan miktarı paydan düşer (iade edilen kalem yeniden planlanır). CREATE OR ALTER VIEW [dbo].[Prc_V_MaterialRequestItemPlan] AS SELECT i.Id, i.TenantId, ISNULL(pq.Quantity, 0) AS PurchaseQuantity, ISNULL(tq.Quantity, 0) AS TransferQuantity, i.Quantity - ISNULL(pq.Quantity, 0) - ISNULL(tq.Quantity, 0) AS RemainingQuantity FROM Prc_T_MaterialRequestItem i OUTER APPLY (SELECT SUM(g.Quantity) AS Quantity FROM (SELECT MAX(c.Quantity) AS Quantity FROM (SELECT ISNULL(q.TenderGroupId, q.Id) AS TenderGroupId, ISNULL(rl.TenderLineId, rl.Id) AS TenderLineId, dbo.Inv_F_UomConvert(rl.Quantity, rl.UomId, i.UomId) AS Quantity FROM Prc_T_PurchaseRfqLine rl INNER JOIN Prc_T_PurchaseRfq q ON q.Id = rl.PurchaseRfqId WHERE rl.MaterialRequestItemId = i.Id AND rl.IsDeleted = 0 AND q.IsDeleted = 0 AND (q.Status IN ('Draft', 'Sent') OR (q.Status = 'Purchase' AND EXISTS (SELECT 1 FROM Prc_T_PurchaseOrderLine ol INNER JOIN Prc_T_PurchaseOrder o ON o.Id = ol.PurchaseOrderId WHERE ol.PurchaseRfqLineId = rl.Id AND ol.IsDeleted = 0 AND o.IsDeleted = 0 AND o.Status <> 'Cancelled')))) c GROUP BY c.TenderGroupId, c.TenderLineId) g) pq OUTER APPLY (SELECT SUM(c.Quantity) AS Quantity FROM (SELECT dbo.Inv_F_UomConvert(CASE WHEN t.ReturnOfId IS NOT NULL THEN CASE WHEN t.Status = 'Done' THEN -tl.Quantity ELSE 0 END WHEN t.Status = 'Done' THEN tl.Quantity ELSE tl.DemandQuantity END, tl.UomId, i.UomId) AS Quantity FROM Inv_T_TransferLine tl INNER JOIN Inv_T_Transfer t ON t.Id = tl.TransferId WHERE tl.MaterialRequestItemId = i.Id AND tl.IsDeleted = 0 AND t.IsDeleted = 0 AND t.OperationKind = 'InternalTransfer' AND t.Status <> 'Cancelled') c) tq WHERE i.IsDeleted = 0