PM: API: Goal: PUT /planning-api/goals/{goalId}/activities/{goalActivityId}/tasks/{activityTaskId}
Üldkirjeldus
Teenus võimaldab salvestada eesmärgi tööülesande andmed.
Seotud andmeobjektid:
Seotud Jira taskid
NSIL-858 - 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 = Päringu käivitanud 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 = Päringu käivitanud 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 |
|---|---|---|---|---|
goalActivityTaskId | 1 | String |
| Tööülesande unikaalne identifikaator, mille andmeid muudetakse. |
newGoalActivityId | 1 | String |
| Viide eesmärgi tegevusele, millele kuuluvat tööülesannet muudetakse. |
goalId | 1 | String |
| Eesmärgi unikaalne identifikaator, millele kuuluvat tööülesannet muudetakse. |
| taskName | 1 | String |
| Tööülesande pealkiri. |
| goalTeamMemberId | 1 | String |
| Viide tööülesande vastutajaks määratud meeskonnaliikmele. |
| startDate | 0..1 | Date |
| Tööülesande algus kuupäev. |
| endDate | 1 | Date |
| Tööülesande lõpu kuupäev. |
| taskDescription | 0..1 | String |
| Tööülesande pikem kirjeldus. |
| fundings | 0..* | Array |
| Tööülesande 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 |
|---|---|---|---|
Samad mis teenusel PM: API: Goal: POST /planning-api/goals/{goalId}/activities/{goalActivityId}/tasks. | |||
Tegevused
- Süsteem kontrollib, kas kasutajal on õigus 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, et tööülesanne (goalActivityTaskId = {activityTaskId}) eksisteerib, pole lõpetatud ja on seotud url-is antud eesmärgi ja tegevusega.
- Süsteem otsib Objektid#GoalActivityTask objekti, mille:
- id = {activityTaskId} = Sisendis esitatud "goalActivityTaskId" väärtus
- goalId = {goalId} = Sisendis esitatud "goalId" väärtus
- goalActivityId = {goalActivityId}
- done = false
- Kui tööülesannet ei leita, lõpetatakse päringu töötlemine ja tagastatakse http veakood.
- Süsteem otsib Objektid#GoalActivityTask objekti, mille:
- Kui tööülesannet liigutatakse ümber teise tegevuse alla ({goalActivityId} != newGoalActivityId):
- Süsteem kontrollib, kas tegevus (newGoalActivityId), millega soovitakse tööülesannet siduda, eksisteerib ning kas see on seotud sisendis esitatud eesmärgiga.
- Süsteem otsib Objektid#GoalActivity objekti, mille:
- id = Sisendis esitatud "newGoalActivityId" väärtus
- goalId = {goalId} = Sisendis esitatud "goalId" väärtus
- Kui tegevust ei leita, lõpetatakse päringu töötlemine ja tagastatakse http veakood.
- Süsteem otsib Objektid#GoalActivity objekti, mille:
- Süsteem kontrollib, kas tegevus (newGoalActivityId), millega soovitakse tööülesannet siduda, eksisteerib ning kas see on seotud sisendis esitatud eesmärgiga.
- Süsteem kontrollib loodava tööülesande algus- ja lõpukuupäevade korrektsust:
- Süsteem kontrollib järgmiste tingimuste täitmist:
- Sisendis esitatud "startDate" on:
- varasem või võrdne sisendis esitatud "endDate"-ga,
- ning hilisem või võrdne sisendis esitatud tegevuse (goalActivityId) algus kuupäevaga (varem leitud Objektid#GoalActivity.startDate).
- Sisendis esitatud "endDate" on:
- tänane kuupäev või hilisem,
- hilisem või võrdne sisendis esitatud "startDate"-ga (kui see on määratud)
- ning varasem või võrdne sisendis esitatud tegevuse (goalActivityId) lõpu kuupäevaga (varem leitud Objektid#GoalActivity.endDate).
- Sisendis esitatud "startDate" on:
- Kui sisendis esitatud andmeid ei vasta tingimustele, lõpetatakse päringu töötlemine ja tagastatakse http veakood.
- Süsteem kontrollib järgmiste tingimuste täitmist:
- Süsteem kontrollib, kas tööülesande eest vastutavaks määratud meeskonnaliige eksisteerib ja kas ta kuulub eesmärgi meeskonda.
- Süsteem otsib Objektid#Goal objekti, mille:
- id = Sisendis esitatud "goalId" väärtus
- teamMembers nimekirjas on sisendis esitatud "goalTeamMemberId" väärtus.
- Kui vastavat meeskonnaliiget ei leita, lõpetatakse päringu töötlemine ja tagastatakse http veakood.
- Süsteem otsib Objektid#Goal objekti, mille:
- Süsteem uuendab tööülesande andmeid:
- Süsteem uuendab Objektid#GoalActivityTask objekti, mille id = {activityTaskId} = Sisendis esitatud "goalActivityTaskId" väärtus, järgmiselt:
- goalId = jääb samaks
- done = jääb samaks
- goalActivityId = Sisendis esitatud "newGoalActivityId" väärtus
- taskName = Sisendis esitatud "taskName" väärtus
- goalTeamMemberId = Sisendis esitatud "goalTeamMemberId" väärtus
- startDate = Sisendis esitatud "startDate" väärtus
- endDate = Sisendis esitatud "endDate" väärtus.
- taskDescription = Sisendis esitatud "taskDescription" väärtus
- Süsteem kirjutab üle tööülesande fundings:
- fundings.year = Sisendis esitatud "fundings.year" väärtus.
- fundings.amount = Sisendis esitatud "fundings.amount" väärtus.
- fundings.description = Sisendis esitatud "fundings.description" väärtus.
- Süsteem uuendab Objektid#GoalActivityTask objekti, mille id = {activityTaskId} = Sisendis esitatud "goalActivityTaskId" väärtus, järgmiselt:
- Süsteem tagastab muudetud tööülesande andmed, sh tööülesande eest vastutavaks määratud meeskonnaliikme nime.