Kodeoppsett

Generelt

Koder for dagbok, melding og gravemelding opprettes og behandles i administrator under kodeoppsett .

Kode opprettes med:

  • Kolonnenavn som du velger fra nedtrekksmeny
  • Kode som er den tekst som vil vises og også lagres i løsning
  • Relatert kode som peker til en kode benyttet for diary_type eller detail_type. På denne måten får man et filter som gir koder avhengig av type valgt.
  • Tabellnavn (kan være flere, skilt med komma) vil gjøre at denne kode kun vises for angitt vegobjekttype
  • Tag som beskrives nærmere nedenfor

Tag

Tag beskrives som en JSON som gir spesielle regler eller funksjoner knyttet til koden man velger. Enkelte av disse er av mer intern karakter og alle vil ikke beskrives, men nedenfor nevner vi likevel noen.

Endring av fargesymbol i Dagbok

Koder for diary type er normalt «0:Avvik», «1:Oppgave» og «2:Arbeid». Prefix med tall benyttes for sortering. Til hver av disse legger man inn en tag som forteller hvordan status på posten skal settes når ny dagbokspost opprettes. Dette gjøres gjennom en tag som ser henholdsvis slik ut:

  • {«key»:»status»,»value»:»event»} som forteller at status skal settes til avvik og fargen rød
  • {«key»:»status»,»value»:»task»} som forteller at status skal settes til oppgave og fargen gul
  • {«key»:»status»,»value»:»done»} som forteller at status skal settes til arbeid og fargen gønn

Hvis en lurer på hvorfor vi ikke bare setter farge utfra diary_type så skyldes det at en dagbokspost kan setts til status «log» og farge hvissom indikerer at dagboksposten ikek lenger er relevant og er fulgt opp med ny kode.

Spesielt for Melding

Melding er en egen modul i AV Veg. Når en melding opprettes så opprettes denne med farge råd som indikerere et avvik. En melding følges opp i dagbok som et hvilket som helst annet avvik. Vi ønsker imidlertid at meldingspunktet i kartet skal få endret symbol avhengig av status på oppfølging. Her benytter vi en egen tag for å fortelle dette:

  • {«key»:»copystatusfor»,»value»:»av_veg.tbl_message»} som sier at status på dagbokskoden til melding skal kopieres til meldingspunktet

Dette betyr at når man f.eks oppretter en oppgave i dagboken på et meldingspunkt, så blir selvsagt dagbokskoden gul, men det gjør også meldingspunktet osv.

Vis vedlegg

Kanskje en litt merkelig tag, men likevel viktig for å indikere at vedlegg skal kunne vises eller legges inn i skjema for detalj til dagbok. Kun aktuell for koden «Vedlegg» som ligger inne «default».

{"key":"showattachment","value":"true"}

Endre egenskap i parent

Man kan benytte tag for å endre en egenskap i parent. Nyttig eksempel kan være å opprette en spesiell type jobb i dagbok som når benyttet, setter en egenskap i tilhørende vegobjekt – f.eks ved bytte av lysarmaturer til LED.

[
    {
       "key": "changeparent",
       "value": {
          "table": "av_veg_data.lysarmatur_88",
          "field": "lyskildetype_2077",
          "value": "'LED'"
        }
    }
]

Opprette relaterte tabeller

Dette er et langt mer omfattende eksempel. Poenget med denne er at man ved hjelp av dagbok, kan opprette nye, relaterte tabeller. Oppgaven denne funksjonen var ment å løse er at NVDB har noen tabeller for å beskrive tilstand for ulike typer objekter i NVDB. Det er flere ulike typer tilstandsobjekter. Et krav er at dersom man oppretter en tilstand så må objektet knyttes til en «mor». Dessuten må geometri/plassering i kart være eksakt den samme som for «mor». Vi tenkte å benytte AV Jobb (vår mobilapp) til selve registreringen og for å slippe å skulle håndtere omfattende og forskjellige skjema for ulike vegobjekttyper, så tenkte vi at dagbok mot «mor» objektet måtte være tingen.

For å få dette til må man gjøre følgende:

  1. Man må opprette en egen dagbokspost som beskriver bruk av funksjonen
  2. Man må opprette tilhørende detaljkodetype for hver enkelt egenskap som skal inn i skjema
  3. Man må opprette tilhørende detaljkoder for den aktuelle detaljtypen med eksakt riktig egenskapsverdi som skal inn til NVDB

Oppsett blir som vist nedenfor.

Konfigurer dagbokspost

Man oppretter først en dagbokspost som utløser denne funksjonen, f.eks «Tilstand/skade, punkt». I tillegg må man legge til en tag som forklarer hvilken tabell man skal skrive til.

[
    {
        "key": "createchild",
        "value": "av_veg_data.tilstandskadepunkt_761"
    }
]

Konfiurer tilhørende detaljtypekode

En detaljtypekode kan være f.eks «Tilstand». Sett relatert kode for denne til «Tilstand/skade, punkt» slik vist over. Her må man legge til en tag som forklarer hvilket felt i tabellen man skal skrive til.

[
    {
        "key": "addtofield",
        "value": {
            "field": "tilstand_7596",
            "value": "%"
        }
    }
]

Man kan i tag vist over legge til en formatering som regex som for et datofelt f.eks kan se slik ut:

[
    {
        "key": "addtofield",
        "value": {
            "field": "datokontrollert_8777",
            "value": "%"
        }
    }, 
	{
        "key": "regex",
        "value": "^((([1-2][0-9])|([0][1-9])|(3[0-1]))[.]((1[0-2])|([0][1-9]))[.][0-9]{4}){0,10}$"
    }
]

Da vil verdien man legger inn kontrolleres og man får ikke adgang til å registrere en verdi som ikke er korrekt. Viktig fordi verdien man legger inn på server skal konverteres til dato.