# buscmd
Скрипты для загрузки и обработки данных с портала bus.gov.ru
## Зависимости
Нужна утилита [xml-to-json](https://hackage.haskell.org/package/xml-to-json) доступная в PATH. Утилита является пакетом для Haskell и её можно установить командой ```cabal install xml-to-json```
О том как установить cabal можно прочитать тут https://wiki.haskell.org/Cabal/How_to_install_a_Cabal_package
Для работы зеркало FTP сервера bus.gov.ru должны находится в папке /data/ftp/bus.gov.ru
## Команды скрипта buscmd.py
Скрипт используется для загрузки данных с портала:
* listdata - загружает списки файлов из зеркала FTP в базу MongoDB для последующей обработки данных
* loadnsi - загружает списки файлов спарввочников из зеркала в FTP в базу MongoDB для последующей обработки
* process - обрабатывает выбранную категорию данных - выгружает данные для выбранной категории.
* stats - статистика по загруженным данным
* reset - полностью сбрасывает базу данных (БЕЗ предупреждения!)
## Пример запуска скрипта
Пролистать все ZIP файлы по категории StateTask
```
python buscmd.py listdata StateTask
python buscmd.py process StateTask
```
Получить статистику загрузки данных
```
python buscmd.py stats
```
## Виды данных
Подробнее в документации:
* institutionInfo - общая информация об учреждении;
* diverseInfo – иная иформация об учреждении;
* stateTask - информация о государственном (муниципальном) задании на
оказание государственных (муниципальных) услуг (выполнение работ)
и его исполнении;
* financialActivityPlan - информация о плане финансово-хозяйственной
деятельности;
* actionGrant - информация об операциях с целевыми средствами из
бюджета;
* budgetaryCircumstances - информация о показателях бюджетной сметы;
* activityResult - информация о результатах деятельности и об
использовании имущества;
* inspectionActivity - сведения о проведенных в отношении учреждения
контрольных мероприятиях и их результатах;
* annualAccountancy - информация о годовой бухгалтерской отчетности
учреждения;
* nsiFederalService - федеральный перечень государственных
(муниципальных) услуг (работ);
* nsiSubjectService - перечень государственных (муниципальных) услуг
(работ) субъекта РФ.
##Текущая статистика
category | total_files | not_loaded | count | size
---------------------- | ------------- | ------------ | ------- | ---------------
ActionGrant | 6426 | 0 | 507961 | 1909.64
ActivityResult | 11895 | 0 | 1101219 | 8561.38
BudgetaryCircumstances | 3164 | 0 | 214947 | 1830.27
DiverseInfo | 124 | 0 | 39838 | 145.467
FinancialActivityPlan | 7634 | 0 | 605227 | 2472.25
GeneralInfo | 3969 | 0 | 226407 | 1620.79
InspectionActivity | 5721 | 0 | 458704 | 2012.76
StateTask | 12643 | 0 | 1118463 | 16326.4
annualBalanceF0503121 | 2293 | 0 | 193106 | 5950.01
annualBalanceF0503127 | 1800 | 0 | 161709 | 2070.46
annualBalanceF0503130 | 2622 | 0 | 224756 | 7350.02
annualBalanceF0503137 | 289 | 0 | 161709 | 2070.46
annualBalanceF0503721 | 4999 | 0 | 448177 | 13674.6
annualBalanceF0503730 | 5071 | 0 | 457910 | 15988.5
annualBalanceF0503737 | 5356 | 0 | 472527 | 15679.1
regPublishedInfo | 0 | 0 | 0 | 0
nsiBudget | 246 | 0 | 24501 | 23.5558
nsiFederalService | 1 | 0 | 74 | 8.26433
nsiInstitutionType | 1 | 0 | 733 | 0.704636
nsiIt | 1 | 0 | 668 | 0.642151
nsiKbk | 98 | 98 | 195626 | 360.536
nsiKbkBudget | 98 | 0 | 97813 | 181.505
nsiKladr | 11675 | 0 | 1167473 | 1122.3
nsiOgs | 5507 | 0 | 550678 | 3607.01
nsiOkato | 93 | 0 | 184605 | 177.461
nsiOker | 1 | 0 | 8 | 0.00769043
nsiOkfs | 1 | 0 | 33 | 0.031723
nsiOkogu | 1 | 0 | 560 | 0.53833
nsiOkopf | 1 | 0 | 134 | 0.128815
nsiOktmo | 1685 | 0 | 361589 | 347.597
nsiOkved | 21 | 0 | 1996 | 1.93341
nsiPpo | 233 | 0 | 23299 | 22.3984
nsiSubjectService | 4 | 0 | 3130 | 59.9609
total | 93673 | 98 | 9005580 | 103577