2026-10-11 14:01:11 +00:00
|
|
|
CREATE OR REPLACE PROCEDURE public."Prc_P_PurchaseOrderAfterSave"(p_id uuid, p_user_id uuid DEFAULT NULL)
|
|
|
|
|
LANGUAGE plpgsql AS $$
|
2026-10-11 19:57:23 +00:00
|
|
|
DECLARE v_act varchar(16);
|
2026-10-11 14:01:11 +00:00
|
|
|
BEGIN
|
2026-10-11 19:57:23 +00:00
|
|
|
SELECT "PendingAction" INTO v_act FROM "Prc_T_PurchaseOrder" WHERE "Id" = p_id;
|
2026-10-11 14:01:11 +00:00
|
|
|
UPDATE "Prc_T_PurchaseOrder" o SET
|
|
|
|
|
"PaymentTermId" = COALESCE(o."PaymentTermId", c."PurchasePaymentTermId"),
|
|
|
|
|
"IncotermId" = COALESCE(o."IncotermId", c."PurchaseIncotermId"),
|
|
|
|
|
"IncotermLocation" = COALESCE(o."IncotermLocation", c."PurchaseIncotermLocation"),
|
|
|
|
|
"BuyerUserId" = CASE WHEN o."LastModificationTime" IS NULL AND c."BuyerUserId" IS NOT NULL THEN c."BuyerUserId" ELSE o."BuyerUserId" END
|
|
|
|
|
FROM "Adm_T_Contact" c
|
|
|
|
|
WHERE o."Id" = p_id AND c."Id" = o."SupplierId";
|
|
|
|
|
|
|
|
|
|
CALL public."Prc_P_PurchaseOrderRecalc"(p_id);
|
2026-10-11 19:57:23 +00:00
|
|
|
-- Durum butonlari islemi PendingAction alanina yazip ekranin guncelleme ucuyla kaydeder.
|
2026-10-12 10:27:54 +00:00
|
|
|
IF v_act IS NOT NULL THEN
|
|
|
|
|
CALL public."Prc_P_PurchaseOrderSetStatus"(p_id, v_act, p_user_id);
|
|
|
|
|
CALL public."Prc_P_MaterialRequestSyncStatus"(p_id);
|
|
|
|
|
END IF;
|
2026-10-11 14:01:11 +00:00
|
|
|
END;
|
|
|
|
|
$$;
|