NSILM

Üldkirjeldus

Teenus võimaldab lisada eesmärgile väljakutseid.

Seotud andmeobjektid:

Seotud Jira taskid

NSIL-905 - Getting issue details... STATUS

Eeltingimused ja kasutusõigused

  • Kui tegemist on asutusepõhise eesmärgiga (Goal.goalScope = INSTITUTIONAL):
    • Kasutajal peab olema seos väljakutse ja eesmärgi asutusega ja sama asutuse eesmärkide lisamise ja muutmise õigus
      • Goal.institution.id = Kasutaja poolt valitud rolliga seotud asutus
      • AssessmentChallenge.assessment.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 peab olema väljakutse ja eesmärgi omanik.
      • Goal.personalCode = Päringu käivitanud kasutaja isikukood.
      • AssessmentChallenge.personalCode = Päringu käivitanud kasutaja isikukood.
      • Kasutajal peab olema ka seos väljakutse ja eesmärgi asutuse ja ametikohaga.
        • Goal.institution.id = Kasutaja poolt valitud rolliga seotud asutus
        • Goal.jobsite = Kasutaja poolt valitud rolliga seotud ametikoht
        • AssessmentChallenge.assessment.institution.id = Kasutaja poolt valitud rolliga seotud asutus
        • AssessmentChallenge.assessment.jobsite = Kasutaja poolt valitud rolliga seotud ametikoht
      • Eraldi privileegi ei ole vaja.
  • 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

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.arhived = false.
Eesmärgi unikaalne identifikaator, millele soovitakse lisada väljakutse.

assessmentChallengeId

1

String
  • Väljakutse peab eksisteerima.
    • AssessmentChallenge.id = assessmentChallengeId
  • Väljakutse ei tohi olla vanem kui viis aastat.
    • AssessmentChallenge.assessment.endDate <= Päringu teostamise aeg - 5 aastat.
  • Väljakutse peab olema seotud hindamise liigi põhjal uusima hindamisega.
    • Sama assessment.endDate korral valitakse objekt, mille assessmentChallenge.createdAt on suurim.
  • Väljakutse ei tohi olla seotud sisendis esitatud eesmärgiga.
    • Goal.assessmentChallengeIds hulgas ei tohi olla sisendis esitatud "assessmentChallengeId" väärtust.
  • Väljakutse peab olema sama ulatusega ning seotud sama asutuse, ametikoha ja isikukoogiga nagu eesmärk. 
    • AssessmentChallenge.assessment.assessmentScope = Goal.goalScope
    • AssessmentChallenge.assessment.institution.id = Goal.institution.id
    • AssessmentChallenge.assessment.jobSite = Goal.jobSite
    • AssessmentChallenge.assessment.personalCode = Goal.personalCode
  • Sama ID-ga väljakutset saab lisada eesmärgile ainult üks kord. 
Viide väljakutsele, mida soovitakse eesmärgiga siduda.

Väljundid

AtribuutKohustuslikkus, mitmesusTüüpKirjeldus, täiendav info

Samad mis teenusel PM: API: Goal: POST /planning-api/goals.

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 sisendis esitatud eesmärk (goalId) eksisteerib ja kas päringu käivitanud kasutajal on õigus selle andmeid hallata.
    1. Kontroll viiakse läbi vastavalt üldreeglites kirjeldatud loogikale.
    2. Kui eesmärki ei leita või see ei vasta üldreeglitele, lõpetatakse päringu töötlemine ja tagastatakse http veakood.
  4. Süsteem kontrollib, kas sisendis esitatud väljakutse on seotud eesmärgiga:
    1. Süsteem otsib Objektid#Goal objekti, , mille:
      1. id = Sisendis esitatud "goalId" väärtus.
    2. Süsteem kontrollib, kas sisendis esitatud "assessmentChallengeId" on leitud eesmärgi "assessmentChallengeIds" nimekirjas. 
    3. Kui väljakutse on juba eesmärgi väljakutsete nimekirjas, lõpetatakse päringu töötlemine ja tagastatakse http veakood.
  5. Süsteem kontrollib, kas väljakutse ulatus on sama nagu eesmärgil ning kas see on seotud sama asutuse, ametikoha ja isikukoogiga:
    1. Süsteem otsib Objektid#AssessmentChallenge objekti, mille:
      1. id = Sisendis esitatud "assessmentChallengeId".
    2. Süsteem kontrollib, kas väljakutse parameetrid vastavad eesmärgi parameetritele:
      1. assessment.assessmentScope = Goal.goalScope, mille id = sisendis esitatud "goalId" väärtus.
      2. assessment.institution.id = Goal.institution.id, mille id = sisendis esitatud "goalId" väärtus.
      3. assessment.jobSite = Goal.jobSite, mille id = sisendis esitatud "goalId" väärtus.
      4. assessment.personalCode = Goal.personalCode, mille id = sisendis esitatud "goalId" väärtus.
    3. Kui väljakutse andmed ei vasta tingimustele, lõpetatakse päringu töötlemine ja tagastatakse http veakood.
  6. Süsteem lisab eesmärgile väljakutse.
    1. Süsteem uuendab leitud Objektid#Goal objekti andmeid:
      1. aiDescription = NULL
      2. assessmentChallengeIds = Nimekirja lõppu lisatakse sisendis esitatud "assessmentChallengeId" väärtus.
      3. audit = audit (muutmine)
  7. Süsteem tagastab muudetud andmed.