Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Проект написан на Zend Frameowk.

Код лежит в SVN репозитории. Доступ будет предоставлен.

К коду нужно писать комментарии на английском.

Комментарии к импорт скрипту должны быть написаны практически к каждой новой строке ибо это критическая часть проекта.

Описание проекта.

Есть датчики которые меряют физические величины (температура, давление, напряжение, мощность и т.д.) и записывают данные в CSV файл. Файл выглядит так:

Дата, MP1, MP2…

13-06-2012 00:01:38 , 9758, 23.392

13-06-2012 00:03:38 , 9754, 25.302

13-06-2012 00:05:38 , 9784, 24.292

13-06-2012 00:07:38 , 9732, 28.192

MP означает Measurement Point.

Файл импортируется импорт скриптом в базу данных. Есть веб приложение где настраиваются параметры импорта. Для каждого MP можно настроить свой параметр alert value – это критическое значение величины. Если значение превышено/занижено – отсылается alert по email.

Пример формы где настраиваются alert value - cмотри аттач. Столбцы

– Send alert IF value

– Alert value

Импорт скрипт проходит CSV файл с импортируемыми данными строка за строкой, вносит данные в БД, и если в строке выполняется условие для alert – шлет письмо что превышено/занижено значение какого то MP.

Что нужно добавить.

В форму добавить возможность писать advanced alert conditions. Например:

((MP1 + MP2) >= MP10) AND MP5

MP3 > MP4 + 10

MP1 > 1 / sqrt(MP2)

Т.е можно писать стандартные математические выражения и использовать стандартные математические функции.

В нижней части существующей формы нужно добавить секцию:

Advanced alert conditions

В ней должны быть отображены текущие advanced alerts.

Возле каждого такого advanced alert должна быть иконка – Delete advanced alert

При нажатии показывать javascript popup: Are you sure ? Yes/No

Также должна быть кнопка: Add advanced alert

При нажатии – появляться строка где можно написать advanced alert.

Должна быть возможность удалить advacned alert.

При сохранении формы нужно протестировать что advanced alert написан правильно. Для этого можно взять первую строку из CSV файла (эти данные уже достаются в текущем коде) , подставить числа вместо MP и посмотреть что условие корректно, т.е импорт скрипт не упадет при импорте. Если же не удалось получить строку из CSV файла – взять рандомные значение для MP и протестировать что условие синтаксически верно.

Если условие некорректно, например

MP

MP100 >= 20 (не существует MP100)

MP1 >= MP2 MP3

и т.п. то после сохранении формы показать эту же форму (это уже реализовано), подстветить input area красным и вывести сообщение об ошибке что такой то advanced alert написано неверно.

Нужно модифицировать импорт скрипт.

Нужно взять текущий импорт скрипт и дополнительно научить его проверять также advanced alert conditions при импорте каждой строки. Если по каким либо причинам импорт скрипт не сможет обработать advacned alert condition – то он должен показать сообщение об этом и корректно продолжить работу.

12 лет назад
Squash
40 летУкраина
12 лет в сервисе
Был
11 лет назад