TCF-Framework-Integration/db/UDO_PKG_EQUIPDS_BASE.pck

461 lines
25 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

create or replace package UDO_PKG_EQUIPDS_BASE as
/* Базовое добавление "Выборки данных оборудования" */
procedure INS
(
NCOMPANY in number, -- Организация
SCODE in varchar2, -- Мнемокод
SNAME in varchar2, -- Наименование
NRN out number -- Регистрационный номер
);
/* Базовое исправление "Выборки данных оборудования" */
procedure UPD
(
NRN in number, -- Регистрационный номер
NCOMPANY in number, -- Организация
SCODE in varchar2, -- Мнемокод
SNAME in varchar2 -- Наименование
);
/* Базовое удаление "Выборки данных оборудования" */
procedure DEL
(
NRN in number, -- Регистрационный номер
NCOMPANY in number -- Организация
);
/* Разыменование словарей "Выборки данных оборудования (классы оборудования)" */
procedure CM_JOINS
(
NCOMPANY in number, -- Организация
SEQOBJKIND in varchar2, -- Класс оборудования
SUSERPROCS_DATA in varchar2, -- Процедура формирования
SEXSSERVICE_UPLOAD in varchar2, -- Сервис обмена для выгрузки данных
SEXSSERVICEFN_UPLOAD in varchar2, -- Функция обмена для выгрузки данных
SEXSSERVICE_SEND_MD in varchar2, -- Сервис обмена для передачи внешней системе
SEXSSERVICEFN_SEND_MD in varchar2, -- Функция обмена для передачи внешней системе
SEXSSERVICE_SEND_RQ in varchar2, -- Сервис обмена для обработки внешней системой
SEXSSERVICEFN_SEND_RQ in varchar2, -- Функция обмена для обработки внешней системой
NEQOBJKIND out number, -- Рег. номер класса оборудования
NUSERPROCS_DATA out number, -- Рег. номер процедуры формирования
NEXSSERVICEFN_UPLOAD out number, -- Рег. номер функции обмена для выгрузки данных
NEXSSERVICEFN_SEND_MD out number, -- Рег. номер Функции обмена для передачи внешней системе
NEXSSERVICEFN_SEND_RQ out number -- Рег. номер функции обмена для обработки внешней системой
);
/* Базовое добавление "Выборки данных оборудования (классы оборудования)" */
procedure CM_INS
(
NPRN in number, -- Родитель
NEQOBJKIND in number, -- Класс оборудования
NUSERPROCS_DATA in number, -- Процедура формирования
NEXSSERVICEFN_UPLOAD in number, -- Функция обмена для выгрузки данных
NEXSSERVICEFN_SEND_MD in number, -- Функция обмена для передачи внешней системе
NEXSSERVICEFN_SEND_RQ in number, -- Функция обмена для обработки внешней системой
NRN out number -- Регистрационный номер
);
/* Базовое исправление "Выборки данных оборудования (классы оборудования)" */
procedure CM_UPD
(
NRN in number, -- Регистрационный номер
NEQOBJKIND in number, -- Класс оборудования
NUSERPROCS_DATA in number, -- Процедура формирования
NEXSSERVICEFN_UPLOAD in number, -- Функция обмена для выгрузки данных
NEXSSERVICEFN_SEND_MD in number, -- Функция обмена для передачи внешней системе
NEXSSERVICEFN_SEND_RQ in number -- Функция обмена для обработки внешней системой
);
/* Базовое удаление "Выборки данных оборудования (классы оборудования)" */
procedure CM_DEL
(
NRN in number -- Регистрационный номер
);
/* Базовое добавление "Выборки данных оборудования (классы оборудования, файлы данных)" */
procedure CMFL_INS
(
NPRN in number, -- Родитель
SFILE_NAME in varchar2, -- Имя файла
SDESCR in varchar2, -- Описание
NRN out number -- Регистрационный номер
);
/* Базовое удаление "Выборки данных оборудования (классы оборудования, файлы данных)" */
procedure CMFL_DEL
(
NRN in number -- Регистрационный номер
);
/* Базовая установка имени файла "Выборки данных оборудования (классы оборудования, файлы данных)" */
procedure CMFL_SET_FILE_NAME
(
NRN in number, -- Регистрационный номер
SFILE_NAME in varchar2 -- Имя файла
);
/* Базовая установка состояния "Выборки данных оборудования (классы оборудования, файлы данных)" */
procedure CMFL_SET_STATUS
(
NRN in number, -- Регистрационный номер
NSTATUS in number, -- Состояние (0 - зарегистрирован, 1 - загружается на сервер, 2 - успешно загружен на сервер, 3 - ошибка загрузки на сервер, 4 - загружается во внешнюю систему, 5 - успешно загружен во внешнюю систему, 6 - при загрузке во внешнюю систему произошла ошибка)
SQUEUE_ID in varchar2, -- Идентификатор очереди обработки
SERR in varchar2 -- Сообщение об ошибке
);
/* Базовое добавление "Выборки данных оборудования (классы оборудования, модели)" */
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_UPD
(
NRN in number, -- Регистрационный номер
STASK in varchar2, -- Задача (TCF - оценка технического состояния (Technical Condition Forecast), RUL - прогнозирование остаточного ресурса (Remaining Useful Life), FP - Прогнозирование отказа (Failure Predict)) */
NPRECISION_P in number -- Точность (план)
);
/* Базовое удаление "Выборки данных оборудования (классы оборудования, модели)" */
procedure CMML_DEL
(
NRN in number -- Регистрационный номер
);
/* Базовая установка фактической точности "Выборки данных оборудования (классы оборудования, модели)" */
procedure CMML_SET_PRECISION_F
(
NRN in number, -- Регистрационный номер
NPRECISION_F in number -- Точность (факт)
);
/* Базовая установка состояния "Выборки данных оборудования (классы оборудования, модели)" */
procedure CMML_SET_STATUS
(
NRN in number, -- Регистрационный номер
NSTATUS in number, -- Состояние (0 - зарегистрирована, 1 - обрабатывается внешней системой, 2 - успешно обработана внешней системой, 3 - при обработке внешней системой произошла ошибка)
SQUEUE_ID in varchar2, -- Идентификатор очереди обработки
SERR in varchar2 -- Сообщение об ошибке
);
end UDO_PKG_EQUIPDS_BASE;
/
create or replace package body UDO_PKG_EQUIPDS_BASE as
/* Базовое добавление "Выборки данных оборудования" */
procedure INS
(
NCOMPANY in number, -- Организация
SCODE in varchar2, -- Мнемокод
SNAME in varchar2, -- Наименование
NRN out number -- Регистрационный номер
)
is
begin
/* Формируем рег. номер */
NRN := GEN_ID();
/* Добавляем запись */
insert into UDO_T_EQUIPDS (RN, COMPANY, CODE, name) values (NRN, NCOMPANY, SCODE, SNAME);
end INS;
/* Базовое исправление "Выборки данных оборудования" */
procedure UPD
(
NRN in number, -- Регистрационный номер
NCOMPANY in number, -- Организация
SCODE in varchar2, -- Мнемокод
SNAME in varchar2 -- Наименование
)
is
begin
/* Исправим данные */
update UDO_T_EQUIPDS T
set T.CODE = SCODE,
T.NAME = SNAME
where T.RN = NRN
and T.COMPANY = NCOMPANY;
end UPD;
/* Базовое удаление "Выборки данных оборудования" */
procedure DEL
(
NRN in number, -- Регистрационный номер
NCOMPANY in number -- Организация
)
is
begin
/* Удалим запись */
delete from UDO_T_EQUIPDS T
where T.RN = NRN
and T.COMPANY = NCOMPANY;
end DEL;
/* Разыменование словарей "Выборки данных оборудования (классы оборудования)" */
procedure CM_JOINS
(
NCOMPANY in number, -- Организация
SEQOBJKIND in varchar2, -- Класс оборудования
SUSERPROCS_DATA in varchar2, -- Процедура формирования
SEXSSERVICE_UPLOAD in varchar2, -- Сервис обмена для выгрузки данных
SEXSSERVICEFN_UPLOAD in varchar2, -- Функция обмена для выгрузки данных
SEXSSERVICE_SEND_MD in varchar2, -- Сервис обмена для передачи внешней системе
SEXSSERVICEFN_SEND_MD in varchar2, -- Функция обмена для передачи внешней системе
SEXSSERVICE_SEND_RQ in varchar2, -- Сервис обмена для обработки внешней системой
SEXSSERVICEFN_SEND_RQ in varchar2, -- Функция обмена для обработки внешней системой
NEQOBJKIND out number, -- Рег. номер класса оборудования
NUSERPROCS_DATA out number, -- Рег. номер процедуры формирования
NEXSSERVICEFN_UPLOAD out number, -- Рег. номер функции обмена для выгрузки данных
NEXSSERVICEFN_SEND_MD out number, -- Рег. номер Функции обмена для передачи внешней системе
NEXSSERVICEFN_SEND_RQ out number -- Рег. номер функции обмена для обработки внешней системой
)
is
NEXSSERVICE PKG_STD.TREF; -- Рег. номер сервиса обмена
begin
/* Класс оборудования */
FIND_EQOBJKIND_FULLCODE(NFLAG_SMART => 0,
NFLAG_OPTION => 0,
NCOMPANY => NCOMPANY,
SCODE => SEQOBJKIND,
NRN => NEQOBJKIND);
/* Процедура формирования */
if (SUSERPROCS_DATA is not null) then
FIND_USERPROCS_CODE(NFLAG_SMART => 0, SCODE => SUSERPROCS_DATA, NRN => NUSERPROCS_DATA);
else
P_EXCEPTION(0, 'Не указана процедура формирования данных выборки.');
end if;
/* Функция обмена для выгрузки данных */
FIND_EXSSERVICE_CODE(NFLAG_SMART => 0, NFLAG_OPTION => 0, SCODE => SEXSSERVICE_UPLOAD, NRN => NEXSSERVICE);
FIND_EXSSERVICEFN_CODE(NFLAG_SMART => 0,
NFLAG_OPTION => 0,
NEXSSERVICE => NEXSSERVICE,
SCODE => SEXSSERVICEFN_UPLOAD,
NRN => NEXSSERVICEFN_UPLOAD);
/* Функция обмена для передачи внешней системе */
FIND_EXSSERVICE_CODE(NFLAG_SMART => 0, NFLAG_OPTION => 0, SCODE => SEXSSERVICE_SEND_MD, NRN => NEXSSERVICE);
FIND_EXSSERVICEFN_CODE(NFLAG_SMART => 0,
NFLAG_OPTION => 0,
NEXSSERVICE => NEXSSERVICE,
SCODE => SEXSSERVICEFN_SEND_MD,
NRN => NEXSSERVICEFN_SEND_MD);
/* Функция обмена для обработки внешней системой */
FIND_EXSSERVICE_CODE(NFLAG_SMART => 0, NFLAG_OPTION => 0, SCODE => SEXSSERVICE_SEND_RQ, NRN => NEXSSERVICE);
FIND_EXSSERVICEFN_CODE(NFLAG_SMART => 0,
NFLAG_OPTION => 0,
NEXSSERVICE => NEXSSERVICE,
SCODE => SEXSSERVICEFN_SEND_RQ,
NRN => NEXSSERVICEFN_SEND_RQ);
end CM_JOINS;
/* Базовое добавление "Выборки данных оборудования (классы оборудования)" */
procedure CM_INS
(
NPRN in number, -- Родитель
NEQOBJKIND in number, -- Класс оборудования
NUSERPROCS_DATA in number, -- Процедура формирования
NEXSSERVICEFN_UPLOAD in number, -- Функция обмена для выгрузки данных
NEXSSERVICEFN_SEND_MD in number, -- Функция обмена для передачи внешней системе
NEXSSERVICEFN_SEND_RQ in number, -- Функция обмена для обработки внешней системой
NRN out number -- Регистрационный номер
)
is
begin
/* Формируем рег. номер */
NRN := GEN_ID();
/* Добавляем запись */
insert into UDO_T_EQUIPDSCM
(RN,
PRN,
EQOBJKIND,
DATA_CONFIG,
USERPROCS_DATA,
EXSSERVICEFN_UPLOAD,
EXSSERVICEFN_SEND_MD,
EXSSERVICEFN_SEND_RQ)
values
(NRN,
NPRN,
NEQOBJKIND,
null,
NUSERPROCS_DATA,
NEXSSERVICEFN_UPLOAD,
NEXSSERVICEFN_SEND_MD,
NEXSSERVICEFN_SEND_RQ);
end CM_INS;
/* Базовое исправление "Выборки данных оборудования (классы оборудования)" */
procedure CM_UPD
(
NRN in number, -- Регистрационный номер
NEQOBJKIND in number, -- Класс оборудования
NUSERPROCS_DATA in number, -- Процедура формирования
NEXSSERVICEFN_UPLOAD in number, -- Функция обмена для выгрузки данных
NEXSSERVICEFN_SEND_MD in number, -- Функция обмена для передачи внешней системе
NEXSSERVICEFN_SEND_RQ in number -- Функция обмена для обработки внешней системой
)
is
begin
/* Исправим данные */
update UDO_T_EQUIPDSCM T
set T.EQOBJKIND = NEQOBJKIND,
T.USERPROCS_DATA = NUSERPROCS_DATA,
T.EXSSERVICEFN_UPLOAD = NEXSSERVICEFN_UPLOAD,
T.EXSSERVICEFN_SEND_MD = NEXSSERVICEFN_SEND_MD,
T.EXSSERVICEFN_SEND_RQ = NEXSSERVICEFN_SEND_RQ
where T.RN = NRN;
end CM_UPD;
/* Базовое удаление "Выборки данных оборудования (классы оборудования)" */
procedure CM_DEL
(
NRN in number -- Регистрационный номер
)
is
begin
/* Удалим запись */
delete from UDO_T_EQUIPDSCM T where T.RN = NRN;
end CM_DEL;
/* Базовое добавление "Выборки данных оборудования (классы оборудования, файлы данных)" */
procedure CMFL_INS
(
NPRN in number, -- Родитель
SFILE_NAME in varchar2, -- Имя файла
SDESCR in varchar2, -- Описание
NRN out number -- Регистрационный номер
)
is
begin
/* Формируем рег. номер */
NRN := GEN_ID();
/* Добавляем запись */
insert into UDO_T_EQUIPDSCMFL
(RN, PRN, FILE_NAME, DESCR, QUEUE_ID, STATUS, ERR)
values
(NRN, NPRN, SFILE_NAME, SDESCR, null, 0, null);
end CMFL_INS;
/* Базовое удаление "Выборки данных оборудования (классы оборудования, файлы данных)" */
procedure CMFL_DEL
(
NRN in number -- Регистрационный номер
)
is
begin
/* Удалим запись */
delete from UDO_T_EQUIPDSCMFL T where T.RN = NRN;
end CMFL_DEL;
/* Базовая установка имени файла "Выборки данных оборудования (классы оборудования, файлы данных)" */
procedure CMFL_SET_FILE_NAME
(
NRN in number, -- Регистрационный номер
SFILE_NAME in varchar2 -- Имя файла
)
is
begin
/* Установим имя файла */
update UDO_T_EQUIPDSCMFL T set T.FILE_NAME = SFILE_NAME where T.RN = NRN;
end CMFL_SET_FILE_NAME;
/* Базовая установка состояния "Выборки данных оборудования (классы оборудования, файлы данных)" */
procedure CMFL_SET_STATUS
(
NRN in number, -- Регистрационный номер
NSTATUS in number, -- Состояние (0 - зарегистрирован, 1 - загружается на сервер, 2 - успешно загружен на сервер, 3 - ошибка загрузки на сервер, 4 - загружается во внешнюю систему, 5 - успешно загружен во внешнюю систему, 6 - при загрузке во внешнюю систему произошла ошибка)
SQUEUE_ID in varchar2, -- Идентификатор очереди обработки
SERR in varchar2 -- Сообщение об ошибке
)
is
begin
/* Установим состояние и сопутствующие ему атрибуты */
update UDO_T_EQUIPDSCMFL T
set T.STATUS = NSTATUS,
T.QUEUE_ID = SQUEUE_ID,
T.ERR = SERR
where T.RN = NRN;
end CMFL_SET_STATUS;
/* Базовое добавление "Выборки данных оборудования (классы оборудования, модели)" */
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
/* Формируем рег. номер */
NRN := GEN_ID();
/* Добавляем запись */
insert into UDO_T_EQUIPDSCMML
(RN, PRN, TASK, PRECISION_P, PRECISION_F, QUEUE_ID, STATUS, ERR)
values
(NRN, NPRN, STASK, NPRECISION_P, null, null, 0, null);
end CMML_INS;
/* Базовое исправление "Выборки данных оборудования (классы оборудования, модели)" */
procedure CMML_UPD
(
NRN in number, -- Регистрационный номер
STASK in varchar2, -- Задача (TCF - оценка технического состояния (Technical Condition Forecast), RUL - прогнозирование остаточного ресурса (Remaining Useful Life), FP - Прогнозирование отказа (Failure Predict)) */
NPRECISION_P in number -- Точность (план)
)
is
begin
/* Исправим данные */
update UDO_T_EQUIPDSCMML T
set T.TASK = STASK,
T.PRECISION_P = NPRECISION_P
where T.RN = NRN;
end CMML_UPD;
/* Базовое удаление "Выборки данных оборудования (классы оборудования, модели)" */
procedure CMML_DEL
(
NRN in number -- Регистрационный номер
)
is
begin
/* Удалим запись */
delete from UDO_T_EQUIPDSCMML T where T.RN = NRN;
end CMML_DEL;
/* Базовая установка фактической точности "Выборки данных оборудования (классы оборудования, модели)" */
procedure CMML_SET_PRECISION_F
(
NRN in number, -- Регистрационный номер
NPRECISION_F in number -- Точность (факт)
)
is
begin
/* Установим фактическую точность */
update UDO_T_EQUIPDSCMML T set T.PRECISION_F = NPRECISION_F where T.RN = NRN;
end CMML_SET_PRECISION_F;
/* Базовая установка состояния "Выборки данных оборудования (классы оборудования, модели)" */
procedure CMML_SET_STATUS
(
NRN in number, -- Регистрационный номер
NSTATUS in number, -- Состояние (0 - зарегистрирована, 1 - обрабатывается внешней системой, 2 - успешно обработана внешней системой, 3 - при обработке внешней системой произошла ошибка)
SQUEUE_ID in varchar2, -- Идентификатор очереди обработки
SERR in varchar2 -- Сообщение об ошибке
)
is
begin
/* Установим состояние и сопутствующие ему атрибуты */
update UDO_T_EQUIPDSCMML T
set T.STATUS = NSTATUS,
T.QUEUE_ID = SQUEUE_ID,
T.ERR = SERR
where T.RN = NRN;
end CMML_SET_STATUS;
end UDO_PKG_EQUIPDS_BASE;
/