Skip to content
This repository has been archived by the owner on Jun 21, 2018. It is now read-only.
/ torg-aqua Public archive

Программа интеграции между системами ТОРГ и АКВа

Notifications You must be signed in to change notification settings

LtdArink-Group/torg-aqua

Repository files navigation

KSAZD2AQUa

Интеграция ИС КСАЗД и ИС АКВа

Общие положения

Внешний интерфейс системы доступен по адресу http://ksazd-aqua.rao-esv.ru

Синхронизация данных по проектам производится ежесуточно в 07:30. Синхронизация данных по лотам производится каждые 10 минут.

Установка и настройка

Требования к окружению

Для установки модуля интеграции требуется наличие интерпретатора языка Ruby версии 2.1.0 или выше.

Установка

Установка производится в директорию /home/deployer/apps/ksazd2aqua. Если будет использована другая директория, то нужно изменить пути в файлах config/ksazd2aqua.sh, config/nginx.conf.

Для установки приложения нужно перейти в директорию приложения, и запустить команды

$ git clone [email protected]:kodram/ksazd2aqua.git .
$ bundle

Настройка

Для настройки параметров системы нужно скопировать файл config/configuration.example.yml в config/configuration.yml и указать в нем параметры подключения к базе данных и веб-сервисам. Если на сервере не используется proxy для доступа к веб-ресурсам, то нужно удалить параметр soap.proxy в конфигурационном файле. Пользователь базы данных для приложения должен иметь грант select на таблицы схемы ksazd.

Создание таблиц требующихся для работы системы и заполнение данными справочников производится командой

$ bundle exec rake db:setup

Настройка cron-задач для загрузки проектов и передачи лотов производится командой

$ bundle exec whenever -w

Проверить результат выполнения можно запуском команды

crontab -l

Перед запуском веб-сервера необходимо создать символьные ссылки на файлы конфигурации nginx и скрипт запуска веб-сервера

$ ln -nfs config/nginx.conf /etc/nginx/sites-available/ksazd2aqua
$ ln -nfs config/ksazd2aqua.sh /etc/init.d/thin-ksazd2aqua

Запуск веб-сервера производится командой

$ bin/start

Обновление

Для обновления системы следует перейти в директорию системы и запустить команды

$ git pull
$ bin/restart

Эксплуатация системы

Для мониторинга состояния системы можно пользоваться веб-интерфейсом. Более подробная информация о работе системы находится в log-файлах в директории logs.

Типичные ошибки и их устранение

Текущие ошибки интеграции отображаются в таблице на странице http://ksazd-aqua.rao-esv.ru. Если текст ошибки начинается с префикса "КСАЗД:" это ошибка на стороне модуля интеграции. Если текст ошибки начинается с префикса "АКВА:" это ошибка на стороне веб-сервиса ИС АКВа.

Ошибки на стороне модуля интеграции

Не удалось найти заказчика АКВА для id ### или Не удалось найти подразделение-куратор АКВА для id ###

В мэппинг-таблицах departments или monitor_services отсутствует строка с соответствующим идентификатором. Для устранения подобных ошибок нужно согласовать добавление соответствующих значений в справочники АКВа с департаментом закупок РусГидро и отправить согласование администраторам АКВа для добавления этих значений в их справочник, а затем внести соответствующие изменения в мэппинг-таблицы.

Другие ошибки

Могут быть связанны с не конистентностью данных в КСАЗД либо программной ошибкой. Для диагностики подобной ошибки нужно подставить значения GUID'ов для лота, в котором произошла ошибка в строки #5 и #6 файла rakelib/test.rake. После чего запустить команды

$ bundle exec rake test:aqua_lot
$ bundle exec rake test:contractors_list

и производить отладку приложения.

Ошибки на стороне веб-сервиса АКВа

Подробную информацию об ошибках на стороне веб-сервиса АКВа можно увидеть в логе загрузки лотов (логин: KSZAD, пароль: 654321)

Большая часть из них связанна с ограничениями на отсутствие данных в обязательных для заполнения полях, и может быть исправлена заполнением соответствующих полей в ИС КСАЗД.

Иногда могут быть ошибки связанные с отсутствием данных в справочниках АКВа. Для устраниения подобных ошибок следует связаться с администраторами ИС АКВа.

(soap-env:Server) Ошибка при обработке веб-сервиса

Ошибка при обработке xml-пакета. Для диагностики ошибки нужно подставить значения GUID'ов для лота, в котором произошла ошибка в строки #7 и #8 файла rakelib/aqua.rake. После чего запустить команды

$ bundle exec rake aqua:new_lot
$ bundle exec rake aqua:vcr_to_xml\[lots\]

и отправить файл fixtures/vcr_cassettes/lots.xml администраторам системы АКВа для разбора.

Перед запуском команд нужно удалить файл fixtures/vcr_cassettes/lots.yml.

About

Программа интеграции между системами ТОРГ и АКВа

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published