sozsoft-platform/configs/seeds/postgres/object/Prc_P_PurchaseOrderAfterSave.sql

19 lines
1,010 B
MySQL
Raw Normal View History

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-11 14:01:11 +00:00
IF v_act IS NOT NULL THEN CALL public."Prc_P_PurchaseOrderSetStatus"(p_id, v_act, p_user_id); END IF;
END;
$$;