Экранирование переносов строк в описаниях файлов данных выборки, вывод ЕИ для "Точности"

This commit is contained in:
Mikhail Chechnev 2025-03-05 17:43:16 +03:00
parent 012960995a
commit c0599da7c3
3 changed files with 43 additions and 9 deletions

View File

@ -911,13 +911,13 @@ create or replace package body UDO_PKG_EQUIPDS as
SCAPTION => 'Действия', SCAPTION => 'Действия',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR); SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR);
/* Обходим данные */ /* Обходим данные */
for C in (select T.RN NRN, for C in (select T.RN NRN,
T.DATASET_ID NDATASET_ID, T.DATASET_ID NDATASET_ID,
T.DATASET_TS DDATASET_TS, T.DATASET_TS DDATASET_TS,
T.FILE_NAME SFILE_NAME, T.FILE_NAME SFILE_NAME,
T.DESCR SDESCR, replace(replace(T.DESCR, CHR(13) || CHR(10), '<br>'), CHR(10), '<br>') SDESCR,
T.STATUS NSTATUS, T.STATUS NSTATUS,
T.ERR SERR T.ERR SERR
from UDO_T_EQUIPDSCMFL T from UDO_T_EQUIPDSCMFL T
where T.PRN = NEQUIPDSCM where T.PRN = NEQUIPDSCM
order by T.RN) order by T.RN)
@ -1142,6 +1142,11 @@ create or replace package body UDO_PKG_EQUIPDS as
SNAME => 'NPRECISION_F', SNAME => 'NPRECISION_F',
SCAPTION => 'Точность', SCAPTION => 'Точность',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB); SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SDICMUNTS',
SCAPTION => 'Единица измерения',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR,
BVISIBLE => false);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SDATASET', SNAME => 'SDATASET',
SCAPTION => 'Выборка', SCAPTION => 'Выборка',
@ -1163,6 +1168,7 @@ create or replace package body UDO_PKG_EQUIPDS as
for C in (select T.RN NRN, for C in (select T.RN NRN,
T.TASK STASK, T.TASK STASK,
T.PRECISION_F NPRECISION_F, T.PRECISION_F NPRECISION_F,
DM.MEAS_MNEMO SDICMUNTS,
T.DATASET_ID NDATASET_ID, T.DATASET_ID NDATASET_ID,
(select F.DATASET_TS (select F.DATASET_TS
from UDO_T_EQUIPDSCMFL F from UDO_T_EQUIPDSCMFL F
@ -1170,14 +1176,19 @@ create or replace package body UDO_PKG_EQUIPDS as
and ROWNUM <= 1) DDATASET_TS, and ROWNUM <= 1) DDATASET_TS,
T.STATUS NSTATUS, T.STATUS NSTATUS,
T.ERR SERR T.ERR SERR
from UDO_T_EQUIPDSCMML T from UDO_T_EQUIPDSCMML T,
where T.PRN = NEQUIPDSCM UDO_T_EQUIPDSCM CM,
DICMUNTS DM
where CM.RN = NEQUIPDSCM
and T.PRN = CM.RN
and CM.DICMUNTS = DM.RN
order by T.RN) order by T.RN)
loop loop
/* Добавляем колонки с данными */ /* Добавляем колонки с данными */
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 => '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 => 'STASK', SVALUE => C.STASK);
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 => 'NPRECISION_F', NVALUE => C.NPRECISION_F);
PKG_P8PANELS_VISUAL.TDG_ROW_ADD_COL(RROW => RDG_ROW, SNAME => 'SDICMUNTS', SVALUE => C.SDICMUNTS);
PKG_P8PANELS_VISUAL.TDG_ROW_ADD_COL(RROW => RDG_ROW, PKG_P8PANELS_VISUAL.TDG_ROW_ADD_COL(RROW => RDG_ROW,
SNAME => 'SDATASET', SNAME => 'SDATASET',
SVALUE => UDO_PKG_EQUIPDS_BASE.UTL_DATASET_MAKE_NAME(NDATASET_ID => C.NDATASET_ID, SVALUE => UDO_PKG_EQUIPDS_BASE.UTL_DATASET_MAKE_NAME(NDATASET_ID => C.NDATASET_ID,
@ -1340,6 +1351,11 @@ create or replace package body UDO_PKG_EQUIPDS as
SNAME => 'NPRECISION_F', SNAME => 'NPRECISION_F',
SCAPTION => 'Точность', SCAPTION => 'Точность',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB); SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SDICMUNTS',
SCAPTION => 'Единица измерения',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR,
BVISIBLE => false);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NSTATUS', SNAME => 'NSTATUS',
SCAPTION => 'Состояние', SCAPTION => 'Состояние',
@ -1360,13 +1376,16 @@ create or replace package body UDO_PKG_EQUIPDS as
DS.NAME SNEQUIPDS, DS.NAME SNEQUIPDS,
T.TASK STASK, T.TASK STASK,
T.PRECISION_F NPRECISION_F, T.PRECISION_F NPRECISION_F,
DM.MEAS_MNEMO SDICMUNTS,
T.STATUS NSTATUS, T.STATUS NSTATUS,
T.ERR SERR T.ERR SERR
from UDO_T_EQUIPDSCMML T, from UDO_T_EQUIPDSCMML T,
UDO_T_EQUIPDSCM CM, UDO_T_EQUIPDSCM CM,
UDO_T_EQUIPDS DS UDO_T_EQUIPDS DS,
DICMUNTS DM
where T.PRN = CM.RN where T.PRN = CM.RN
and CM.PRN = DS.RN and CM.PRN = DS.RN
and CM.DICMUNTS = DM.RN
and CM.EQOBJKIND = (select CF.OBJ_KIND from EQCONFIG CF where CF.RN = NEQCONFIG) and CM.EQOBJKIND = (select CF.OBJ_KIND from EQCONFIG CF where CF.RN = NEQCONFIG)
order by T.RN) order by T.RN)
loop loop
@ -1377,6 +1396,7 @@ create or replace package body UDO_PKG_EQUIPDS as
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 => '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 => 'STASK', SVALUE => C.STASK);
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 => 'NPRECISION_F', NVALUE => C.NPRECISION_F);
PKG_P8PANELS_VISUAL.TDG_ROW_ADD_COL(RROW => RDG_ROW, SNAME => 'SDICMUNTS', SVALUE => C.SDICMUNTS);
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 => 'NSTATUS', NVALUE => C.NSTATUS);
PKG_P8PANELS_VISUAL.TDG_ROW_ADD_COL(RROW => RDG_ROW, SNAME => 'SERR', SVALUE => C.SERR); PKG_P8PANELS_VISUAL.TDG_ROW_ADD_COL(RROW => RDG_ROW, SNAME => 'SERR', SVALUE => C.SERR);
PKG_P8PANELS_VISUAL.TDG_ROW_ADD_COL(RROW => RDG_ROW, SNAME => 'SACTIONS'); PKG_P8PANELS_VISUAL.TDG_ROW_ADD_COL(RROW => RDG_ROW, SNAME => 'SACTIONS');
@ -1500,6 +1520,11 @@ create or replace package body UDO_PKG_EQUIPDS as
SCAPTION => 'Данные карточки прогноза для конкретного технического объекта', SCAPTION => 'Данные карточки прогноза для конкретного технического объекта',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR,
BVISIBLE => false); BVISIBLE => false);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SDICMUNTS',
SCAPTION => 'Единица измерения',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR,
BVISIBLE => false);
/* Обходим данные */ /* Обходим данные */
for C in (select T.RN NRN, for C in (select T.RN NRN,
T.RQ_AUTHID SRQ_AUTHID, T.RQ_AUTHID SRQ_AUTHID,
@ -1553,6 +1578,7 @@ create or replace package body UDO_PKG_EQUIPDS as
SNAME => 'STO_FORECAST_DESC_COLOR', SNAME => 'STO_FORECAST_DESC_COLOR',
SVALUE => C.STO_FORECAST_DESC_COLOR); SVALUE => C.STO_FORECAST_DESC_COLOR);
PKG_P8PANELS_VISUAL.TDG_ROW_ADD_COL(RROW => RDG_ROW, SNAME => 'STO_FORECAST', SVALUE => C.STO_FORECAST); PKG_P8PANELS_VISUAL.TDG_ROW_ADD_COL(RROW => RDG_ROW, SNAME => 'STO_FORECAST', SVALUE => C.STO_FORECAST);
PKG_P8PANELS_VISUAL.TDG_ROW_ADD_COL(RROW => RDG_ROW, SNAME => 'SDICMUNTS', SVALUE => C.SDICMUNTS);
/* Добавляем строку в таблицу */ /* Добавляем строку в таблицу */
PKG_P8PANELS_VISUAL.TDG_ADD_ROW(RDATA_GRID => RDG, RROW => RDG_ROW); PKG_P8PANELS_VISUAL.TDG_ADD_ROW(RDATA_GRID => RDG, RROW => RDG_ROW);
end loop; end loop;

