NSILM

Üldkirjeldus

Teenus võimaldab pärida arengukavale eesmärkide nimekirja. Eesmärgi tagastatakse ainult arengukava puhul, mille jaoks on määratud periood. 

Seotud andmeobjektid:

Seotud Jira taskid

NSIL-993 - Getting issue details... STATUS

Eeltingimused ja kasutusõigused

  • Kui tegemist on asutusepõhiste eesmärkidega (goalScope = INSTITUTIONAL):
    • Kasutajal peab olema seos eesmärkide asutusega ning sama asutuse arengukava vaatamise õigus
      • Goal.institution.id = Kasutaja poolt valitud rolliga seotud asutus
      • Õigust reguleerib privileeg: HSILM_PLANNING_DEV_PLAN_VIEW.
  • Kui tegemist on isikupõhiste eesmärkidega (goalScope = INDIVIDUAL):
    • Kasutaja peab olema eesmärkide omanik.
      • Goal.personalCode = Päringu käivitanud kasutaja isikukood.
    • Eraldi privileegi ei ole vaja.
  • Meeskonnaliikme rolli valinud kasutajal ei ole antud funktsionaalsusele ligipääsu.

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

developmentPlanId

1

String
  • Peab eksisteerima ja olema muudetav. 
    • developmentPlanId = developmentPlan.id, mille editable = true
  • Kui arengukava ei ole muudetav, peab tegemist olema URL-ina jagatud versiooniga.
    • developmentPlanId = (developmentPlan.id, mille editable = false)
    • developmentPlanId = developmentPlanVesion.developmentPlanId, mille fileId = NULL
  • Arengukavale peab olema määratud periood.
    • developmentPlanId = developmentPlan.id, mille startDate != NULL ja endDate != NULL
Viide muudetavale arengukavale või URL-iga jagatud arengukava versioonile, mille eesmärke päritakse.

Väljundid

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

Nimekiri eesmärkidest.

goals.id

1

UUIDEesmärgi unikaalne identifikaator.

goals.developmentPlanId

1

StringViide arengukavale, millega eesmärk on seotud.
goals.goalScope1String

Määrab eesmärgi ulatuse:

  • INSTITUTIONAL - asutuse eesmärk.
  • INDIVIDUAL - seotud kasutaja ametikohaga.
goals.institution

1

ObjectEesmärgiga seotud asutuse (KOV, õppeasutus) objekt. 
goals.institution.id

1

StringViide eesmärgiga seotud asutusele EHIS-es.
goals.institution.name

1

StringAsutuse nimi
goals.institution.type1EHIS Classifier

Asutuste liik (KOV, õppeasutus).

goalScope1String

Määrab eesmärgi ulatuse:

  • INSTITUTIONAL - eesmärk on seatud asutusele tervikuna.
  • INDIVIDUAL - eesmärk on seatud konkreetsele kasutajale seoses tema ametikohaga konkreetses asutuses. 
goals.jobsite0..1EHIS Classifier

Isiku ametikoha tunnus, millega eesmärk on seotud. Ainult isikupõhiste (goalScope = INDIVIDUAL) eesmärkide puhul.

goals.personalCode0..1String

Isiku isikukood, kellele eesmärk kuulub. Ainult isikupõhiste (goalScope = INDIVIDUAL) eesmärkide puhul.

goals.name0..1String

Eesmärgi nimetus.

goals.description0..1String

Eesmärgi kirjeldus.

goals.metrics0..*Array

Eesmärgi mõõdikute nimekiri.

goals.metrics.id

1

StringMõõdiku unikaalne identifikaator.

goals.metrics.description

1

StringMõõdiku kirjelduse tekst.
goals.metrics.createdAt1DateTime

Mõõdiku loomise aeg.

goals.metrics.reports

 

1..*

Array

Mõõdiku näitajate (aruaanete) nimekiri.

Eesmärgi mõõdikul võib olla 1..3 näitajat (aruannet).

goals.metrics.reports.workspaceId

1

StringPBI aruande tööruumi identifikaator.

goals.metrics.reports.reportId

1

StringPBI aruande identifikaator.

goals.metrics.reports.bookmark

0..1

String

Aruandele rakendatud filtrite snapshot (base64 formaadis).

goals.metrics.targets

0..*

Array

Mõõdiku sihttasemete nimekiri.

Mõõdikul võib olla 0..n sihttaset.

goals.metrics.targets.year

1

NumberSihttaseme aasta.

goals.metrics.targets.description

1

StringSihttaseme kirjeldus.

goals.activities

1..*

ArrayEesmärgi tegevuste nimekiri.
goals.activities.id

1

StringTegevuse unikaalne identifikaator.
goals.activities.name

1

StringTegevuse pealkiri.
goals.activities.startDate

0..1

DateTegevuse alguskuupäev.
goals.activities.endDate

1

DateTegevuse lõpukuupäev.
goals.activities.previousActivityId

0..1

