NSILM

Üldkirjeldus

Teenus võimaldab salvestada arengukava sektsiooni andmed.

Seotud andmeobjektid:

Seotud Jira taskid

NSIL-998 - Getting issue details... STATUS

Eeltingimused ja kasutusõigused

  • Kui tegemist on asutusepõhise arengukavaga (DevelopmentPlan.developmentPlanScope = INSTITUTIONAL):
    • Kasutajal peab olema seos arengukava asutusega ning sama asutuse arengukava lisamise ja muutmise õigus
      • DevelopmentPlan.institution.id = Kasutaja poolt valitud rolliga seotud asutus
      • Õigust reguleerib privileeg: HSILM_PLANNING_DEV_PLAN_MANAGE.
  • Kui tegemist on isikupõhise arengukavaga (DevelopmentPlan.developmentPlanScope = INDIVIDUAL):
    • Kasutaja peab olema arengukava omanik ja tal peab olema seos nii arengukava asutuse kui ka ametikohaga.
      • DevelopmentPlan.personalCode = Kasutaja isikukood
      • DevelopmentPlan.institution.id = Kasutaja poolt valitud rolliga seotud asutus
      • DevelopmentPlan.jobsite = Kasutaja poolt valitud rolliga seotud ametikoht
    • Eraldi privileegi ei ole vaja.
  • Arhiivi ja meeskonnaliikme rolli valinud kasutaja ei saa muuta arengukava.

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
sectionId

1

String
  • Peab eksisteerima ja olema seotud arengukavaga. 
    • sectionId = DevelopmentPlanSection.id, mille developmentPlanId = developmentPlanId
Arengukava sektsiooni unikaalne identifikaator.

developmentPlanId

1

String
  • Peab eksisteerima ja olema muudetav.
    • developmentPlanId = DevelopmentPlan.id, mille editable = true

Viide arengukavale, kuhu sektsioon kuulub.

name1String
  • Peab olema 3 - 250 tähemärki pikk.
Arengukava sektsiooni pealkiri.
previousSectionId1String
  • Kui määratud, siis peab eksisteerima ja olema seotud sama arengukavaga.
    • previousSectionId = DevelopmentPlanSection.id, mille developmentPlanId = developmentPlanId

Viide sektsioonile, mille järel käesolev sektsion kuvatakse arengukava sektsioonide järjestuses. 

Kui väärtus on NULL, kuvatakse sektsioon esimesena.

Väljundid

AtribuutKohustuslikkus, mitmesusTüüpKirjeldus, täiendav info
Samad nagu teenusel PM: API: DevelopmentPlan: POST /planning-api/development-plans/{developmentPlanId}/sections.

Tegevused

  1. Süsteem kontrollib, kas kasutajal on õigust päringut teostada.
    1. Kui kasutajal puudub vastav õigus, 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, et sisendis esitatud arengukava eksisteerib ja on muudetav:
    1. Otsitakse Objektid#DevelopmentPlan objekti, mille:
      1. id = sisendis esitatud developmentPlanId väärtus
      2. editable = true
    2. Kui arengukava ei leita, lõpetatakse päringu töötlemine ja tagastatakse http veakood.
  4. Süsteem kontrollib, kas sisendis esitatud sektsioon (sectionId) eksisteerib ja on seotud arengukavaga (developmentPlanId):

    1. Otsitakse Objektid#DevelopmentPlanSection objekti, mille:
      1. id =  sisendis esitatud sectionId väärtus
      2. developmentPlanId = sisendis esitatud developmentPlanId väärtus
    2. Kui sobivat sektsiooni ei leita, lõpetatakse päringu töötlemine ja tagastatakse http veakood.
  5. Süsteem kontrollib, kas leitud sektsiooni previousSectionId erineb sisendis esitatud previousSectionId väärtusest:
    1. Kui erineb:
      1. Kui sisendis esitatud previousSectionId != NULL, kontrollib süsteem, kas selline sektsioon eksisteerib ja kuulub samasse arengukavasse:
        1. Otsitakse Objektid#DevelopmentPlanSection objekti, mille:
          1. id =  sisendis esitatud previousSectionId väärtus
          2. developmentPlanId = sisendis esitatud developmentPlanId väärtus
        2. Kui sobivat sektsiooni ei leita, lõpetatakse päringu töötlemine ja tagastatakse http veakood.
      2. Sektsioonide järjekorda uuendatakse järgmiselt:
        1. Otsitakse sektsiooni, mis praegu järgneb sisendis esitatud previousSectionId väärtusega sektsioonile: 
          1. Otsitakse Objektid#DevelopmentPlanSection objekti, mille:
            1. developmentPlanId = sisendis esitatud developmentPlanId väärtus 
            2. previousSectionId = sisendis esitatud previousSectionId väärtus (või NULL, kui puudub). 
          2. Kui sobivat sektsiooni ei leita, lõpetatakse päringu töötlemine ja tagastatakse http veakood.
        2. Leitud sektsiooni määratakse järgnevaks muudetavale sektsioonile:
          1. Süsteem uuendab leitud Objektid#DevelopmentPlanSection objekti järgmiselt:
            1. previousSectionId = sisendis esitatud sectionId väärtus
  6. Süsteem uuendab sisendis esitatud sektsiooni (sectionId) andmed:
    1. Otsitakse Objektid#DevelopmentPlanSection objekti, mille:
      1. id = sisendis esitatud sectionId väärtus.
    2. Muudetakse leitud Objektid#DevelopmentPlanSection objekti andmed:
      1. name = sisendis esitatud name väärtus
      2. previousSectionId = sisendis esitatud previousSectionId väärtus 
  7. Süsteem tagastab muudetud sektsiooni andmed.