NSILM

Üldkirjeldus

Teenus võimaldab salvestada eesmärgi tööülesande andmed. 

Seotud andmeobjektid:

Seotud Jira taskid

NSIL-858 - 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.
  • 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

goalActivityTaskId

1

String
  • Tööülesanne peab eksisteerima ja olema seotud url-is esitatud eesmärgi ja tegevusega. 
    • GoalActivityTask.id = {goalActivityTaskId} = goalActivityTaskId
    • GoalActivityTask.goalId = {goalId} =goalId
    • GoalActivityTask.goalActivityId = {goalActivityId}
  • Tööülesanne ei tohi olla lõpetatud.
    • GoalActivityTask.done = false
Tööülesande unikaalne identifikaator, mille andmeid muudetakse.

newGoalActivityId

1String
  • Tegevus peab eksisteerima ja olema seotud eesmärgiga.
    • newGoalActivityId = GoalActivity.id, mille goalId = goalId
  • Võib olla sama tegevus, millega tööülesanne on praegu seotud, aga võib olla ka teine. 

Viide eesmärgi tegevusele, millele kuuluvat tööülesannet muudetakse.

goalId

1

String
  • Eesmärk peab eksisteerima ja ei tohi olla arhiveeritud.
    • Goal.id = goalId
    • Goal.archived = false
  • Peab olema sama eesmärk, millega tööülesanne on praegu seotud. 
    • goalId = {goalId}
Eesmärgi unikaalne identifikaator, millele kuuluvat tööülesannet muudetakse.
taskName

1

String
  • Peab olema 3-250 tähemärki pikk.
Tööülesande pealkiri.
goalTeamMemberId

1

String
  • Meeskonnaliige peab eksisteerima ja olema seotud eesmärgiga.
    • GoalTeamMember.id = goalTeamMemberId
    • GoalTeamMember.goalId = goalId
Viide tööülesande vastutajaks määratud meeskonnaliikmele.
startDate

0..1

Date
  • Peab olema sisendis esitatud tegevuse (goalActivityId) alguskuupäevaga võrdne või hilisem.

    • startDate ≥ GoalActivity.startDate, mille id = goalActivityId
  • Peab olema sisendis esitatud tööülesande lõpukuupäevaga (endDate) võrdne või varasem.

    • startDate  endDate
Tööülesande algus kuupäev.
endDate

1

Date
  • Peab olema tänane kuupäev või hilisem.

  • Peab olema sisendis esitatud tegevuse (goalActivityId) lõpukuupäevaga võrdne või varasem.

    • endDate  GoalActivity.endDate, mille id = goalActivityId
  • Kui alguskuupäev on määratud, peab lõpukuupäev olema alguskuupäevaga võrdne või hilisem.

    • endDate ≥ startDate
Tööülesande lõpu kuupäev.
taskDescription

0..1

String
  • Lubatud 3-2500 tähemärki.
Tööülesande pikem kirjeldus.
fundings

0..*

Array

  • Tööülesandel võib olla 0..n rahastuse allikat.

Tööülesande rahastuse allikas. 

fundings.year

1

Number

  • Peab olema neljakohaline number.
  • Aasta peab olema määratud lubatud vahemikku (eelmine aasta, jooksev aasta või järgmised 10 aastat).

Aasta, millesse rahastus planeeritud.

fundings.amount

1

Number

  • Peab olema positiivne number.
  • Võib olla täisarv või sisaldada komakohti.

Planeeritud rahastuse summa eurodes.

fundings.description

0..1

String

  • Lubatud 3-2500 tähemärki.

Rahastuse allika kirjeldus.

Väljundid

Atribuut

Kohustuslikkus, mitmesus

TüüpKirjeldus, täiendav info

Samad mis teenusel PM: API: Goal: POST /planning-api/goals/{goalId}/activities/{goalActivityId}/tasks.