View File

@ -147,6 +147,8 @@ const formatFileStateValue = (theme, value, err) => {
//Форматирование колонок таблицы файлов класса оборудования выборки данных //Форматирование колонок таблицы файлов класса оборудования выборки данных
const filesListDataCellRender = ({ row, columnDef, theme, onDelete }) => { const filesListDataCellRender = ({ row, columnDef, theme, onDelete }) => {
switch (columnDef.name) { switch (columnDef.name) {
case "SDESCR":
return { data: <div dangerouslySetInnerHTML={{ __html: row.SDESCR }}></div> };
case "NSTATUS": case "NSTATUS":
return { return {
cellProps: { align: "left" }, cellProps: { align: "left" },
@ -168,6 +170,10 @@ const filesListDataCellRender = ({ row, columnDef, theme, onDelete }) => {
//Форматирование колонок таблицы моделей класса оборудования выборки данных //Форматирование колонок таблицы моделей класса оборудования выборки данных
const modelsListDataCellRender = ({ row, columnDef, theme, onDelete, onSendRq }) => { const modelsListDataCellRender = ({ row, columnDef, theme, onDelete, onSendRq }) => {
switch (columnDef.name) { switch (columnDef.name) {
case "NPRECISION_F":
return {
data: row.NSTATUS == 2 ? `${row.NPRECISION_F} ${row.SDICMUNTS}` : ""
};
case "NSTATUS": case "NSTATUS":
return { return {
cellProps: { align: "left" }, cellProps: { align: "left" },

View File

@ -78,7 +78,7 @@ const techObjCardModelsTableDataCellRender = ({ row, columnDef, theme, onGoToMod
return { return {
data: ( data: (
<Link component="button" variant="body2" align="left" underline="hover" onClick={() => onGoToModel(row)}> <Link component="button" variant="body2" align="left" underline="hover" onClick={() => onGoToModel(row)}>
{row[columnDef.name]} {`${row[columnDef.name]}${columnDef.name == "NPRECISION_F" && row.NSTATUS == 2 ? ` ${row.SDICMUNTS}` : ""}`}
</Link> </Link>
) )
}; };
@ -113,6 +113,8 @@ const techObjCardForecastListTableHeadCellRender = ({ columnDef }) => {
//Форматирование колонок таблицы истории прогнозов класса оборудования выборки данных //Форматирование колонок таблицы истории прогнозов класса оборудования выборки данных
const techObjCardForecastListTableDataCellRender = ({ row, columnDef, onShowForecastDetail }) => { const techObjCardForecastListTableDataCellRender = ({ row, columnDef, onShowForecastDetail }) => {
switch (columnDef.name) { switch (columnDef.name) {
case "NEQUIPDSCMML_PRECISION_F":
return { data: `${row.NEQUIPDSCMML_PRECISION_F} ${row.SDICMUNTS}` };
case "STO_FORECAST_DESC": case "STO_FORECAST_DESC":
return { return {
cellProps: { align: "right" }, cellProps: { align: "right" },