-- 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 REPLACE VIEW public."Prc_V_MaterialRequestItemPlan" AS SELECT i."Id", i."TenantId", COALESCE(pq."Quantity", 0) AS "PurchaseQuantity", COALESCE(tq."Quantity", 0) AS "TransferQuantity", i."Quantity" - COALESCE(pq."Quantity", 0) - COALESCE(tq."Quantity", 0) AS "RemainingQuantity" FROM "Prc_T_MaterialRequestItem" i LEFT JOIN LATERAL ( SELECT SUM(g."Quantity") AS "Quantity" FROM (SELECT MAX(public."Stk_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" = false AND q."IsDeleted" = false 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" = false AND o."IsDeleted" = false AND o."Status" <> 'Cancelled'))) GROUP BY COALESCE(q."TenderGroupId", q."Id"), COALESCE(rl."TenderLineId", rl."Id")) g) pq ON true LEFT JOIN LATERAL ( SELECT SUM(public."Stk_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 "Stk_T_TransferLine" tl INNER JOIN "Stk_T_Transfer" t ON t."Id" = tl."TransferId" WHERE tl."MaterialRequestItemId" = i."Id" AND tl."IsDeleted" = false AND t."IsDeleted" = false AND t."OperationKind" = 'InternalTransfer' AND t."Status" <> 'Cancelled') tq ON true WHERE i."IsDeleted" = false;