From bbe86ac034bcf078ae37971453ed1f642c9d9c51 Mon Sep 17 00:00:00 2001 From: Ernest Litvinenko Date: Fri, 28 Jun 2024 11:25:03 +0300 Subject: [PATCH] recreate exec block with giving for loop --- 32_7.sql | 44 +++++++++++++++++++++----------------------- 1 file changed, 21 insertions(+), 23 deletions(-) diff --git a/32_7.sql b/32_7.sql index d353737..7d3352b 100644 --- a/32_7.sql +++ b/32_7.sql @@ -75,15 +75,6 @@ begin :F_APP_EVENT_FIMP, :F_APP_EVENT_MPOST if (:CUR_APP_EVENT_VID = 8795 /*Создание уведомления*/ ) then F_OPER := 1; - if (exists(select 1 - from APP_EVENT E - where E.ID_APP_EVENT = :CUR_ID_APP_EVENT)) then - begin - output = -5;/*Уведомление уже было создано*/ - suspend; - exit; - end - else begin output = -2;/*Неизвестная операция*/ @@ -91,21 +82,28 @@ begin exit; end - if (:F_OPER = 1) then - begin + if (:F_APP_EVENT_ID_REC is null or :F_APP_EVENT_ID_REC = 0) then begin + + :F_APP_EVENT_ID_REC = :F_ID_APP_EVENT; + update APP_EVENT set APP_EVENT_ID_REC = :F_APP_EVENT_ID_REC where ID_APP_EVENT = :F_ID_APP_EVENT; - /*Выполняем создание Уведомления*/ - - /*Для начала обновим ID_REC в таблице APP_EVENT*/ - - insert into APP_NOTE (ID_APP_NOTE, APP_NOTE_ID_SOTR, APP_NOTE_ID_APP_TASK, APP_NOTE_STATUS, APP_NOTE_TIP, - APP_NOTE_TEXT, APP_NOTE_DEL, APP_NOTE_CR, APP_NOTE_WCR, APP_NOTE_CH, APP_NOTE_WCH) - values (:CUR_ID_APP_EVENT, :CUR_APP_EVENT_ID_SOTR, ) end + end - ) - values (); + /*Получаем все события от начала до конца*/ + + FOR select E.ID_APP_EVENT, E.APP_EVENT_ID_SOTR, E.APP_EVENT_ID_REC, E.APP_EVENT_VID, E.APP_EVENT_TIP, + E.APP_EVENT_DT, E.APP_EVENT_TEXT, E.APP_EVENT_PARAM, E.APP_EVENT_DATA, E.APP_EVENT_DEL, + E.APP_EVENT_IMP, E.APP_EVENT_CR, E.APP_EVENT_WCR, E.APP_EVENT_CH, E.APP_EVENT_WCH, E.APP_EVENT_SEANS, + E.APP_EVENT_OWNERMST, E.APP_EVENT_FIMP, E.APP_EVENT_MPOST + from APP_EVENT E + where E.APP_EVENT_ID_REC = :F_APP_EVENT_ID_REC order by E.APP_EVENT_DT + into :F_ID_APP_EVENT, :F_APP_EVENT_ID_SOTR, :F_APP_EVENT_ID_REC, :F_APP_EVENT_VID, :F_APP_EVENT_TIP, :F_APP_EVENT_DT, + :F_APP_EVENT_TEXT, :F_APP_EVENT_PARAM, :F_APP_EVENT_DATA, :F_APP_EVENT_DEL, :F_APP_EVENT_IMP, :F_APP_EVENT_CR, + :F_APP_EVENT_WCR, :F_APP_EVENT_CH, :F_APP_EVENT_WCH, :F_APP_EVENT_SEANS, :F_APP_EVENT_OWNERMST, + :F_APP_EVENT_FIMP, :F_APP_EVENT_MPOST DO + begin - suspend; - exit; - end + end; + +end \ No newline at end of file