2026-10-14 09:07:11 +00:00
-- 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.
2026-10-14 19:26:03 +00:00
-- 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).
2026-10-14 09:07:11 +00:00
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 " ,
2026-10-14 19:26:03 +00:00
i . " Quantity " - COALESCE ( pq . " Quantity " , 0 ) - COALESCE ( tq . " Quantity " , 0 ) AS " RemainingQuantity "
2026-10-14 09:07:11 +00:00
FROM " Prc_T_MaterialRequestItem " i
LEFT JOIN LATERAL (
SELECT SUM ( g . " Quantity " ) AS " Quantity "
FROM ( SELECT MAX ( public . " 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 " = 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 (
2026-10-14 19:26:03 +00:00
SELECT SUM ( public . " 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 "
2026-10-14 09:07:11 +00:00
FROM " Inv_T_TransferLine " tl
INNER JOIN " Inv_T_Transfer " t ON t . " Id " = tl . " TransferId "
WHERE tl . " MaterialRequestItemId " = i . " Id " AND tl . " IsDeleted " = false AND t . " IsDeleted " = false
2026-10-14 19:26:03 +00:00
AND t . " OperationKind " = ' InternalTransfer ' AND t . " Status " < > ' Cancelled ' ) tq ON true
2026-10-14 09:07:11 +00:00
WHERE i . " IsDeleted " = false ;