NSILM

Üldkirjeldus

Teenus väljastab kasutajaga seotud asutuse või ametikoha eesmärkide nimekirja. 

Seotud andmeobjektid:

Seotud Jira taskid

NSIL-799 - Getting issue details... STATUS

NSIL-916 - Getting issue details... STATUS

NSIL-929 - Getting issue details... STATUS

NSIL-1033 - Getting issue details... STATUS

NSIL-1190 - 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 vaatamise õigus
      • Goal.institution.id = Kasutaja poolt valitud rolliga seotud asutus
      • Õigust reguleerib privileeg: HSILM_PLANNING_GOAL_VIEW.
  • Kui tegemist on isikupõhise eesmärgiga (Goal.goalScope = INDIVIDUAL):
    • Kasutaja on eesmärgi omanik.
      • Goal.personalCode = Päringu käivitanud kasutaja isikukood.
    • Eraldi privileegi ei ole vaja.

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

goalScope

1

String
  • Võimalikud väärtused:
    • INSTITUTIONAL
    • INDIVIDUAL

Määrab, millise ulatusega eesmärke otsitakse:

  • INSTITUTIONAL — otsitakse asutusepõhiseid eesmärke.
  • INDIVIDUAL — otsitakse isikupõhiseid eesmärke. 

institutionId 

1

String
  • Kasutaja rollis valitud asutus.
Viide asutusele, mille eesmärke otsitakse. 

jobsite

0..1

String
  • Kasutaja rollis või arhiivi töölaualt valitud ametikoht.
  • Väärtus peab vastama EHIS klassifikaatorile PEDAGOOG_AMETIKOHT.
  • Kohustuslik, kui goalScope = "INDIVIDUAL".
  • Ei tohi olla määratud, kui goalScope = "INSTITUTIONAL".
Kasutaja kehtiv ametikoht, mille eesmärke otsitakse. 

statuses

0..*

Array
  • Peab olema klassifikaatori HSILM_GOAL_STATUS elemendi viide.
  • Peab saama määrata mitu staatust. 
Eesmärgi staatus.

startDate

0..1

Date
  • Kui endDate on määratud, peab startDate olema sellega võrdne või varasem.

    • startDate  endDate
Eesmärgi perioodi alguskuupäev

endDate

0..1

Date
  • Kui startDate on määratud, peab endDate olema sellega võrdne või hilisem.

    • endDate ≥ startDate
Eesmärgi perioodi lõpukuupäev

Väljundid

AtribuutKohustuslikkus, mitmesusTüüpKirjeldus, täiendav info
goals0..*Array

Nimekiri eesmärkidest.

goals.[...]

Iga massiivi objekt sisaldab järgmiseid atribuute:

goals.startDate

0..1

Date

Eesmärgi perioodi alguskuupäev. Määratakse eesmärgiga seotud tegevuste alusel. 

goals.endDate

0..1

Date

Eesmärgi perioodi lõpukuupäev. Määratakse eesmärgiga seotud tegevuste alusel. 

