Клиентские процедуры выгрузки, передачи на сервер и отправки внешней системе файлов данных выборки
Доработка процедуры формирования карточки класса оборудования выборки данных
This commit is contained in:
parent
4cb0775dc9
commit
acd2b6978e
@ -1,6 +1,6 @@
|
|||||||
create or replace package UDO_PKG_EQUIPDS as
|
create or replace package UDO_PKG_EQUIPDS as
|
||||||
|
|
||||||
/* Список выборок данных */
|
/* Список "Выборки данных оборудования" */
|
||||||
procedure LIST
|
procedure LIST
|
||||||
(
|
(
|
||||||
COUT out clob -- Сериализованная таблица данных
|
COUT out clob -- Сериализованная таблица данных
|
||||||
@ -17,10 +17,17 @@ create or replace package UDO_PKG_EQUIPDS as
|
|||||||
/* Клиентское удаление "Выборки данных оборудования" */
|
/* Клиентское удаление "Выборки данных оборудования" */
|
||||||
procedure DEL
|
procedure DEL
|
||||||
(
|
(
|
||||||
NRN in number -- Регистрационный номер
|
NRN in number -- Регистрационный номер
|
||||||
);
|
);
|
||||||
|
|
||||||
/* Список классов оборудования выборки данных */
|
/* Карточка "Выборки данных оборудования (классы оборудования)" */
|
||||||
|
procedure CM_CARD
|
||||||
|
(
|
||||||
|
NEQUIPDSCM in number, -- Рег. номер класса оборудования выборки данных
|
||||||
|
COUT out clob -- Сериализованная карточка
|
||||||
|
);
|
||||||
|
|
||||||
|
/* Список "Выборки данных оборудования (классы оборудования)" */
|
||||||
procedure CM_LIST
|
procedure CM_LIST
|
||||||
(
|
(
|
||||||
NEQUIPDS in number, -- Рег. номер выборки данных
|
NEQUIPDS in number, -- Рег. номер выборки данных
|
||||||
@ -48,20 +55,53 @@ create or replace package UDO_PKG_EQUIPDS as
|
|||||||
NRN in number -- Регистрационный номер
|
NRN in number -- Регистрационный номер
|
||||||
);
|
);
|
||||||
|
|
||||||
/* Список файлов данных класса оборудования */
|
/* Список "Выборки данных оборудования (классы оборудования, файлы данных)" */
|
||||||
procedure CMFL_LIST
|
procedure CMFL_LIST
|
||||||
(
|
(
|
||||||
NEQUIPDSCM in number, -- Рег. номер класса оборудования выборки данных
|
NEQUIPDSCM in number, -- Рег. номер класса оборудования выборки данных
|
||||||
COUT out clob -- Сериализованная таблица данных
|
COUT out clob -- Сериализованная таблица данных
|
||||||
);
|
);
|
||||||
|
|
||||||
/* Список моделей класса оборудования */
|
/* Загрузка на сервер "Выборки данных оборудования (классы оборудования, файлы данных)" */
|
||||||
|
procedure CMFL_UPLOAD
|
||||||
|
(
|
||||||
|
NEQUIPDSCM in number -- Рег. номер класса оборудования выборки данных
|
||||||
|
);
|
||||||
|
|
||||||
|
/* Передача внешней системе "Выборки данных оборудования (классы оборудования, файлы данных)" */
|
||||||
|
procedure CMFL_SEND_MD
|
||||||
|
(
|
||||||
|
NEQUIPDSCM in number -- Рег. номер класса оборудования выборки данных
|
||||||
|
);
|
||||||
|
|
||||||
|
/* Список "Выборки данных оборудования (классы оборудования, модели)" */
|
||||||
procedure CMML_LIST
|
procedure CMML_LIST
|
||||||
(
|
(
|
||||||
NEQUIPDSCM in number, -- Рег. номер класса оборудования выборки данных
|
NEQUIPDSCM in number, -- Рег. номер класса оборудования выборки данных
|
||||||
COUT out clob -- Сериализованная таблица данных
|
COUT out clob -- Сериализованная таблица данных
|
||||||
);
|
);
|
||||||
|
|
||||||
|
/* Клиентское добавление "Выборки данных оборудования (классы оборудования, модели)" */
|
||||||
|
procedure CMML_INS
|
||||||
|
(
|
||||||
|
NPRN in number, -- Родитель
|
||||||
|
STASK in varchar2, -- Задача (TCF - оценка технического состояния (Technical Condition Forecast), RUL - прогнозирование остаточного ресурса (Remaining Useful Life), FP - Прогнозирование отказа (Failure Predict))
|
||||||
|
NPRECISION_P in number, -- Точность (план)
|
||||||
|
NRN out number -- Регистрационный номер
|
||||||
|
);
|
||||||
|
|
||||||
|
/* Клиентское удаление "Выборки данных оборудования (классы оборудования, модели)" */
|
||||||
|
procedure CMML_DEL
|
||||||
|
(
|
||||||
|
NRN in number -- Регистрационный номер
|
||||||
|
);
|
||||||
|
|
||||||
|
/* Обработка внешней системой "Выборки данных оборудования (классы оборудования, модели)" */
|
||||||
|
procedure CMML_SEND_RQ
|
||||||
|
(
|
||||||
|
NEQUIPDSCMML in number -- Рег. номер модели класса оборудования выборки данных
|
||||||
|
);
|
||||||
|
|
||||||
/* Код доступного действия с моделью по единице оборудования */
|
/* Код доступного действия с моделью по единице оборудования */
|
||||||
function CMML_ACT_BY_EQCONFIG
|
function CMML_ACT_BY_EQCONFIG
|
||||||
(
|
(
|
||||||
@ -83,7 +123,7 @@ TODO: owner="root" created="06.08.2024"
|
|||||||
text="Проверка прав доступа на работу с ""Выборками данных"""
|
text="Проверка прав доступа на работу с ""Выборками данных"""
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Список выборок данных */
|
/* Список "Выборки данных оборудования" */
|
||||||
procedure LIST
|
procedure LIST
|
||||||
(
|
(
|
||||||
COUT out clob -- Сериализованная таблица данных
|
COUT out clob -- Сериализованная таблица данных
|
||||||
@ -150,11 +190,86 @@ text="Проверка прав доступа на работу с ""Выбор
|
|||||||
is
|
is
|
||||||
NCOMPANY PKG_STD.TREF := GET_SESSION_COMPANY(); -- Организация
|
NCOMPANY PKG_STD.TREF := GET_SESSION_COMPANY(); -- Организация
|
||||||
begin
|
begin
|
||||||
/* Добавляем запись */
|
/* Удаляем запись */
|
||||||
UDO_PKG_EQUIPDS_BASE.DEL(NRN => NRN, NCOMPANY => NCOMPANY);
|
UDO_PKG_EQUIPDS_BASE.DEL(NRN => NRN, NCOMPANY => NCOMPANY);
|
||||||
end DEL;
|
end DEL;
|
||||||
|
|
||||||
/* Список классов оборудования выборки данных */
|
/* Карточка "Выборки данных оборудования (классы оборудования)" */
|
||||||
|
procedure CM_CARD
|
||||||
|
(
|
||||||
|
NEQUIPDSCM in number, -- Рег. номер класса оборудования выборки данных
|
||||||
|
COUT out clob -- Сериализованная карточка
|
||||||
|
)
|
||||||
|
is
|
||||||
|
NCUR integer; -- Курсор документа для результата
|
||||||
|
XDOC PKG_XMAKE.TNODE; -- Документ для результата
|
||||||
|
XEQUIPDSCM PKG_XMAKE.TNODE; -- Элемент для карточки
|
||||||
|
begin
|
||||||
|
/* Открываем документ */
|
||||||
|
NCUR := PKG_XMAKE.OPEN_CURSOR();
|
||||||
|
/* Обращаемся к данным класса оборудования */
|
||||||
|
for C in (select T.RN NRN,
|
||||||
|
OK.NAME SNAME,
|
||||||
|
UP.CODE SUSERPROCS_DATA,
|
||||||
|
SU.CODE || '/' || SFU.CODE SEXSSERVICE_UPLOAD,
|
||||||
|
SMD.CODE || '/' || SFMD.CODE SEXSSERVICE_SEND_MD,
|
||||||
|
SRQ.CODE || '/' || SFRQ.CODE SEXSSERVICE_SEND_RQ
|
||||||
|
from UDO_T_EQUIPDSCM T,
|
||||||
|
EQOBJKIND OK,
|
||||||
|
USERPROCS UP,
|
||||||
|
EXSSERVICE SU,
|
||||||
|
EXSSERVICEFN SFU,
|
||||||
|
EXSSERVICE SMD,
|
||||||
|
EXSSERVICEFN SFMD,
|
||||||
|
EXSSERVICE SRQ,
|
||||||
|
EXSSERVICEFN SFRQ
|
||||||
|
where T.RN = NEQUIPDSCM
|
||||||
|
and T.EQOBJKIND = OK.RN
|
||||||
|
and T.USERPROCS_DATA = UP.RN
|
||||||
|
and T.EXSSERVICEFN_UPLOAD = SFU.RN
|
||||||
|
and SFU.PRN = SU.RN
|
||||||
|
and T.EXSSERVICEFN_SEND_MD = SFMD.RN
|
||||||
|
and SFMD.PRN = SMD.RN
|
||||||
|
and T.EXSSERVICEFN_SEND_RQ = SFRQ.RN
|
||||||
|
and SFRQ.PRN = SRQ.RN)
|
||||||
|
loop
|
||||||
|
/* Собираем карточку класса оборудования */
|
||||||
|
XEQUIPDSCM := PKG_XMAKE.ELEMENT(ICURSOR => NCUR,
|
||||||
|
SNAME => 'XEQUIPDSCM',
|
||||||
|
RATTRIBUTES => PKG_XMAKE.ATTRIBUTES(ICURSOR => NCUR,
|
||||||
|
RATTRIBUTE00 => PKG_XMAKE.ATTRIBUTE(ICURSOR => NCUR,
|
||||||
|
SNAME => 'NRN',
|
||||||
|
SVALUE => C.NRN),
|
||||||
|
RATTRIBUTE01 => PKG_XMAKE.ATTRIBUTE(ICURSOR => NCUR,
|
||||||
|
SNAME => 'SNAME',
|
||||||
|
SVALUE => C.SNAME),
|
||||||
|
RATTRIBUTE02 => PKG_XMAKE.ATTRIBUTE(ICURSOR => NCUR,
|
||||||
|
SNAME => 'SUSERPROCS_DATA',
|
||||||
|
SVALUE => C.SUSERPROCS_DATA),
|
||||||
|
RATTRIBUTE03 => PKG_XMAKE.ATTRIBUTE(ICURSOR => NCUR,
|
||||||
|
SNAME => 'SEXSSERVICE_UPLOAD',
|
||||||
|
SVALUE => C.SEXSSERVICE_UPLOAD),
|
||||||
|
RATTRIBUTE04 => PKG_XMAKE.ATTRIBUTE(ICURSOR => NCUR,
|
||||||
|
SNAME => 'SEXSSERVICE_SEND_MD',
|
||||||
|
SVALUE => C.SEXSSERVICE_SEND_MD),
|
||||||
|
RATTRIBUTE05 => PKG_XMAKE.ATTRIBUTE(ICURSOR => NCUR,
|
||||||
|
SNAME => 'SEXSSERVICE_SEND_RQ',
|
||||||
|
SVALUE => C.SEXSSERVICE_SEND_RQ)));
|
||||||
|
end loop;
|
||||||
|
/* Формируем XML-представление ответа */
|
||||||
|
XDOC := PKG_XMAKE.ELEMENT(ICURSOR => NCUR, SNAME => 'XDATA', RNODE00 => XEQUIPDSCM);
|
||||||
|
/* Конвертируем в CLOB */
|
||||||
|
COUT := PKG_XMAKE.SERIALIZE_TO_CLOB(ICURSOR => NCUR,
|
||||||
|
ITYPE => PKG_XMAKE.CONTENT_,
|
||||||
|
RNODE => XDOC,
|
||||||
|
RHEADER => PKG_XHEADER.WRAP_ALL(SVERSION => PKG_XHEADER.VERSION_1_0_,
|
||||||
|
SENCODING => PKG_XHEADER.ENCODING_UTF_,
|
||||||
|
SSTANDALONE => PKG_XHEADER.STANDALONE_YES_));
|
||||||
|
/* Закрываем документ */
|
||||||
|
PKG_XMAKE.CLOSE_CURSOR(ICURSOR => NCUR);
|
||||||
|
end CM_CARD;
|
||||||
|
|
||||||
|
/* Список "Выборки данных оборудования (классы оборудования)" */
|
||||||
procedure CM_LIST
|
procedure CM_LIST
|
||||||
(
|
(
|
||||||
NEQUIPDS in number, -- Рег. номер выборки данных
|
NEQUIPDS in number, -- Рег. номер выборки данных
|
||||||
@ -259,11 +374,11 @@ text="Проверка прав доступа на работу с ""Выбор
|
|||||||
)
|
)
|
||||||
is
|
is
|
||||||
begin
|
begin
|
||||||
/* Добавляем запись */
|
/* Удаляем запись */
|
||||||
UDO_PKG_EQUIPDS_BASE.CM_DEL(NRN => NRN);
|
UDO_PKG_EQUIPDS_BASE.CM_DEL(NRN => NRN);
|
||||||
end CM_DEL;
|
end CM_DEL;
|
||||||
|
|
||||||
/* Список файлов данных класса оборудования */
|
/* Список "Выборки данных оборудования (классы оборудования, файлы данных)" */
|
||||||
procedure CMFL_LIST
|
procedure CMFL_LIST
|
||||||
(
|
(
|
||||||
NEQUIPDSCM in number, -- Рег. номер класса оборудования выборки данных
|
NEQUIPDSCM in number, -- Рег. номер класса оборудования выборки данных
|
||||||
@ -321,7 +436,43 @@ text="Проверка прав доступа на работу с ""Выбор
|
|||||||
COUT := PKG_P8PANELS_VISUAL.TDATA_GRID_TO_XML(RDATA_GRID => RDG, NINCLUDE_DEF => 1);
|
COUT := PKG_P8PANELS_VISUAL.TDATA_GRID_TO_XML(RDATA_GRID => RDG, NINCLUDE_DEF => 1);
|
||||||
end CMFL_LIST;
|
end CMFL_LIST;
|
||||||
|
|
||||||
/* Список моделей класса оборудования */
|
/* Загрузка на сервер "Выборки данных оборудования (классы оборудования, файлы данных)" */
|
||||||
|
procedure CMFL_UPLOAD
|
||||||
|
(
|
||||||
|
NEQUIPDSCM in number -- Рег. номер класса оборудования выборки данных
|
||||||
|
)
|
||||||
|
is
|
||||||
|
begin
|
||||||
|
/*
|
||||||
|
TODO: owner="root" created="07.08.2024"
|
||||||
|
text="Реализовать проверку возможности выполнения действия и установки статусов"
|
||||||
|
*/
|
||||||
|
/* Выставим состояние файлам данных класса оборудования */
|
||||||
|
for C in (select T.RN NRN from UDO_T_EQUIPDSCMFL T where T.PRN = NEQUIPDSCM)
|
||||||
|
loop
|
||||||
|
UDO_PKG_EQUIPDS_BASE.CMFL_SET_STATUS(NRN => C.NRN, NSTATUS => 2, SQUEUE_ID => C.NRN, SERR => null);
|
||||||
|
end loop;
|
||||||
|
end CMFL_UPLOAD;
|
||||||
|
|
||||||
|
/* Передача внешней системе "Выборки данных оборудования (классы оборудования, файлы данных)" */
|
||||||
|
procedure CMFL_SEND_MD
|
||||||
|
(
|
||||||
|
NEQUIPDSCM in number -- Рег. номер класса оборудования выборки данных
|
||||||
|
)
|
||||||
|
is
|
||||||
|
begin
|
||||||
|
/*
|
||||||
|
TODO: owner="root" created="07.08.2024"
|
||||||
|
text="Реализовать проверку возможности выполнения действия и установки статусов"
|
||||||
|
*/
|
||||||
|
/* Выставим состояние файлам данных класса оборудования */
|
||||||
|
for C in (select T.RN NRN from UDO_T_EQUIPDSCMFL T where T.PRN = NEQUIPDSCM)
|
||||||
|
loop
|
||||||
|
UDO_PKG_EQUIPDS_BASE.CMFL_SET_STATUS(NRN => C.NRN, NSTATUS => 5, SQUEUE_ID => C.NRN, SERR => null);
|
||||||
|
end loop;
|
||||||
|
end CMFL_SEND_MD;
|
||||||
|
|
||||||
|
/* Список "Выборки данных оборудования (классы оборудования, модели)" */
|
||||||
procedure CMML_LIST
|
procedure CMML_LIST
|
||||||
(
|
(
|
||||||
NEQUIPDSCM in number, -- Рег. номер класса оборудования выборки данных
|
NEQUIPDSCM in number, -- Рег. номер класса оборудования выборки данных
|
||||||
@ -385,6 +536,55 @@ text="Проверка прав доступа на работу с ""Выбор
|
|||||||
COUT := PKG_P8PANELS_VISUAL.TDATA_GRID_TO_XML(RDATA_GRID => RDG, NINCLUDE_DEF => 1);
|
COUT := PKG_P8PANELS_VISUAL.TDATA_GRID_TO_XML(RDATA_GRID => RDG, NINCLUDE_DEF => 1);
|
||||||
end CMML_LIST;
|
end CMML_LIST;
|
||||||
|
|
||||||
|
/* Клиентское добавление "Выборки данных оборудования (классы оборудования, модели)" */
|
||||||
|
procedure CMML_INS
|
||||||
|
(
|
||||||
|
NPRN in number, -- Родитель
|
||||||
|
STASK in varchar2, -- Задача (TCF - оценка технического состояния (Technical Condition Forecast), RUL - прогнозирование остаточного ресурса (Remaining Useful Life), FP - Прогнозирование отказа (Failure Predict))
|
||||||
|
NPRECISION_P in number, -- Точность (план)
|
||||||
|
NRN out number -- Регистрационный номер
|
||||||
|
)
|
||||||
|
is
|
||||||
|
begin
|
||||||
|
/* Добавляем запись */
|
||||||
|
UDO_PKG_EQUIPDS_BASE.CMML_INS(NPRN => NPRN, STASK => STASK, NPRECISION_P => NPRECISION_P, NRN => NRN);
|
||||||
|
end CMML_INS;
|
||||||
|
|
||||||
|
/* Клиентское удаление "Выборки данных оборудования (классы оборудования, модели)" */
|
||||||
|
procedure CMML_DEL
|
||||||
|
(
|
||||||
|
NRN in number -- Регистрационный номер
|
||||||
|
)
|
||||||
|
is
|
||||||
|
begin
|
||||||
|
/* Удаляем запись */
|
||||||
|
UDO_PKG_EQUIPDS_BASE.CMML_DEL(NRN => NRN);
|
||||||
|
end CMML_DEL;
|
||||||
|
|
||||||
|
/* Обработка внешней системой "Выборки данных оборудования (классы оборудования, модели)" */
|
||||||
|
procedure CMML_SEND_RQ
|
||||||
|
(
|
||||||
|
NEQUIPDSCMML in number -- Рег. номер модели класса оборудования выборки данных
|
||||||
|
)
|
||||||
|
is
|
||||||
|
begin
|
||||||
|
/*
|
||||||
|
TODO: owner="root" created="07.08.2024"
|
||||||
|
text="Реализовать проверку возможности выполнения действия и установки статусов"
|
||||||
|
*/
|
||||||
|
/* Обратимся к модели */
|
||||||
|
for C in (select T.RN NRN,
|
||||||
|
T.PRECISION_P NPRECISION_P
|
||||||
|
from UDO_T_EQUIPDSCMML T
|
||||||
|
where T.RN = NEQUIPDSCMML)
|
||||||
|
loop
|
||||||
|
/* Установим фактическую точность */
|
||||||
|
UDO_PKG_EQUIPDS_BASE.CMML_SET_PRECISION_F(NRN => C.NRN, NPRECISION_F => C.NPRECISION_P);
|
||||||
|
/* Установим состояние модели */
|
||||||
|
UDO_PKG_EQUIPDS_BASE.CMML_SET_STATUS(NRN => C.NRN, NSTATUS => 2, SQUEUE_ID => C.NRN, SERR => null);
|
||||||
|
end loop;
|
||||||
|
end CMML_SEND_RQ;
|
||||||
|
|
||||||
/* Код доступного действия с моделью по единице оборудования */
|
/* Код доступного действия с моделью по единице оборудования */
|
||||||
function CMML_ACT_BY_EQCONFIG
|
function CMML_ACT_BY_EQCONFIG
|
||||||
(
|
(
|
||||||
|
@ -20,6 +20,7 @@ create table UDO_T_EQUIPDSCM
|
|||||||
/* Ключи */
|
/* Ключи */
|
||||||
constraint UDO_C_EQUIPDSCM_RN_PK primary key (RN),
|
constraint UDO_C_EQUIPDSCM_RN_PK primary key (RN),
|
||||||
constraint UDO_C_EQUIPDSCM_PRN_FK foreign key (PRN) references UDO_T_EQUIPDS(RN),
|
constraint UDO_C_EQUIPDSCM_PRN_FK foreign key (PRN) references UDO_T_EQUIPDS(RN),
|
||||||
|
constraint UDO_C_EQUIPDSCM_EQOBJKIND_FK foreign key (EQOBJKIND) references EQOBJKIND(RN),
|
||||||
constraint UDO_C_EQUIPDSCM_USRPD_FK foreign key (USERPROCS_DATA) references USERPROCS(RN),
|
constraint UDO_C_EQUIPDSCM_USRPD_FK foreign key (USERPROCS_DATA) references USERPROCS(RN),
|
||||||
constraint UDO_C_EQUIPDSCM_EXSFNUPLD_FK foreign key (EXSSERVICEFN_UPLOAD) references EXSSERVICEFN(RN),
|
constraint UDO_C_EQUIPDSCM_EXSFNUPLD_FK foreign key (EXSSERVICEFN_UPLOAD) references EXSSERVICEFN(RN),
|
||||||
constraint UDO_C_EQUIPDSCM_EXSFNSDMD_FK foreign key (EXSSERVICEFN_SEND_MD) references EXSSERVICEFN(RN),
|
constraint UDO_C_EQUIPDSCM_EXSFNSDMD_FK foreign key (EXSSERVICEFN_SEND_MD) references EXSSERVICEFN(RN),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user