Новый атрибут "Функция обмена для публикации данных наработки оборудования при получении прогноза" для "Выборки данных оборудования (классы оборудования)"

This commit is contained in:
Mikhail Chechnev 2025-04-02 02:04:46 +03:00
parent a895096dea
commit e622dc24b7
8 changed files with 414 additions and 226 deletions

View File

@ -37,6 +37,8 @@ create or replace package UDO_PKG_EQUIPDS as
SEXSSERVICEFN_SEND_RQ in varchar2, -- Функция обмена для обработки внешней системой
SEXSSERVICE_SEND_RQCB in varchar2, -- Сервис обмена для приёма Call-back запросов с результатами обработки внешней системой
SEXSSERVICEFN_SEND_RQCB in varchar2, -- Функция сервиса обмена для приёма Call-back запросов с результатами обработки внешней системой
SEXSSERVICE_FRCST_MD in varchar2, -- Сервис обмена для публикации данных наработки оборудования при получении прогноза
SEXSSERVICEFN_FRCST_MD in varchar2, -- Функция обмена для публикации данных наработки оборудования при получении прогноза
NEQUIPDS out number, -- Регистрационный номер выборки данных оборудования
NEQUIPDSCM out number -- Регистрационный номер класса оборудования выборки данных
);
@ -72,6 +74,8 @@ create or replace package UDO_PKG_EQUIPDS as
SEXSSERVICEFN_SEND_RQ in varchar2, -- Функция обмена для обработки внешней системой
SEXSSERVICE_SEND_RQCB in varchar2, -- Сервис обмена для приёма Call-back запросов с результатами обработки внешней системой
SEXSSERVICEFN_SEND_RQCB in varchar2, -- Функция сервиса обмена для приёма Call-back запросов с результатами обработки внешней системой
SEXSSERVICE_FRCST_MD in varchar2, -- Сервис обмена для публикации данных наработки оборудования при получении прогноза
SEXSSERVICEFN_FRCST_MD in varchar2, -- Функция обмена для публикации данных наработки оборудования при получении прогноза
NRN out number -- Регистрационный номер
);
@ -91,7 +95,9 @@ create or replace package UDO_PKG_EQUIPDS as
SEXSSERVICE_SEND_RQ in varchar2, -- Сервис обмена для обработки внешней системой
SEXSSERVICEFN_SEND_RQ in varchar2, -- Функция обмена для обработки внешней системой
SEXSSERVICE_SEND_RQCB in varchar2, -- Сервис обмена для приёма Call-back запросов с результатами обработки внешней системой
SEXSSERVICEFN_SEND_RQCB in varchar2 -- Функция сервиса обмена для приёма Call-back запросов с результатами обработки внешней системой
SEXSSERVICEFN_SEND_RQCB in varchar2, -- Функция сервиса обмена для приёма Call-back запросов с результатами обработки внешней системой
SEXSSERVICE_FRCST_MD in varchar2, -- Сервис обмена для публикации данных наработки оборудования при получении прогноза
SEXSSERVICEFN_FRCST_MD in varchar2 -- Функция обмена для публикации данных наработки оборудования при получении прогноза
);
/* Клиентское удаление "Выборки данных оборудования (классы оборудования)" */
@ -325,6 +331,8 @@ create or replace package body UDO_PKG_EQUIPDS as
SEXSSERVICEFN_SEND_RQ in varchar2, -- Функция обмена для обработки внешней системой
SEXSSERVICE_SEND_RQCB in varchar2, -- Сервис обмена для приёма Call-back запросов с результатами обработки внешней системой
SEXSSERVICEFN_SEND_RQCB in varchar2, -- Функция сервиса обмена для приёма Call-back запросов с результатами обработки внешней системой
SEXSSERVICE_FRCST_MD in varchar2, -- Сервис обмена для публикации данных наработки оборудования при получении прогноза
SEXSSERVICEFN_FRCST_MD in varchar2, -- Функция обмена для публикации данных наработки оборудования при получении прогноза
NEQUIPDS out number, -- Регистрационный номер выборки данных оборудования
NEQUIPDSCM out number -- Регистрационный номер класса оборудования выборки данных
)
@ -363,6 +371,10 @@ create or replace package body UDO_PKG_EQUIPDS as
P_EXCEPTION(0,
'Не указана функция обмена для приёма обратной связи об обработке внешней системой.');
end if;
if ((SEXSSERVICE_FRCST_MD is null) or (SEXSSERVICEFN_FRCST_MD is null)) then
P_EXCEPTION(0,
'Не указана функция обмена для публикации данных наработки оборудования при получении прогноза.');
end if;
/* Проверим права доступа */
UDO_PKG_EQUIPDS_BASE.UTL_ACCESS(STABLE => 'UDO_T_EQUIPDS', SACTION => 'UDO_EQUIPDS_MAKE');
/* Проверим наличие такой выборки */
@ -395,6 +407,8 @@ create or replace package body UDO_PKG_EQUIPDS as
SEXSSERVICEFN_SEND_RQ => SEXSSERVICEFN_SEND_RQ,
SEXSSERVICE_SEND_RQCB => SEXSSERVICE_SEND_RQCB,
SEXSSERVICEFN_SEND_RQCB => SEXSSERVICEFN_SEND_RQCB,
SEXSSERVICE_FRCST_MD => SEXSSERVICE_FRCST_MD,
SEXSSERVICEFN_FRCST_MD => SEXSSERVICEFN_FRCST_MD,
NRN => NEQUIPDSCM);
end if;
end MAKE;
@ -429,7 +443,9 @@ create or replace package body UDO_PKG_EQUIPDS as
SRQ.CODE SEXSSERVICE_SEND_RQ,
SFRQ.CODE SEXSSERVICEFN_SEND_RQ,
SRQCB.CODE SEXSSERVICE_SEND_RQCB,
SFRQCB.CODE SEXSSERVICEFN_SEND_RQCB
SFRQCB.CODE SEXSSERVICEFN_SEND_RQCB,
SFCMD.CODE SEXSSERVICE_FRCST_MD,
SFFCMD.CODE SEXSSERVICEFN_FRCST_MD
from UDO_T_EQUIPDSCM T,
EQOBJKIND OK,
USERPROCS UP,
@ -443,6 +459,8 @@ create or replace package body UDO_PKG_EQUIPDS as
EXSSERVICEFN SFRQ,
EXSSERVICE SRQCB,
EXSSERVICEFN SFRQCB,
EXSSERVICE SFCMD,
EXSSERVICEFN SFFCMD,
DICMUNTS DM
where T.RN = NEQUIPDSCM
and T.EQOBJKIND = OK.RN
@ -457,6 +475,8 @@ create or replace package body UDO_PKG_EQUIPDS as
and SFRQ.PRN = SRQ.RN
and T.EXSSERVICEFN_SEND_RQCB = SFRQCB.RN
and SFRQCB.PRN = SRQCB.RN
and T.EXSSERVICEFN_FRCST_MD = SFFCMD.RN
and SFFCMD.PRN = SFCMD.RN
and T.DICMUNTS = DM.RN)
loop
/* Собираем карточку класса оборудования */
@ -507,7 +527,13 @@ create or replace package body UDO_PKG_EQUIPDS as
SVALUE => C.SEXSSERVICE_SEND_RQCB),
RATTRIBUTE14 => PKG_XMAKE.ATTRIBUTE(ICURSOR => NCUR,
SNAME => 'SEXSSERVICEFN_SEND_RQCB',
SVALUE => C.SEXSSERVICEFN_SEND_RQCB)));
SVALUE => C.SEXSSERVICEFN_SEND_RQCB),
RATTRIBUTE15 => PKG_XMAKE.ATTRIBUTE(ICURSOR => NCUR,
SNAME => 'SEXSSERVICE_FRCST_MD',
SVALUE => C.SEXSSERVICE_FRCST_MD),
RATTRIBUTE16 => PKG_XMAKE.ATTRIBUTE(ICURSOR => NCUR,
SNAME => 'SEXSSERVICEFN_FRCST_MD',
SVALUE => C.SEXSSERVICEFN_FRCST_MD)));
end loop;
/* Формируем XML-представление ответа */
XDOC := PKG_XMAKE.ELEMENT(ICURSOR => NCUR, SNAME => 'XDATA', RNODE00 => XEQUIPDSCM);
@ -622,6 +648,8 @@ create or replace package body UDO_PKG_EQUIPDS as
SEXSSERVICEFN_SEND_RQ in varchar2, -- Функция обмена для обработки внешней системой
SEXSSERVICE_SEND_RQCB in varchar2, -- Сервис обмена для приёма Call-back запросов с результатами обработки внешней системой
SEXSSERVICEFN_SEND_RQCB in varchar2, -- Функция сервиса обмена для приёма Call-back запросов с результатами обработки внешней системой
SEXSSERVICE_FRCST_MD in varchar2, -- Сервис обмена для публикации данных наработки оборудования при получении прогноза
SEXSSERVICEFN_FRCST_MD in varchar2, -- Функция обмена для публикации данных наработки оборудования при получении прогноза
NRN out number -- Регистрационный номер
)
is
@ -634,6 +662,7 @@ create or replace package body UDO_PKG_EQUIPDS as
NEXSSERVICEFN_SEND_MDCB PKG_STD.TREF; -- Рег. номер call-back функции обмена для передачи внешней системе
NEXSSERVICEFN_SEND_RQ PKG_STD.TREF; -- Рег. номер функции обмена для обработки внешней системой
NEXSSERVICEFN_SEND_RQCB PKG_STD.TREF; -- Рег. номер call-back функции обмена для обработки внешней системой
NEXSSERVICEFN_FRCST_MD PKG_STD.TREF; -- Рег. номер функции обмена для публикации данных наработки оборудования при получении прогноза
begin
/* Проверим параметры */
if (NPRN is null) then
@ -667,6 +696,10 @@ create or replace package body UDO_PKG_EQUIPDS as
P_EXCEPTION(0,
'Не указана функция обмена для приёма обратной связи об обработке внешней системой.');
end if;
if ((SEXSSERVICE_FRCST_MD is null) or (SEXSSERVICEFN_FRCST_MD is null)) then
P_EXCEPTION(0,
'Не указана функция обмена для публикации данных наработки оборудования при получении прогноза.');
end if;
/* Проверим права доступа */
UDO_PKG_EQUIPDS_BASE.UTL_ACCESS(STABLE => 'UDO_T_EQUIPDSCM', SACTION => 'UDO_EQUIPDSCM_INSERT');
/* Разыменуем ссылки */
@ -684,6 +717,8 @@ create or replace package body UDO_PKG_EQUIPDS as
SEXSSERVICEFN_SEND_RQ => SEXSSERVICEFN_SEND_RQ,
SEXSSERVICE_SEND_RQCB => SEXSSERVICE_SEND_RQCB,
SEXSSERVICEFN_SEND_RQCB => SEXSSERVICEFN_SEND_RQCB,
SEXSSERVICE_FRCST_MD => SEXSSERVICE_FRCST_MD,
SEXSSERVICEFN_FRCST_MD => SEXSSERVICEFN_FRCST_MD,
NEQOBJKIND => NEQOBJKIND,
NDICMUNTS => NDICMUNTS,
NUSERPROCS_DATA => NUSERPROCS_DATA,
@ -691,7 +726,8 @@ create or replace package body UDO_PKG_EQUIPDS as
NEXSSERVICEFN_SEND_MD => NEXSSERVICEFN_SEND_MD,
NEXSSERVICEFN_SEND_MDCB => NEXSSERVICEFN_SEND_MDCB,
NEXSSERVICEFN_SEND_RQ => NEXSSERVICEFN_SEND_RQ,
NEXSSERVICEFN_SEND_RQCB => NEXSSERVICEFN_SEND_RQCB);
NEXSSERVICEFN_SEND_RQCB => NEXSSERVICEFN_SEND_RQCB,
NEXSSERVICEFN_FRCST_MD => NEXSSERVICEFN_FRCST_MD);
/* Добавляем запись */
UDO_PKG_EQUIPDS_BASE.CM_INS(NPRN => NPRN,
NEQOBJKIND => NEQOBJKIND,
@ -702,6 +738,7 @@ create or replace package body UDO_PKG_EQUIPDS as
NEXSSERVICEFN_SEND_MDCB => NEXSSERVICEFN_SEND_MDCB,
NEXSSERVICEFN_SEND_RQ => NEXSSERVICEFN_SEND_RQ,
NEXSSERVICEFN_SEND_RQCB => NEXSSERVICEFN_SEND_RQCB,
NEXSSERVICEFN_FRCST_MD => NEXSSERVICEFN_FRCST_MD,
NRN => NRN);
end CM_INS;
@ -721,7 +758,9 @@ create or replace package body UDO_PKG_EQUIPDS as
SEXSSERVICE_SEND_RQ in varchar2, -- Сервис обмена для обработки внешней системой
SEXSSERVICEFN_SEND_RQ in varchar2, -- Функция обмена для обработки внешней системой
SEXSSERVICE_SEND_RQCB in varchar2, -- Сервис обмена для приёма Call-back запросов с результатами обработки внешней системой
SEXSSERVICEFN_SEND_RQCB in varchar2 -- Функция сервиса обмена для приёма Call-back запросов с результатами обработки внешней системой
SEXSSERVICEFN_SEND_RQCB in varchar2, -- Функция сервиса обмена для приёма Call-back запросов с результатами обработки внешней системой
SEXSSERVICE_FRCST_MD in varchar2, -- Сервис обмена для публикации данных наработки оборудования при получении прогноза
SEXSSERVICEFN_FRCST_MD in varchar2 -- Функция обмена для публикации данных наработки оборудования при получении прогноза
)
is
NCOMPANY PKG_STD.TREF := GET_SESSION_COMPANY(); -- Организация
@ -733,6 +772,7 @@ create or replace package body UDO_PKG_EQUIPDS as
NEXSSERVICEFN_SEND_MDCB PKG_STD.TREF; -- Рег. номер call-back функции обмена для передачи внешней системе
NEXSSERVICEFN_SEND_RQ PKG_STD.TREF; -- Рег. номер функции обмена для обработки внешней системой
NEXSSERVICEFN_SEND_RQCB PKG_STD.TREF; -- Рег. номер call-back функции обмена для обработки внешней системой
NEXSSERVICEFN_FRCST_MD PKG_STD.TREF; -- Рег. номер функции обмена для публикации данных наработки оборудования при получении прогноза
begin
/* Проверим параметры */
if (NRN is null) then
@ -766,6 +806,10 @@ create or replace package body UDO_PKG_EQUIPDS as
P_EXCEPTION(0,
'Не указана функция обмена для приёма обратной связи об обработке внешней системой.');
end if;
if ((SEXSSERVICE_FRCST_MD is null) or (SEXSSERVICEFN_FRCST_MD is null)) then
P_EXCEPTION(0,
'Не указана функция обмена для публикации данных наработки оборудования при получении прогноза.');
end if;
/* Проверим права доступа */
UDO_PKG_EQUIPDS_BASE.UTL_ACCESS(STABLE => 'UDO_T_EQUIPDSCM', SACTION => 'UDO_EQUIPDSCM_UPDATE');
/* Разыменуем ссылки */
@ -783,6 +827,8 @@ create or replace package body UDO_PKG_EQUIPDS as
SEXSSERVICEFN_SEND_RQ => SEXSSERVICEFN_SEND_RQ,
SEXSSERVICE_SEND_RQCB => SEXSSERVICE_SEND_RQCB,
SEXSSERVICEFN_SEND_RQCB => SEXSSERVICEFN_SEND_RQCB,
SEXSSERVICE_FRCST_MD => SEXSSERVICE_FRCST_MD,
SEXSSERVICEFN_FRCST_MD => SEXSSERVICEFN_FRCST_MD,
NEQOBJKIND => NEQOBJKIND,
NDICMUNTS => NDICMUNTS,
NUSERPROCS_DATA => NUSERPROCS_DATA,
@ -790,7 +836,8 @@ create or replace package body UDO_PKG_EQUIPDS as
NEXSSERVICEFN_SEND_MD => NEXSSERVICEFN_SEND_MD,
NEXSSERVICEFN_SEND_MDCB => NEXSSERVICEFN_SEND_MDCB,
NEXSSERVICEFN_SEND_RQ => NEXSSERVICEFN_SEND_RQ,
NEXSSERVICEFN_SEND_RQCB => NEXSSERVICEFN_SEND_RQCB);
NEXSSERVICEFN_SEND_RQCB => NEXSSERVICEFN_SEND_RQCB,
NEXSSERVICEFN_FRCST_MD => NEXSSERVICEFN_FRCST_MD);
/* Исправляем запись */
UDO_PKG_EQUIPDS_BASE.CM_UPD(NRN => NRN,
NEQOBJKIND => NEQOBJKIND,
@ -800,7 +847,8 @@ create or replace package body UDO_PKG_EQUIPDS as
NEXSSERVICEFN_SEND_MD => NEXSSERVICEFN_SEND_MD,
NEXSSERVICEFN_SEND_MDCB => NEXSSERVICEFN_SEND_MDCB,
NEXSSERVICEFN_SEND_RQ => NEXSSERVICEFN_SEND_RQ,
NEXSSERVICEFN_SEND_RQCB => NEXSSERVICEFN_SEND_RQCB);
NEXSSERVICEFN_SEND_RQCB => NEXSSERVICEFN_SEND_RQCB,
NEXSSERVICEFN_FRCST_MD => NEXSSERVICEFN_FRCST_MD);
end CM_UPD;
/* Клиентское удаление "Выборки данных оборудования (классы оборудования)" */
@ -1318,8 +1366,8 @@ create or replace package body UDO_PKG_EQUIPDS as
where CM.EQOBJKIND = (select CF.OBJ_KIND from EQCONFIG CF where CF.RN = NEQCONFIG)
and CM.RN = ML.PRN)
loop
/* Модель есть */
if (NRES < UDO_PKG_EQUIPDS_BASE.NCMML_STATUS_PROCESSED) then
/* Модель есть, но пока не видели обученных */
if (NRES < 2) then
NRES := 1;
end if;
/* Если она уже обучена */

