NSILM

Üldkirjeldus

Teenus võimaldab muuta eesmärgi asukohta ühe positsiooni võrra asutuse või isiku aktiivsete eesmärkide järjekorras.

Seotud andmeobjektid:

Seotud Jira taskid

NSIL-795 - Getting issue details... STATUS

NSIL-921 - 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.
  • 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.
  • Meeskonnaliikme rolli valinud kasutaja ei saa muuta asutuse / teise isiku ametikoha pooleliolevate ja aktiivsete eesmärkide järjekorda.
  • Arhiivi vaates samuti ei saa kasutaja muuta enda isiklikke eesmärkide järjekorda.

Planeerimise mooduli kasutusrollide ja õiguste kohta saab täpsemalt infot leida lehelt Kasutusõigused ja rollid.

Sisendid

AtribuutKohustuslikkus, mitmesusTüüpVaikeväärtus, valideerimineKirjeldus, täiendav info

goalId

1

String
  • Eesmärk peab eksisteerima.
    • Goal.id = goalId.
  • Eesmärk ei tohi olla arhiveeritud.
    • Goal.archived = false
Eesmärgi unikaalne identifikaator, mille positsiooni aktiivsete eesmärkide järjekorras muudetakse.

targetGoalId

1

String
  • Eesmärk peab eksisteerima.
    • Goal.id = targetGoalId.
  • Eesmärk ei tohi olla arhiveeritud.
    • Goal.archived = false.
Eesmärgi unikaalne identifikaator, mille kohale liigutatav eesmärk liigub.

Väljundid

Atribuut

Kohustuslikkus, mitmesus

TüüpKirjeldus, täiendav info

goalId

1

String

Eesmärgi unikaalne identifikaator, mis põhjustas eesmärkide järjekorda muutmise.

previousGoalId

1

StringEesmärgi ID, mis eelneb goalId eesmärgile aktiivsete eesmärkide järjekorras.

Tegevused

  1. Süsteem kontrollib, kas kasutajal on õigust päringut teostada.
    1. Kui kasutajal ei ole õigust, lõpetatakse päringu töötlemine ja tagastatakse http veakood.
  2. Süsteem kontrollib, kas sisendandmed vastavad nõuetele.
    1. Kui andmed ei vasta nõuetele, lõpetatakse päringu töötlemine ja tagastatakse http veakood.
  3. Süsteem kontrollib, kas päringu käivitanud kasutajal on õigus hallata eesmärgi (goalId) andmeid.
    1. Kontroll toimub vastavalt üldreeglites kirjeldatud loogikale.
    2. Kui eesmärki ei leita või kontroll näitab, et isikupõhist eesmärki üritab hallata meeskonnaliige (Objektid#Goal.goalScope = "INDIVIDUAL" ja Objektid#Goal.personalCode != päringu käivitanud kasutaja isikukood), siis lõpetatakse päringu töötlemine ja tagastatakse http veakood.
  4. Süsteem kontrollib, kas mõlemad leitud eesmärgid on sama tüüpi ja on seotud sama asutusega või sama asutuse, isiku ja ametikohaga:
    1. Süsteem otsib Objektid#Goal objekti, mille:
      1. id =  Sisendis esitatud "tagetGoalId" väärtus.
      2. Kui eesmärki ei leita, lõpetatakse päringu töötlemine ja tagastatakse http veakood.
    2. Süsteem kontrollib, kas leitud eesmärk täidab järgmisi tingimusi:
      1. institution.id = Objektid#Goal.institution.id, mille id = Sisendis esitatud "goalId" väärtus.
      2. goalScope = Objektid#Goal.goalScope, mille id = Sisendis esitatud "goalId" väärtus.
      3. jobsite = Objektid#Goal.jobsite, mille id = Sisendis esitatud "goalId" väärtus.
      4. personalCode = Objektid#Goal.personalCode, mille id = Sisendis esitatud "goalId" väärtus.
    3. Kui eesmärk ei vasta antud tingimusele, lõpetatakse päringu töötlemine ja tagastatakse http veakood.
  5. Süsteem kontrollib, kas eesmärki (goalId) liigutatakse ainult ühe positsiooni võrra:
    1. Süsteem otsib mõlemat sisendis esitatud eesmärki ja kontrollib, kas üks eesmärk viitab teisele oma "previousGoalId" väärtuses.
      1. Süsteem otsib Objektid#Goal objekti, mille:
        1. id =  Sisendis esitatud "goalId" väärtus.
        2. Süsteem kontrollib, kas leitud eesmärgi previousGoalId = Sisendis esitatud "targetGoalId" väätus.
      2. Süsteem otsib Objektid#Goal objekti, mille:
        1. id =  Sisendis esitatud "targetGoalId" väärtus.
        2. Süsteem kontrollib, kas leitud eesmärgi previousGoalId = Sisendis esitatud "goalId" väärtus.
      3. Kui ükski eesmärk ei vasta tingimustele või mõlemad vastavad, lõpetatakse päringu töötlemine ja tagastatakse http veakood.
  6. Süsteem uuendab liigutatava eesmärgi positsiooni järjekorras:
    1.  Süsteem otsib Objektid#Goal objekti, mille:
      1. id =  Sisendis esitatud "goalId" väärtus.
    2. Süsteem uuendab leitud objekti andmeid:
      1. previousGoalId = Objektid#Goal.previousGoalId, mille id = Sisendis esitatud "targetGoalId" väärtus.
  7. Süsteem uuendab ka kõigi teiste samale asutusele / isikule kuuluvate aktiivsete eesmärkide previousGoalId väärtusi, mis järgnevad goalId ja targetGoalId eesmärgile.
    1. Süsteem otsib Objektid#Goal objekte, mis vastavad järgmistele tingimustele:
      1. archived = false
      2. institution.id = EHIS x-tee teenus GET/users/v1/users.response.data.users.institution.id/token
      3. goalScope = Objektid#Goal.goalScope, mille id = Sisendis esitatud "goalId" väärtus
      4. Kui goalScope = "INSTITUTIONAL":
        • jobsite = NULL
      5. Kui goalScope = "INDIVIDUAL" ja jobsite != NULL:
        • jobsite = Objektid#Goal.jobsite, mille id = Sisendis esitatud "goalId" väärtus
        • personalCode = Objektid#Goal.personalCode, mille id = Sisendis esitatud "goalId" väärtus
    2. Iga leitud eesmärgi previousGoalId väärtus uuendatakse.  
  8. Süsteem tagastab eesmärgi andmed, mis põhjustas asutuse/isiku aktiivsete eesmärkide järjekorda muutmise.