PM: API: Goal: PATCH /planning-api/goals/{goalId}/archive
Üldkirjeldus
Teenus võimaldab salvestada eesmärgi staatuseks "Arhiveeritud". Seejuures lõpetatakse kõik eesmärgiga seotud tegevused ja tööülesanded.
Seotud andmeobjektid:
Seotud Jira taskid
NSIL-945 - 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 arhiveerimise ja kustutamise õigus.
- Goal.institution.id = Kasutaja poolt valitud rolliga seotud asutus
- Õigust reguleerib privileeg: HSILM_PLANNING_GOAL_ARCHIVE_DELETE.
- Kasutajal on seos eesmärgi asutusega ja sama asutuse eesmärkide arhiveerimise ja kustutamise õ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 arhiveerimise ja kustutamise õigus.
- Goal.goalScope = INSTITUTIONAL või INDIVIDUAL
- Goal.teamMembers.id = GoalTeamMember.id, mille personalCode = Kasutaja isikukood
- Õigust reguleerib privileeg: HSILM_PLANNING_GOAL_ARCHIVE_DELETE.
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 |
| Viide eesmärgile, mida arhiveeritakse. |
Väljundid
Atribuut | Kohustuslikkus, mitmesus | Tüüp | Kirjeldus, täiendav info |
|---|---|---|---|
| Samad mis teenusel PM: API: Goal: POST /planning-api/goals. | |||
Ärireegel
- Eesmärgi arhiveerimisel muudetakse selle olek arhiveerituks ning eesmärk eemaldatakse aktiivsete eesmärkide järjestusest.
- Kõik eesmärgiga seotud tegevused ja tööülesanded lõpetatakse, s.t:
- Kõigile tegevustele ja tööülesannetele, mille lõpukuupäev on hilisem kui jooksev kuupäev, määratakse lõpukuupäevaks tänane kuupäev.
- Kui lõpukuupäev on minevikus või täna, jääb see muutmata.
- Kõik seotud lõpetamata tööülesanded märgitakse lõpetatuks (done = true).
- Kõigile tegevustele ja tööülesannetele, mille lõpukuupäev on hilisem kui jooksev kuupäev, määratakse lõpukuupäevaks tänane kuupäev.
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 uuendab asutuse/isiku kehtivate eesmärkide järjestus:
- Süsteem otsib eesmärki, mis järgneb arhiveeritavale eesmärgile asutuse/isiku kehtivate eesmärkide nimekirjas:
- Süsteem otsib Objektid#Goal objekti, mille:
- previousGoalId = Sisendis esitatud "goalId" väärtus
- Süsteem otsib Objektid#Goal objekti, mille:
- Süsteem uuendab leitud eesmärgi puhul sellele eelneva eesmärgi viite:
- Süsteem uuendab leitud Objektid#Goal objekti andmeid:
- previousGoalId = Objektid#Goal.previousGoalId, mille id = Sisendis esitatud "goalId" väärtus.
- Süsteem uuendab leitud Objektid#Goal objekti andmeid:
- Süsteem otsib eesmärki, mis järgneb arhiveeritavale eesmärgile asutuse/isiku kehtivate eesmärkide nimekirjas:
- Süsteem märgib eesmärgi arhiveerituks ja eemaldab selle kehtivate eesmärkide nimekirjast.
- Süsteem uuendab leitud Objektid#Goal objekti andmeid:
- archived = true
- previousGoalId = NULL
- Süsteem uuendab leitud Objektid#Goal objekti andmeid:
- Süsteem märgib kõik eesmärgiga seotud tegevused lõpetatuks:
- Süsteem otsib Objektid#GoalActivity objektid, mille:
- goalId = Sisendis esitatud "goalId" väärtus
- endDate on hilisem kui jooksev kuupäev
- Süsteem uuendab leitud objektide andmeid järgmiselt:
- endDate = jooksev kuupäev
- Süsteem otsib Objektid#GoalActivity objektid, mille:
- Süsteem märgib kõik seotud tööülesanded lõpetatuks:
- Süsteem otsib Objektid#GoalActivityTask objektid, mille:
- goalId = Sisendis esitatud "goalId" väärtus
- Süsteem uuendab leitud objektide andmeid järgmiselt:
- done = true
- Kui endDate on hilisem kui jooksev kuupäev, määratakse selle väärtuseks jooksev kuupäev.
- Süsteem otsib Objektid#GoalActivityTask objektid, mille:
- Süsteem tagastab arhiveeritud eesmärgi andmed.