Проектирование пользовательского интерфейса для журнала дискретных значений
Отчёт по дискретным значениям отражает изменение состояния конкретного сигнала за определённый интервал времени.
Для генерации данного отчёта используется следующий sql-запрос:
select concat(substr(tstamp,1,4),'-',substr(tstamp,5,2),'-',substr(tstamp,7,2),
' ',substr(tstamp,9,2),':',substr(tstamp,11,2)) tstamp,
value,
case vf when '0' then '' when '1' then '#' end vf,
hand, a_ext from dx where code=:pCode
and tstamp between :pStart and :pStop
order by tstamp desc
В для генерации отчёта пользователю необходимо предоставить возможность выбрать один из сигналов, по которому и будет построен отчёт. Для этого используется такой запрос:
select distinct code from dx order by 1 asc
Запрос для выбора временных рядов выгладит так же, как в журнале недостоверных значений, только временные ряды извлекаются уже из таблицы с информацией об изменении дискретных значений:
select distinct tstamp from dx where code=:pCode order by 1 asc; - для pStart;
select distinct tstamp from dx where code=:pCode order by 1 desc; - для pStop;
Отчёт разрабатывается аналогично отчётам по недостоверным значениям.
WEB-интерфейс так же реализуется аналогично предыдущему. С помощью технологии JSONP с сервера загружаются временные ряды и коды сигналов.
При разработке WEB-интерфейса, необходимо было учесть, что при выборе временного интервала, в случае если начальное время позже чем конечное, отчет будет генерироваться неправильно и выводить пустой результат. Проблема решается сравнением начальных и конечных дат - начальное время должно быть меньше конечного (так как время в таблице представлено числом).
Предыдущая Вернуться Следующая
Замечания
- Отсутствует отчет* - детальное описание работы
- структура БД
- предметная область
- технология разработки отчетов
- технические проблемы и способы их решения