View File

@ -117,7 +117,9 @@ create or replace package UDO_PKG_EQUIPDS_BASE as
SEXSSERVICE_SEND_RQ in varchar2, -- Сервис обмена для обработки внешней системой
SEXSSERVICEFN_SEND_RQ in varchar2, -- Функция обмена для обработки внешней системой
SEXSSERVICE_SEND_RQCB in varchar2, -- Сервис обмена для приёма Call-back запросов с результатами обработки внешней системой
SEXSSERVICEFN_SEND_RQCB in varchar2, -- Функция сервиса обмена для приёма Call-back запросов с результатами обработки внешней системой
SEXSSERVICEFN_SEND_RQCB in varchar2, -- Функция обмена для приёма Call-back запросов с результатами обработки внешней системой
SEXSSERVICE_FRCST_MD in varchar2, -- Сервис обмена для публикации данных наработки оборудования при получении прогноза
SEXSSERVICEFN_FRCST_MD in varchar2, -- Функция обмена для публикации данных наработки оборудования при получении прогноза
NEQOBJKIND out number, -- Рег. номер класса оборудования
NDICMUNTS out number, -- Рег. номер единицы измерения выборки
NUSERPROCS_DATA out number, -- Рег. номер процедуры формирования
@ -125,7 +127,8 @@ create or replace package UDO_PKG_EQUIPDS_BASE as
NEXSSERVICEFN_SEND_MD out number, -- Рег. номер Функции обмена для передачи внешней системе
NEXSSERVICEFN_SEND_MDCB out number, -- Рег. номер call-back функции обмена для передачи внешней системе
NEXSSERVICEFN_SEND_RQ out number, -- Рег. номер функции обмена для обработки внешней системой
NEXSSERVICEFN_SEND_RQCB out number -- Рег. номер call-back функции обмена для обработки внешней системой
NEXSSERVICEFN_SEND_RQCB out number, -- Рег. номер call-back функции обмена для обработки внешней системой
NEXSSERVICEFN_FRCST_MD out number -- Рег. номер функции обмена для публикации данных наработки оборудования при получении прогноза
);
/* Базовое добавление "Выборки данных оборудования (классы оборудования)" */
@ -140,6 +143,7 @@ create or replace package UDO_PKG_EQUIPDS_BASE as
NEXSSERVICEFN_SEND_MDCB in number, -- Call-back функции обмена для передачи внешней системе
NEXSSERVICEFN_SEND_RQ in number, -- Функция обмена для обработки внешней системой
NEXSSERVICEFN_SEND_RQCB in number, -- Call-back функции обмена для обработки внешней системой
NEXSSERVICEFN_FRCST_MD in number, -- Функция обмена для публикации данных наработки оборудования при получении прогноза
NRN out number -- Регистрационный номер
);
@ -154,7 +158,8 @@ create or replace package UDO_PKG_EQUIPDS_BASE as
NEXSSERVICEFN_SEND_MD in number, -- Функция обмена для передачи внешней системе
NEXSSERVICEFN_SEND_MDCB in number, -- Call-back функции обмена для передачи внешней системе
NEXSSERVICEFN_SEND_RQ in number, -- Функция обмена для обработки внешней системой
NEXSSERVICEFN_SEND_RQCB in number -- Call-back функции обмена для обработки внешней системой
NEXSSERVICEFN_SEND_RQCB in number, -- Call-back функции обмена для обработки внешней системой
NEXSSERVICEFN_FRCST_MD in number -- Функция обмена для публикации данных наработки оборудования при получении прогноза
);
/* Базовое удаление "Выборки данных оборудования (классы оборудования)" */
@ -549,7 +554,9 @@ create or replace package body UDO_PKG_EQUIPDS_BASE as
SEXSSERVICE_SEND_RQ in varchar2, -- Сервис обмена для обработки внешней системой
SEXSSERVICEFN_SEND_RQ in varchar2, -- Функция обмена для обработки внешней системой
SEXSSERVICE_SEND_RQCB in varchar2, -- Сервис обмена для приёма Call-back запросов с результатами обработки внешней системой
SEXSSERVICEFN_SEND_RQCB in varchar2, -- Функция сервиса обмена для приёма Call-back запросов с результатами обработки внешней системой
SEXSSERVICEFN_SEND_RQCB in varchar2, -- Функция обмена для приёма Call-back запросов с результатами обработки внешней системой
SEXSSERVICE_FRCST_MD in varchar2, -- Сервис обмена для публикации данных наработки оборудования при получении прогноза
SEXSSERVICEFN_FRCST_MD in varchar2, -- Функция обмена для публикации данных наработки оборудования при получении прогноза
NEQOBJKIND out number, -- Рег. номер класса оборудования
NDICMUNTS out number, -- Рег. номер единицы измерения выборки
NUSERPROCS_DATA out number, -- Рег. номер процедуры формирования
@ -557,7 +564,8 @@ create or replace package body UDO_PKG_EQUIPDS_BASE as
NEXSSERVICEFN_SEND_MD out number, -- Рег. номер Функции обмена для передачи внешней системе
NEXSSERVICEFN_SEND_MDCB out number, -- Рег. номер call-back функции обмена для передачи внешней системе
NEXSSERVICEFN_SEND_RQ out number, -- Рег. номер функции обмена для обработки внешней системой
NEXSSERVICEFN_SEND_RQCB out number -- Рег. номер call-back функции обмена для обработки внешней системой
NEXSSERVICEFN_SEND_RQCB out number, -- Рег. номер call-back функции обмена для обработки внешней системой
NEXSSERVICEFN_FRCST_MD out number -- Рег. номер функции обмена для публикации данных наработки оборудования при получении прогноза
)
is
NEXSSERVICE PKG_STD.TREF; -- Рег. номер сервиса обмена
@ -615,6 +623,13 @@ create or replace package body UDO_PKG_EQUIPDS_BASE as
NEXSSERVICE => NEXSSERVICE,
SCODE => SEXSSERVICEFN_SEND_RQCB,
NRN => NEXSSERVICEFN_SEND_RQCB);
/* Функция обмена для публикации данных наработки оборудования при получении прогноза */
FIND_EXSSERVICE_CODE(NFLAG_SMART => 0, NFLAG_OPTION => 0, SCODE => SEXSSERVICE_FRCST_MD, NRN => NEXSSERVICE);
FIND_EXSSERVICEFN_CODE(NFLAG_SMART => 0,
NFLAG_OPTION => 0,
NEXSSERVICE => NEXSSERVICE,
SCODE => SEXSSERVICEFN_FRCST_MD,
NRN => NEXSSERVICEFN_FRCST_MD);
end CM_JOINS;
/* Базовые проверки целостности и корректности "Выборки данных оборудования (классы оборудования)" */
@ -675,6 +690,10 @@ create or replace package body UDO_PKG_EQUIPDS_BASE as
P_EXCEPTION(0,
'Функция обмена для обратной связи об обработке внешней системой должна иметь тип "Приём сообщений".');
end if;
if (EXSSERVICE_TYPE(NEXSSERVICEFN => RREC.EXSSERVICEFN_FRCST_MD) <> PKG_EXS.NSRV_TYPE_RECIVE) then
P_EXCEPTION(0,
'Функция обмена для публикации данных наработки оборудования при получении прогноза должна иметь тип "Приём сообщений".');
end if;
end EXSSERVICE_TYPE_CHECK;
begin
/* Работаем от режима */
@ -727,6 +746,7 @@ create or replace package body UDO_PKG_EQUIPDS_BASE as
NEXSSERVICEFN_SEND_MDCB in number, -- Call-back функции обмена для передачи внешней системе
NEXSSERVICEFN_SEND_RQ in number, -- Функция обмена для обработки внешней системой
NEXSSERVICEFN_SEND_RQCB in number, -- Call-back функции обмена для обработки внешней системой
NEXSSERVICEFN_FRCST_MD in number, -- Функция обмена для публикации данных наработки оборудования при получении прогноза
NRN out number -- Регистрационный номер
)
is
@ -742,6 +762,7 @@ create or replace package body UDO_PKG_EQUIPDS_BASE as
RREC.EXSSERVICEFN_SEND_MDCB := NEXSSERVICEFN_SEND_MDCB;
RREC.EXSSERVICEFN_SEND_RQ := NEXSSERVICEFN_SEND_RQ;
RREC.EXSSERVICEFN_SEND_RQCB := NEXSSERVICEFN_SEND_RQCB;
RREC.EXSSERVICEFN_FRCST_MD := NEXSSERVICEFN_FRCST_MD;
/* Проверим возможность исполнения */
CM_CHECK(SMODE => 'I', RREC => RREC);
/* Формируем рег. номер */
@ -758,7 +779,8 @@ create or replace package body UDO_PKG_EQUIPDS_BASE as
EXSSERVICEFN_SEND_MD,
EXSSERVICEFN_SEND_MDCB,
EXSSERVICEFN_SEND_RQ,
EXSSERVICEFN_SEND_RQCB)
EXSSERVICEFN_SEND_RQCB,
EXSSERVICEFN_FRCST_MD)
values
(NRN,
NPRN,
@ -770,7 +792,8 @@ create or replace package body UDO_PKG_EQUIPDS_BASE as
NEXSSERVICEFN_SEND_MD,
NEXSSERVICEFN_SEND_MDCB,
NEXSSERVICEFN_SEND_RQ,
NEXSSERVICEFN_SEND_RQCB);
NEXSSERVICEFN_SEND_RQCB,
NEXSSERVICEFN_FRCST_MD);
end CM_INS;
/* Базовое исправление "Выборки данных оборудования (классы оборудования)" */
@ -784,7 +807,8 @@ create or replace package body UDO_PKG_EQUIPDS_BASE as
NEXSSERVICEFN_SEND_MD in number, -- Функция обмена для передачи внешней системе
NEXSSERVICEFN_SEND_MDCB in number, -- Call-back функции обмена для передачи внешней системе
NEXSSERVICEFN_SEND_RQ in number, -- Функция обмена для обработки внешней системой
NEXSSERVICEFN_SEND_RQCB in number -- Call-back функции обмена для обработки внешней системой
NEXSSERVICEFN_SEND_RQCB in number, -- Call-back функции обмена для обработки внешней системой
NEXSSERVICEFN_FRCST_MD in number -- Функция обмена для публикации данных наработки оборудования при получении прогноза
)
is
RREC UDO_T_EQUIPDSCM%rowtype; -- Запись с новыми значениями для проверки
@ -799,6 +823,7 @@ create or replace package body UDO_PKG_EQUIPDS_BASE as
RREC.EXSSERVICEFN_SEND_MDCB := NEXSSERVICEFN_SEND_MDCB;
RREC.EXSSERVICEFN_SEND_RQ := NEXSSERVICEFN_SEND_RQ;
RREC.EXSSERVICEFN_SEND_RQCB := NEXSSERVICEFN_SEND_RQCB;
RREC.EXSSERVICEFN_FRCST_MD := NEXSSERVICEFN_FRCST_MD;
/* Проверим возможность исполнения */
CM_CHECK(SMODE => 'U', RREC => RREC);
/* Исправим данные */
@ -810,7 +835,8 @@ create or replace package body UDO_PKG_EQUIPDS_BASE as
T.EXSSERVICEFN_SEND_MD = NEXSSERVICEFN_SEND_MD,
T.EXSSERVICEFN_SEND_MDCB = NEXSSERVICEFN_SEND_MDCB,
T.EXSSERVICEFN_SEND_RQ = NEXSSERVICEFN_SEND_RQ,
T.EXSSERVICEFN_SEND_RQCB = NEXSSERVICEFN_SEND_RQCB
T.EXSSERVICEFN_SEND_RQCB = NEXSSERVICEFN_SEND_RQCB,
T.EXSSERVICEFN_FRCST_MD = NEXSSERVICEFN_FRCST_MD
where T.RN = NRN;
end CM_UPD;