Tegevused

  1. Süsteem kontrollib, kas kasutajal on õigus 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 seda hallata.
    1. Kontroll toimub 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, et tööülesanne (goalActivityTaskId = {activityTaskId}) eksisteerib, pole lõpetatud ja on seotud url-is antud eesmärgi ja tegevusega.
    1.  Süsteem otsib Objektid#GoalActivityTask objekti, mille:
      1. id =  {activityTaskId} = Sisendis esitatud "goalActivityTaskId" väärtus
      2. goalId = {goalId} = Sisendis esitatud "goalId" väärtus
      3. goalActivityId = {goalActivityId}
      4. done = false
      5. Kui tööülesannet ei leita, lõpetatakse päringu töötlemine ja tagastatakse http veakood.
  5. Kui tööülesannet liigutatakse ümber teise tegevuse alla ({goalActivityId} != newGoalActivityId): 
    1. Süsteem kontrollib, kas tegevus (newGoalActivityId), millega soovitakse tööülesannet siduda, eksisteerib ning kas see on seotud sisendis esitatud eesmärgiga.
      1.  Süsteem otsib Objektid#GoalActivity objekti, mille:
        1. id =  Sisendis esitatud "newGoalActivityId" väärtus
        2. goalId = {goalId} = Sisendis esitatud "goalId" väärtus
      2. Kui tegevust ei leita, lõpetatakse päringu töötlemine ja tagastatakse http veakood.
  6. Süsteem kontrollib loodava tööülesande algus- ja lõpukuupäevade korrektsust:
    1. Süsteem kontrollib järgmiste tingimuste täitmist:
      1. Sisendis esitatud "startDate" on:
        1. varasem või võrdne sisendis esitatud "endDate"-ga,
        2. ning hilisem või võrdne sisendis esitatud tegevuse (goalActivityId) algus kuupäevaga (varem leitud Objektid#GoalActivity.startDate).
      2. Sisendis esitatud "endDate" on:
        1. tänane kuupäev või hilisem,
        2. hilisem või võrdne sisendis esitatud "startDate"-ga (kui see on määratud)
        3. ning varasem või võrdne sisendis esitatud tegevuse (goalActivityId) lõpu kuupäevaga (varem leitud Objektid#GoalActivity.endDate).
    2. Kui sisendis esitatud andmeid ei vasta tingimustele, lõpetatakse päringu töötlemine ja tagastatakse http veakood.
  7. Süsteem kontrollib, kas tööülesande eest vastutavaks määratud meeskonnaliige eksisteerib ja kas ta kuulub eesmärgi meeskonda.
    1. Süsteem otsib Objektid#Goal objekti, mille:
      • id = Sisendis esitatud "goalId" väärtus
      • teamMembers nimekirjas on sisendis esitatud "goalTeamMemberId" väärtus.
    2. Kui vastavat meeskonnaliiget ei leita, lõpetatakse päringu töötlemine ja tagastatakse http veakood.
  8. Süsteem uuendab tööülesande andmeid:   
    1. Süsteem uuendab Objektid#GoalActivityTask objekti, mille id = {activityTaskId} = Sisendis esitatud "goalActivityTaskId" väärtus, järgmiselt:
      1. goalId = jääb samaks
      2. done = jääb samaks
      3. goalActivityId = Sisendis esitatud "newGoalActivityId" väärtus
      4. taskName =  Sisendis esitatud "taskName" väärtus
      5. goalTeamMemberId =  Sisendis esitatud "goalTeamMemberId" väärtus
      6. startDate =  Sisendis esitatud "startDate" väärtus
      7. endDate =  Sisendis esitatud "endDate" väärtus.
      8. taskDescription =  Sisendis esitatud "taskDescription" väärtus
      9. Süsteem kirjutab üle tööülesande fundings
        1. fundings.year = Sisendis esitatud "fundings.year" väärtus.
        2. fundings.amount = Sisendis esitatud "fundings.amount" väärtus.
        3. fundings.description = Sisendis esitatud "fundings.description" väärtus.
  9. Süsteem tagastab muudetud tööülesande andmed, sh tööülesande eest vastutavaks määratud meeskonnaliikme nime.