GispoCoding / hame-ryhti

HAME regional land use planning database compatible with national Ryhti data model
MIT License
0 stars 0 forks source link

Add additional date fields for lifecycle status events #14

Closed Rikuoja closed 6 months ago

Rikuoja commented 8 months ago

Currently, kaava (and kaavamääräys and kaavakohde, if applicable) only have date fields for some events (e.g. creation date and valid_from date).

Probably will need to add dates for all plan lifecycle status events (draft, approval etc.) that we want to import to Ryhti. This is because Ryhti API requires each lifecycle status of the plan to be embedded within the corresponding decision making event (e.g. the date of approval of the plan must be provided when sending an approved plan to Ryhti API).

Will have to check which of these fields have to also be present in kaavamääräys and kaavakohde. Kaava will have to have all of these.

Perhaps kaavamääräys and kaavakohde will need them too, if e.g. the kaava is approved but at the same date (or another date) a single kohde or single määräys is cancelled or revoked in the court?

SannaJokela commented 7 months ago

@Rikuoja tää oli todo-listalla mutta ei assignattu - oliko sulla työn alla kuitenkin?

Rikuoja commented 7 months ago

@SannaJokela Ei ole työn alla, koska tässä on kysymys.

SannaJokela commented 7 months ago

Tarvitaan lista elinkaaritilasta

SannaJokela commented 7 months ago

@msorvoja https://koodistot.suomi.fi/codescheme;registryCode=rytj;schemeCode=kaavaelinkaari tuolla nuo kaikki tilat ja niille siis jokaiselle oma pvm-kenttä.

SannaJokela commented 7 months ago

Eli siis kaavan ulkoraja, kaavakohde, kaavamääräys.

msorvoja commented 7 months ago

@SannaJokela Myös kaavasuosituksella on elinkaaritila eli se myös?

SannaJokela commented 7 months ago

@msorvoja aivan, kyllä. Jossain vaiheessa mietin että olisi melkeen parempi jos ryhmällä on, mutta ilmeisesti jokin yksittäinen kaavamääräys tai suositus voidaan kumota ja ryhmä jää (vaikka ehkä parempi olisi vaan tehdä uusi ryhmä). Mutta koitetaan tällä. Eli joo, suosituksella myös kaikki elinkaaritilat

Rikuoja commented 7 months ago

@SannaJokela @msorvoja

Koska näitä on niin paljon ja nyt kun kivasti kaikki tekstit on koodistoista tänne copypastetettu, niin nyt ehdin speksata tätä tarkemmin. Eli paljon yksinkertaisempi tietokantarakenne olisi tehdä erillinen taulu, jossa on viittaukset elinkaaren tilaan ja kohteeseen jota elinkaaren tila koskee, sekä kyseisen elinkaaren tilan alkupäivämäärä. Eli englanniksi starting_at ja ending_at.

Eli tuohon tauluun voisi siirtää kaikki elinkaareen liittyvät päivämäärät. Olisiko taululle hyvä nimi vaikka LifeCycleDate?

Sitten käytännössä PlanBasessa tarvitsee olla enää exported_at (koska se ei ole elinkaaritieto, vaan se liittyy meidän paikalliseen ryhti-prosessiin ja siihen, milloin Ryhti-vienti viimeksi tehty). Ja kaikissa tauluissa edelleen created_at ja modified_at (koska ne liittyy kanssa paikalliseen muokkaukseen eikä elinkaaren muutoksiin).

Tämä siis sen takia, että muuten meidän pitäisi toteuttaa tietokantaan joka tapauksessa jälkikäteen erillinen taulu, joka sitten kertoo, mikä päivämääräkenttä liittyy mihinkin elinkaaren tilaan siinä vaiheessa, kun niitä elinkaarojen tiloja muutetaan, ja pitää täyttää päivämäärät automaattisesti :D

Jos se elinkaaren tila lukee jokaisen päivämäärän yhteydessä, päivämäärien käsittely on paljon helpompi automatisoida.

image