NSILM

Üldkirjeldus

Teenus võimaldab kustutada arengukava sektsiooni. Koos sellega eemaldatakse ka kõik sektsiooniga seotud vormielemendid (sh pildid ja aruanded).

Seotud andmeobjektid:

Seotud Jira taskid

NSIL-999 - 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.

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 ei ole õigust, 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 sektsioon (sectionId) eksisteerib ja kuulub muudetavasse arengukavasse (developmentPlanId):

    1. Süsteem otsib Objektid#DevelopmentPlanSection objekti, mille:
      1. id =  sisendis esitatud sectionId väärtus
      2. developmentPlanId =  sisendis esitatud developmentPlanId väärtus
    2. Kui vastavat sektsiooni ei leita, lõpetatakse päringu töötlemine ja tagastatakse http veakood:
    3. Süsteem otsib Objektid#DevelopmentPlan objekti, mille:
      1. id =  sisendis esitatud developmentPlanId väärtus
      2. editable = true
    4. Kui vastavat arengukava ei leita, lõpetatakse päringu töötlemine ja tagastatakse http veakood.
  4. Süsteem eemaldab sektsiooni vormielemendid:
    1. Süsteem otsib kõik Objektid#DevelopmentPlanElement objektid, mille:
      1. developmentPlanSectionId =  sisendis esitatud sectionId väärtus
    2. Iga leitud vormielemendi puhul:
      1. Kui vormielemendi inputType = "IMAGE", kustutatakse vormielemendiga seotud fail failihoidlast ning eemaldatakse ka selle metaandmed.
          1. Tuvastatakse faili asukoht failisüsteemis:
            1. Otsitakse Objektid#File objekti, mille id = leitud Objektid#DevelopmentPlanElement.file.id väärtus.
            2. Kui vastavat objekti ei leita, lõpetatakse päringu töötlemine ja tagastatakse http veakood. 
          2. Otsitakse failihoidlast faili, mille id = leitud Objektid#File.fileSystemId väärtus
            1. Kui faili ei leita, logitakse viga.
            2. Kui fail leitakse, eemaldatakse see jäädavalt süsteemist.
          3. Süsteem eemaldab faili metaandmed:
            1. Andmebaasist eemaldatakse jäädavalt varem leitud Objektid#File objekt.
      2. Eemaldatakse töödeldav Objektid#DevelopmentPlanElement objekt jäädavalt andmebaasist.
      3. Süsteem kordab tegevusi, kuni kõik vormielemendid on eemaldatud. 
  5. Süsteem uuendab sektsioonide järjekorda:
    1. Otsitakse sektsioon, mis hetkeseisuga järgneb kustutavale sektsioonile (sectionId) sektsioonide järjekorras:
      1. Otsitakse Objektid#DevelopmentPlanSection objekti, mille:
        1. developmentPlanId = sisendis esitatud developmentPlanId väärtus 
        2. previousSectionId = sisendis esitatud sectionId väärtus. 
    2. Kui sobiv sektsioon leitakse, uuendatakse see järgmiselt:
      1. previousSectionId = kustutava sektsiooni previousSectionId väärtus (Objektid#DevelopmentPlanSection.previousSectionId, mille id = sisendis esitatud sectionId väärtus)
    3. Kui sobivat sektsiooni ei leita, liigub süsteem järgmise sammu juurde.
  6. Süsteem eemaldab sektsiooni.
    1. Eemaldatakse andmebaasist jäädavalt Objektid#DevelopmentPlanSection objekt, mille id =  sisendis esitatud sectionId väärtus.
  7. Süsteem tagastab kustutatud sektsiooni andmed.