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

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

View File

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

View File

@ -78,7 +78,7 @@ const techObjCardModelsTableDataCellRender = ({ row, columnDef, theme, onGoToMod
return {
data: (
<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>
)
};
@ -113,6 +113,8 @@ const techObjCardForecastListTableHeadCellRender = ({ columnDef }) => {
//Форматирование колонок таблицы истории прогнозов класса оборудования выборки данных
const techObjCardForecastListTableDataCellRender = ({ row, columnDef, onShowForecastDetail }) => {
switch (columnDef.name) {
case "NEQUIPDSCMML_PRECISION_F":
return { data: `${row.NEQUIPDSCMML_PRECISION_F} ${row.SDICMUNTS}` };
case "STO_FORECAST_DESC":
return {
cellProps: { align: "right" },