PM: API: DevelopmentPlan: POST /planning-api/development-plans
Üldkirjeldus
Teenus võimaldab luua asutusele või ametikohale muudetava arengukava, kui seda ei ole veel olemas.
Seotud andmeobjektid:
Seotud Jira taskid
NSIL-1059 - Getting issue details... STATUS
Eeltingimused ja kasutusõigused
- Kui tegemist on asutusepõhise arengukavaga (developmentPlan.developmentPlanScope = INSTITUTIONAL):
- Kasutajal peab olema seos arengukava asutusega ning sama asutuse arengukava lisamise ja muutmise õigus.
- DevelopmentPlan.institution.id = kasutaja poolt valitud rolliga seotud asutus
- Õigust reguleerib privileeg: HSILM_PLANNING_DEV_PLAN_MANAGE.
- Kasutajal peab olema seos arengukava asutusega ning sama asutuse arengukava lisamise ja muutmise õigus.
- Kui tegemist on isikupõhise arengukavaga (developmentPlan.developmentPlanScope = INDIVIDUAL):
- Kasutaja peab olema arengukava omanik ning tal peab olema seos nii arengukava asutuse kui ka ametikohaga.
- DevelopmentPlan.personalCode = kasutaja isikukood
- DevelopmentPlan.institution.id = kasutaja poolt valitud rolliga seotud asutus
- DevelopmentPlan.jobsite = kasutaja poolt valitud rolliga seotud ametikoht
- Eraldi privileegi ei ole vaja.
- Kasutaja peab olema arengukava omanik ning tal peab olema seos nii arengukava asutuse kui ka ametikohaga.
- Meeskonnaliikme rolli valinud kasutajal ei ole antud funktsionaalsusele ligipääsu.
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 |
|---|---|---|---|---|
developmentPlanScope | 1 | String |
| Määrab arengukava ulatuse:
|
institutionId | 1 | String |
| Viide asutusele, mille kohta arengukava luuakse. |
institutionName | 1 | String |
| Asutuse nimetus. |
institutionType | 1 | String |
| Asutuste liik. (KOV, õppeasutus) |
jobsite | 0..1 | String |
| Viide kasutaja ametikohale, mille kohta arengukava luuakse. |
Väljundid
| Atribuut | Kohustuslikkus, mitmesus | Tüüp | Kirjeldus, täiendav info |
|---|---|---|---|
| id | 1 | String | Arengukava unikaalne identifikaator. |
| developmentPlanScope | 1 | String | Määrab arengukava ulatuse:
|
| institution | 1 | Object | Arengukavaga seotud asutuse andmed. |
| institution.id | 1 | String | Viide asutusele, millega arengukavaga on seotud. |
| insititution.name | 1 | String | Asutuse nimetus |
| institution.type | 1 | EHIS Classifier | Asutuste liik. (KOV, õppeasutus) |
| jobsite | 0..1 | String | Ametikoha tunnus, millega seoses on isikule arengukava loodud. Täidetakse ainult isikupõhise (developmentPlanScope = INDIVIDUAL) arengukava puhul. |
| personalCode | 0..1 | String | Arengukava omaniku isikukood. Täidetakse ainult isikupõhise (developmentPlanScope = INDIVIDUAL) arengukava korral. |
| title | 1 | String | Arengukava pealkiri. |
| logoFileId | 0..1 | String | Viide logo failile. |
| startDate | 0..1 | Date | Arengukava perioodi alguskuupäev. |
| endDate | 0..1 | Date | Arengukava perioodi lõpukuupäev. |
| sections | 1..* | Array | Arengukava sektsioonide nimekiri. |
| sections.id | 1 | String | Arengukava sektsiooni unikaalne identifikaator. |
| sections.name | 1 | String | Arengukava sektsiooni pealkirjana kuvatav nimetus. |
| sections.previousSectionId | 0..1 | String | Viide sektsiooni ID-le, mis eelneb käesolevale sektsioonile arengukava sektsioonide järjestuses. Selle väärtuse alusel järjestatakse komponendid arengukavas. |
| sections.hidden | 1 | String | Määrab, kas sektsioon lisatakse arengukava PDF-i või URL-iga jagatavasse versiooni. |
Ärireeglid
- Igal asutusel / ametikohal võib olla ainult üks muudetav arengukava.
- Arengukavasse lisatakse vaikimisi viis arengukava sektsiooni kindlas järjekorras: Sissejuhtatus, Missioon, Visioon, Põhiväärtused, Riskid.
- Arengukava algus- ja lõpukuupäevasid ei eeltäideta - need jäävad vaikimisi tühjaks.
Tegevused
- Süsteem kontrollib, kas kasutajal on õigust päringut teostada.
- Kui õigust pole, 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, et sisendis esitatud asutusel / ametikohal ei oleks juba arengukava olemas:
- Süsteem otsib Objektid#DevelopmentPlan objekti, mille:
- editable = true
- developmentPlanScope = sisendis esitatud developmentPlanScope väärtus
- institution.id = sisendis esitatud institutionId väärtus
- Kui developmentPlanScope = "INSTITUTIONAL", siis:
- jobsite = NULL
- personalCode = NULL
- Kui developmentPlanScope = "INDIVIDUAL", siis:
- personalCode = päringu käivitanud kasutaja isikukood
- jobsite = sisendis esitatud jobsite väärtus
- Kui sobiv arengukava leitakse, lõpetatakse päringu töötlemine ja tagastatakse http veakood.
- Süsteem otsib Objektid#DevelopmentPlan objekti, mille:
- Kui arengukava ei leita, loob süsteem selle automaatselt järgmist loogikat järgides:
- Süsteem loob Objektid#DevelopmentPlan objekti järgmiste parameetritega:
- id = UUID
- editable = true
- title = "Arengukava"
- developmentPlanScope = sisendis esitatud developmentPlanScope väärtus
- institution.id = sisendis esitatud institutionId väärtus
- institution.name = sisendis esitatud institutionName väärtus
- institution.type = sisendis esitatud institutionType väärtus
- Kui developmentPlanScope = "INSTITUTIONAL":
- personalCode = NULL
- jobsite = NULL
- Kui developmentPlanScope = "INDIVIDUAL":
- personalCode = päringu käivitanud kasutaja isikukood
- jobsite = sisendis esitatud jobsite väärtus
- startDate = NULL
- endDate = NULL
- logoFileId = NULL
- Süsteem lisab loodud arengukavale vaikimisi 5 sektsiooni vastavas järjekorras: Sissejuhtatus, Missioon, Visioon, Põhiväärtused, Riskid.
- Iga sekstiooni kohta luuakse üks Objektid#DevelopmentPlanSection objekt vastavalt järgmisele loogikale:
- id = UUID
- developmentPlanId = vastloodud arengukava ID (Objektid#DevelopmentPlan.id)
- name = üks eeltoodud nimedest vastavas järjekorras
- previousSectionId = esimesele sektsioonile määratakse väärtuseks NULL, iga järgmiste sektsiooni puhul määratakse selleks eelmise loodud sektsiooni ID (Objektid#DevelopmentPlanSection.id)
- hidden = false
- Iga sekstiooni kohta luuakse üks Objektid#DevelopmentPlanSection objekt vastavalt järgmisele loogikale:
- Süsteem loob Objektid#DevelopmentPlan objekti järgmiste parameetritega:
- Süsteem tagastab loodud arengukava andmed.