33 lines
2.8 KiB
MySQL
33 lines
2.8 KiB
MySQL
|
|
-- 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ı: iptal olmayan iç transfer satırı — tamamlanmış belgede yapılan, açık belgede istenen miktar (eksik tamamlanan belgenin kalanı
|
|||
|
|
-- backorder belgesinde istenir); iade belgesi sayılmaz.
|
|||
|
|
-- Stok payı: stok talebin teslim konumundayken onaylanan, belgesiz karşılanan miktar (FromStockQuantity).
|
|||
|
|
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) - i.FromStockQuantity AS RemainingQuantity,
|
|||
|
|
i.FromStockQuantity
|
|||
|
|
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.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' AND t.ReturnOfId IS NULL) c) tq
|
|||
|
|
WHERE i.IsDeleted = 0
|