WINNUM Community
Создание своей страницы - Версия для печати

+- WINNUM Community (https://community.winnum.io)
+-- Сообщество Все сообщества (https://community.winnum.io/forumdisplay.php?fid=1)
+--- Сообщество Разработка собственных приложений в WINNUM Platform (https://community.winnum.io/forumdisplay.php?fid=5)
+--- Темы: Создание своей страницы (/showthread.php?tid=9)



Создание своей страницы - wnadmin - 02-08-2024

Для создания своих приложений первое, что нужно научиться делать - это создавать свои страницы.

Создание страниц происходит в Java с использованием WINNUM SDK. SDK содержит кучу всего полезного, включая элементы пользовательского интерфейса (меню, формы, кнопки и тд). Все для того, чтобы максимально ускорить и упросить разработку своих приложений.

Созданные страницы на Java компилируются и копируются в специальные папки (в зависимости от назначения). Отрисовка страниц (написанных на Java) выполняется с помощью т.н. agw (application gateway), который с сумасшедшей скоростью печатает страницы в браузере.

Давайте создадим первую страницу на Java в WINNUM Platform. Для этого создадим новый класс, назовем его MaPage, в пакете winnum.views.my_app, пример:
Код:
package winnum.views.my_app;

import io.undertow.servlet.spec.*;
import winnum.system.config.ConfigHelper;
import winnum.system.exception.WNException;
import winnum.web.base.*;

public class MyPage {
//----------------------------------------------------------------------------------------
public static void processPage(HttpServletRequestImpl request, HttpServletResponseImpl response) throws WNException {
            
  PageMeta.streamHead(request, response, "Page Title", null);
  UIHelper.streamOut(response, "<body>", false);        
  PageHeader.streamAuthorizedHeader(request, response, true);

  UIHelper.streamOut(response, "Hello World!", false);
  UIHelper.streamOut(response, "</body></html>", true);
}
//----------------------------------------------------------------------------------------
}

Для компиляции нам потребуются следующие библиотеки:
  • winnum-platform.system-5.0.0.jar
  • winnum-platform.web-5.0.0.jar
  • undertow-servlet-1.3.15.Final.jar

Эти и другие библиотеки можно найти в <WINNUM Platform>/srclib.

После того, как наша первая страница готова, скомпилируем ее и скопируем в папку <WINNUM Platform>/views/winnum/views/my_app.

Все, на этом создание нашей страницы закончено, проще не бывает)

Для просмотра страницы в браузере вызываем ее через agw:
http://localhost/Winnum/views/pages/app/agw.jsp?rpc=winnum.views.my_app.MyPage&men=processPage&mode=yes


RE: Создание своей страницы - Сергей Борисов - 07-16-2024

Добрый день! Хотелось бы получить более подробную информацию по хэлперам WINNUM SDK, которые можно использовать для получения и обработки следующих данных:
  • сигналы оборудования
  • теги
  • календарь
  • смены оборудований

На текущий момент производству необходимы нестандартные информационные панели (дашборды) с отображением большого набора данных в онлайн режиме. К примеру, требуется выводить данные времён состояния тегов работы оборудования с учётом приоритетности тегов:
  • за текущую смену
  • за предыдущую смену или смены, если смен больше 2 в сутки
  • за текущий день, начиная с начала дня (00:00:00)
  • за неделю по сменам
  • за месяц по сменам

Например, для получения времени исполнения тегов с учётом приоритета за текущую смену использовал метод одного из хэлперлв, приведённый ниже, но какие передавать значения в аргументах для получения требуемых данных, не понятно. Какие временные штампы аргументов arg3 и arg4 нужно передавать и как их правильно выбрать? За что отвечают аргументы с arg6 по arg11 ?
Код:
JSONArray AppCalendarTagHelper.service.performTagCalculation(ServletContext arg0, WNApplicationInstance arg1, WNProduct arg2, Timestamp arg3, Timestamp arg4, List<WNTag> arg5, String arg6, boolean arg7, boolean arg8, boolean arg9, boolean arg10, boolean arg11, int arg12);


Хотелось бы получить более подробное описание каждого метода хелперов, т.к. растут потребности производства в использовании данных мониторинга WINNUM.
Спасибо!