Разработать сервис обработки данных по реестрам ИПУ и показа
Функциональные требования к сервису.
Сервис периодически опрашивает хранилище с исходными данными и обработав их регистрирует в системе ЕРКЦ по учету ИПУ и показаний.
Варианты хранилищ с исходными данными.
1) Подготовленная директория в файловой системе сервера ЕРКЦ и готовыми реестрами ИПУ и показаний ИПУ в ней, в виде текстовых документов формата *.txt (Описание в Приложении 1)
2) Подготовленная директория в файловой системе сервера ЕРКЦ и готовыми реестрами ИПУ и показаний ИПУ в ней, в виде текстовых документов формата *.xls и *.xlsx (Описание в Приложении 2)
3) Удаленный онлайн сервис, в котором доступен функционал для получения онлайн реестров ИПУ и показаний ИПУ по определенным условиям. (Описание в Приложении 3)
Общий алгоритм занесения данных по ИПУ и показаний ИПУ:
1) Сервис определяет код поставщика услуг по адресу и номеру лс в структурах систем ЕРКЦ;
2) Сервис определяет открытый период передачи показаний ИПУ.
3) Сервис определяет идентификаторы по справочным данным в системе ЕРКЦ по учету ИПУ и показаний (вид услуги, тип прибора и т.д.)
4) Сервис регистрирует ИПУ и показания ИПУ.
a. Сервис проверяет наличие и статус закрытого ИПУ (по коду поставщика услуг, номеру лс и заводскому номеру ИПУ). Если ИПУ закрыт, то заносится новый ИПУ с текущими данными, иначе получает идентификатор открытого ИПУ. Сервис запоминает идентификатор.
b. Сервис заносит показания в привязке к зарегистрированному ИПУ и открытому периоду передачи показаний.
Алгоритм может меняться и применяться в зависимости от способа получения исходных данных из хранилищ.
Весь процесс обработки и занесения данных логируется (фиксируются сами этапы и результат обработки данных на каждом этапе).
Накопленный лог сохраняется в определенной директории файловой системы на сервере ЕРКЦ, в отдельном текстовом документе формата *.txt. Исходные данные также фиксируются с переносом документа в ту же папку, где хранятся логи обработки.
Технические требования.
Язык программирования – любой
Навыки работы с СУБД Postgresql.