{"action":"created","issue":{"url":"https://api.github.com/repos/e-government-ua/i/issues/573","labels_url":"https://api.github.com/repos/e-government-ua/i/issues/573/labels{/name}","comments_url":"https://api.github.com/repos/e-government-ua/i/issues/573/comments","events_url":"https://api.github.com/repos/e-government-ua/i/issues/573/events","html_url":"https://github.com/e-government-ua/i/issues/573","id":95843432,"number":573,"title":"На централе (wf-central) реализовать набор сущностей с корнем Place, для организации всех регионов, районов, и населенных пунктов в единую унифицированную структуру, и сервисы работы с ними","user":{"login":"bvv4ik","id":4208821,"avatar_url":"https://avatars.githubusercontent.com/u/4208821?v=3","gravatar_id":"","url":"https://api.github.com/users/bvv4ik","html_url":"https://github.com/bvv4ik","followers_url":"https://api.github.com/users/bvv4ik/followers","following_url":"https://api.github.com/users/bvv4ik/following{/other_user}","gists_url":"https://api.github.com/users/bvv4ik/gists{/gist_id}","starred_url":"https://api.github.com/users/bvv4ik/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bvv4ik/subscriptions","organizations_url":"https://api.github.com/users/bvv4ik/orgs","repos_url":"https://api.github.com/users/bvv4ik/repos","events_url":"https://api.github.com/users/bvv4ik/events{/privacy}","received_events_url":"https://api.github.com/users/bvv4ik/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/e-government-ua/i/labels/active","name":"active","color":"eb6420"},{"url":"https://api.github.com/repos/e-government-ua/i/labels/hi%20priority","name":"hi priority","color":"e11d21"},{"url":"https://api.github.com/repos/e-government-ua/i/labels/In%20process%20of%20testing","name":"In process of testing","color":"d4c5f9"},{"url":"https://api.github.com/repos/e-government-ua/i/labels/test","name":"test","color":"5319e7"}],"state":"open","locked":false,"assignee":{"login":"RoOmel","id":12996514,"avatar_url":"https://avatars.githubusercontent.com/u/12996514?v=3","gravatar_id":"","url":"https://api.github.com/users/RoOmel","html_url":"https://github.com/RoOmel","followers_url":"https://api.github.com/users/RoOmel/followers","following_url":"https://api.github.com/users/RoOmel/following{/other_user}","gists_url":"https://api.github.com/users/RoOmel/gists{/gist_id}","starred_url":"https://api.github.com/users/RoOmel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/RoOmel/subscriptions","organizations_url":"https://api.github.com/users/RoOmel/orgs","repos_url":"https://api.github.com/users/RoOmel/repos","events_url":"https://api.github.com/users/RoOmel/events{/privacy}","received_events_url":"https://api.github.com/users/RoOmel/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/e-government-ua/i/milestones/5","html_url":"https://github.com/e-government-ua/i/milestones/BackEnd-REST-Activiti_Java","labels_url":"https://api.github.com/repos/e-government-ua/i/milestones/5/labels","id":1063352,"number":5,"title":"BackEnd-REST-Activiti_Java","description":"Разработка кастомных общих API/REST, которые вначале позволят реализовывать  нужные нам сервисы по авторизации(и не только), а потом станут общей-единой точкой входа, включающую текущие REST Activiti","creator":{"login":"bvv4ik","id":4208821,"avatar_url":"https://avatars.githubusercontent.com/u/4208821?v=3","gravatar_id":"","url":"https://api.github.com/users/bvv4ik","html_url":"https://github.com/bvv4ik","followers_url":"https://api.github.com/users/bvv4ik/followers","following_url":"https://api.github.com/users/bvv4ik/following{/other_user}","gists_url":"https://api.github.com/users/bvv4ik/gists{/gist_id}","starred_url":"https://api.github.com/users/bvv4ik/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bvv4ik/subscriptions","organizations_url":"https://api.github.com/users/bvv4ik/orgs","repos_url":"https://api.github.com/users/bvv4ik/repos","events_url":"https://api.github.com/users/bvv4ik/events{/privacy}","received_events_url":"https://api.github.com/users/bvv4ik/received_events","type":"User","site_admin":false},"open_issues":26,"closed_issues":94,"state":"open","created_at":"2015-04-11T19:27:45Z","updated_at":"2015-09-04T09:15:41Z","due_on":null,"closed_at":null},"comments":10,"created_at":"2015-07-18T17:24:28Z","updated_at":"2015-09-04T10:10:09Z","closed_at":null,"body":"|Phase       | Status    | Responsible |\r\n|------------  |------------|------------       |\r\n|Dev. build | ![Complete 100%](http://progressed.io/bar/88 \"Complete\") | @dgroup |\r\n|Dev. QA    | ![Complete 100%](http://progressed.io/bar/88 \"Complete\")   | @dgroup |\r\n|BA (API)    | ![Complete 100%](http://progressed.io/bar/50 \"Complete\")   | @dgroup |\r\n|QA            | ![Complete 100%](http://progressed.io/bar/0 \"Complete\")     | ? |\r\n\r\n- [x] 1) Сущности:\r\n- [x] 1.1) Сущность Place - \"место\"\r\nПоля:\r\n- nID - ИД-номер (автоитерируемый-уникальный)\r\n- nID_PlaceType - ИД-номер типа\r\n- sID_UA - ИД-строка (уникальный) общеукраинский код классификатора (КОАТИИ)\r\n- sName - строка-название (например: \"Днепропетровск\", \"Днепропетровская\")\r\n- sNameOriginal - строка-название оригинальное (например: \"ЛУЧИСТІВСЬКА/С.ЛУЧИСТЕ\")\r\n- [x] 1.2) Сущность PlaceType - \"тип места\"\r\nПоля:\r\n- nID - ИД-номер (автоитерируемый-уникальный)\r\n- nOrder - порядковый номер\r\n- sName - строка-название (например: \"Область\", \"Город\", \"Село\")\r\n- bArea - булевый, \"Площадь\" (true = область/район/регион и т.д.)\r\n- bRoot - булевый, \"Корень\" (true = административная еденица страны)\r\n- [x] 1.3) Сущность PlaceTree - \"дерево мест\"\r\nПоля:\r\n- nID_Place - ИД-номер места\r\n- nID_Place_Root - ИД-номер места-корня\r\n- nID_Place_Area - ИД-номер места-площади\r\n- nID_Place_Parent - ИД-номер места-родителя\r\n\r\n- [x] 2) Сервисы мест:\r\n- [x] 2.1) getPlacesTree\r\nПараметры:\r\n- nID //опциональный, если задан то с указанного узла дерева\r\n- sID_UA //опциональный, если задан то с указанного узла дерева\r\n- nID_PlaceType //опциональный, если задан то только заданные типы узлов дерева\r\n- bArea //опциональный, если задан - выбрать только те что с соответственным bArea\r\n- bRoot //опциональный, если задан - выбрать только те что с соответственным bRoot\r\n- nDeep //опциональный, если задан - выбрать только это число вложений по дереву\r\n- [x] 2.2) getPlace\r\nПараметры:\r\n- nID //опциональный, если задан - sID_UA\r\n- sID_UA //опциональный, если задан - nID\r\n- bTree //опциональный, если задан - выводить рекурсивно  все дерево до корня\r\n- [x] 2.3) setPlace - инсертер и апдейтер одновременно\r\nПараметры:\r\n- nID //опциональный, если задан - sID_UA\r\n- sID_UA //опциональный, если задан - nID\r\n- остальные параметры сущности\r\n- [x] 2.4) removePlace\r\nПараметры:\r\n- nID //опциональный, если задан - sID_UA\r\n- sID_UA //опциональный, если задан - nID\r\n\r\n- [x] 3) Сервисы типов мест:\r\n- [x] 3.1) getPlaceTypes\r\nПараметры:\r\n- bArea //опциональный, если задан - выбрать только те что с соответственным bArea\r\n- bRoot //опциональный, если задан - выбрать только те что с соответственным bRoot\r\n- [x] 3.2) getPlaceType\r\nПараметры:\r\n- nID\r\n- [x] 3.3) setPlaceType - инсертер и апдейтер одновременно\r\nПараметры:\r\n- nID\r\n- остальные параметры сущности\r\n- [x] 3.4) removePlaceType\r\nПараметры:\r\n- nID\r\n\r\n- [ ] 4) Занести данные из класификатора в csv-шки\r\nhttp://www.ukrstat.gov.ua/klasf/klasif/koatuu.rar\r\n\r\n- [ ] 5) Добавить в доку\r\n\r\nУже в конце всего, после успешных тестов:\r\n- [ ] 6) Добавить в сущность ServiceData поле nID_Place, и по проставлять соответствующие ИД-шники-синонимы текущих мест, и выдавать только ближайших +1 уровень (nDeep=2)"},"comment":{"url":"https://api.github.com/repos/e-government-ua/i/issues/comments/137695593","html_url":"https://github.com/e-government-ua/i/issues/573#issuecomment-137695593","issue_url":"https://api.github.com/repos/e-government-ua/i/issues/573","id":137695593,"user":{"login":"RoOmel","id":12996514,"avatar_url":"https://avatars.githubusercontent.com/u/12996514?v=3","gravatar_id":"","url":"https://api.github.com/users/RoOmel","html_url":"https://github.com/RoOmel","followers_url":"https://api.github.com/users/RoOmel/followers","following_url":"https://api.github.com/users/RoOmel/following{/other_user}","gists_url":"https://api.github.com/users/RoOmel/gists{/gist_id}","starred_url":"https://api.github.com/users/RoOmel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/RoOmel/subscriptions","organizations_url":"https://api.github.com/users/RoOmel/orgs","repos_url":"https://api.github.com/users/RoOmel/repos","events_url":"https://api.github.com/users/RoOmel/events{/privacy}","received_events_url":"https://api.github.com/users/RoOmel/received_events","type":"User","site_admin":false},"created_at":"2015-09-04T10:10:09Z","updated_at":"2015-09-04T10:10:09Z","body":"1. request\r\nhttps://test.igov.org.ua/wf-central/service/getPlacesTree?nID=459&nDeep=1\r\nresponse\r\n200 ОК\r\n{\r\n    \"nLevelArea\": null,\r\n    \"nLevel\": 0,\r\n    \"o\": {\r\n        \"sID_UA\": \"5923500000\",\r\n        \"nID\": 459,\r\n        \"sName\": \"Недригайлівський район/смт Недригайлів\",\r\n        \"nID_PlaceType\": 2,\r\n        \"sNameOriginal\": \"\"\r\n    },\r\n    \"a\": [\r\n        {\r\n            \"nLevelArea\": null,\r\n            \"nLevel\": 1,\r\n            \"o\": {\r\n                \"sID_UA\": \"5923555100\",\r\n                \"nID\": 460,\r\n                \"sName\": \"Недригайлів\",\r\n                \"nID_PlaceType\": 4,\r\n                \"sNameOriginal\": \"\"\r\n            },\r\n            \"a\": []\r\n        }\r\n    ]\r\n}\r\nОтвет на запрос без параметра nDeep такой же, т.е. значение \"1\" параметра задано по умолчанию.\r\n2. request\r\nhttps://test.igov.org.ua/wf-central/service/getPlacesTree?nID=459&nDeep=2\r\nresponse\r\n200 ОК\r\n{\r\n    \"nLevelArea\": null,\r\n    \"nLevel\": 0,\r\n    \"o\": {\r\n        \"sID_UA\": \"5923500000\",\r\n        \"nID\": 459,\r\n        \"sName\": \"Недригайлівський район/смт Недригайлів\",\r\n        \"nID_PlaceType\": 2,\r\n        \"sNameOriginal\": \"\"\r\n    },\r\n    \"a\": [\r\n        {\r\n            \"nLevelArea\": null,\r\n            \"nLevel\": 1,\r\n            \"o\": {\r\n                \"sID_UA\": \"5923555100\",\r\n                \"nID\": 460,\r\n                \"sName\": \"Недригайлів\",\r\n                \"nID_PlaceType\": 4,\r\n                \"sNameOriginal\": \"\"\r\n            },\r\n            \"a\": [\r\n                {\r\n                    \"nLevelArea\": null,\r\n                    \"nLevel\": 2,\r\n                    \"o\": {\r\n                        \"sID_UA\": \"5923584401\",\r\n                        \"nID\": 458,\r\n                        \"sName\": \"Вільшана\",\r\n                        \"nID_PlaceType\": 5,\r\n                        \"sNameOriginal\": \"\"\r\n                    },\r\n                    \"a\": []\r\n                },\r\n                {\r\n                    \"nLevelArea\": null,\r\n                    \"nLevel\": 2,\r\n                    \"o\": {\r\n                        \"sID_UA\": \"5923555101\",\r\n                        \"nID\": 461,\r\n                        \"sName\": \"Вакулки\",\r\n                        \"nID_PlaceType\": 5,\r\n                        \"sNameOriginal\": \"\"\r\n                    },\r\n                    \"a\": []\r\n                },\r\n                {\r\n                    \"nLevelArea\": null,\r\n                    \"nLevel\": 2,\r\n                    \"o\": {\r\n                        \"sID_UA\": \"5923555102\",\r\n                        \"nID\": 462,\r\n                        \"sName\": \"Віхове\",\r\n                        \"nID_PlaceType\": 5,\r\n                        \"sNameOriginal\": \"\"\r\n                    },\r\n                    \"a\": []\r\n                }\r\n            ]\r\n        }\r\n    ]\r\n}\r\nНа самом деле параметр nDeep со значением \"2\" в данном запросе определяет уровень  вложений по дереву и отображает все дочерние узлы 1-го и 2-го уровней. При этом параметр nDeep со значением \"3\" или \"4\" возвращает тот же результат для данного родительского узла.\r\n\r\n"}}