84 lines
2.8 KiB
MySQL
84 lines
2.8 KiB
MySQL
|
|
|||
|
as
|
|||
|
declare variable F_RESULT D_PRIZNAK;
|
|||
|
declare variable F_PR_ERR D_INTEGER; --DECLARE VARIABLE FSEANS_STATUS TYPE OF D_INTEGER;
|
|||
|
|
|||
|
declare variable EXEC_BLOCK_32_7 type of column EXEC_BLOCKS.EXEC_BLOCKS_TEXT;
|
|||
|
declare variable EXEC_32_7_OUTPUT type of D_BIGINT;
|
|||
|
begin
|
|||
|
/*
|
|||
|
TIM130324 17:00
|
|||
|
*/
|
|||
|
|
|||
|
-- APP_EVENT_AIU_FOR_APP_TASK_10: ТРИГГЕР ОБРАБОТКИ ЗАПИСИ СОБЫТИЯ APP_EVENT
|
|||
|
-- (СОЗДАНИЕ, РЕДАКТИРОВАНИЕ, УДАЛЕНИЕ APP_TASK)
|
|||
|
|
|||
|
--0. ДЛЯ ПОЧТОВОГО СЕРВЕРА НИЧЕГО НЕ ДЕЛАЕМ
|
|||
|
if (exists(select 1
|
|||
|
from PARSRV A
|
|||
|
where A.PARSRV_VID = 1)) then
|
|||
|
exit;
|
|||
|
|
|||
|
-- IF (UPDATING AND (NEW.APP_EVENT_DEL = 1)
|
|||
|
-- AND (NEW.APP_EVENT_DEL IS DISTINCT FROM OLD.APP_EVENT_DEL)) THEN
|
|||
|
-- BEGIN
|
|||
|
-- UPDATE APP_TASK A
|
|||
|
-- SET A.APP_TASK_DEL = 1
|
|||
|
-- WHERE A.ID_APP_TASK = NEW.ID_APP_EVENT;
|
|||
|
-- EXIT;
|
|||
|
-- END
|
|||
|
--УТОЧНИТЬ, ДЛЯ КАКИХ APP_EVENT НЕ НУЖНО СОЗДАВАТЬ APP_TASK!!!
|
|||
|
if (inserting or
|
|||
|
-- (
|
|||
|
updating
|
|||
|
-- AND
|
|||
|
-- (
|
|||
|
-- (NEW.APP_EVENT_DT IS DISTINCT FROM OLD.APP_EVENT_DT)
|
|||
|
-- OR (NEW.APP_EVENT_TEXT IS DISTINCT FROM OLD.APP_EVENT_TEXT)
|
|||
|
-- OR (NEW.APP_EVENT_PARAM IS DISTINCT FROM OLD.APP_EVENT_PARAM)
|
|||
|
-- OR (NEW.APP_EVENT_DATA IS DISTINCT FROM OLD.APP_EVENT_DATA)
|
|||
|
-- OR (NEW.APP_EVENT_DEL IS DISTINCT FROM OLD.APP_EVENT_DEL)
|
|||
|
-- OR (NEW.APP_EVENT_CH IS DISTINCT FROM OLD.APP_EVENT_CH)
|
|||
|
-- /* УТОЧНИТЬ !!!
|
|||
|
-- OR (NEW.APP_EVENT_ID_SOTR IS DISTINCT FROM OLD.APP_EVENT_ID_SOTR)
|
|||
|
-- OR (NEW.APP_EVENT_ID_REC IS DISTINCT FROM OLD.APP_EVENT_ID_REC)
|
|||
|
-- OR (NEW.APP_EVENT_VID IS DISTINCT FROM OLD.APP_EVENT_VID)
|
|||
|
-- OR (NEW.APP_EVENT_TIP IS DISTINCT FROM OLD.APP_EVENT_TIP)
|
|||
|
-- */
|
|||
|
-- )
|
|||
|
-- )
|
|||
|
) then
|
|||
|
begin
|
|||
|
-- if (new.APP_EVENT_VID in (8676, 8677, 8678)) then
|
|||
|
-- begin
|
|||
|
|
|||
|
--ПЕРЕСЧЕТ ТС В APP_TASK
|
|||
|
select OUT_RESULT, OUT_PR_ERR
|
|||
|
from APP_TASK_WORK(new.ID_APP_EVENT) --ID_APP_EVENT
|
|||
|
into :F_RESULT, :F_PR_ERR;
|
|||
|
--ФОРМИРОВАНИЕ ЗАПИСЕЙ В APP_PARAM
|
|||
|
select OUT_RESULT, OUT_PR_ERR
|
|||
|
from APP_PARAM_WORK(new.ID_APP_EVENT) --ID_APP_EVENT
|
|||
|
into :F_RESULT, :F_PR_ERR;
|
|||
|
-- end
|
|||
|
--
|
|||
|
-- else
|
|||
|
-- if (new.APP_EVENT_VID in (8795, 8797)) then
|
|||
|
-- begin
|
|||
|
|
|||
|
select E.EXEC_BLOCKS_TEXT
|
|||
|
from EXEC_BLOCKS E
|
|||
|
where E.EXEC_BLOCKS_VID = 32 and
|
|||
|
E.EXEC_BLOCKS_TIP = 7 and
|
|||
|
E.EXEC_BLOCKS_DEL = 0 rows 1 to 1
|
|||
|
into :EXEC_BLOCK_32_7;
|
|||
|
|
|||
|
if (:EXEC_BLOCK_32_7 is not null) then
|
|||
|
begin
|
|||
|
|
|||
|
execute statement(:EXEC_BLOCK_32_7)(IN_ID_APP_EVENT := new.ID_APP_EVENT)
|
|||
|
into :EXEC_32_7_OUTPUT;
|
|||
|
end
|
|||
|
-- end
|
|||
|
end
|
|||
|
end
|