...

вторник, 2 сентября 2014 г.

Модуль Drupal 7. Передача показаний приборов учета

Предлагаю ознакомиться с модулем Transfer meter readings. Этот модуль узко специализированный и большинству читателей, возможно, будет неинтересен. Модуль позволяет жителю многоквартирного дома передавать показания индивидуальных приборов учета в удобной форме на сайте управляющей организации, а управляющей организации в полуавтоматическом режиме обрабатывать эти данные.


Форма выбора адреса


Пользовательская часть




Сначала жителю предлагается заполнить адрес и номер лицевого счета. При правильном соответствии адреса и лицевого счета пользователь переходит на форму ввода показаний:


Если по одному из счетчиков новые показания не были указаны, снова появится форма, но при этом ранее введенные значения уже не будут доступны для редактирования:


Когда по всем счетчикам переданы показания, отображается соответствующее уведомление:


Административная часть





У администратора есть возможность:



  1. Настроить формат импортируемого файла (файл с основными данными):


    • Последовательность соответствий полей в базе данных и в файле;

    • Указать разделители полей, символы экранирования и т.д.;



  2. Настроить формат экспортируемого файла(с переданными показаниями);

  3. Разблокировать или заблокировать любое введенное показание счетчика;


Список обязательных полей, которые должны присутствовать в файле с основными данными:


Хочу обратить внимание, что поля «обязательные» не для галочки, если одно из полей будет недоступно или пустым, то строка с этим полем не попадет в таблицу с общими данными. Пример как должен выглядеть правильный файл с основными данными(для импорта):



"2014-05-01";"7200008701";"1";"ул. Циолковского ";"12345";"5";"7";"Петров Иван Сидорович";1;8702;"Водомер ХВ";25
"2014-05-01";"7200008701";"1";"ул. Циолковского ";"12345";"5";"7";"Петров Иван Сидорович";2;8703;"Водомер ГВ";10




Учитывайте, что для каждого счетчика должна быть отдельная строка с данными об адресе, месяцем учета, номером ЛС.

В месяце учета важны только месяц и год, день может быть любой(в пределах месяца). Например, значение «2014-05-12» вполне подходит.
Импорт/экспорт



На данный момент импорт и экспорт данных проходит только через текстовые файлы с разделителями. Экспорт показаний счетчиков производится в формате CSV. Для импорта подойдет любой текстовый файл с разделителями.
Алгоритм работы




  • Внесенные показания блокируются для изменения пользователями. Код блокировки 1;

  • По умолчанию экспортируются показания с кодом блокировки 1;

  • После экспорта показания помечаются как «выгруженные». Код блокировки 2;


Модуль находится под лицензией BSD.

Исходный код можно посмотреть на GitHub. На Drupal.org опубликую в песочнице в ближайшее время.


Приму любые замечания по коду и переводу модуля.


Спасибо за внимание.


This entry passed through the Full-Text RSS service - if this is your content and you're reading it on someone else's site, please read the FAQ at http://ift.tt/jcXqJW.


Комментариев нет:

Отправить комментарий