Клиентские процедуры выгрузки, передачи на сервер и отправки внешней системе файлов данных выборки
Доработка процедуры формирования карточки класса оборудования выборки данных
This commit is contained in:
parent
4cb0775dc9
commit
acd2b6978e
@ -1,6 +1,6 @@
|
||||
create or replace package UDO_PKG_EQUIPDS as
|
||||
|
||||
/* Список выборок данных */
|
||||
/* Список "Выборки данных оборудования" */
|
||||
procedure LIST
|
||||
(
|
||||
COUT out clob -- Сериализованная таблица данных
|
||||
@ -20,7 +20,14 @@ create or replace package UDO_PKG_EQUIPDS as
|
||||
NRN in number -- Регистрационный номер
|
||||
);
|
||||
|
||||
/* Список классов оборудования выборки данных */
|
||||
/* Карточка "Выборки данных оборудования (классы оборудования)" */
|
||||
procedure CM_CARD
|
||||
(
|
||||
NEQUIPDSCM in number, -- Рег. номер класса оборудования выборки данных
|
||||
COUT out clob -- Сериализованная карточка
|
||||
);
|
||||
|
||||
/* Список "Выборки данных оборудования (классы оборудования)" */
|
||||
procedure CM_LIST
|
||||
(
|
||||
NEQUIPDS in number, -- Рег. номер выборки данных
|
||||
@ -48,20 +55,53 @@ create or replace package UDO_PKG_EQUIPDS as
|
||||
NRN in number -- Регистрационный номер
|
||||
);
|
||||
|
||||
/* Список файлов данных класса оборудования */
|
||||
/* Список "Выборки данных оборудования (классы оборудования, файлы данных)" */
|
||||
procedure CMFL_LIST
|
||||
(
|
||||
NEQUIPDSCM in number, -- Рег. номер класса оборудования выборки данных
|
||||
COUT out clob -- Сериализованная таблица данных
|
||||
);
|
||||
|
||||
/* Список моделей класса оборудования */
|
||||
/* Загрузка на сервер "Выборки данных оборудования (классы оборудования, файлы данных)" */
|
||||
procedure CMFL_UPLOAD
|
||||
(
|
||||
NEQUIPDSCM in number -- Рег. номер класса оборудования выборки данных
|
||||
);
|
||||
|
||||
/* Передача внешней системе "Выборки данных оборудования (классы оборудования, файлы данных)" */
|
||||
procedure CMFL_SEND_MD
|
||||
(
|
||||
NEQUIPDSCM in number -- Рег. номер класса оборудования выборки данных
|
||||
);
|
||||
|
||||
/* Список "Выборки данных оборудования (классы оборудования, модели)" */
|
||||
procedure CMML_LIST
|
||||
(
|
||||
NEQUIPDSCM in number, -- Рег. номер класса оборудования выборки данных
|
||||
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
|
||||
(
|
||||
@ -83,7 +123,7 @@ TODO: owner="root" created="06.08.2024"
|
||||
text="Проверка прав доступа на работу с ""Выборками данных"""
|
||||
*/
|
||||
|
||||
/* Список выборок данных */
|
||||
/* Список "Выборки данных оборудования" */
|
||||
procedure LIST
|
||||
(
|
||||
COUT out clob -- Сериализованная таблица данных
|
||||
@ -150,11 +190,86 @@ text="Проверка прав доступа на работу с ""Выбор
|
||||
is
|
||||
NCOMPANY PKG_STD.TREF := GET_SESSION_COMPANY(); -- Организация
|
||||
begin
|
||||
/* Добавляем запись */
|
||||
/* Удаляем запись */
|
||||
UDO_PKG_EQUIPDS_BASE.DEL(NRN => NRN, NCOMPANY => NCOMPANY);
|
||||
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
|
||||
(
|
||||
NEQUIPDS in number, -- Рег. номер выборки данных
|
||||
@ -259,11 +374,11 @@ text="Проверка прав доступа на работу с ""Выбор
|
||||
)
|
||||
is
|
||||
begin
|
||||
/* Добавляем запись */
|
||||
/* Удаляем запись */
|
||||
UDO_PKG_EQUIPDS_BASE.CM_DEL(NRN => NRN);
|
||||
end CM_DEL;
|
||||
|
||||
/* Список файлов данных класса оборудования */
|
||||
/* Список "Выборки данных оборудования (классы оборудования, файлы данных)" */
|
||||
procedure CMFL_LIST
|
||||
(
|
||||
NEQUIPDSCM in number, -- Рег. номер класса оборудования выборки данных
|
||||
@ -321,7 +436,43 @@ text="Проверка прав доступа на работу с ""Выбор
|
||||
COUT := PKG_P8PANELS_VISUAL.TDATA_GRID_TO_XML(RDATA_GRID => RDG, NINCLUDE_DEF => 1);
|
||||
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
|
||||
(
|
||||
NEQUIPDSCM in number, -- Рег. номер класса оборудования выборки данных
|
||||
@ -385,6 +536,55 @@ text="Проверка прав доступа на работу с ""Выбор
|
||||
COUT := PKG_P8PANELS_VISUAL.TDATA_GRID_TO_XML(RDATA_GRID => RDG, NINCLUDE_DEF => 1);
|
||||
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
|
||||
(
|
||||
|
@ -20,6 +20,7 @@ create table UDO_T_EQUIPDSCM
|
||||
/* Ключи */
|
||||
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_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_EXSFNUPLD_FK foreign key (EXSSERVICEFN_UPLOAD) 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