PM: API: DevelopmentPlan: POST /planning-api/development-plans/{developmentPlanId}/url-versions
Üldkirjeldus
Teenus võimaldab genereerida arengukava versiooni, mida on võimalik jagada URL-i kaudu. Versioon luuakse asutuse / ametikoha muudetava arengukava põhjal ning ainult juhul, kui arengukavale on määratud periood.
Seotud andmeobjektid:
- Objektid#DevelopmentPlan
- Objektid#DevelopmentPlanSection
- Objektid#DevelopmentPlanElement
- Objektid#Goal
- Objektid#GoalMetrics
- Objektid#GoalActivity
- Objektid#DevelopmentPlanVersion
- Objektid#DevelopmentPlanGoal
- Objektid#File
- Objektid#GoalTeamMember
Seotud Jira taskid
NSIL-1004 - Getting issue details... STATUS
Eeltingimused ja kasutusõigused
- Kui tegemist on asutusepõhise arengukavaga (developmentPlanScope = INSTITUTIONAL):
- Kasutajal peab olema seos arengukava asutusega ning tal peab olema ka selle asutuse juures arengukava lisamise ja muutmise õigus.
- DevelopmentPlan.institution.id = kasutaja valitud rolliga seotud asutus,
- Õigust reguleerib privileeg: HSILM_PLANNING_DEV_PLAN_MANAGE.
- Kasutajal peab olema seos arengukava asutusega ning tal peab olema ka selle asutuse juures arengukava lisamise ja muutmise õigus.
- Kui tegemist on isikupõhise arengukavaga (developmentPlanScope = INDIVIDUAL):
- Kasutaja peab olema arengukava omanik ja tal peab olema seos nii arengukava asutuse kui ka ametikohaga.
- DevelopmentPlan.personalCode = kasutaja isikukood
- DevelopmentPlan.institution.id = kasutaja valitud rolliga seotud asutus
- DevelopmentPlan.jobsite = kasutaja valitud rolliga seotud ametikoht
- Eraldi privileegi ei ole vaja - õiguse luua enda kehtiva ametikoha kohta uusi arengukava URL-versioone annab kasutajale tema ametikoht.
- Kasutaja peab olema arengukava omanik ja tal peab olema seos nii arengukava asutuse kui ka ametikohaga.
- Arhiivi ja planeerimise meeskonnaliikme rolli valinud kasutajad ei saa arengukava URL-versioone luua.
Planeerimise mooduli kasutusrollide ja õiguste kohta saab täpsemalt infot leida lehelt Kasutusõigused ja rollid.
Sisendid
| Atribuut | Kohustuslikkus, mitmesus | Tüüp | Vaikeväärtus, valideerimine | Kirjeldus, täiendav info |
|---|---|---|---|---|
| developmentPlanId | 1 | String |
| Viide arengukavale, millele uus versioon luuakse. |
| urlPublic | 0..1 | Boolean | Võimalikud väärtused:
| Määrab, kas versiooni URL on avalikkusele kättesaadav. |
| publicUrlAlias | 0..1 | String |
| URL-versioonile määratud alias. |
Väljundid
| Atribuut | Kohustuslikkus, mitmesus | Tüüp | Kirjeldus, täiendav info |
|---|---|---|---|
| id | 1 | String | Arengukava versiooni unikaalne identifikaator. |
| developmentPlan | 1 | Object | Versiooniga seotud mittemuudetava arengukava andmed. |
| developmentPlan.id | 1 | String | Viide seotud mittemuudetavale arengukavale. |
| developmentPlan.developmentPlanScope | 1 | String | Määrab arengukava ulatuse:
|
| developmentPlan.institution | 1 | Object | Arengukava seotud asutuse andmed. |
| developmentPlan.institution.id | 1 | String | Viide asutusele EHIS-es. |
| developmentPlan.institution.regCode | 1 | String | Asutuse registrikood |
| developmentPlan.personalCode | 0..1 | String | Arengukava omaniku isikukood, kui tegemist on isikupõhise (developmentPlanScope = INDIVIDUAL) arengukava versiooniga. |
| developmentPlan.jobsite | 0..1 | String | Viide ametikohale, mille kohta arengukava on koostatud, kui tegemist on isikupõhise (developmentPlanScope = INDIVIDUAL) arengukavaga. Väärtustena kasutatakse EHIS klassifikaatorit PEDAGOOG_AMETIKOHT. |
| developmentPlan.startDate | 0..1 | Date | Arengukava perioodi alguskuupäev. |
| developmentPlan.endDate | 0..1 | Date | Arengukava perioodi lõpukuupäev. |
| versionType | 1 | String | Määrab, kas tegemist on URL- või PDF-versiooniga. Võimalikud väärtused:
|
| urlPublic | 0..1 | Boolean | Määrab, kas vastav genereeritud URL on avalikusele kättesaadav. Kasutatakse juhul, kui versionType = "URL". |
| publicUrlAlias | 0..1 | String | Avaliku URL-i alias. Kasutatakse juhul, kui urlPublic = true. |
| fileId | 0..1 | String | Viide PDF-versiooni loomisel loodud failile. Kasutatakse juhul, kui versionType = "PDF". |
| validFrom | 1 | DateTime | Arengukava versiooni PDF-i või URL-i jagamise loomise aeg. |
| generator | 1 | Object | Versiooni loonud kasutaja andmed. |
| generator.personalCode | 1 | String | Kasutaja isikukood. |
| generator.firstName | 1 | String | Kasutaja eesnimi. |
| generator.lastName | 1 | String | Kasutaja perenimi. |
| generator.profileColor | 1 | String | Kasutajale määratud värvikood. |
Ärireeglid
- URL-ina jagatavat versiooni saab luua ainult muudetava (editable = true) arengukava põhjal.
- Versiooni loomisel salvestatakse kõik muudetava arengukava andmed eraldi koopiana, vastavalt loomise hetke seisule.
- Versiooni ei lisata sektsioone, millel on märge "Peida dokumendis" (hidden = true), ega nende alla kuuluvaid vormielemente.
- Luuakse koopiad kõigist aktiivsetest eesmärkidest, mis loomise hetkel kattuvad vähemalt osaliselt arengukava perioodiga.
- Eesmärkide töötlemisel võetakse arvesse järgmine reegel:
- Kui mõnel tegevusel puudub startDate, loetakse selle alguskuupäevaks endDate. Sellisel juhul käsitletakse tegevust kui ühepäevast, mis toimub endDate kuupäeval.
- Eesmärkide töötlemisel võetakse arvesse järgmine reegel:
- Selgitus: Arengukava andmete koopia salvestatakse andmebaasi ainult URL-versiooni puhul. PDF versiooni puhul salvestatakse süsteemi üksnes loodud PDF fail.
Tegevused
- Süsteem kontrollib, kas kasutajal on õigust päringut teostada.
- Kui kasutajal ei ole õigust, lõpetatakse päringu töötlemine ja tagastatakse http veakood.
- Süsteem kontrollib, kas sisendandmed vastavad nõuetele.
- Kui andmed ei vasta nõuetele, lõpetatakse päringu töötlemine ja tagastatakse http veakood.
Süsteem kontrollib, kas sisendis esitatud arengukava (developmentPlanId) eksisteerib ja on muudetav:
- Otsitakse Objektid#DevelopmentPlan objekti, mille:
- id = sisendis esitatud developmentPlanId väärtus
- editable = true
- Kui tingimustele vastavat arengukava ei leita, lõpetatakse päringu töötlemine ja tagastatakse http veakood.
- Otsitakse Objektid#DevelopmentPlan objekti, mille:
- Süsteem kontrollib versiooni loomise eeltingimuste täitmist:
- Kontrollitakse, kas olemasolevate arengukava URL-versioonide arv ei ületa kehtestatud piirmäära (20 versiooni):
- Selleks otsitakse olemasolevaid arengukava URL-versioone:
- Otsitakse Objektid#DevelopmentPlanVersion, mille:
- versionType = "URL"
- urlPublic != NULL
- developmentPlanId = Objektid#DevelopmentPlan.id, mille:
- developmentPlanScope = Objektid#DevelopmentPlan.developmentPlanScope, mille id = sisendis esitatud developmentPlanId väärtus
- institution.id = Objektid#DevelopmentPlan.institution.id, mille id = sisendis esitatud developmentPlanId väärtus
- personalCode = Objektid#DevelopmentPlan.personalCode, mille id = sisendis esitatud developmentPlanId väärtus
- jobsite = Objektid#DevelopmentPlan.jobsite, mille id = sisendis esitatud developmentPlanId väärtus
- editable = false
- Kui ühtegi tingimustele vastavat arengukava ei leita, jätkub protsess sammust 5 (asutusel / ametikohal ei ole ühtegi URL-ina jagatud arengukava versiooni).
- Kui leitud versioone on 20 või rohkem, lõpetatakse päringu töötlemine ja tagastatakse http veakood. (Arengukava URL-versioonide arvu piirmäär on saavutatud.)
- Otsitakse Objektid#DevelopmentPlanVersion, mille:
- Selleks otsitakse olemasolevaid arengukava URL-versioone:
- Kui luuakse avalikult URL-ina jagatav versioon (urlPublic = true ja publicUrlAlias != NULL), kontrollitakse, et sama alias ei oleks juba kasutusel mõne varasema versiooni puhul:
- Otsitakse Objektid#DevelopmentPlanVersion objekti, mille:
- developmentPlanId = üks eelnevalt leitud arengukavade ID-dest (Objektid#DevelopmentPlan.id)
- publicUrlAlias = sisendis esitatud publicUrlAlias väärtus
- Kui leitakse versioon sama publicUrlAlias-ga, lõpetatakse päringu töötlemine ja tagastatakse http veakood (teist samasuguse URL-iga arengukava versiooni ei tohi eksisteerida).
- Otsitakse Objektid#DevelopmentPlanVersion objekti, mille:
- Kontrollitakse, kas olemasolevate arengukava URL-versioonide arv ei ületa kehtestatud piirmäära (20 versiooni):
- Süsteem loob sisendis esitatud arengukava (developmentPlanId) hetkeseisu andmetest koopia:
- Kui arengukavale on lisatud logo (Objektid#DevelopmentPlan.logoFileId != NULL), siis luuakse logo failist koopia:
- Otsitakse logo faili metaandmeid:
- Otsitakse Objektid#File objekti, mille:
- id = sisendis esitatud arengukava Objektid#DevelopmentPlan.logoFileId väärtus
- Kui vastavat objekti ei leita, liigub süsteem sammu 5.b juurde.
- Otsitakse Objektid#File objekti, mille:
- Leitud metaandmete alusel leitakse fail failihoidlast:
- Otsitakse failisüsteemist fail, mille:
- id = leitud Objektid#File.fileSystemId väärtus.
- Kui vastavat faili ei leita, liigub süsteem sammu 5.b juurde.
- Otsitakse failisüsteemist fail, mille:
- Leitud failist tehakse koopia.
- Loodud koopia metaandmed salvestatakse Objektid#File tabelisse.
- Süsteem loob Objektid#File objekti järgmiste andmetega:
- id = UUID
- Faili asukoha andmestik failisüsteemis
- fileName = Faili nimetus koos faililaiendiga (nt. "minu pilt.png")
- mimeType = Faili mime tüüp (nt. "image/x-png")
- size = Faili suurus baitides
- audit (loomine) = audit (loomine)
- Süsteem loob Objektid#File objekti järgmiste andmetega:
- Otsitakse logo faili metaandmeid:
- Arengukava põhiandmestikust luuakse koopia:
- Koopia luuakse olemasolevast Objektid#DevelopmentPlan objektist, muutes järgmisi välju:
- editable = false
- logoFileId = just salvestatud logo faili koopia metaandmete kirje ID (Objektid#File.id)
- Ülejäänud andmed jäävad samaks.
- Koopia luuakse olemasolevast Objektid#DevelopmentPlan objektist, muutes järgmisi välju:
- Arengukava sektsioonidest ja vormielementidest luuakse koopiad:
- Otsitakse sisendis esitatud arengukava (developmentPlanId) sektsioone:
- Otsitakse Objektid#DevelopmentPlanSection objekte, mille:
- developmentPlanId = sisendis esitatud developmentPlanId väärtus
- Kui ühtegi sektsiooni ei leita, jätkub protsess sammust 5.d.
- Otsitakse Objektid#DevelopmentPlanSection objekte, mille:
- Leitud sektsioonid järjestatakse previousSectionId alusel.
- Nimekirjast eemaldatakse sektsioonid, mille hidden = true.
- Iga eemaldamise järel uuendatakse sellele sektsioonile järgneva sektsiooni previousSectionId väärtus.
- Iga järelejäänud Objektid#DevelopmentPlanSection objekti puhul:
- Luuakse sellest koopia, kus muudetakse:
- developmentPlanId = just loodud arengukava objekti ID (Objektid#DevelopmentPlan.id).
- Otsitakse sektsiooni vormielemente ja luuakse nendest koopiad:
- Otsitakse Objektid#DevelopmentPlanElement objekte, mille:
- developmentPlanSectionId = töödeldava sektsiooni ID (Objektid#DevelopmentPlanSection.id).
- Kui ühtegi elementi ei leita, jätkub protsess sammust 5.d.
- Iga leitud Objektid#DevelopmentPlanElement objekti puhul:
- Kui Objektid#DevelopmentPlanElement.inputType = IMAGE, tehakse koopia vormielemendiga seotud pildi failist:
- Otsitakse pildi faili metaandmeid:
- Otsitakse Objektid#File objekti, mille:
- id = töödeldava vormielemendiga seotud faili ID (Objektid#DevelopmentPlanElement.file.id).
- Kui vastavat objekti ei leita, jätkub protsess sammust 5.b.ii.
- Otsitakse Objektid#File objekti, mille:
- Leitud metaandmete alusel leitakse fail failihoidlast:
- Otsitakse failisüsteemist fail, mille:
- id = leitud Objektid#File.fileSystemId väärtus.
- Kui vastavat faili ei leita, jätkub protsess sammust 5.b.ii.
- Otsitakse failisüsteemist fail, mille:
- Leitud failist tehakse koopia.
- Loodud koopia metaandmed salvestatakse Objektid#File tabelisse.
- Süsteem loob Objektid#File objekti järgmiste andmetega:
- id = UUID
- Faili asukoha andmestik failisüsteemis
- fileName = Faili nimetus koos faililaiendiga (nt. "minu pilt.png")
- mimeType = Faili mime tüüp (nt. "image/x-png")
- size = Faili suurus baitides
- audit (loomine) = audit (loomine)
- Süsteem loob Objektid#File objekti järgmiste andmetega:
- Otsitakse pildi faili metaandmeid:
- Luuakse koopia töödeldavast Objektid#DevelopmentPlanElement objektist, kus muudetakse:
- developmentPlanSectionId = just loodud sektsiooni ID (Objektid#DevelopmentPlanSection.id)
- Kui kopeeritava vormielemendi inputType = IMAGE, siis file.id = just salvestatud faili metaandmete kirje ID (Objektid#File.id).
- Kui Objektid#DevelopmentPlanElement.inputType = IMAGE, tehakse koopia vormielemendiga seotud pildi failist:
- Süsteem kordab neid tegevusi, kuni kõik töödeldava sektsiooni vormielemendid on töödeldud.
- Otsitakse Objektid#DevelopmentPlanElement objekte, mille:
- Luuakse sellest koopia, kus muudetakse:
- Süsteem kordab neid tegevusi, kuni kõik sektsioonid on töödeldud.
- Otsitakse sisendis esitatud arengukava (developmentPlanId) sektsioone:
- Arengukava perioodile vastavatest aktiivsetest eesmärkidest luuakse koopiad, mis seotakse just loodud arengukava objektiga:
- Eesmärgid valitakse järgmise loogika alusel:
- Otsitakse kõik Objektid#Goal objektid, mille:
- goalScope = sisendis esitatud arengukava Objektid#DevelopmentPlan.developmentPlanScope väärtus
- institution.id = sisendis esitatud arengukava Objektid#DevelopmentPlan.institution.id väärtus
- personalCode = sisendis esitatud arengukava Objektid#DevelopmentPlan.personalCode väärtus
- jobsite = sisendis esitatud arengukava Objektid#DevelopmentPlan.jobsite väärtus
- archived = false
- Kui eesmärke ei leita, jätkub protsess sammust 6.
- Leitud eesmärgid järjestatakse previousGoalId alusel.
- Nimekirjast eemaldatakse pooleliolevad eesmärgid.
- Iga eesmärgi puhul kontrollitakse, kas:
- Objektid#Goal.name != NULL
- Objektid#Goal.description != NULL
- Eesmärgil on vähemalt üks seotud tegevus:
- Leidub vähemalt üks Objektid#GoalActivity objekt, mille goalId = töödeldava eesmärgi ID.
- Kui mõni tingimus ei ole täidetud, eemaldatakse eesmärk nimekirjast.
- Süsteem kordab neid tegevusi, kuni kõik eesmärgid on töödeldud.
- Iga eesmärgi puhul kontrollitakse, kas:
- Järgmisena eemaldatakse nimekirjast eesmärgid, mille tegevuste periood ei kattu arengukava perioodiga vähemalt osaliselt.
- Iga eesmärgi puhul kontrollitakse:
- Kas eesmärgi perioodi alguskuupäev (st varaseima seotud tegevuse startDate) ei ole hilisem kui arengukava lõpukuupäev (endDate):
- Otsitakse Objektid#GoalActivity objekte, mille:
- goalId = töödeldava eesmärgi ID (Objektid#Goal.id)
- Leitud tegevuste puhul kontrollitakse, kas leidub selline, mille:
- startDate (kui mõne tegevuse startDate = NULL, siis kasutatakse selle endDate väärtust):
- on kõige varasem kõigi selle eesmärgiga seotud tegevuste seas, ja
- ei ole hilisem kui arengukava Objektid#DevelopmentPlan.endDate.
- startDate (kui mõne tegevuse startDate = NULL, siis kasutatakse selle endDate väärtust):
- Kui tingimus ei ole täidetud:
- Eesmärk eemaldatakse nimekirjast.
- Uuendatakse eemaldatud eesmärgile järgneva eesmärgi previousGoalId väärtus.
- Liigutakse järgmise eesmärgi juurde.
- Otsitakse Objektid#GoalActivity objekte, mille:
- Kas eesmärgi perioodi lõpukuupäev (st hiliseima seotud tegevuse endDate) ei ole varasem kui arengukava alguskuupäev (startDate):
- Kontrollitakse, kas eelnevalt leitud Objektid#GoalActivity objektide hulgas on selline, mille:
- endDate:
- on kõige hilisem kõigi selle eesmärgiga seotud tegevuste seas, ja
- ei ole varasem kui arengukava Objektid#DevelopmentPlan.startDate.
- endDate:
- Kui tingimus ei ole täidetud:
- Eesmärk eemaldatakse nimekirjast.
- Uuendatakse eemaldatud eesmärgile järgneva eesmärgi previousGoalId väärtus.
- Liigutakse järgmise eesmärgi juurde.
- Kontrollitakse, kas eelnevalt leitud Objektid#GoalActivity objektide hulgas on selline, mille:
- Süsteem kordab neid samme, kuni kõigi eesmärkide vastavus tingimustele on valideeritud.
- Kas eesmärgi perioodi alguskuupäev (st varaseima seotud tegevuse startDate) ei ole hilisem kui arengukava lõpukuupäev (endDate):
- Iga eesmärgi puhul kontrollitakse:
- Otsitakse kõik Objektid#Goal objektid, mille:
- Süsteem loob järelejäänud eesmärkidest koopiad ja seob neid just loodud arengukava objektiga:
- Iga järelejäänud Objektid#Goal objekti puhul:
- Otsitakse seotud mõõdikuid ja tegevusi:
- Otsitakse kõiki Objektid#GoalMetrics objekte, mille goalId = töödeldava eesmärgi ID.
- Otsitakse kõiki Objektid#GoalActivity objekte, mille goalId = töödeldava eesmärgi ID.
- Seejärel luuakse uus Objektid#DevelopmentPlanGoal objekt järgmiste parameetritega:
- id = UUID
- developmentPlanId = just loodud arengukava koopia ID (Objektid#DevelopmentPlan.id)
- goalId = kopeeritava eesmärgi ID (Objektid#Goal.id)
institution.id = Objektid#Goal.insitution.id
- institution.name = Objektid#Goal.insitution.name
institution.type = Objektid#Goal.insitution.type
goalScope = Objektid#Goal.goalScope
jobSite = Objektid#Goal.jobsite
personalCode = Objektid#Goal.personalCode
name = Objektid#Goal.name
description = Objektid#Goal.description
- previousGoalId = eelmises sammus koostatud nimekirja põhjal eelneva eesmärgi ID
- metrics nimekirja lisatakse iga seotud Objektid#GoalMetrics objekti kohta:
metrics.id = Objektid#GoalMetrics.id
metrics.description = Objektid#GoalMetrics.description
- metrics.createdAt = Objektid#GoalMetrics.createdAt
metrics.reports nimekirja lisatakse kõik selle objekti Objektid#GoalMetrics.reports
metrics.reports.workspaceId = Objektid#GoalMetrics.reports.workspaceId
metrics.reports.reportId = Objektid#GoalMetrics.reports.reportId
metrics.reports.bookmark = Objektid#GoalMetrics.reports.bookmark
metrics.targets nimekirja lisatakse kõik selle objekti Objektid#GoalMetrics.targets
metrics.targets.year = Objektid#GoalMetrics.targets.year
metrics.targets.description = Objektid#GoalMetrics.targets.description
- activities nimekirja lisatakse iga seotud Objektid#GoalActivity objekti kohta:
activities.id = Objektid#GoalActivity.id
activities.activityName = Objektid#GoalActivity.activityName
- activities.previousActivityId = Objektid#GoalActivity.previousActivityId
activities.startDate = Objektid#GoalActivity.startDate
activities.endDate = Objektid#GoalActivity.endDate
- Otsitakse seotud mõõdikuid ja tegevusi:
- Süsteem kordab neid samme, kuni kõigist eesmärkidest on koopiad loodud.
- Iga järelejäänud Objektid#Goal objekti puhul:
- Eesmärgid valitakse järgmise loogika alusel:
- Kui arengukavale on lisatud logo (Objektid#DevelopmentPlan.logoFileId != NULL), siis luuakse logo failist koopia:
- Versiooni genereerinud kasutajale määratakse profiilivärv järgmise loogika alusel:
- Süsteem kontrollib, kas päringu käivitanud kasutajal on meeskonnaliikme kirje arengukava asutuse / ametikoha piires.
- Otsitakse Objektid#GoalTeamMember objekte, mille:
- personalCode = päringu käivitanud kasutaja isikukood
- Kui sobivat meeskonnaliikme kirjet ei leita, liigub süsteem edasi sammu 6.b juurde.
- Kui leitakse sobiv meeskonnaliikme kirje, otsitakse Objektid#Goal objekte, mille:
- goalScope = sisendis esitatud arengukava Objektid#DevelopmentPlan.developmentPlanScope väärtus
- institution.id = sisendis esitatud arengukava Objektid#DevelopmentPlan.institution.id väärtus
- personalCode = sisendis esitatud arengukava Objektid#DevelopmentPlan.personalCode väärtus
- jobsite = sisendis esitatud arengukava Objektid#DevelopmentPlan.jobsite väärtus
- teamMembers.id = üks eelnevalt leitud Objektid#GoalTeamMember.id väärtustest
- Kui leitakse vähemalt üks sobiv eesmärk, määratakse kasutajale sama profiilivärv, mis on meeskonnliikmel, kelle ID-ga see eesmärk seotud on.
- Otsitakse Objektid#GoalTeamMember objekte, mille:
- Kui meeskonnaliikme kirjet ei leita:
- Süsteem kontrollib, kas kasutajaga on seotud mõni varem loodud arengukava versioon.
- Süsteem otsib Objektid#DevelopmentPlanVersion objekte, mille:
- generator.personalCode = kasutaja isikukood
- Kui leitakse sobiv versioon, määratakse kasutajale sama profiilivärv, mis selle versiooni genereerijal.
- Kasutaja profiilivärv = leitud versiooni Objektid#DevelopmentPlanVersion.generator.profileColor väärtus
- Süsteem otsib Objektid#DevelopmentPlanVersion objekte, mille:
- Kui varasemat versiooni ei leita, valitakse kasutaja profiilivärviks üks HS visualiseerimise põhimõtete primaarse värvipaletti hulgast.
- Värvi määramise loogika:
- Eelistatult määratakse kasutajale värv, mida ei ole veel kasutatud ühegi teise sama asutuse/ametikoha eesmärkide meeskonnaliikme ega arengukava versioone genereerija puhul.
- Kui kõik unikaalsed värvid on juba kasutuses, siis valitakse värv, mida on kasutatud kõige vähem sama asutuse/ametikoha eesmärkide ja arengukavade raames.
- Kasutatavad värvid:
- #14AAAD - teal
- #468CDF - sinine
- #9467BD - lilla
- #E377C2 - roosa
- #FF7F0E - oranž
- #E6BC05 - kollane
- #2CA02C - roheline
- #7F7F7F - hall
- #8C564B - pruun
- #D62728 - punane
- #B44FB0 - soe lilla
- #1F77B4 - soe sinine
- #BCBD22 - soe roheline
- #D17805 - ooker
- Värvi määramise loogika:
- Süsteem kontrollib, kas kasutajaga on seotud mõni varem loodud arengukava versioon.
- Süsteem kontrollib, kas päringu käivitanud kasutajal on meeskonnaliikme kirje arengukava asutuse / ametikoha piires.
- Süsteem loob uue arengukava versiooni:
- Luuakse uus Objektid#DevelopmentPlanVersion objekt järgmiste väärtustega:
- id = UUID
- developmentPlanId = just loodud arengukava objekti ID (Objektid#DevelopmentPlan.id)
- institution.id = just loodud arengukava objekti asutuse ID (Objektid#DevelopmentPlan.insitution.id)
- institution.regCode = just loodud arengukava objekti Objektid#DevelopmentPlan.institution.regCode väärtus
- personalCode = just loodud arengukava objekti Objektid#DevelopmentPlan.personalCode väärtus
- jobsite = just loodud arengukava objekti Objektid#DevelopmentPlan.jobsite väärtus
- versionType = "URL"
- urlPublic = sisendis esitatud urlPublic väärtus
- publicUrlAlias = sisendis esitatud publicUrlAlias väärtus (kui on määratud)
- fileId = NULL
- generator.personalCode = kasutaja isikukood
- generator.firstName = kasutaja eesnimi
- generator.lastName = kasutaja perenimi
- generator.profileColor = eelmises sammus kasutajale määratud profiilivärv
- validFrom = jooksev kuupäev ja kellaaeg
- Luuakse uus Objektid#DevelopmentPlanVersion objekt järgmiste väärtustega:
- Süsteem tagastab loodud arengukava versiooni andmed.