Näidisteenus
SupplyCon’i veebipõhine jagatud andmekeskkond (Common Data Space) aitab korraldada sujuvamat suhtlust pea- ja alltöövõtjate vahel, kus kvaliteedikontrolli, tellimuste ja rahavoogude manageerimine toimub BIM mudeli kaudu. See on ehitaja (peatöövõtja) partnerite haldamise, sh tööpakettide ja päringute haldamise rakendus.
Vaata rohkem * link *
SupplyCon’il on soov liidestada e-ehituse platvormiga läbi kolme integratsiooni.
Ehituslubade ja kehtivate andmete päring
Ehitaja partnerite haldamise rakendus SupplyCon soovib teostada ehitatava objekti kohta olevate dokumentide ja lubade päringut. Kui SupplyCon soovib esitada ehitusluba:
- EHR’i API teenuse AET ehk andmete esitamise teatise kaudu esitada ehitise dokument vastavalt nõuetele.
Ehitusloa taotluse koostamine koosneb järgmistest vormidest:
- Seotud isikud
- Ehitised
- Üldandmed
- Kasutamise otstarve ja pinnad
- Asukoht
- Ruumikuju andmed
- Konstruktsioonid ja materjalid
- Tehnilised andmed
- Ehitise osad
- Dokumendid
- Esitatavad dokumendid
- Esitamine
POST /api/document/v1/document – Create application
{ "documentType": "string", "documentNumber": "string", "submissionDate": "2020-11-27T09:17:44.059Z", "notes": "string", "buildingData": { "address": { "id": 0, "address": "string" }, "ehrCode": "string", "buildingName": "string", "firstUsageYear": 0, "firstUsageYearNotExact": true, "expectedEndDateOfExploitation": "2020-11-27T09:17:44.059Z", "buildingType": { "code": "string", "value": "string", "description": "string", "additionalDescription": "string", "validToDate": "2020-11-27T09:17:44.059Z", "parameters": { "additionalProp1": {}, "additionalProp2": {}, "additionalProp3": {} } }, "buildingStatus": { "code": "string", "value": "string", "description": "string", "additionalDescription": "string", "validToDate": "2020-11-27T09:17:44.059Z", "parameters": { "additionalProp1": {}, "additionalProp2": {}, "additionalProp3": {} } }, "ownershipType": { "code": "string", "value": "string", "description": "string", "additionalDescription": "string", "validToDate": "2020-11-27T09:17:44.059Z", "parameters": { "additionalProp1": {}, "additionalProp2": {}, "additionalProp3": {} } }, ... // läheb edasi
- Kui SupplyCon soovib pärida esitatud dokumente EHR’i API teenuse AET ehk andmete esitamise teatise kaudu:
GET /api/document/v1/document/{documentType}/{applicationNumber}
{ "documentType": "string", "documentNumber": "string", "submissionDate": "2020-11-27T11:48:51.580Z", "notes": "string", "buildingData": { "address": { "id": 0, "address": "string" }, "ehrCode": "string", "buildingName": "string", "firstUsageYear": 0, "firstUsageYearNotExact": true, "expectedEndDateOfExploitation": "2020-11-27T11:48:51.580Z", "buildingType": { "code": "string", "value": "string", "description": "string", "additionalDescription": "string", "validToDate": "2020-11-27T11:48:51.580Z", "parameters": { "additionalProp1": {}, "additionalProp2": {}, "additionalProp3": {} } }, ... // läheb edasi
- Kui SupplyCon soovib lisada esitatud dokumentide juurde uusi ehitisi või luua uusi ehitiste osasid olemasolevale dokumendile EHR’i API teenuse AET ehk andmete esitamise teatise kaudu:
POST /api/document/v1/document/{documentType}/{applicationNumber}/ building – Uute ehitiste lisamine olemasolevale dokumendile
{ "ehrCode": "string", "cadastrialUnitCode": "string", "buildingType": "string" }
POST /api/document/v1/document/{documentType}/{applicationNumber}/ building/{ehrCode}/buildingPart – Uute ehitiste osade loomine olemasolevale dokumendile
{ "id": 0, "partNumber": "string", "ehrCode": "string", "adsOid": "string", "roomCount": 0, "entranceFloor": 0, "areaSquareMeters": 0, "heatedAreaSquareMeters": 0, "balconiesAreaSquareMeters": 0, "kitchenRoomCount": 0, "openKitchenRoomCount": 0, "spatialShapeDto": { "id": 0, "name": "string", "status": { "code": "string", "value": "string", "description": "string", "additionalDescription": "string", "validToDate": "2020-11-27T11:53:06.100Z", "parameters": { "additionalProp1": {}, "additionalProp2": {}, "additionalProp3": {} } }, "coordinates": [ { "x": 0, "y": 0 } ], .. // läheb edasi
- Kui SupplyCon soovib seejärel salvestada esitatud dokumenti EHR’i API teenuse AET ehk andmete esitamise teatise kaudu:
PUT /api/document/v1/document/{documentType}/{applicationNumber}
{ "address": { "id": 0, "address": "string" }, "ehrCode": "string", "buildingName": "string", "firstUsageYear": 0, "firstUsageYearNotExact": true, "expectedEndDateOfExploitation": "2020-11-27T11:58:17.397Z", "buildingType": { "code": "string", "value": "string", "description": "string", "additionalDescription": "string", "validToDate": "2020-11-27T11:58:17.397Z", "parameters": { "additionalProp1": {}, "additionalProp2": {}, "additionalProp3": {} } }, .. // läheb edasi
- Kui SupplyCon soovib kustutada esitatud dokumenti EHR’i API teenuse AET ehk andmete esitamise teatise kaudu:
DELETE /api/document/v1/document/{documentType}/{applicationNumber}
Kehtivate andmete pärimine
Kui sooritada päring Ehitise kehtivate andmete teenuse API-le, peab teadma ehitise EHR koodi. Juhul kui puudub kasutatakse ehr_id. Võimalik pärida Ehitise versiooni numbriga, kui number on lisatud, siis tagastatakse ehitise konkreetne versioon, kui number puudub, siis tagastatakse ehitise kõige viimane versioon.
- Kehtiva ehitise andmed on
- põhiandmed,
- tehnilised näitajad,
- kujud,
- aadressid,
- energiamärgised,
- kehandid,
- osad,
- kasutusotstarbed,
- katastriüksused.
GET /buildingData
{ "ehitis": { "ehitiseAndmed": [ { "ehrKood": 121324674, "ehitId": 5640191, "oper": "A", "verTekkAeg": "2020-01-27T11:15:51.499408", "nimetus": "Elamu", "kaosIdPeamine": 11101, "kaosIdTxt": "üksikelamu", "seisund": "EHITIS_SEISUND_KASUTUSEL", "seisundTxt": "kasutusel", "rajatisHoone": "H", "rajatisHooneTxt": "hoone", "esmaneKasutus": 0, "adsOid": "adsoid on ruumikuju juures", "taisaadress": "taisaadress on kas ruumikuju või ehitise aadresside juures", "katastriyksused": "katastriuksused on eraldi plokis", "url": "URL pole kasutusel" } ], "ehitisePohiandmed": { "omandiLiik": "EHITIS_OMANDI_LIIK_KINNIS", "omandiLiikTxt": "kinnisasi", "vetteEhitatud": null, "ehAlustKp": "2013-09-30T00:00:00.000Z", "kavKasutKp": "2013-09-30T00:00:00.000Z", "ajehKasutalgKp": null, "ajehKasutloppKp": null, "maakond": 68, "omavalitsus": 624, "kinavald": null, "soltumatuVallasAsi": null, "ehitisalunePind": 213.1, "korgus": 6.7, "koetavPind": 117.1, "laius": 7.5, "lift": "0", "maxKorrusteArv": 1, "mahtBruto": 970, "minKorrusteArv": 1, "mitteeluruumideArv": "2", "pikkus": 26.4, "suletudNetopind": 187.3, "tubadeArv": 5, "yldkasut_pind": 25.3, "pind": 70.2, "ehitisealuneMaapealnePind": 213.1, "abs0Korgus": 14.8, "sygavus": 0, "maaalusteKorrusteArv": 0, "maht": 601.5, "abiruumidePind": 0 }, // läheb edasi
Samuti võib kasutaja ehitise EHR koodi teada saamiseks teha päringu ning otsida dokumendi ID või ajahetke järgi, millal on ehitise andmeid muudetud, kui muudatus on toimunud ajahetke järel.
GET /find/ehrcodes/docId
[ { "ehr_kood": "121313725" } ]
GET /find/ehrcodes/dateafter
[ { "ehr_kood": "121313725" } ]
Asukoha ja spetsiifilise objekti kohta andmete päring
Kui SupplyCon kasutaja alustab uut projekti, peab ta lisama uue ehitise objektile aadressi. Kui objekti aadress on lisatud süsteemi, on võimalik kasutajal aadressi otsida. Aadresse võimaldab pärida EHR Geoinfo API teenus, mis tagastab kasutajale aadressobjekte, aadresse ja aadressi komponenente.
Aadressobjektide pärimine
GET /getgeoobjectsbyaddress – Aadressi alusel objektide otsimine. Objektideks on ehitise ruumikujud ehk kui ehitisel on mitu ruumikuju siis tagastatakse ühe EHR koodiga mitu objekti. Kui sisend on EHR kood tagastab päring GeoJson formaadis kuni 10 aadressiobjekti, mille aadressid sisaldavad päringustringi või ehitise ruumikujusid. NB! Teenus ei ole mõeldud kasutamiseks autocomplete päringuteks.
[ { "type": "Feature", "geometry": { "type": "Point", "coordinates": [ [ [ 541773.23, 6588129.62 ] ] ] }, "properties": { "object_type": "EHR_KOOD", "object_code": "120220828", "object_address": "Harju maakond, Tallinn, Kesklinna linnaosa, Lõkke tn 4", "object_name": "Administratiivhoone", "ads_oid": "ME01086941", "kaos_id_peamine": "12203", "aadr_id": 4526394, "adrid": 4398840 } } ]
GET /getgeoobjectsbypoint – Punkti alusel objektide otsimine. Tagastab GeoJson formaadis kuni 10 aadressiobjekti, mis sisaldavad etteantud punkti.
[ { "type": "Feature", "geometry": { "type": "Point", "coordinates": [ [ [ 541773.23, 6588129.62 ] ] ] }, "properties": { "object_type": "EHR_KOOD", "object_code": "120220828", "object_address": "Harju maakond, Tallinn, Kesklinna linnaosa, Lõkke tn 4", "object_name": "Administratiivhoone", "ads_oid": "ME01086941", "kaos_id_peamine": "12203", "aadr_id": 4526394, "adrid": 4398840 } } ]
GET /getgeoobjectsbygeojson – GeoJson alusel objektide otsimine. Tagastab GeoJson formaadis kuni 10 aadressiobjekti, mis sisaldavad ette antud objekti all või kõrval.
[ { "type": "Feature", "geometry": { "type": "Point", "coordinates": [ [ [ 541773.23, 6588129.62 ] ] ] }, "properties": { "object_type": "EHR_KOOD", "object_code": "120220828", "object_address": "Harju maakond, Tallinn, Kesklinna linnaosa, Lõkke tn 4", "object_name": "Administratiivhoone", "ads_oid": "ME01086941", "kaos_id_peamine": "12203", "aadr_id": 4526394, "adrid": 4398840 } } ]
Aadresside pärimine
GET /getaddress – aadressi ID (aadrId) alusel aadresside otsimine. Tagastab GeoJson formaadis 1 aadressi
{ "id": "5340964", "adr_id": "3024645", "koodaadress": "686247526000000003IP4000000000000", "koord_x": null, "koord_y": null, "tekst": null, "tase1_id": "6976538", "tase1_kood": "68", "tase1_nimetus": "Pärnu maakond", "tase2_id": "6993226", "tase2_kood": "624", "tase2_nimetus": "Pärnu linn", "tase3_id": "7191788", "tase3_kood": "7526", "tase3_nimetus": "Seliste küla", "tase4_id": null, "tase4_kood": null, "tase4_nimetus": null, "tase5_id": null, "tase5_kood": null, "tase5_nimetus": null, "tase6_id": "1894848", "tase6_kood": "3IP4", "tase6_nimetus": "Kupu", "tase7_id": null, "tase7_kood": null, "tase7_nimetus": null, "tase8_id": null, "tase8_kood": null, "tase8_nimetus": null, "taisaadress": "Pärnu maakond, Pärnu linn, Seliste küla, Kupu", "lahiaadress": "Kupu", "olek": "K", "aadress_tekstina": null, "alus": null, "eelmine_id": null, "jargmine_id": null, "tsvector": "'kupu':7 'küla':6 'linn':4 'maakond':2 'pärnu':1,3 'selist':5" }
Aadressikomponentide pärimine
GET /addresscomponentchildren – Aadressi komponendi alamkomponentide otsimine. Tagastab JSON formaadis aadressi komponendi alamkomponendid. Ülemise taseme komponendid saab ilma komponendi koodita.
[ { "id": "2326354", "adkv_id": "1609278", "nimetus": "5", "tase": "7", "kood": "1DNA", "nimetus_liigisonaga": "5", "olek": "K", "eelmine_id": null } ]
Eehitatava objekti kasutusloa taotlemine
Ehitatava objekti kasutusloa taotlemine
Kasutuslubade taotlus esitamiseks tuleb täita dokument vastavalt nõuetele. Läbi andmete edastamise teatise (AET) teenuse API saab kasutaja sarnaselt ehitusloa taotlemisega kasutusloa dokumenti täita, muuta ja kustutada.
Toimub kahesuunaline suhtlus, kus peale autoriseeritud kasutaja sisselogimist on võimalik dokumenti sisestatud korrektseid andmeid valideerida. Vastav kasutaja peab omama kasutusloa esitamise õigust.
- EHR kasutab autoriseerimiseks riigi autentimisteenust TARA, millega asutus saab oma e-teenuses autentida ID-kaardi, mobiil-ID, smart-ID ja ka välisriigi kasutaja.
EHR’i auth API autentimist ja autoriseerimist abistav teenus isikuandmete uuendamiseks on AuthHelper. EHR’i auth API on omakorda liidestatud EHR’i oracle API’ga, mis suhtleb vana EHR oracle andmebaasiga, sest EHR’i auth API praegu otse ise andmebaasis vastu päringuid ei tee.
AuthHelper
POST /person – Isiku aktiivse asutuse muutmine. Uuendab Keycloakis isiku aktiivse asutuse ja rollid vastavalt ette antud asutusele
{ "isikukood": "EE11111111111", "name": "Jüri Maasikas", "users": [ { "id": 1233333, "value": "EESTI ENERGIA OÜ", "roles": [ "KINNITAJA", "KASUTAJA" ], "privileges": [ "TOIMING_READ", "MINU_EHITISED", "MINU_DOKUMENDID" ] } ] }
- Samuti kasutab kohalikku autoriseerimisteenust Keycloak, mis kasutab modifitseeritud kasutajainfo moodulit võttes andmeid EHR’i auth API liidest.
Seejärel algab taotluse menetlusprotsess, mis käib läbi EHR menetlus teenuste API, kus menetlejal saab teostada toiminguid.