View File

@ -23,6 +23,8 @@ create table UDO_T_EQUIPDSCM
EXSSERVICEFN_SEND_RQ number(17) not null,
/* Call-back функции обмена для обработки внешней системой */
EXSSERVICEFN_SEND_RQCB number(17) not null,
/* Функция обмена для публикации данных наработки оборудования при получении прогноза */
EXSSERVICEFN_FRCST_MD number(17) not null,
/* Ключи */
constraint UDO_C_EQUIPDSCM_RN_PK primary key (RN),
constraint UDO_C_EQUIPDSCM_PRN_FK foreign key (PRN) references UDO_T_EQUIPDS(RN),
@ -34,5 +36,6 @@ create table UDO_T_EQUIPDSCM
constraint UDO_C_EQUIPDSCM_EXSFNSDMDCB_FK foreign key (EXSSERVICEFN_SEND_MDCB) references EXSSERVICEFN(RN),
constraint UDO_C_EQUIPDSCM_EXSFNSDRQ_FK foreign key (EXSSERVICEFN_SEND_RQ) references EXSSERVICEFN(RN),
constraint UDO_C_EQUIPDSCM_EXSFNSDRQCB_FK foreign key (EXSSERVICEFN_SEND_RQCB) references EXSSERVICEFN(RN),
constraint UDO_C_EQUIPDSCM_EXSFNFCMD_FK foreign key (EXSSERVICEFN_FRCST_MD) references EXSSERVICEFN(RN),
constraint UDO_C_EQUIPDSCM_UN unique (EQOBJKIND)
);

