forked from CITKParus/P8-Panels
БД: Поддержка вызова панелей из разделов ("встроенное "действие P8PANELS_OPEN)
This commit is contained in:
parent
dfe0bed7c4
commit
75f05bfaae
22
db/P8PNL_SELECTLIST.sql
Normal file
22
db/P8PNL_SELECTLIST.sql
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
/*
|
||||||
|
Парус 8 - Панели мониторинга
|
||||||
|
Список отмеченных записей
|
||||||
|
*/
|
||||||
|
create table P8PNL_SELECTLIST
|
||||||
|
(
|
||||||
|
RN number(17) not null, -- Рег. номер записи
|
||||||
|
IDENT number(17) not null, -- Идентификатор процесса
|
||||||
|
AUTHID varchar2(30) not null, -- Пользователь
|
||||||
|
SESSION_ID varchar2(24) not null, -- Идентификатор сеанса
|
||||||
|
CONNECT_EXT varchar2(255) not null, -- Внешний идентификатор сеанса
|
||||||
|
COMPANY number(17) default null, -- Организация
|
||||||
|
DOCUMENT number(17) not null, -- Документ
|
||||||
|
UNITCODE varchar2(40) default null, -- Код раздела документа
|
||||||
|
ACTIONCODE varchar2(40) default null, -- Код действия документа
|
||||||
|
CRN number(17) default null, -- Каталог документа
|
||||||
|
DOCUMENT1 number(17) default null, -- Документ 1
|
||||||
|
UNITCODE1 varchar2(40) default null, -- Код раздела документа 1
|
||||||
|
ACTIONCODE1 varchar2(40) default null, -- Код действия документа 1
|
||||||
|
constraint C_P8PNL_SELECTLIST_PK primary key(RN),
|
||||||
|
constraint C_P8PNL_SELECTLIST_UK unique(IDENT, DOCUMENT, UNITCODE, DOCUMENT1, UNITCODE1)
|
||||||
|
);
|
@ -7,6 +7,18 @@ create or replace package PKG_P8PANELS as
|
|||||||
COUT out clob -- Результат
|
COUT out clob -- Результат
|
||||||
);
|
);
|
||||||
|
|
||||||
|
/* Инициализация буфера отмеченных записей для панели */
|
||||||
|
procedure SELECTLIST_INIT
|
||||||
|
(
|
||||||
|
NIDENT in number -- Идентификатор буфера отмеченных записей
|
||||||
|
);
|
||||||
|
|
||||||
|
/* Очистка буфера отмеченных записей для панели */
|
||||||
|
procedure SELECTLIST_CLEAR
|
||||||
|
(
|
||||||
|
NIDENT in number -- Идентификатор буфера отмеченных записей
|
||||||
|
);
|
||||||
|
|
||||||
end PKG_P8PANELS;
|
end PKG_P8PANELS;
|
||||||
/
|
/
|
||||||
create or replace package body PKG_P8PANELS as
|
create or replace package body PKG_P8PANELS as
|
||||||
@ -23,5 +35,27 @@ create or replace package body PKG_P8PANELS as
|
|||||||
PKG_P8PANELS_BASE.PROCESS(CIN => CIN, COUT => COUT);
|
PKG_P8PANELS_BASE.PROCESS(CIN => CIN, COUT => COUT);
|
||||||
end PROCESS;
|
end PROCESS;
|
||||||
|
|
||||||
|
/* Инициализация буфера отмеченных записей для панели */
|
||||||
|
procedure SELECTLIST_INIT
|
||||||
|
(
|
||||||
|
NIDENT in number -- Идентификатор буфера отмеченных записей
|
||||||
|
)
|
||||||
|
is
|
||||||
|
begin
|
||||||
|
/* Базовое исполнение действия */
|
||||||
|
PKG_P8PANELS_BASE.SELECTLIST_INIT(NIDENT => NIDENT);
|
||||||
|
end SELECTLIST_INIT;
|
||||||
|
|
||||||
|
/* Очистка буфера отмеченных записей для панели */
|
||||||
|
procedure SELECTLIST_CLEAR
|
||||||
|
(
|
||||||
|
NIDENT in number -- Идентификатор буфера отмеченных записей
|
||||||
|
)
|
||||||
|
is
|
||||||
|
begin
|
||||||
|
/* Базовое исполнение действия */
|
||||||
|
PKG_P8PANELS_BASE.SELECTLIST_CLEAR(NIDENT => NIDENT);
|
||||||
|
end SELECTLIST_CLEAR;
|
||||||
|
|
||||||
end PKG_P8PANELS;
|
end PKG_P8PANELS;
|
||||||
/
|
/
|
||||||
|
@ -22,6 +22,18 @@ create or replace package PKG_P8PANELS_BASE as
|
|||||||
COUT out clob -- Результат
|
COUT out clob -- Результат
|
||||||
);
|
);
|
||||||
|
|
||||||
|
/* Базовая инициализация буфера отмеченных записей для панели */
|
||||||
|
procedure SELECTLIST_INIT
|
||||||
|
(
|
||||||
|
NIDENT in number -- Идентификатор буфера отмеченных записей
|
||||||
|
);
|
||||||
|
|
||||||
|
/* Базовая очистка буфера отмеченных записей для панели */
|
||||||
|
procedure SELECTLIST_CLEAR
|
||||||
|
(
|
||||||
|
NIDENT in number -- Идентификатор буфера отмеченных записей
|
||||||
|
);
|
||||||
|
|
||||||
end PKG_P8PANELS_BASE;
|
end PKG_P8PANELS_BASE;
|
||||||
/
|
/
|
||||||
create or replace package body PKG_P8PANELS_BASE as
|
create or replace package body PKG_P8PANELS_BASE as
|
||||||
@ -813,5 +825,111 @@ create or replace package body PKG_P8PANELS_BASE as
|
|||||||
end case;
|
end case;
|
||||||
end PROCESS;
|
end PROCESS;
|
||||||
|
|
||||||
|
/* Базовое добавление в буфер отмеченных записей для панели */
|
||||||
|
procedure SELECTLIST_INSERT
|
||||||
|
(
|
||||||
|
NIDENT in number, -- Идентификатор процесса
|
||||||
|
SAUTHID in varchar2, -- Пользователь
|
||||||
|
SSESSION_ID in varchar2, -- Идентификатор сеанса
|
||||||
|
SCONNECT_EXT in varchar2, -- Внешний идентификатор сеанса
|
||||||
|
NCOMPANY in number := null, -- Организация
|
||||||
|
NDOCUMENT in number, -- Документ
|
||||||
|
SUNITCODE in varchar2 := null, -- Код раздела документа
|
||||||
|
SACTIONCODE in varchar2 := null, -- Код действия документа
|
||||||
|
NCRN in number := null, -- Каталог документа
|
||||||
|
NDOCUMENT1 in number := null, -- Документ 1
|
||||||
|
SUNITCODE1 in varchar2 := null, -- Код раздела документа 1
|
||||||
|
SACTIONCODE1 in varchar2 := null, -- Код действия документа 1
|
||||||
|
NRN out number -- Рег. номер добавленной записи
|
||||||
|
)
|
||||||
|
is
|
||||||
|
begin
|
||||||
|
/* Формируем рег. номер */
|
||||||
|
NRN := GEN_ID();
|
||||||
|
/* Добвляем запись */
|
||||||
|
insert into P8PNL_SELECTLIST
|
||||||
|
(RN,
|
||||||
|
IDENT,
|
||||||
|
authid,
|
||||||
|
SESSION_ID,
|
||||||
|
CONNECT_EXT,
|
||||||
|
COMPANY,
|
||||||
|
DOCUMENT,
|
||||||
|
UNITCODE,
|
||||||
|
ACTIONCODE,
|
||||||
|
CRN,
|
||||||
|
DOCUMENT1,
|
||||||
|
UNITCODE1,
|
||||||
|
ACTIONCODE1)
|
||||||
|
values
|
||||||
|
(NRN,
|
||||||
|
NIDENT,
|
||||||
|
SAUTHID,
|
||||||
|
SSESSION_ID,
|
||||||
|
SCONNECT_EXT,
|
||||||
|
NCOMPANY,
|
||||||
|
NDOCUMENT,
|
||||||
|
SUNITCODE,
|
||||||
|
SACTIONCODE,
|
||||||
|
NCRN,
|
||||||
|
NDOCUMENT1,
|
||||||
|
SUNITCODE1,
|
||||||
|
SACTIONCODE1);
|
||||||
|
end SELECTLIST_INSERT;
|
||||||
|
|
||||||
|
/* Удаление записи буфера отмеченных записей для панели */
|
||||||
|
procedure SELECTLIST_DELETE
|
||||||
|
(
|
||||||
|
NRN in number -- Рег. номер удаляемой записи
|
||||||
|
)
|
||||||
|
is
|
||||||
|
begin
|
||||||
|
delete from P8PNL_SELECTLIST T where T.RN = NRN;
|
||||||
|
end SELECTLIST_DELETE;
|
||||||
|
|
||||||
|
/* Базовая инициализация буфера отмеченных записей для панели */
|
||||||
|
procedure SELECTLIST_INIT
|
||||||
|
(
|
||||||
|
NIDENT in number -- Идентификатор буфера отмеченных записей
|
||||||
|
)
|
||||||
|
is
|
||||||
|
NRN PKG_STD.TREF; -- Рег. номер добавленной записи буфера панелей
|
||||||
|
begin
|
||||||
|
/* Очищаем буфер панелей */
|
||||||
|
SELECTLIST_CLEAR(NIDENT => NIDENT);
|
||||||
|
/* Обходим системный буфер отмеченных записей */
|
||||||
|
for C in (select T.* from SELECTLIST T where T.IDENT = NIDENT)
|
||||||
|
loop
|
||||||
|
/* Копируем запись */
|
||||||
|
SELECTLIST_INSERT(NIDENT => C.IDENT,
|
||||||
|
SAUTHID => C.AUTHID,
|
||||||
|
SSESSION_ID => C.SESSION_ID,
|
||||||
|
SCONNECT_EXT => C.CONNECT_EXT,
|
||||||
|
NCOMPANY => C.COMPANY,
|
||||||
|
NDOCUMENT => C.DOCUMENT,
|
||||||
|
SUNITCODE => C.UNITCODE,
|
||||||
|
SACTIONCODE => C.ACTIONCODE,
|
||||||
|
NCRN => C.CRN,
|
||||||
|
NDOCUMENT1 => C.DOCUMENT1,
|
||||||
|
SUNITCODE1 => C.UNITCODE1,
|
||||||
|
SACTIONCODE1 => C.ACTIONCODE1,
|
||||||
|
NRN => NRN);
|
||||||
|
end loop;
|
||||||
|
end SELECTLIST_INIT;
|
||||||
|
|
||||||
|
/* Базовая очистка буфера отмеченных записей для панели */
|
||||||
|
procedure SELECTLIST_CLEAR
|
||||||
|
(
|
||||||
|
NIDENT in number -- Идентификатор буфера отмеченных записей
|
||||||
|
)
|
||||||
|
is
|
||||||
|
begin
|
||||||
|
/* Обходим буфер панелей */
|
||||||
|
for C in (select T.RN from P8PNL_SELECTLIST T where T.IDENT = NIDENT)
|
||||||
|
loop
|
||||||
|
SELECTLIST_DELETE(NRN => C.RN);
|
||||||
|
end loop;
|
||||||
|
end SELECTLIST_CLEAR;
|
||||||
|
|
||||||
end PKG_P8PANELS_BASE;
|
end PKG_P8PANELS_BASE;
|
||||||
/
|
/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user