From 88fb1894ac9dfc64530c78a0d1abc2928bf54eb0 Mon Sep 17 00:00:00 2001 From: Ernest Litvinenko Date: Fri, 28 Jun 2024 12:08:25 +0300 Subject: [PATCH] fix errors --- 32_7.sql | 117 ++++++++++++++++++++++++------------------------------- 1 file changed, 51 insertions(+), 66 deletions(-) diff --git a/32_7.sql b/32_7.sql index a7c3363..de5335f 100644 --- a/32_7.sql +++ b/32_7.sql @@ -1,7 +1,7 @@ -execute block ( +execute block ( IN_ID_APP_EVENT D_BIGINT = :IN_ID_APP_EVENT) returns ( - output_type D_SMALLINT) + output D_SMALLINT) as -- APP_EVENT VARIABLES @@ -25,7 +25,6 @@ declare variable F_APP_EVENT_OWNERMST type of column APP_EVENT.APP_EVENT_OWNERMS declare variable F_APP_EVENT_FIMP type of column APP_EVENT.APP_EVENT_FIMP; declare variable F_APP_EVENT_MPOST type of column APP_EVENT.APP_EVENT_MPOST; - -- APP_NOTE VARIABLES declare variable NEW_ID_APP_NOTE type of D_BIGINT; declare variable NEW_APP_NOTE_ID_SOTR type of D_BIGINT; @@ -54,7 +53,7 @@ declare variable CUR_APP_NOTE_WCH type of D_BIGINT; declare variable F_OPER type of D_SMALLINT; begin - output_type = 0;/* 0- Не выполнено, -1 Ошибка*/ + output = 0;/* 0- Не выполнено, -1 Ошибка*/ -- Находим событие с переданным идентификатором --0. ДЛЯ ПОЧТОВОГО СЕРВЕРА НИЧЕГО НЕ ДЕЛАЕМ @@ -72,78 +71,64 @@ begin 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 + :F_APP_EVENT_FIMP, :F_APP_EVENT_MPOST; - if (:CUR_APP_EVENT_VID = 8795 /*Создание уведомления*/ ) then F_OPER := 1; - else - begin + if (:F_APP_EVENT_VID = 8795 /*Создание уведомления*/ ) then + F_OPER = 1; + else begin output = -2;/*Неизвестная операция*/ suspend; exit; end - 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; + 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; end - /*Получаем все события от начала до конца*/ - - 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 and E.APP_EVENT_DEL = 0 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 - - if (:F_APP_EVENT_VID = 8795) then - begin - NEW_ID_APP_NOTE = :F_APP_EVENT_ID_REC; - NEW_APP_NOTE_ID_SOTR = :F_APP_EVENT_ID_SOTR; - NEW_APP_NOTE_ID_APP_TASK = 0; - NEW_APP_NOTE_STATUS = 0; - NEW_APP_NOTE_TIP = F_APP_EVENT_TIP; - NEW_APP_NOTE_TEXT = F_APP_EVENT_TEXT; - NEW_APP_NOTE_DEL = F_APP_EVENT_DATA; - NEW_APP_NOTE_CR = F_APP_EVENT_CR; - NEW_APP_NOTE_WCR = F_APP_EVENT_WCR; - NEW_APP_NOTE_CH = F_APP_EVENT_CH; - NEW_APP_NOTE_WCH = F_APP_EVENT_WCH; - end; - - end; + 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 and + E.APP_EVENT_DEL = 0 + 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 -update or insert 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 ( -NEW_ID_APP_NOTE, -NEW_APP_NOTE_ID_SOTR, -NEW_APP_NOTE_ID_APP_TASK, -NEW_APP_NOTE_STATUS, -NEW_APP_NOTE_TIP, -NEW_APP_NOTE_TEXT, -NEW_APP_NOTE_DEL, -NEW_APP_NOTE_CR, -NEW_APP_NOTE_WCR, -NEW_APP_NOTE_CH, -NEW_APP_NOTE_WCH -) matching (ID_APP_NOTE) + if (:F_APP_EVENT_VID = 8795) then + begin + NEW_ID_APP_NOTE = :F_APP_EVENT_ID_REC; + NEW_APP_NOTE_ID_SOTR = :F_APP_EVENT_ID_SOTR; + NEW_APP_NOTE_ID_APP_TASK = 0; + NEW_APP_NOTE_STATUS = 0; + NEW_APP_NOTE_TIP = F_APP_EVENT_TIP; + NEW_APP_NOTE_TEXT = F_APP_EVENT_TEXT; + NEW_APP_NOTE_DEL = F_APP_EVENT_DATA; + NEW_APP_NOTE_CR = F_APP_EVENT_CR; + NEW_APP_NOTE_WCR = F_APP_EVENT_WCR; + NEW_APP_NOTE_CH = F_APP_EVENT_CH; + NEW_APP_NOTE_WCH = F_APP_EVENT_WCH; + end -end \ No newline at end of file + end + + update or 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 (:NEW_ID_APP_NOTE, :NEW_APP_NOTE_ID_SOTR, :NEW_APP_NOTE_ID_APP_TASK, :NEW_APP_NOTE_STATUS, :NEW_APP_NOTE_TIP, + :NEW_APP_NOTE_TEXT, :NEW_APP_NOTE_DEL, :NEW_APP_NOTE_CR, :NEW_APP_NOTE_WCR, :NEW_APP_NOTE_CH, :NEW_APP_NOTE_WCH) + matching (ID_APP_NOTE); + + end