View File

@ -174,7 +174,9 @@ const AdminTab = ({ dataSelection = DS_RN_DEFAULT, dataSelectionClassMachine = n
SEXSSERVICE_SEND_RQ: values.exsServiceSendRq,
SEXSSERVICEFN_SEND_RQ: values.exsServiceFnSendRq,
SEXSSERVICE_SEND_RQCB: values.exsServiceSendRqCb,
SEXSSERVICEFN_SEND_RQCB: values.exsServiceFnSendRqCb
SEXSSERVICEFN_SEND_RQCB: values.exsServiceFnSendRqCb,
SEXSSERVICE_FRCST_MD: values.exsServiceForecastMd,
SEXSSERVICEFN_FRCST_MD: values.exsServiceFnForecastMd
};
if (dialogs.dataSelectionClassMachine) {
await executeStored({

View File

@ -34,7 +34,9 @@ import {
ButtonGroup,
ClickAwayListener,
Paper,
MenuList
MenuList,
Tabs,
Tab
} from "@mui/material"; //Интерфейсные компоненты
import { useTheme } from "@mui/material/styles"; //Темы оформления
import { ApplicationСtx } from "../../context/application"; //Контекст приложения
@ -48,7 +50,8 @@ import {
selectMeasureUnit,
selectUserProcsData,
selectServiceFn,
IUDFormTextField
IUDFormTextField,
TabPanel
} from "./eqs_tech_cond_forecast_layout"; //Общие вспомогательные компоненты и вёрстка
import { P8PDataGrid, P8P_DATA_GRID_SIZE } from "../../components/p8p_data_grid"; //Таблица данных
import { P8P_DATA_GRID_CONFIG_PROPS } from "../../config_wrapper"; //Подключение компонентов к настройкам приложения
@ -97,7 +100,8 @@ const STYLES = {
overflowY: "auto",
...SCROLL_STYLES
},
EQUIP_DSCM_DIALOG_CONTENT: { ...SCROLL_STYLES },
EQUIP_DSCM_DIALOG_CONTENT: { minHeight: "40vh", maxHeight: "40vh", ...SCROLL_STYLES },
EQUIP_DSCM_DIALOG_TABS_CONTAINER: { borderBottom: 1, borderColor: "divider" },
FL_ML_TABLE: {
height: `200px`,
...SCROLL_STYLES
@ -316,6 +320,9 @@ const EquipDataSelectionClassMachineIU = ({ classMachine, onOk, onCancel }) => {
//Подключение к контексту приложения
const { pOnlineShowDictionary } = useContext(ApplicationСtx);
//Собственное состояние - активная закладка
const [selectedTab, setSelectedTab] = useState(0);
//Собственное состояние - значения формы
const [values, setValues] = useState({
eqobjKind: "",
@ -330,7 +337,9 @@ const EquipDataSelectionClassMachineIU = ({ classMachine, onOk, onCancel }) => {
exsServiceSendRq: "",
exsServiceFnSendRq: "",
exsServiceSendRqCb: "",
exsServiceFnSendRqCb: ""
exsServiceFnSendRqCb: "",
exsServiceForecastMd: "",
exsServiceFnForecastMd: ""
});
//Карточка из базы
@ -352,109 +361,147 @@ const EquipDataSelectionClassMachineIU = ({ classMachine, onOk, onCancel }) => {
exsServiceSendRq: equipDataSelectionClassMachineCard.SEXSSERVICE_SEND_RQ,
exsServiceFnSendRq: equipDataSelectionClassMachineCard.SEXSSERVICEFN_SEND_RQ,
exsServiceSendRqCb: equipDataSelectionClassMachineCard.SEXSSERVICE_SEND_RQCB,
exsServiceFnSendRqCb: equipDataSelectionClassMachineCard.SEXSSERVICEFN_SEND_RQCB
exsServiceFnSendRqCb: equipDataSelectionClassMachineCard.SEXSSERVICEFN_SEND_RQCB,
exsServiceForecastMd: equipDataSelectionClassMachineCard.SEXSSERVICE_FRCST_MD,
exsServiceFnForecastMd: equipDataSelectionClassMachineCard.SEXSSERVICEFN_FRCST_MD
});
}, [equipDataSelectionClassMachineCard]);
//Отработка воода значения в форму
const handleValueChanged = (name, value) => setValues(pv => ({ ...pv, [name]: value }));
//Обработка смены закладки
const handleTabChange = (e, newValue) => setSelectedTab(newValue);
//Генерация содержимого
return (
<Dialog open={true} onClose={() => (onOk ? onCancel() : null)} maxWidth={"sm"} fullWidth={true}>
<DialogTitle>Класс оборудования выборки данных</DialogTitle>
<DialogContent sx={STYLES.EQUIP_DSCM_DIALOG_CONTENT}>
<IUDFormTextField
elementCode={"eqobjKind"}
elementValue={values.eqobjKind}
labelText={"Класс оборудования"}
onChange={handleValueChanged}
dictionary={callBack => selectEqobjKind(pOnlineShowDictionary, "eqobjKind", callBack)}
/>
<IUDFormTextField
elementCode={"measureUnit"}
elementValue={values.measureUnit}
labelText={"Едница измерения выборки"}
onChange={handleValueChanged}
dictionary={callBack => selectMeasureUnit(pOnlineShowDictionary, "measureUnit", callBack)}
/>
<IUDFormTextField
elementCode={"userprocsData"}
elementValue={values.userprocsData}
labelText={"Процедура формирования"}
onChange={handleValueChanged}
dictionary={callBack => selectUserProcsData(pOnlineShowDictionary, "userprocsData", callBack)}
/>
<IUDFormTextField
elementCode={"exsServiceUpload"}
elementValue={values.exsServiceUpload}
labelText={"Сервис обмена для выгрузки данных"}
onChange={handleValueChanged}
disabled
/>
<IUDFormTextField
elementCode={"exsServiceFnUpload"}
elementValue={values.exsServiceFnUpload}
labelText={"Функция обмена для выгрузки данных"}
onChange={handleValueChanged}
dictionary={callBack => selectServiceFn(pOnlineShowDictionary, "exsServiceFnUpload", callBack)}
/>
<IUDFormTextField
elementCode={"exsServiceSendMd"}
elementValue={values.exsServiceSendMd}
labelText={"Сервис обмена для передачи внешней системе"}
onChange={handleValueChanged}
disabled
/>
<IUDFormTextField
elementCode={"exsServiceFnSendMd"}
elementValue={values.exsServiceFnSendMd}
labelText={"Функция обмена для передачи внешней системе"}
onChange={handleValueChanged}
dictionary={callBack => selectServiceFn(pOnlineShowDictionary, "exsServiceFnSendMd", callBack)}
/>
<IUDFormTextField
elementCode={"exsServiceSendMdCb"}
elementValue={values.exsServiceSendMdCb}
labelText={"Сервис обмена для обратной связи о передаче внешней системе"}
onChange={handleValueChanged}
disabled
/>
<IUDFormTextField
elementCode={"exsServiceFnSendMdCb"}
elementValue={values.exsServiceFnSendMdCb}
labelText={"Функция обмена для обратной связи о передаче внешней системе"}
onChange={handleValueChanged}
dictionary={callBack => selectServiceFn(pOnlineShowDictionary, "exsServiceFnSendMdCb", callBack)}
/>
<IUDFormTextField
elementCode={"exsServiceSendRq"}
elementValue={values.exsServiceSendRq}
labelText={"Сервис обмена для обработки внешней системой"}
onChange={handleValueChanged}
disabled
/>
<IUDFormTextField
elementCode={"exsServiceFnSendRq"}
elementValue={values.exsServiceFnSendRq}
labelText={"Функция обмена для обработки внешней системой"}
onChange={handleValueChanged}
dictionary={callBack => selectServiceFn(pOnlineShowDictionary, "exsServiceFnSendRq", callBack)}
/>
<IUDFormTextField
elementCode={"exsServiceSendRqCb"}
elementValue={values.exsServiceSendRqCb}
labelText={"Сервис обмена для обратной связи об обработке внешней системой"}
onChange={handleValueChanged}
disabled
/>
<IUDFormTextField
elementCode={"exsServiceFnSendRqCb"}
elementValue={values.exsServiceFnSendRqCb}
labelText={"Функция обмена для обратной связи об обработке внешней системой"}
onChange={handleValueChanged}
dictionary={callBack => selectServiceFn(pOnlineShowDictionary, "exsServiceFnSendRqCb", callBack)}
/>
<Box sx={STYLES.EQUIP_DSCM_DIALOG_TABS_CONTAINER}>
<Tabs value={selectedTab} onChange={handleTabChange} aria-label="basic tabs example">
<Tab label="Основные" />
<Tab label="Подготовка" />
<Tab label="Передача" />
<Tab label="Обучение" />
<Tab label="Прогноз" />
</Tabs>
</Box>
<TabPanel value={selectedTab} mode={0}>
<IUDFormTextField
elementCode={"eqobjKind"}
elementValue={values.eqobjKind}
labelText={"Класс оборудования"}
onChange={handleValueChanged}
dictionary={callBack => selectEqobjKind(pOnlineShowDictionary, "eqobjKind", callBack)}
/>
<IUDFormTextField
elementCode={"measureUnit"}
elementValue={values.measureUnit}
labelText={"Едница измерения выборки"}
onChange={handleValueChanged}
dictionary={callBack => selectMeasureUnit(pOnlineShowDictionary, "measureUnit", callBack)}
/>
</TabPanel>
<TabPanel value={selectedTab} mode={1}>
<IUDFormTextField
elementCode={"userprocsData"}
elementValue={values.userprocsData}
labelText={"Процедура формирования данных"}
onChange={handleValueChanged}
dictionary={callBack => selectUserProcsData(pOnlineShowDictionary, "userprocsData", callBack)}
/>
<IUDFormTextField
elementCode={"exsServiceUpload"}
elementValue={values.exsServiceUpload}
labelText={"Сервис обмена для выгрузки данных"}
onChange={handleValueChanged}
disabled
/>
<IUDFormTextField
elementCode={"exsServiceFnUpload"}
elementValue={values.exsServiceFnUpload}
labelText={"Функция обмена для выгрузки данных"}
onChange={handleValueChanged}
dictionary={callBack => selectServiceFn(pOnlineShowDictionary, "exsServiceFnUpload", callBack)}
/>
</TabPanel>
<TabPanel value={selectedTab} mode={2}>
<IUDFormTextField
elementCode={"exsServiceSendMd"}
elementValue={values.exsServiceSendMd}
labelText={"Сервис обмена для передачи внешней системе"}
onChange={handleValueChanged}
disabled
/>
<IUDFormTextField
elementCode={"exsServiceFnSendMd"}
elementValue={values.exsServiceFnSendMd}
labelText={"Функция обмена для передачи внешней системе"}
onChange={handleValueChanged}
dictionary={callBack => selectServiceFn(pOnlineShowDictionary, "exsServiceFnSendMd", callBack)}
/>
<IUDFormTextField
elementCode={"exsServiceSendMdCb"}
elementValue={values.exsServiceSendMdCb}
labelText={"Сервис обмена для обратной связи о передаче внешней системе"}
onChange={handleValueChanged}
disabled
/>
<IUDFormTextField
elementCode={"exsServiceFnSendMdCb"}
elementValue={values.exsServiceFnSendMdCb}
labelText={"Функция обмена для обратной связи о передаче внешней системе"}
onChange={handleValueChanged}
dictionary={callBack => selectServiceFn(pOnlineShowDictionary, "exsServiceFnSendMdCb", callBack)}
/>
</TabPanel>
<TabPanel value={selectedTab} mode={3}>
<IUDFormTextField
elementCode={"exsServiceSendRq"}
elementValue={values.exsServiceSendRq}
labelText={"Сервис обмена для обработки внешней системой"}
onChange={handleValueChanged}
disabled
/>
<IUDFormTextField
elementCode={"exsServiceFnSendRq"}
elementValue={values.exsServiceFnSendRq}
labelText={"Функция обмена для обработки внешней системой"}
onChange={handleValueChanged}
dictionary={callBack => selectServiceFn(pOnlineShowDictionary, "exsServiceFnSendRq", callBack)}
/>
<IUDFormTextField
elementCode={"exsServiceSendRqCb"}
elementValue={values.exsServiceSendRqCb}
labelText={"Сервис обмена для обратной связи об обработке внешней системой"}
onChange={handleValueChanged}
disabled
/>
<IUDFormTextField
elementCode={"exsServiceFnSendRqCb"}
elementValue={values.exsServiceFnSendRqCb}
labelText={"Функция обмена для обратной связи об обработке внешней системой"}
onChange={handleValueChanged}
dictionary={callBack => selectServiceFn(pOnlineShowDictionary, "exsServiceFnSendRqCb", callBack)}
/>
</TabPanel>
<TabPanel value={selectedTab} mode={4}>
<IUDFormTextField
elementCode={"exsServiceForecastMd"}
elementValue={values.exsServiceForecastMd}
labelText={"Сервис обмена для публикации данных наработки оборудования"}
onChange={handleValueChanged}
disabled
/>
<IUDFormTextField
elementCode={"exsServiceFnForecastMd"}
elementValue={values.exsServiceFnForecastMd}
labelText={"Функция обмена для публикации данных наработки оборудования"}
onChange={handleValueChanged}
dictionary={callBack => selectServiceFn(pOnlineShowDictionary, "exsServiceFnForecastMd", callBack)}
/>
</TabPanel>
</DialogContent>
<DialogActions>
<Button onClick={() => (onOk ? onOk(values) : null)}>{BUTTONS.OK}</Button>

View File

@ -130,7 +130,9 @@ const selectServiceFn = (showDictionary, name, callBack) => {
? "exsServiceSendMdCb"
: name == "exsServiceFnSendRq"
? "exsServiceSendRq"
: "exsServiceSendRqCb",
: name == "exsServiceFnSendRqCb"
? "exsServiceSendRqCb"
: "exsServiceForecastMd",
value: res.outParameters.out_CODE
}
]
@ -146,7 +148,7 @@ const TabPanel = ({ mode, value, children }) => <Box hidden={mode != value}>{chi
TabPanel.propTypes = {
mode: PropTypes.number.isRequired,
value: PropTypes.number.isRequired,
children: PropTypes.element
children: PropTypes.oneOfType([PropTypes.element, PropTypes.arrayOf(PropTypes.element)])
};
//Поле ввода формы

View File

@ -278,7 +278,9 @@ const ForecastTab = ({ onGoToAdmin }) => {
SEXSSERVICE_SEND_RQ: values.exsServiceSendRq,
SEXSSERVICEFN_SEND_RQ: values.exsServiceFnSendRq,
SEXSSERVICE_SEND_RQCB: values.exsServiceSendRqCb,
SEXSSERVICEFN_SEND_RQCB: values.exsServiceFnSendRqCb
SEXSSERVICEFN_SEND_RQCB: values.exsServiceFnSendRqCb,
SEXSSERVICE_FRCST_MD: values.exsServiceForecastMd,
SEXSSERVICEFN_FRCST_MD: values.exsServiceFnForecastMd
}
});
setDialogs(pv => ({ ...pv, makeEqDataSet: false }));

View File

@ -9,7 +9,22 @@
import React, { useState, useEffect, useContext } from "react"; //Классы React
import PropTypes from "prop-types"; //Контроль свойств компонента
import { Stack, Card, CardContent, Typography, Button, Link, Dialog, DialogTitle, DialogContent, DialogActions, Paper, Box } from "@mui/material"; //Интерфейсные компоненты
import {
Stack,
Card,
CardContent,
Typography,
Button,
Link,
Dialog,
DialogTitle,
DialogContent,
DialogActions,
Paper,
Box,
Tabs,
Tab
} from "@mui/material"; //Интерфейсные компоненты
import { useTheme } from "@mui/material/styles"; //Темы оформления
import { ApplicationСtx } from "../../context/application"; //Контекст приложения
import { BackEndСtx } from "../../context/backend"; //Контекст взаимодействия с серверомs
@ -25,7 +40,8 @@ import {
selectMeasureUnit,
selectUserProcsData,
selectServiceFn,
IUDFormTextField
IUDFormTextField,
TabPanel
} from "./eqs_tech_cond_forecast_layout"; //Общие вспомогательные компоненты и вёрстка
import { DS_RN_DEFAULT, useEquipDataSelectionList } from "./eqs_tech_cond_forecast_hooks"; //Общие вспомогательные хуки
import { P8PChart } from "../../components/p8p_chart"; //График
@ -48,7 +64,8 @@ const STYLES = {
},
TECH_OBJ_FORECAST_DETAIL_DIALOG: { maxWidth: "600px" },
TECH_OBJ_FORECAST_DETAIL_CHART: { width: "550px", display: "flex", justifyContent: "center", paddingTop: "20px" },
TECH_OBJ_MAKE_DATASET_DIALOG_CONTENT: { ...SCROLL_STYLES },
TECH_OBJ_MAKE_DATASET_DIALOG_CONTENT: { minHeight: "40vh", maxHeight: "40vh", ...SCROLL_STYLES },
TECH_OBJ_MAKE_DATASET_DIALOG_TABS_CONTAINER: { borderBottom: 1, borderColor: "divider" },
FORECAST_DETAIL_NOTE: { display: "block", marginTop: "-5px" }
};
@ -645,27 +662,35 @@ const TechObjMakeDataSet = ({ eqobjKind, measureUnit, onOk, onCancel }) => {
//Загрузка списка выборок данных
const { equipDataSelectionList, equipDataSelectionListIsLoading, equipDataSelectionListAccess } = useEquipDataSelectionList(true);
//Собственное состояние - активная закладка
const [selectedTab, setSelectedTab] = useState(0);
//Собственное состояние - значения формы
const [values, setValues] = useState({
dataSet: "",
eqobjKind: eqobjKind,
measureUnit: measureUnit || "СУТ",
userprocsData: "ФормДанВыгрОбучМод",
userprocsData: "ФормDSОбучМод",
exsServiceUpload: "Загрузкаа_SCP",
exsServiceFnUpload: "Загрузкаа_SCP",
exsServiceSendMd: "Загрузкаареймворк",
exsServiceFnSendMd: "Передача данных",
exsServiceFnSendMd: "Загрузить_нареймворк",
exsServiceSendMdCb: оучение_от_Фреймворка",
exsServiceFnSendMdCb: "Состояние загрузки данных",
exsServiceFnSendMdCb: "Статусагрузки_данныхреймфорка",
exsServiceSendRq: "Загрузкаареймворк",
exsServiceFnSendRq: "Запрос на обучение",
exsServiceSendRqCb: оучение_от_Фреймворка",
exsServiceFnSendRqCb: "Состояние обучения модели"
exsServiceFnSendRqCb: "Статус_обучения_модели",
exsServiceForecastMd: оучение_от_Фреймворка",
exsServiceFnForecastMd: ередача_выборки_для_прогноза"
});
//Отработка воода значения в форму
const handleValueChanged = (name, value) => setValues(pv => ({ ...pv, [name]: value }));
//Обработка смены закладки
const handleTabChange = (e, newValue) => setSelectedTab(newValue);
//Генерация содержимого
return (
<Dialog open={true} onClose={() => (onOk ? onCancel() : null)} maxWidth={"sm"} fullWidth={true}>
@ -673,105 +698,138 @@ const TechObjMakeDataSet = ({ eqobjKind, measureUnit, onOk, onCancel }) => {
<DialogContent sx={STYLES.TECH_OBJ_MAKE_DATASET_DIALOG_CONTENT}>
{equipDataSelectionListIsLoading ? null : equipDataSelectionListAccess ? (
<>
<IUDFormTextField
elementCode={"dataSet"}
elementValue={values.dataSet}
labelText={"Выборка данных"}
onChange={handleValueChanged}
list={equipDataSelectionList.filter(item => item.NRN != DS_RN_DEFAULT).map(item => item.SCODE)}
freeSolo={true}
/>
<IUDFormTextField
elementCode={"eqobjKind"}
elementValue={values.eqobjKind}
labelText={"Класс оборудования"}
onChange={handleValueChanged}
disabled
/>
<IUDFormTextField
elementCode={"measureUnit"}
elementValue={values.measureUnit}
labelText={"Едница измерения выборки"}
onChange={handleValueChanged}
dictionary={callBack => selectMeasureUnit(pOnlineShowDictionary, "measureUnit", callBack)}
/>
<IUDFormTextField
elementCode={"userprocsData"}
elementValue={values.userprocsData}
labelText={"Процедура формирования"}
onChange={handleValueChanged}
dictionary={callBack => selectUserProcsData(pOnlineShowDictionary, "userprocsData", callBack)}
/>
<IUDFormTextField
elementCode={"exsServiceUpload"}
elementValue={values.exsServiceUpload}
labelText={"Сервис обмена для выгрузки данных"}
onChange={handleValueChanged}
disabled
/>
<IUDFormTextField
elementCode={"exsServiceFnUpload"}
elementValue={values.exsServiceFnUpload}
labelText={"Функция обмена для выгрузки данных"}
onChange={handleValueChanged}
dictionary={callBack => selectServiceFn(pOnlineShowDictionary, "exsServiceFnUpload", callBack)}
/>
<IUDFormTextField
elementCode={"exsServiceSendMd"}
elementValue={values.exsServiceSendMd}
labelText={"Сервис обмена для передачи внешней системе"}
onChange={handleValueChanged}
disabled
/>
<IUDFormTextField
elementCode={"exsServiceFnSendMd"}
elementValue={values.exsServiceFnSendMd}
labelText={"Функция обмена для передачи внешней системе"}
onChange={handleValueChanged}
dictionary={callBack => selectServiceFn(pOnlineShowDictionary, "exsServiceFnSendMd", callBack)}
/>
<IUDFormTextField
elementCode={"exsServiceSendMdCb"}
elementValue={values.exsServiceSendMdCb}
labelText={"Сервис обмена для обратной связи о передаче внешней системе"}
onChange={handleValueChanged}
disabled
/>
<IUDFormTextField
elementCode={"exsServiceFnSendMdCb"}
elementValue={values.exsServiceFnSendMdCb}
labelText={"Функция обмена для обратной связи о передаче внешней системе"}
onChange={handleValueChanged}
dictionary={callBack => selectServiceFn(pOnlineShowDictionary, "exsServiceFnSendMdCb", callBack)}
/>
<IUDFormTextField
elementCode={"exsServiceSendRq"}
elementValue={values.exsServiceSendRq}
labelText={"Сервис обмена для обработки внешней системой"}
onChange={handleValueChanged}
disabled
/>
<IUDFormTextField
elementCode={"exsServiceFnSendRq"}
elementValue={values.exsServiceFnSendRq}
labelText={"Функция обмена для обработки внешней системой"}
onChange={handleValueChanged}
dictionary={callBack => selectServiceFn(pOnlineShowDictionary, "exsServiceFnSendRq", callBack)}
/>
<IUDFormTextField
elementCode={"exsServiceSendRqCb"}
elementValue={values.exsServiceSendRqCb}
labelText={"Сервис обмена для обратной связи об обработке внешней системой"}
onChange={handleValueChanged}
disabled
/>
<IUDFormTextField
elementCode={"exsServiceFnSendRqCb"}
elementValue={values.exsServiceFnSendRqCb}
labelText={"Функция обмена для обратной связи об обработке внешней системой"}
onChange={handleValueChanged}
dictionary={callBack => selectServiceFn(pOnlineShowDictionary, "exsServiceFnSendRqCb", callBack)}
/>
<Box sx={STYLES.EQUIP_DSCM_DIALOG_TABS_CONTAINER}>
<Tabs value={selectedTab} onChange={handleTabChange} aria-label="basic tabs example">
<Tab label="Основные" />
<Tab label="Подготовка" />
<Tab label="Передача" />
<Tab label="Обучение" />
<Tab label="Прогноз" />
</Tabs>
</Box>
<TabPanel value={selectedTab} mode={0}>
<IUDFormTextField
elementCode={"dataSet"}
elementValue={values.dataSet}
labelText={"Выборка данных"}
onChange={handleValueChanged}
list={equipDataSelectionList.filter(item => item.NRN != DS_RN_DEFAULT).map(item => item.SCODE)}
freeSolo={true}
/>
<IUDFormTextField
elementCode={"eqobjKind"}
elementValue={values.eqobjKind}
labelText={"Класс оборудования"}
onChange={handleValueChanged}
disabled
/>
<IUDFormTextField
elementCode={"measureUnit"}
elementValue={values.measureUnit}
labelText={"Едница измерения выборки"}
onChange={handleValueChanged}
dictionary={callBack => selectMeasureUnit(pOnlineShowDictionary, "measureUnit", callBack)}
/>
</TabPanel>
<TabPanel value={selectedTab} mode={1}>
<IUDFormTextField
elementCode={"userprocsData"}
elementValue={values.userprocsData}
labelText={"Процедура формирования данных"}
onChange={handleValueChanged}
dictionary={callBack => selectUserProcsData(pOnlineShowDictionary, "userprocsData", callBack)}
/>
<IUDFormTextField
elementCode={"exsServiceUpload"}
elementValue={values.exsServiceUpload}
labelText={"Сервис обмена для выгрузки данных"}
onChange={handleValueChanged}
disabled
/>
<IUDFormTextField
elementCode={"exsServiceFnUpload"}
elementValue={values.exsServiceFnUpload}
labelText={"Функция обмена для выгрузки данных"}
onChange={handleValueChanged}
dictionary={callBack => selectServiceFn(pOnlineShowDictionary, "exsServiceFnUpload", callBack)}
/>
</TabPanel>
<TabPanel value={selectedTab} mode={2}>
<IUDFormTextField
elementCode={"exsServiceSendMd"}
elementValue={values.exsServiceSendMd}
labelText={"Сервис обмена для передачи внешней системе"}
onChange={handleValueChanged}
disabled
/>
<IUDFormTextField
elementCode={"exsServiceFnSendMd"}
elementValue={values.exsServiceFnSendMd}
labelText={"Функция обмена для передачи внешней системе"}
onChange={handleValueChanged}
dictionary={callBack => selectServiceFn(pOnlineShowDictionary, "exsServiceFnSendMd", callBack)}
/>
<IUDFormTextField
elementCode={"exsServiceSendMdCb"}
elementValue={values.exsServiceSendMdCb}
labelText={"Сервис обмена для обратной связи о передаче внешней системе"}
onChange={handleValueChanged}
disabled
/>
<IUDFormTextField
elementCode={"exsServiceFnSendMdCb"}
elementValue={values.exsServiceFnSendMdCb}
labelText={"Функция обмена для обратной связи о передаче внешней системе"}
onChange={handleValueChanged}
dictionary={callBack => selectServiceFn(pOnlineShowDictionary, "exsServiceFnSendMdCb", callBack)}
/>
</TabPanel>
<TabPanel value={selectedTab} mode={3}>
<IUDFormTextField
elementCode={"exsServiceSendRq"}
elementValue={values.exsServiceSendRq}
labelText={"Сервис обмена для обработки внешней системой"}
onChange={handleValueChanged}
disabled
/>
<IUDFormTextField
elementCode={"exsServiceFnSendRq"}
elementValue={values.exsServiceFnSendRq}
labelText={"Функция обмена для обработки внешней системой"}
onChange={handleValueChanged}
dictionary={callBack => selectServiceFn(pOnlineShowDictionary, "exsServiceFnSendRq", callBack)}
/>
<IUDFormTextField
elementCode={"exsServiceSendRqCb"}
elementValue={values.exsServiceSendRqCb}
labelText={"Сервис обмена для обратной связи об обработке внешней системой"}
onChange={handleValueChanged}
disabled
/>
<IUDFormTextField
elementCode={"exsServiceFnSendRqCb"}
elementValue={values.exsServiceFnSendRqCb}
labelText={"Функция обмена для обратной связи об обработке внешней системой"}
onChange={handleValueChanged}
dictionary={callBack => selectServiceFn(pOnlineShowDictionary, "exsServiceFnSendRqCb", callBack)}
/>
</TabPanel>
<TabPanel value={selectedTab} mode={4}>
<IUDFormTextField
elementCode={"exsServiceForecastMd"}
elementValue={values.exsServiceForecastMd}
labelText={"Сервис обмена для публикации данных наработки оборудования"}
onChange={handleValueChanged}
disabled
/>
<IUDFormTextField
elementCode={"exsServiceFnForecastMd"}
elementValue={values.exsServiceFnForecastMd}
labelText={"Функция обмена для публикации данных наработки оборудования"}
onChange={handleValueChanged}
dictionary={callBack => selectServiceFn(pOnlineShowDictionary, "exsServiceFnForecastMd", callBack)}
/>
</TabPanel>
</>
) : (
<P8PAppInlineError text="У вас нет прав доступа для обучения моделей. Обратитесь к администратору." />