PM: API: Goal: PATCH /planning-api/goals/{goalId}/activities/{goalActivityId}/done
Üldkirjeldus
Teenus võimaldab salvestada tegevuse lõpetatuks - tegevusega seotud lõpetamata tööülesanded märgitakse lõpetatuks. Kui tegevuse või mõne tööülesande lõpu kuupäev on tulevikus, kirjutatakse see üle jooksva kuupäevaga.
Seotud andmeobjektid:
Seotud Jira taskid
NSIL-944 - Getting issue details... STATUS
NSIL-1162 - 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 |
|---|---|---|---|---|
goalActivityId | 1 | String |
| Tegevuse unikaalne identifikaator, mida määratakse lõpetatuks. |
goalId | 1 | String |
| Viide eesmärgile, millega tegevus on seotud. |
Väljundid
Atribuut | Kohustuslikkus, mitmesus | Tüüp | Kirjeldus, täiendav info |
|---|---|---|---|
| Samad mis teenusel PM: API: Goal: POST /planning-api/goals/{goalId}/activities#V%C3%A4ljundid. | |||
Ärireegel
- Tegevuse lõpetamisel märgitakse kõik sellega seotud lõpetamata tööülesanded lõpetatuks.
- Kui lõpetatakse tegevus, mille lõpukuupäev on tulevikus, kirjutatakse üle nii tegevuse kui ka kõigi sellega seotud tulevikus lõppevate tööülesannete lõpukuupäevad — need asendatakse jooksva kuupäevaga.
- Muudel juhtudel lõpukuupäevad ei muutu.
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, kas sisendis esitatud tegevus (goalActivityId) eksisteerib ja on seotud eesmärgiga.
- Süsteem otsib Objektid#GoalActivity objekti, mille:
- id = Sisendis esitatud "goalActivityId" väärtus
- 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 tegemist on tulevikus lõppeva tegevusega:
- Kui Objektid#GoalActivity.endDate > jooksev kuupäev, siis:
- Tegevuse lõpukuupäev muudetakse jooksvaks kuupäevaks:
- Objektid#GoalActivity objekt uuendatakse:
- endDate = jooksev kuupäev
- Objektid#GoalActivity objekt uuendatakse:
- Süsteem otsib seotud lõpetamata tööülesandeid:
- Otsitakse Objektid#GoalActivityTask objekte, mille:
- goalActivity = Sisendis esitatud "goalActivityId" väärtus
- goalId = Sisendis esitatud "goalId" väärtus
- done = false
- Otsitakse Objektid#GoalActivityTask objekte, mille:
- Leitud tööülesanded märgitakse lõpetatuks:
- Iga leitud Objektid#GoalActivityTask objekt uuendatakse järgmiselt:
- done = true
- Kui endDate > jooksev kuupäev, siis määratakse selle väärtuseks jooksev kuupäev.
- Iga leitud Objektid#GoalActivityTask objekt uuendatakse järgmiselt:
- Seejärel liigutakse sammu 8 juurde.
- Tegevuse lõpukuupäev muudetakse jooksvaks kuupäevaks:
- Kui Objektid#GoalActivity.endDate ≤ jooksev kuupäev:
- Süsteem otsib seotud lõpetamata tööülesandeid:
- Otsitakse Objektid#GoalActivityTask objekte, mille:
- goalActivityId = Sisendis esitatud "goalActivityId" väärtus
- goalId = Sisendis esitatud "goalId" väärtus
- done = false
- Otsitakse Objektid#GoalActivityTask objekte, mille:
- Leitud tööülesanded märgitakse lõpetatuks:.
- Iga leitud Objektid#GoalActivityTask objekt uuendatakse järgmiselt:
- done = true
- Iga leitud Objektid#GoalActivityTask objekt uuendatakse järgmiselt:
- Kui ei leita ühtegi lõpetamata tööülesannet, lõpetatakse päringu töötlemine ja tagastatakse http veakood. (päring ei tohtinud olla käivitatud)
- Süsteem otsib seotud lõpetamata tööülesandeid:
- Kui Objektid#GoalActivity.endDate > jooksev kuupäev, siis:
- Süsteem otsib tegevuse eest vastutavaks määratud meeskonnaliikme nime.
- Süsteem otsib Objektid#GoalTeamMember objekti, mille:
- id = Objektid#GoalActivity.goalTeamMemberId, mille id = Sisendis esitatud "goalActivityId" väärtus
- Kui vastavat meeskonnaliiget ei leita, lõpetatakse päringu töötlemine ja tagastatakse http veakood.
- Süsteem otsib Objektid#GoalTeamMember objekti, mille:
- Süsteem tagastab lõpetatuks märgitud tegevuse andmed.