From a8639f53ef128302d84ec5ca41f8298eb6b32a6f Mon Sep 17 00:00:00 2001 From: Mikhail Chechnev Date: Fri, 14 Feb 2025 21:17:52 +0300 Subject: [PATCH] =?UTF-8?q?"=D0=A2=D0=BE=D1=87=D0=BD=D0=BE=D1=81=D1=82?= =?UTF-8?q?=D1=8C(=D0=BF=D0=BB=D0=B0=D0=BD)"=20=D1=82=D0=B5=D0=BF=D0=B5?= =?UTF-8?q?=D1=80=D1=8C=20=D0=BD=D0=B5=20=D0=B8=D1=81=D0=BF=D0=BE=D0=BB?= =?UTF-8?q?=D1=8C=D0=B7=D1=83=D0=B5=D1=82=D1=81=D1=8F,=20"=D0=A2=D0=BE?= =?UTF-8?q?=D1=87=D0=BD=D0=BE=D1=81=D1=82=D1=8C=20(=D1=84=D0=B0=D0=BA?= =?UTF-8?q?=D1=82)"=20-=20=D0=BF=D1=80=D0=BE=D1=81=D1=82=D0=BE=20"=D0=A2?= =?UTF-8?q?=D0=BE=D1=87=D0=BD=D0=BE=D1=81=D1=82=D1=8C"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- db/UDO_PKG_EQUIPDS.pck | 24 +++-------------- db/UDO_PKG_EQUIPDS_BASE.pck | 27 ++++++------------- db/UDO_T_EQUIPDSCMML.sql | 10 +++---- panels/eqs_tech_cond_forecast/admin_tab.js | 1 - .../admin_tab_layout.js | 8 ------ .../forecast_tab_layout.js | 1 - 6 files changed, 16 insertions(+), 55 deletions(-) diff --git a/db/UDO_PKG_EQUIPDS.pck b/db/UDO_PKG_EQUIPDS.pck index 4d39a63..06cfbc4 100644 --- a/db/UDO_PKG_EQUIPDS.pck +++ b/db/UDO_PKG_EQUIPDS.pck @@ -155,7 +155,6 @@ create or replace package UDO_PKG_EQUIPDS as ( NPRN in number, -- Родитель STASK in varchar2, -- Задача (см. константы UDO_PKG_EQUIPDS_BASE.SCMML_TASK_*) - NPRECISION_P in number, -- Точность (план) NDATASET_ID in number, -- Идентификатор выборки NRN out number -- Регистрационный номер ); @@ -1139,13 +1138,9 @@ create or replace package body UDO_PKG_EQUIPDS as SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SHINT => 'Алгоритм прогонозирования модели:
' || UDO_PKG_EQUIPDS_BASE.CMML_TASK_HINT()); - PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, - SNAME => 'NPRECISION_P', - SCAPTION => 'Точность (план)', - SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB); PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, SNAME => 'NPRECISION_F', - SCAPTION => 'Точность (факт)', + SCAPTION => 'Точность', SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB); PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, SNAME => 'SDATASET', @@ -1167,7 +1162,6 @@ create or replace package body UDO_PKG_EQUIPDS as /* Обходим данные */ for C in (select T.RN NRN, T.TASK STASK, - T.PRECISION_P NPRECISION_P, T.PRECISION_F NPRECISION_F, T.DATASET_ID NDATASET_ID, (select F.DATASET_TS @@ -1183,7 +1177,6 @@ create or replace package body UDO_PKG_EQUIPDS as /* Добавляем колонки с данными */ PKG_P8PANELS_VISUAL.TDG_ROW_ADD_COL(RROW => RDG_ROW, SNAME => 'NRN', NVALUE => C.NRN, BCLEAR => true); PKG_P8PANELS_VISUAL.TDG_ROW_ADD_COL(RROW => RDG_ROW, SNAME => 'STASK', SVALUE => C.STASK); - PKG_P8PANELS_VISUAL.TDG_ROW_ADD_COL(RROW => RDG_ROW, SNAME => 'NPRECISION_P', NVALUE => C.NPRECISION_P); PKG_P8PANELS_VISUAL.TDG_ROW_ADD_COL(RROW => RDG_ROW, SNAME => 'NPRECISION_F', NVALUE => C.NPRECISION_F); PKG_P8PANELS_VISUAL.TDG_ROW_ADD_COL(RROW => RDG_ROW, SNAME => 'SDATASET', @@ -1204,7 +1197,6 @@ create or replace package body UDO_PKG_EQUIPDS as ( NPRN in number, -- Родитель STASK in varchar2, -- Задача (см. константы UDO_PKG_EQUIPDS_BASE.SCMML_TASK_*) - NPRECISION_P in number, -- Точность (план) NDATASET_ID in number, -- Идентификатор выборки NRN out number -- Регистрационный номер ) @@ -1214,9 +1206,6 @@ create or replace package body UDO_PKG_EQUIPDS as if (STASK is null) then P_EXCEPTION(0, 'Не указана задача.'); end if; - if (NPRECISION_P is null) then - P_EXCEPTION(0, 'Не указана точность.'); - end if; if (NDATASET_ID is null) then P_EXCEPTION(0, 'Не указана выборка.'); end if; @@ -1225,7 +1214,6 @@ create or replace package body UDO_PKG_EQUIPDS as /* Добавляем запись */ UDO_PKG_EQUIPDS_BASE.CMML_INS(NPRN => NPRN, STASK => STASK, - NPRECISION_P => NPRECISION_P, NDATASET_ID => NDATASET_ID, NRN => NRN); end CMML_INS; @@ -1348,13 +1336,9 @@ create or replace package body UDO_PKG_EQUIPDS as SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SHINT => 'Алгоритм прогонозирования модели:
' || UDO_PKG_EQUIPDS_BASE.CMML_TASK_HINT()); - PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, - SNAME => 'NPRECISION_P', - SCAPTION => 'Точность (план)', - SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB); PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, SNAME => 'NPRECISION_F', - SCAPTION => 'Точность (факт)', + SCAPTION => 'Точность', SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB); PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, SNAME => 'NSTATUS', @@ -1375,7 +1359,6 @@ create or replace package body UDO_PKG_EQUIPDS as T.PRN NEQUIPDSCM, DS.NAME SNEQUIPDS, T.TASK STASK, - T.PRECISION_P NPRECISION_P, T.PRECISION_F NPRECISION_F, T.STATUS NSTATUS, T.ERR SERR @@ -1393,7 +1376,6 @@ create or replace package body UDO_PKG_EQUIPDS as PKG_P8PANELS_VISUAL.TDG_ROW_ADD_COL(RROW => RDG_ROW, SNAME => 'NEQUIPDSCM', NVALUE => C.NEQUIPDSCM); PKG_P8PANELS_VISUAL.TDG_ROW_ADD_COL(RROW => RDG_ROW, SNAME => 'SNEQUIPDS', SVALUE => C.SNEQUIPDS); PKG_P8PANELS_VISUAL.TDG_ROW_ADD_COL(RROW => RDG_ROW, SNAME => 'STASK', SVALUE => C.STASK); - PKG_P8PANELS_VISUAL.TDG_ROW_ADD_COL(RROW => RDG_ROW, SNAME => 'NPRECISION_P', NVALUE => C.NPRECISION_P); PKG_P8PANELS_VISUAL.TDG_ROW_ADD_COL(RROW => RDG_ROW, SNAME => 'NPRECISION_F', NVALUE => C.NPRECISION_F); PKG_P8PANELS_VISUAL.TDG_ROW_ADD_COL(RROW => RDG_ROW, SNAME => 'NSTATUS', NVALUE => C.NSTATUS); PKG_P8PANELS_VISUAL.TDG_ROW_ADD_COL(RROW => RDG_ROW, SNAME => 'SERR', SVALUE => C.SERR); @@ -1497,7 +1479,7 @@ create or replace package body UDO_PKG_EQUIPDS as SHINT => UDO_PKG_EQUIPDS_BASE.CMML_TASK_HINT()); PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, SNAME => 'NEQUIPDSCMML_PRECISION_F', - SCAPTION => 'Точность (факт)', + SCAPTION => 'Точность', SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB); PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, SNAME => 'STO_FORECAST_DESC', diff --git a/db/UDO_PKG_EQUIPDS_BASE.pck b/db/UDO_PKG_EQUIPDS_BASE.pck index 0aa2934..80e75ec 100644 --- a/db/UDO_PKG_EQUIPDS_BASE.pck +++ b/db/UDO_PKG_EQUIPDS_BASE.pck @@ -224,7 +224,6 @@ create or replace package UDO_PKG_EQUIPDS_BASE as NFLAG_SMART in number, -- Признак выдачи сообщения об ошибке (0 - выдавать, 1 - не выдавать) NPRN in number, -- Родитель STASK in varchar2, -- Задача (см. константы SCMML_TASK_*) - NPRECISION_P in number, -- Точность (план) NRN out number -- Регистрационный номер ); @@ -233,7 +232,6 @@ create or replace package UDO_PKG_EQUIPDS_BASE as ( NPRN in number, -- Родитель STASK in varchar2, -- Задача (см. константы SCMML_TASK_*) - NPRECISION_P in number, -- Точность (план) NDATASET_ID in number, -- Идентификатор выборки NRN out number -- Регистрационный номер ); @@ -241,9 +239,8 @@ create or replace package UDO_PKG_EQUIPDS_BASE as /* Базовое исправление "Выборки данных оборудования (классы оборудования, модели)" */ procedure CMML_UPD ( - NRN in number, -- Регистрационный номер - STASK in varchar2, -- Задача (см. константы SCMML_TASK_*) - NPRECISION_P in number -- Точность (план) + NRN in number, -- Регистрационный номер + STASK in varchar2 -- Задача (см. константы SCMML_TASK_*) ); /* Базовое удаление "Выборки данных оборудования (классы оборудования, модели)" */ @@ -995,7 +992,6 @@ create or replace package body UDO_PKG_EQUIPDS_BASE as NFLAG_SMART in number, -- Признак выдачи сообщения об ошибке (0 - выдавать, 1 - не выдавать) NPRN in number, -- Родитель STASK in varchar2, -- Задача (см. константы SCMML_TASK_*) - NPRECISION_P in number, -- Точность (план) NRN out number -- Регистрационный номер ) is @@ -1006,14 +1002,12 @@ create or replace package body UDO_PKG_EQUIPDS_BASE as into NRN from UDO_T_EQUIPDSCMML T where T.PRN = NPRN - and T.TASK = STASK - and T.PRECISION_P = NPRECISION_P; + and T.TASK = STASK; exception when NO_DATA_FOUND then P_EXCEPTION(NFLAG_SMART, - 'Модель с задачей "%s" и точностью "%s" в классе оборудования "%s" не определёна.', + 'Модель с задачей "%s" в классе оборудования "%s" не определёна.', STASK, - TO_CHAR(NPRECISION_P), TO_CHAR(NPRN)); end; end CMML_FIND_BY_TASK; @@ -1023,7 +1017,6 @@ create or replace package body UDO_PKG_EQUIPDS_BASE as ( NPRN in number, -- Родитель STASK in varchar2, -- Задача (см. константы SCMML_TASK_*) - NPRECISION_P in number, -- Точность (план) NDATASET_ID in number, -- Идентификатор выборки NRN out number -- Регистрационный номер ) @@ -1051,17 +1044,16 @@ create or replace package body UDO_PKG_EQUIPDS_BASE as NRN := GEN_ID(); /* Добавляем запись */ insert into UDO_T_EQUIPDSCMML - (RN, PRN, TASK, PRECISION_P, PRECISION_F, QUEUE_ID, STATUS, ERR, DATASET_ID) + (RN, PRN, TASK, PRECISION_F, QUEUE_ID, STATUS, ERR, DATASET_ID) values - (NRN, NPRN, STASK, NPRECISION_P, null, null, NCMML_STATUS_REGISTERED, null, NDATASET_ID); + (NRN, NPRN, STASK, null, null, NCMML_STATUS_REGISTERED, null, NDATASET_ID); end CMML_INS; /* Базовое исправление "Выборки данных оборудования (классы оборудования, модели)" */ procedure CMML_UPD ( NRN in number, -- Регистрационный номер - STASK in varchar2, -- Задача (см. константы SCMML_TASK_*) - NPRECISION_P in number -- Точность (план) + STASK in varchar2 -- Задача (см. константы SCMML_TASK_*) ) is RREC UDO_T_EQUIPDSCMML%rowtype; -- Обрабатываемая запись @@ -1074,10 +1066,7 @@ create or replace package body UDO_PKG_EQUIPDS_BASE as 'Модель обрабатывается или уже успешно обработана, изменение невозможно.'); end if; /* Исправим данные */ - update UDO_T_EQUIPDSCMML T - set T.TASK = STASK, - T.PRECISION_P = NPRECISION_P - where T.RN = NRN; + update UDO_T_EQUIPDSCMML T set T.TASK = STASK where T.RN = NRN; end CMML_UPD; /* Базовое удаление "Выборки данных оборудования (классы оборудования, модели)" */ diff --git a/db/UDO_T_EQUIPDSCMML.sql b/db/UDO_T_EQUIPDSCMML.sql index b15ccbb..3a5f7d6 100644 --- a/db/UDO_T_EQUIPDSCMML.sql +++ b/db/UDO_T_EQUIPDSCMML.sql @@ -7,10 +7,10 @@ create table UDO_T_EQUIPDSCMML PRN number(17) not null, /* Задача (TCF - оценка технического состояния (Technical Condition Forecast), RUL - прогнозирование остаточного ресурса (Remaining Useful Life), FP - Прогнозирование отказа (Failure Predict)) */ TASK varchar2(3) default 'RUL' not null, - /* Точность (план) */ - PRECISION_P number(3) not null, + /* Точность (план) - не используется */ + PRECISION_P number(3) default 100 not null, /* Точность (факт) */ - PRECISION_F number(3) default null, + PRECISION_F number(17,2) default null, /* Идентификатор очереди обработки */ QUEUE_ID varchar2(200) default null, /* Состояние (0 - зарегистрирована, 1 - обрабатывается внешней системой, 2 - успешно обработана внешней системой, 3 - при обработке внешней системой произошла ошибка) */ @@ -25,12 +25,12 @@ create table UDO_T_EQUIPDSCMML constraint UDO_C_EQUIPDSCMML_TASK_NB check (rtrim(TASK) is not null), constraint UDO_C_EQUIPDSCMML_TASK_CH check (TASK in ('TCF', 'RUL', 'FP')), constraint UDO_C_EQUIPDSCMML_PRECP_CH check ((PRECISION_P > 0) and (PRECISION_P <= 100)), - constraint UDO_C_EQUIPDSCMML_PRECF_CH check ((PRECISION_F is null) or ((PRECISION_F is not null) and (PRECISION_F > 0) and (PRECISION_F <= 100))), + constraint UDO_C_EQUIPDSCMML_PRECF_CH check ((PRECISION_F is null) or ((PRECISION_F is not null) and (PRECISION_F >= 0))), constraint UDO_C_EQUIPDSCMML_QID_NB check ((QUEUE_ID is null) or (rtrim(QUEUE_ID) is not null)), constraint UDO_C_EQUIPDSCMML_QID_CH check (((STATUS in (1, 2)) and (QUEUE_ID is not null)) or ((STATUS not in (1, 2)) and (QUEUE_ID is null))), constraint UDO_C_EQUIPDSCMML_STATUS_CH check (STATUS in (0, 1, 2, 3)), constraint UDO_C_EQUIPDSCMML_ERR_NB check ((ERR is null) or (rtrim(ERR) is not null)), constraint UDO_C_EQUIPDSCMML_ERR_CH check (((STATUS in (3)) and (ERR is not null)) or ((STATUS not in (3)) and (ERR is null))), - constraint UDO_C_EQUIPDSCMML_UN unique (PRN, TASK, PRECISION_P), + constraint UDO_C_EQUIPDSCMML_UN unique (PRN, TASK), constraint UDO_C_EQUIPDSCMML_QID_UN unique (QUEUE_ID) ); diff --git a/panels/eqs_tech_cond_forecast/admin_tab.js b/panels/eqs_tech_cond_forecast/admin_tab.js index f4f1c5d..6e17fea 100644 --- a/panels/eqs_tech_cond_forecast/admin_tab.js +++ b/panels/eqs_tech_cond_forecast/admin_tab.js @@ -281,7 +281,6 @@ const AdminTab = ({ dataSelection = DS_RN_DEFAULT, dataSelectionClassMachine = n args: { NPRN: equipDataSelectionClassMachine, STASK: values.task, - NPRECISION_P: values.precisionP ? parseInt(values.precisionP) : null, NDATASET_ID: values.dataset ? parseInt(values.dataset) : null } }); diff --git a/panels/eqs_tech_cond_forecast/admin_tab_layout.js b/panels/eqs_tech_cond_forecast/admin_tab_layout.js index 4fc2183..8deda27 100644 --- a/panels/eqs_tech_cond_forecast/admin_tab_layout.js +++ b/panels/eqs_tech_cond_forecast/admin_tab_layout.js @@ -511,7 +511,6 @@ const EquipDataSelectionClassMachineModelIU = ({ classMachine, onOk, onCancel }) //Собственное состояние - значения формы const [values, setValues] = useState({ task: "RUL", - precisionP: null, dataset: null }); @@ -533,13 +532,6 @@ const EquipDataSelectionClassMachineModelIU = ({ classMachine, onOk, onCancel }) onChange={handleValueChanged} list={TASK_LIST} /> -