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 ALTER VIEW [ dbo ] . [ Prc_V_MaterialRequestItemPlan ] AS
SELECT i . Id , i . TenantId , ISNULL ( pq . Quantity , 0 ) AS PurchaseQuantity , ISNULL ( tq . Quantity , 0 ) AS TransferQuantity ,
2026-10-14 19:26:03 +00:00
i . Quantity - ISNULL ( pq . Quantity , 0 ) - ISNULL ( tq . Quantity , 0 ) AS RemainingQuantity
2026-10-14 09:07:11 +00:00
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
2026-10-14 19:26:03 +00:00
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
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 = 0 AND t . IsDeleted = 0
2026-10-14 19:26:03 +00:00
AND t . OperationKind = ' InternalTransfer ' AND t . Status < > ' Cancelled ' ) c ) tq
2026-10-14 09:07:11 +00:00
WHERE i . IsDeleted = 0