PM: Taustaprotsess: Eesmärkide arhiveerimine
Kirjeldus
Job käivitatakse automaatselt üks kord päevas öösel kell 00:01. Job-i eesmärk on arhiveerida kõik aktiivsed eesmärgid, mille kõik seotud tegevused on lõppenud, st mille lõpukuupäevad on minevikus.
Seotud Jira task
NSIL-1248 - Getting issue details... STATUS
Eeltingimused
Käivitusaeg: iga päev kell 00:01
Job töötleb ainult aktiivseid eesmärke, st eesmärke (Objektid#Goal), mis vastavad järgmistele tingimustele:
- Eesmärk ei ole arhiveeritud (archived = false);
- Eesmärgi pealkiri (name) on vähemalt 1 tähemärk pikk;
- Eesmärgi kirjeldus (description) on vähemalt 1 tähemärk pikk ja
- Eesmärgiga on seotud vähemalt üks tegevus (Objektid#GoalActivity).
Tööloogika
- Süsteem otsib kõik aktiivsed eesmärgid:
- Otsitakse kõik Objektid#Goal objektid, millel:
- archived = false;
- name on vähemalt 1 tähemärk pikk;
- description on vähemalt 1 tähemärk pikk
- eesmärgiga on seotud vähemalt üks tegevus:
- Kontrollitakse, et eksisteerib vähemalt üks Objektid#GoalActivity, mille:
- goalId = eesmärgi ID
- Kontrollitakse, et eksisteerib vähemalt üks Objektid#GoalActivity, mille:
- Otsitakse kõik Objektid#Goal objektid, millel:
- Filtreeritakse eesmärgid, mille kõik tegevused on minevikus:
- Iga leitud eesmärgi puhul otsitakse kõik seotud tegevused (Objektid#GoalActivity), mille:
- goalId = töödeldava eesmärgi ID (Objektid#Goal.id)
- Kontrollitakse, kas kõigi tegevuste (Objektid#GoalActivity) puhul kehtib tingimus:
- endDate < jooksva kuupäeva algus (st enne tänast päeva kell 00:00)
- Kui tingimus ei ole täidetud, eemaldatakse see töötlemise nimekirjast ning liigutatakse järgmise eesmärgi juurde. Protsess jätkub, kuni kõik eesmärgid on kontrollitud.
- Iga leitud eesmärgi puhul otsitakse kõik seotud tegevused (Objektid#GoalActivity), mille:
- Süsteem arhiveerib allesjäänud eesmärke:
- Kõigi nimekirja alles jäänud eesmärkide puhul uuendatakse andmed:
- Objektid#Goal.archived = true
- Kõigi nimekirja alles jäänud eesmärkide puhul uuendatakse andmed:
Lisamärkused
- Muudatus tehakse ainult andmebaasis – kasutajaliideses eraldi logi või teadet ei kuvata.