18 lines
1.5 KiB
MySQL
18 lines
1.5 KiB
MySQL
|
|
-- İç transfere aktarılabilecek talep kalemleri: onaylı talebin transferle karşılanacak, bekleyen ve açık bir transferde yer almayan
|
|||
|
|
-- kalemi, aynı şubedeki taslak iç transfer belgesiyle eşlenir. Id = belge|kalem; Talepten Aktar seçilen satırları Inv_P_TransferImportItem ile ekler.
|
|||
|
|
CREATE OR ALTER VIEW [dbo].[Prc_V_MaterialRequestTransferItem] AS
|
|||
|
|
SELECT CONCAT(CAST(d.Id AS nvarchar(36)), '|', CAST(i.Id AS nvarchar(36))) AS Id, d.Id AS BaseId, i.TenantId, i.Id AS MaterialRequestItemId,
|
|||
|
|
i.MaterialRequestId, r.RequestNo, r.RequesterUserId, i.ProductId, i.Quantity - i.DeliveredQuantity AS Quantity, i.UomId,
|
|||
|
|
i.RequestReason, i.DueDate, r.WarehouseId, r.LocationId
|
|||
|
|
FROM Inv_T_Transfer d
|
|||
|
|
INNER JOIN Prc_T_MaterialRequest r ON r.BranchId = d.BranchId AND (r.TenantId = d.TenantId OR (r.TenantId IS NULL AND d.TenantId IS NULL))
|
|||
|
|
INNER JOIN Prc_T_MaterialRequestItem i ON i.MaterialRequestId = r.Id
|
|||
|
|
WHERE d.IsDeleted = 0 AND d.OperationKind = 'InternalTransfer' AND d.Status = 'Draft'
|
|||
|
|
AND r.IsDeleted = 0 AND i.IsDeleted = 0
|
|||
|
|
AND r.ApprovalStatus IN (N'Onaylandı', N'Teklif Talebi', N'Teklif Talebi Gönderildi', N'Satınalma Siparişi')
|
|||
|
|
AND i.FulfillmentMethod = 'Transfer' AND i.LineStatus = 'Waiting' AND i.Quantity > i.DeliveredQuantity
|
|||
|
|
AND NOT EXISTS (SELECT 1 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.Status NOT IN ('Done', 'Cancelled'))
|