PM: API: Goal: POST /planning-api/goals/{goalId}/activities
Üldkirjeldus
Teenus võimaldab lisada eesmärgile uue tegevuse.
Seotud andmeobjektid:
Seotud Jira taskid
NSIL-845 - Getting issue details... STATUS
Eeltingimused ja kasutusõigused
- Kui tegemist on asutusepõhise eesmärgiga (Goal.goalScope = INSTITUTIONAL):
- Kasutajal on seos eesmärgi asutusega ja sama asutuse eesmärkide lisamise ja muutmise õigus.
- Goal.institution.id = Kasutaja poolt valitud rolliga seotud asutus
- Õigust reguleerib privileeg: HSILM_PLANNING_GOAL_MANAGE.
- Kasutajal on seos eesmärgi asutusega ja sama asutuse eesmärkide lisamise ja muutmise õigus.
- Kui tegemist on isikupõhise eesmärgiga (Goal.goalScope = INDIVIDUAL):
- Kasutaja on eesmärgi omanik ja tal on seos eesmärgi asutuse ja ametikohaga.
- Goal.personalCode = Kasutaja isikukood.
- Goal.institution.id = Kasutaja poolt valitud rolliga seotud asutus
- Goal.jobsite = Kasutaja poolt valitud rolliga seotud ametikoht
- Eraldi privileegi ei ole vaja.
- Kasutaja on eesmärgi omanik ja tal on seos eesmärgi asutuse ja ametikohaga.
- Või kasutaja on eesmärgi meeskonnas ja planeerimise meeskonna liikme rollil on eesmärkide lisamise ja muutmise õigus.
- Goal.goalScope = INSTITUTIONAL või INDIVIDUAL
- Goal.teamMembers.id = GoalTeamMember.id, mille personalCode = Kasutaja isikukood
- Õigust reguleerib privileeg: HSILM_PLANNING_GOAL_MANAGE.
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 |
|---|---|---|---|---|
goalId | 1 | String |
| Eesmärgi unikaalne identifikaator, millele uus tegevus lisatakse. |
| activityName | 1 | String |
| Tegevuse pealkiri. |
| goalTeamMemberId | 1 | String |
| Viide tegevuse vastutajaks määratud meeskonnaliikmele. |
| startDate | 0..1 | Date |
| Tegevuse alguskuupäev. |
| endDate | 1 | Date |
| Tegevuse lõpukuupäev. |
| activityDescription | 0..1 | String |
| Tegevuse pikem kirjeldus. |
| themes | 1..* | Array |
| Eesmärgi tegevusele märgitud teemad. |
| themes.themeType | 1 | String |
| Tegevusele märgitud teema. |
| fundings | 0..* | Array |
| Tegevuse rahastuse allikas. |
| fundings.year | 1 | Number |
| Aasta, millesse rahastus planeeritud. |
| fundings.amount | 1 | Number |
| Planeeritud rahastuse summa eurodes. |
| fundings.description | 0..1 | String |
| Rahastuse allika kirjeldus. |
Väljundid
Atribuut | Kohustuslikkus, mitmesus | Tüüp | Kirjeldus, täiendav info |
|---|---|---|---|
| id | 1 | String | Eesmärgi tegevuse unikaalne identifikaator. |
goalId | 1 | String | Viide eesmärgile, millega tegevus on seotud. |
| activityName | 1 | String | Tegevuse pealkiri. |
| goalTeamMemberId | 1 | String | Viide tegevuse vastutajaks määratud meeskonnaliikmele. |
| goalTeamMemberName | 0..1 | String | Tegevuse eest vastutava eesmärgi meeskonnaliikme nimi. |
| startDate | 0..1 | Date | Tegevuse alguskuupäev. |
| endDate | 1 | Date | Tegevuse lõpukuupäev. |
| activityDescription | 0..1 | String | Tegevuse pikem kirjeldus. |
| previousActivityId | 0..1 | String | Tegevuse identifikaator, mis eelneb käesolevale tegevusele tegevuste järjekorras. Selle põhjal järjestatakse tegevuste nimekirjad. |
| themes | 1..* | Array | Eesmärgi tegevusele märgitud teemad. Tegevusel võib olla 1..n teemat. |
| themes.themeType | 1 | String | Tegevusele märgitud teema. Väärtusena klassifikaatori HSILM_THEME_LABEL elemendi viide. |
| fundings | 0..* | Array | Tegevuse või tööülesande rahastuse allikas. Tegevusel või tööülesandel võib olla 0..n rahastuse allikat. |
| fundings.year | 1 | Number | Aasta, millesse rahastus planeeritud. |
| fundings.amount | 1 | Number | Planeeritud rahastuse summa eurodes. |
| fundings.description | 0..1 | String | Rahastuse allika kirjeldus. |
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, kas sisendis esitatud eesmärk (goalId) eksisteerib ja kas päringu käivitanud kasutajal on õigus seda hallata.
- Kontroll toimub vastavalt üldreeglites kirjeldatud loogikale.
- Kui eesmärki ei leita või see ei vasta üldreeglitele, lõpetatakse päringu töötlemine ja tagastatakse http veakood.
- Süsteem kontrollib, kas tegevuse eest vastutavaks määratud meeskonnaliige eksisteerib ja kas ta on eesmärgi meeskonnas.
- Süsteem otsib Objektid#Goal objekti, mille:
- id = Sisendis esitatud "goalId" väärtus
- teamMembers nimekirjas on sisendis esitatud "goalTeamMemberId" väärtus
- Kui tingimustele vastavat eesmärki ei leita, lõpetatakse päringu töötlemine ja tagastatakse http veakood.
- Süsteem otsib Objektid#Goal objekti, mille:
- Süsteem lisab eesmärgile uue tegevuse:
- Süsteem loob uue Objektid#GoalActivity objekti, mille:
- id = UUID.
- goalId = Sisendis esitatud "goalId" väärtus.
- activityName = Sisendis esitatud "activityName" väärtus.
- goalTeamMemberId = Sisendis esitatud "goalTeamMemberId" väärtus.
- startDate = Sisendis esitatud "startDate" väärtus.
- endDate = Sisendis esitatud "endDate" väärtus.
- activityDescription = Sisendis esitatud "activityDescription" väärtus.
- previousActivityId = tegevuse ID, mis on sisendis esitatud eesmärgi tegevuste järjekorras viimane.
- Süsteem lisab loodavale Objektid#GoalActivity objektile sisendis esitatud themes objektid:
- themes.themeType = Sisendis esitatud "themes.themeType" väärtus.
- Süsteem lisab loodavale Objektid#GoalActivity objektile sisendis esitatud fundings objektid:
- year = Sisendis esitatud "fundings.year" väärtus.
- amount = Sisendis esitatud "fundings.amount" väärtus.
- description = Sisendis esitatud "fundings.description" väärtus.
- Süsteem loob uue Objektid#GoalActivity objekti, mille:
- Süsteem tagastab eemärgile lisatud tegevuse andmed, sh tegevuse eest vastutavaks määratud meeskonnaliikme nime.