StringTegevuse identifikaator, mis eelneb käesolevale tegevusele tegevuste järjekorras. Selle põhjal järjestatakse tegevuste nimekirjad.

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 kontrollib, kas arengukava eksisteerib:
    1. Otsitakse Objektid#DevelopmentPlan objekti, mille:
      1. id = sisendis esitatud developmentPlanId väärtus
    2. Kui vastavat arengukava ei leita, lõpetatakse päringu töötlemine ja tagastatakse http veakood.
  4. Edasiste tegevuste loogika erineb sõltuvalt sellest, kas tegemist on muudetava või URL-ina jagatud arengukavaga.
    1. Kui leitud arengukava Objektid#DevelopmentPlan.editable = false:
      1. Kontrollitakse, kas tegemist URL-ina jagatud versiooniga:
        1. Otsitakse Objektid#DevelopmentPlanVersion objekti, mille:
          1. id = sisendis esitatud developmentPlanId väärtus
        2. Kui vastavat versiooni ei leita või leitud versiooni Objektid#DevelopmentPlanVersion.fileId != NULL, lõpetatakse päringu töötlemine ja tagastatakse http veakood.
      2. Otsitakse versiooniga seotud eesmärke:
        1. Otsitakse Objektid#DevelopmentPlanGoal objekte, mille:
          1. developmentPlanId = sisendis esitatud developmentPlanId väärtus
        2. Kui ühtegi eesmärki ei leita, lõpetatakse päringu töötlemine ja tagastatakse tühi väärtus.
      3. Kui eesmärgid leitakse, tagastatakse nende nimekiri. Päringu töötlemine lõpetatakse.
    2. Kui leitud arengukava Objektid#DevelopmentPlan.editable = true, otsitakse arengukava perioodile vastavaid aktiivseid eesmärke:
      1. Otsitakse kõiki asutuse / ametikoha eesmärke, mis ei ole arhiveeritud:
        1. Otsitakse Objektid#Goal objekte, mis vastavad järgmistele tingimustele:
          1. goalScope = leitud arengukava Objektid#DevelopmentPlan.developmentPlanScope väärtus
          2. institution.id = leitud arengukava Objektid#DevelopmentPlan.institution.id väärtus
          3. personalCode = leitud arengukava Objektid#DevelopmentPlan.personalCode väärtus
          4. jobsite = leitud arengukava Objektid#DevelopmentPlan.jobsite väärtus
          5. archived = false
        2. Kui ühtegi eesmärki ei leita, lõpetatakse päringu töötlemine ja tagastatakse tühi väärtus. 
      2. Leitud eesmärgid järjestatakse previousGoalId alusel. 
      3. Nimekirjast eemaldatakse pooleliolevad eesmärgid.
        1. Iga leitud eesmärgi puhul kontrollitakse, kas:
          1. name != NULL
          2. description != NULL
          3. Eesmärgile on lisatud vähemalt üks tegevus:
            1. Leidub vähemalt üks Objektid#GoalActivity objekt, mille goalId = leitud eesmärgi ID.
        2. Kui vähemalt üks tingimustest ei ole täidetud, eemaldatakse eesmärk nimekirjast.
        3. Süsteem kordab neid tegevusi, kuni kõik pooleliolevad eesmärgid on nimekirjast eemaldatud. 
      4. Eemaldatakse nimekirjast eesmärgid, mille tegevuste periood ei kattu arengukava perioodiga vähemalt osaliselt.
        1. Kui mõnel tegevusel puudub startDate, loetakse selle alguskuupäevaks endDate. Sellisel juhul käsitletakse tegevust kui ühepäevast, mis toimub endDate kuupäeval. 
        2. Kontroll teostatakse iga eesmärgi puhul järgmiselt:
          1. Kontrollitakse, kas eesmärgi perioodi alguskuupäev (st varaseima tegevuse startDate) ei ole hilisem kui arengukava lõpukuupäev (endDate):  
            1. Otsitakse Objektid#GoalActivity objekte, mille:
              1. goalId = töödeldava eesmärgi ID (Objektid#Goal.id)
            2. Leitud tegevuste puhul kontrollitakse, kas leidub selline, mille:
              1. startDate (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 arengukava Objektid#DevelopmentPlan.endDate.
            3. Kui tingimus ei ole täidetud:
              1. Eesmärk eemaldatakse nimekirjast.
              2. Liigutakse järgmise eesmärgi juurde.
          2. Kontrollitakse, kas eesmärgi perioodi lõpukuupäev (st hiliseima tegevuse endDate) ei ole varasem kui arengukava alguskuupäev (startDate):  
            1. Kontrollitakse, kas eelnevalt leitud Objektid#GoalActivity objektide hulgas on selline, mille:
              1. endDate:
                1. on kõige hilisem kõigi selle eesmärgiga seotud tegevuste seas, ja
                2. ei ole varasem kui arengukava Objektid#DevelopmentPlan.startDate.
            2. Kui tingimus ei ole täidetud:
              1. Eesmärk eemaldatakse nimekirjast.
              2. Liigutakse järgmise eesmärgi juurde.
          3. Süsteem kordab neid samme, kuni kõigi eesmärkide vastavus tingimustele on valideeritud. 
      5. Süsteem otsib eesmärkide mõõdikuid ja tegevusi:
        1. Iga tagastatava eesmärgi kohta otsib süsteem Objektid#GoalMetrics ja Objektid#GoalActivity objekte, mille goalId = leitud eesmärgi ID.
      6. Süsteem tagastab leitud eesmärkide nimekirja koos nende mõõdikutega ja tegevustega.
        1. Eesmärgid on väljundis järjestatud esialgses previousGoalId alusel saadud järjekorras.