sozsoft-platform/configs/seeds/sql/object/Prc_P_MaterialRequestItemSync.sql
2026-10-19 17:35:08 +03:00

20 lines
1.3 KiB
Transact-SQL
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- Transfer belgesinin talep kalemlerinin satır durumunu planla eşler (yeniden hesap ve iptal sonrası): kalanın tamamı iç transferle
-- planlanmış, satınalma payı olmayan bekleyen kalem kapanır (Tamamlandı); transfer iptal edilir, satırı silinir ya da eksik tamamlanıp kalanı
-- yeniden açılırsa kapalı kalem Bekliyor'a döner ve Planlama'da görünür. Silinmiş satırların kalemleri de kapsamdadır. Ardından
-- kalemlerin taleplerinin durumu yenilenir (teslim tamamlandıysa Tamamlandı; alım belgesi de buradan geçer).
CREATE OR ALTER PROCEDURE [dbo].[Prc_P_MaterialRequestItemSync]
@TransferId uniqueidentifier
AS
BEGIN
SET NOCOUNT ON;
UPDATE i SET LineStatus = CASE WHEN i.LineStatus = 'Waiting' THEN 'Done' ELSE 'Waiting' END
FROM Prc_T_MaterialRequestItem i
INNER JOIN Prc_V_MaterialRequestItemPlan p ON p.Id = i.Id
WHERE i.Id IN (SELECT MaterialRequestItemId FROM Stk_T_TransferLine WHERE TransferId = @TransferId AND MaterialRequestItemId IS NOT NULL)
AND p.PurchaseQuantity = 0
AND ((i.LineStatus = 'Waiting' AND p.RemainingQuantity <= 0)
OR (i.LineStatus = 'Done' AND p.RemainingQuantity > 0 AND i.DeliveredQuantity < i.Quantity));
EXEC Prc_P_MaterialRequestSyncStatus @TransferId;
END