NSILM

Üldkirjeldus

Teenus võimaldab salvestada tegevuse lõpetatuks - tegevusega seotud lõpetamata tööülesanded märgitakse lõpetatuks. Kui tegevuse või mõne tööülesande lõpu kuupäev on tulevikus, kirjutatakse see üle jooksva kuupäevaga.

Seotud andmeobjektid:

Seotud Jira taskid

NSIL-944 - Getting issue details... STATUS

NSIL-1162 - 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

goalActivityId

1

String
  • Tegevus peab eksisteerima ja olema seotud eesmärgiga.
    • goalActivityId = GoalActivity.id, mille goalId = sisendis esitatud goalId
  • Tegevuse lõpukuupäev peab olema tulevikus või sellega peab olema seotud vähemalt üks lõpetamata tööülesanne. 
    • GoalActivity.endDate = tulevikus VÕI
    • Eksisteerib Objektid#GoalActivityTask objekt, mille goalActivityId = sisendis esitatud goalActivityId ja done = false
Tegevuse unikaalne identifikaator, mida määratakse lõpetatuks.

goalId

1

String
  • Eesmärk peab eksisteerima ja ei tohi olla arhiveeritud.
    • goalId = Goal.id, mille archived = false
Viide eesmärgile, millega tegevus on seotud.

Väljundid

Atribuut

Kohustuslikkus, mitmesus

TüüpKirjeldus, täiendav info
Samad mis teenusel PM: API: Goal: POST /planning-api/goals/{goalId}/activities#V%C3%A4ljundid.

Ärireegel

  1. Tegevuse lõpetamisel märgitakse kõik sellega seotud lõpetamata tööülesanded lõpetatuks.
  2. Kui lõpetatakse tegevus, mille lõpukuupäev on tulevikus, kirjutatakse üle nii tegevuse kui ka kõigi sellega seotud tulevikus lõppevate tööülesannete lõpukuupäevad — need asendatakse jooksva kuupäevaga.
    1. Muudel juhtudel lõpukuupäevad ei muutu.

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, kas sisendis esitatud tegevus (goalActivityId) eksisteerib ja 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 tegemist on tulevikus lõppeva tegevusega:
    1.  Kui Objektid#GoalActivity.endDate > jooksev kuupäev, siis:
      1. Tegevuse lõpukuupäev muudetakse jooksvaks kuupäevaks:
        1. Objektid#GoalActivity objekt uuendatakse: 
          1. endDate = jooksev kuupäev
      2. Süsteem otsib seotud lõpetamata tööülesandeid:  
        1. Otsitakse Objektid#GoalActivityTask objekte, mille:
          1. goalActivity = Sisendis esitatud "goalActivityId" väärtus
          2. goalId =  Sisendis esitatud "goalId" väärtus
          3. done = false
      3. Leitud tööülesanded märgitakse lõpetatuks:
        1. Iga leitud Objektid#GoalActivityTask objekt uuendatakse järgmiselt:
          1. done = true
          2. Kui endDate > jooksev kuupäev, siis määratakse selle väärtuseks jooksev kuupäev. 
      4. Seejärel liigutakse sammu 8 juurde.
    2. Kui Objektid#GoalActivity.endDate ≤ jooksev kuupäev:
      1. Süsteem otsib seotud lõpetamata tööülesandeid:
        1. Otsitakse Objektid#GoalActivityTask objekte, mille:
          1. goalActivityId =  Sisendis esitatud "goalActivityId" väärtus
          2. goalId =  Sisendis esitatud "goalId" väärtus
          3. done = false
      2. Leitud tööülesanded märgitakse lõpetatuks:
        1. Iga leitud Objektid#GoalActivityTask objekt uuendatakse järgmiselt:
          1. done = true
      3. Kui ei leita ühtegi lõpetamata tööülesannet, lõpetatakse päringu töötlemine ja tagastatakse http veakood. (päring ei tohtinud olla käivitatud)
  6. Süsteem otsib tegevuse eest vastutavaks määratud meeskonnaliikme nime.
    1. Süsteem otsib Objektid#GoalTeamMember objekti, mille:
    2. Kui vastavat meeskonnaliiget ei leita, lõpetatakse päringu töötlemine ja tagastatakse http veakood.
  7. Süsteem tagastab lõpetatuks märgitud tegevuse andmed.