Модуль Drupal 7. Передача показаний приборов учета
Предлагаю ознакомиться с модулем Transfer meter readings. Этот модуль узко специализированный и большинству читателей, возможно, будет неинтересен. Модуль позволяет жителю многоквартирного дома передавать показания индивидуальных приборов учета в удобной форме на сайте управляющей организации, а управляющей организации в полуавтоматическом режиме обрабатывать эти данные.
Форма выбора адреса
Пользовательская частьСначала жителю предлагается заполнить адрес и номер лицевого счета. При правильном соответствии адреса и лицевого счета пользователь переходит на форму ввода показаний: Если по одному из счетчиков новые показания не были указаны, снова появится форма, но при этом ранее введенные значения уже не будут доступны для редактирования:
Когда по всем счетчикам переданы показания, отображается соответствующее уведомление:
Административная часть У администратора есть возможность:
Настроить формат импортируемого файла (файл с основными данными): Последовательность соответствий полей в базе данных и в файле; Указать разделители полей, символы экранирования и т.д.; Настроить формат экспортируемого файла (с переданными показаниями); Разблокировать или заблокировать любое введенное показание счетчика; Список обязательных полей, которые должны присутствовать в файле с основными данными:
Хочу обратить внимание, что поля «обязательные» не для галочки, если одно из полей будет недоступно или пустым, то строка с этим полем не попадет в таблицу с общими данными. Пример как должен выглядеть правильный файл с основными данными (для импорта):
»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 опубликую в песочнице в ближайшее время.
Приму любые замечания по коду и переводу модуля.
Спасибо за внимание.