Tegevused

  1. Süsteem kontrollib, kas kasutajal on õigust päringut teostada.
    1. Kui õigust pole, 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 otsib eesmärke vastavalt sisendis esitatud andmetele:
    1. Otsitakse Objektid#Goal objekte, millel kehtivad järgmised tingimused:
      1. goalScope = Sisendis esitatud goalScope väärtus
      2. institution.idSisendis esitatud institutionId väärtus
      3. jobsite = Sisendis esitatud jobsite väärtus (kui on määratud)
      4. personalCode = kasutaja isikukood, kui sisendis esitatud goalScope = "INDIVIDUAL"; muudel juhtudel - NULL.
      5. Kui sisendis on määratud staatuses, kontrollitakse lisaks, et eesmärk vastaks vähemalt ühe sisendis määratud staatuse tingimustele: 
        1. Kui üks staatuses väärtustest on ACTIVE:
          1. Objektid#Goal.archived = false
          2. Objektid#Goal.name peab olema vähemalt 1 tähemärk pikk.
          3. Objektid#Goal.description peab olema vähemalt 1 tähemärk pikk.
          4. Eesmärgi meeskonnas peab olema vähemalt üks liige:
            1. Eksisteerib vähemalt üks Objektid#GoalTeamMember objekt, mille goalId = leitud eesmärgi ID.
          5. Eesmärgile peab olema lisatud vähemalt üks tegevus (Objektid#GoalActivity). 
            1. Eksisteerib vähemalt üks Objektid#GoalActivity objekt, mille goalId = leitud eesmärgi ID.
        2. Kui üks staatuses väärtustest on INCOMPLETE:
          1. Objektid#Goal.archived = false
          2. Vähemalt üks "Aktiivne" staatuse tingimus on täitmata.
        3. Kui üks staatuses väärtustest on ARCHIVED:
          1. Objektid#Goal.archived = true
    2. Kui eesmärke ei leita, tagastatakse tühi vastus.
  4. Kui sisendis staatuses sisaldab ainult väärtusi "ACTIVE" ja " INCOMPLETE":
    1. Leitud eesmärgid järjestatakse previousGoalId järgi.
    2. Süsteem tagastab leitud eesmärkide andmed.
      1. Atribuudid startDate ja endDate vastusesse ei lisata.
  5. Muudel staatuses väärtustel või juhul, kui atribuut staatuses sisendis puudub:
    1. Kui sisendis on määratud kas startDate või endDate, eemaldatakse leitud eesmärkide hulgast need, mis ei vasta järgmistele tingimustele:
      1. Kui sisendis on määratud startDate:
        1. Eesmärgiga peab olema seotud vähemalt üks Objektid#GoalActivity objekt, mille:
          1. endDate:
            1. on kõige hilisem kõigi selle eesmärgiga seotud tegevuste seas, ja
            2. ei ole varasem kui sisendis esitatud startDate.
        2. Kui sobiv tegevus leitakse, määratakse selle endDate töödeldava eesmärgi endDate väärtuseks.
      2. Kui sisendis on määratud endDate:
        1. Eesmärgiga peab olema seotud vähemalt üks Objektid#GoalActivity objekt, mille:
          1. startDate (või kui startDate = NULL, siis kasutatakse endDate väärtust):
            1. on kõige varasem kõigi selle eesmärgiga seotud tegevuste seas, ja
            2. ei ole hilisem kui sisendis esitatud endDate.
        2. Kui sobiv tegevus leitakse, määratakse selle startDate töödeldava eesmärgi startDate väärtuseks.
      3. Kui nimekirja ei jää ühtegi eesmärki, tagastatakse tühi vastus.
    2. Eesmärgid järjestatakse järgmiselt:
      1. startDate järgi kasvavas järjekorras.
      2. Sama startDate väärtuse korral - endDate järgi kasvavalt.
      3. Sama startDate ja endDate korral - loomise aja järgi kasvavalt. 
      4. Eesmärgid, millel puudub periood, lisatakse nimekirja lõppu loomise aja järgi kasvavalt.
        1. Olukorda, millal eesmärgil on ainult üks kuupäev (nt startDate, aga puudub endDate), ei saa olla.
    3. Süsteem tagastab leitud eesmärkide andmed.
      1. Iga eesmärgi kohta lisatakse vastusesse ka järgmised atribuudid: 
        1. startDate = kõige varasem tegevuse alguskuupäev kõigi eesmärgiga seotud tegevuste seas
          1. Kui mõnel tegevusel puudub startDate, loetakse selle alguskuupäevaks endDate, ning tegevust käsitletakse ühepäevasena, mis toimub endDate kuupäeval. 
        2. endDate = kõige hilisem tegevuse lõpukuupäev kõigi eesmärgiga seotud tegevuste seas
        3. Kui eesmärgil ei ole ühtegi tegevust, määratakse startDate ja endDate väärtusteks NULL.