NSILM

Üldkirjeldus

Teenus võimaldab lisada eesmärgi tegevusele uue tööülesande. 

Seotud andmeobjektid:

Seotud Jira taskid

NSIL-849 - Getting issue details... STATUS

NSIL-1169 - 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 = 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 = 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

goalActivityId

1String
  • Tegevus peab eksisteerima ja olema seotud eesmärgiga.
    • GoalActivity.id = goalActivityId GoalActivity.goalId = goalId

Viide eesmärgi tegevusele, millele tööülesanne lisatakse.

goalId

1

String
  • Eesmärk peab eksisteerima ja ei tohi olla arhiveeritud.
    • Goal.id = goalId
    • Goal.archived = false
Eesmärgi unikaalne identifikaator, millega tegevus on seotud.
taskName

1

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

1

String
  • Peab olema üks eesmärgi meeskonnaliikmetest.
    • 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.

    • endDateGoalActivity.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
id

1

StringEesmärgi tegevuse tööülesande unikaalne identifikaator.
goalActivityId

1

StringViide tegevusele, millega tööülesanne on seotud.

goalId

1

StringViide eesmärgile, millega tegevus on seotud.
taskName

1

StringTööülesanne pealkiri.
goalTeamMemberId

1

StringViide tööülesande vastutajaks määratud meeskonnaliikmele.
goalTeamMemberName

0..1

StringTööülesande eest vastutava eesmärgi meeskonnaliikme nimi.
startDate

0..1

DateTööülesande alguskuupäev.
endDate

1

DateTööülesande lõpukuupäev.
taskDescription

0..1

StringTööülesande pikem kirjeldus.
done

1

BooleanMärge, kas tööülesanne on tehtud või mitte.
fundings

0..*

Array

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

fundings.year

1

Number

Aasta, millesse rahastus planeeritud.

fundings.amount

1

Number

Planeeritud rahastuse summa eurodes.

fundings.description

0..1

String

Rahastuse allika kirjeldus.

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 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, kas tegevus, millele üritatakse tööülesannet lisada, eksisteerib ja kas see on seotud eesmärgiga.
    1.  Süsteem otsib Objektid#GoalActivity objekti, mille:
      1. id =  Sisendis esitatud "goalActivityId" väärtus
      2. goalId = Sisendis esitatud "goalId" väärtus.
    2. Kui tegevust ei leita, lõpetatakse päringu töötlemine ja tagastatakse http veakood.
  5. 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 tingimustele vastavat eesmärki ei leitalõ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 andmed ei vasta tingimustele, lõpetatakse päringu töötlemine ja tagastatakse HTTP-veakood.
  7. Süsteem lisab eesmärgile uue tööülesande:  
    1. Süsteem loob uue Objektid#GoalActivityTask objekti, mille:
      • id = UUID
      • goalId = Sisendis esitatud "goalId" väärtus
      • goalActivityId =  Sisendis esitatud "goalActivityId" väärtus
      • taskName =  Sisendis esitatud "taskName" väärtus
      • goalTeamMemberId =  Sisendis esitatud "goalTeamMemberId" väärtus
      • startDate =  Sisendis esitatud "startDate" väärtus (kui on määratud)
      • endDate =  Sisendis esitatud "endDate" väärtus
      • taskDescription =  Sisendis esitatud "taskDescription" väärtus
      • done = false
      • Süsteem lisab loodavale Objektid#GoalActivityTask objektile sisendis esitatud fundings objektid:
        • year = Sisendis esitatud "fundings.year" väärtus
        • amount = Sisendis esitatud "fundings.amount" väärtus
        • description = Sisendis esitatud "fundings.description" väärtus
  8. Süsteem otsib tööülesande eest vastutavaks määratud meeskonnaliikme nime: 
    1. Süsteem otsib Objektid#GoalTeamMember objekti, mille:
      1. id Sisendis esitatud "goalTeamMemberId" väärtus
  9. Süsteem tagastab eemärgile lisatud tööülesande andmed, sh tööülesande eest vastutavaks määratud meeskonnaliikme nime.