Det här dokumentet går igenom programvaror, databas och konfiguration av Markägaravtal
Programvara
Den programvara som följer med är en Plugin som hanterar det formulär som finns med i klienten.
Dessa plugin finns under katalogen …..\platform\custom\plugins
Databas
Markägaravtal har en egen liten fil-databas dom ligger under:
….platform\workspace\config-local\markavtal\markavtal.gpkg
När Markavtal tas i full bruk kommer den troligtvis ligga under:
….\platform\workspace\config\markavtal\markavtal.gpkg
Den nås bäst genom att använda DBeaver databashanterare installerad på testservern med anslutning:
jdbc:sqlite:D:\iKartan\Produktion\ikartan_tst_26_80\platform\workspace\config-local\markavtal\markavtal.gpkg
D:\iKartan\Produktion\ikartan_tst_26_80\platform\workspace\config-local\markavtal\markavtal.gpkg
Markerade tabeller i bilden nedan visar de som är aktiva för markavtals-modellen
Executionen innehåller data om en specifik körning såsom namn, när, vem. Ett paraply över de andra tabellerna
Planned_area innehåller geometrin för schakten. (De figurer som importerats från skissverktyget)
intersected_areas innehåller geometrier för schakten per fastighet. Detta är nyckel-tabellen när vi jobbar i iKartan (där vi kallar dem delområden).
Contract innehåller fastigheter kopplade till en viss körning. Alltså de fastigheter som kan vara aktuella för kontakt
Agare innehåller markägarna för fastigheterna
Taxering innehåller taxeringsuppgifter för fastigheterna
Samfallighetsforening_ga innehåller information om förening till en gemensamhetsanläggning
samfallighetsforening_samf innehåller information om förening till en gsamfällighet
Server-konfiguration
All serverkonfiguration samlas under katalogen
…\platform\workspace\config-local\markavtal
som i produktionmiljön kommer att ligga i
…\platform\workspace\configl\markavtal
Stilfiler
Filer med ändelsen .sld innehåller ritinformation för schakt respective delytor. Det är en vanlig .xml fil som kan redigeras enligt dokumentationen här.
Databasen
Se avsnittet ovan
Rapporterna
Rapporterna finns i underkatalogen “reports” och har alla ändelsen .rptdesign
För att skapa eller redigera rapporter används den programmet BIRT som finns i Weaves rot-katalog. Klickas birt.cmd så startar programmet
Weave-konfiurationen
Denna konfiguration finns i filen markavtal.xml. Den innehåller
Koppling rapporter (.rptdesign filer)
Koppling till karta (spatial mapper)
Koppling till andra relaterade datakällor (datadefinitioner och data)
Frågeformulär (search)
Karttjänster (WMS)
I datadefintionen dd.geab.markavtal.arealer så finns konfigurationer av inställningsvärden
Detta är den fösta och enklaste lösningen att hantera redigering av värde som gäller hela applikationen Markavtal
<data:datadefinition id='dd.geab.markavtal.arealer'> <datasourcedataconnection key='id' table='contract' datasource='ds.geab.markavtal'> <join> <table><![CDATA[ ( select e.name, a.contract_id , a.schakt_area , a.natstation, p.natstation as natstationvarde, a.kabelskap , p.kabelskap as kabelskapvarde, a.ovriga , p.ovriga as ovrigavarde , a.sum_area , t.tax_areal, t.tax_varde , t.tax_typkod , t.tax_kvmv , t.tax_kvmv*1.3 as kvm1_3, t.tax_kvmv*1.3*0.3 as ratomt_0_3, t.tax_kvmv*p.fact as u_omrade0_05, t.tax_kvmv*p.fact*a.schakt_area as schakt_ers, t.tax_kvmv*p.fact*a.schakt_area + p.natstation*a.natstation + p.kabelskap*a.kabelskap + p.ovriga*a.ovriga as intrang_ers, (t.tax_kvmv*p.fact*a.schakt_area + p.natstation*a.natstation + p.kabelskap*a.kabelskap + p.ovriga*a.ovriga)*0.25 as exprop_0_25, case when ((t.tax_kvmv*p.fact*a.schakt_area + p.natstation*a.natstation + p.kabelskap*a.kabelskap + p.ovriga*a.ovriga) + (t.tax_kvmv*p.fact*a.schakt_area + p.natstation*a.natstation + p.kabelskap*a.kabelskap + p.ovriga*a.ovriga)*0.25 ) *0.15 > 0.2*p.basbelopp then 0.2*p.basbelopp else ((t.tax_kvmv*p.fact*a.schakt_area + p.natstation*a.natstation + p.kabelskap*a.kabelskap + p.ovriga*a.ovriga) + (t.tax_kvmv*p.fact*a.schakt_area + p.natstation*a.natstation + p.kabelskap*a.kabelskap + p.ovriga*a.ovriga)*0.25 )*0.15 end as frivill_0_25 , case when (t.tax_kvmv*p.fact*a.schakt_area + p.natstation*a.natstation + p.kabelskap*a.kabelskap + p.ovriga*a.ovriga)+ ((t.tax_kvmv*p.fact*a.schakt_area + p.natstation*a.natstation + p.kabelskap*a.kabelskap + p.ovriga*a.ovriga)*0.25)+ (case when ((t.tax_kvmv*p.fact*a.schakt_area + p.natstation*a.natstation + p.kabelskap*a.kabelskap + p.ovriga*a.ovriga) + (t.tax_kvmv*p.fact*a.schakt_area + p.natstation*a.natstation + p.kabelskap*a.kabelskap + p.ovriga*a.ovriga)*0.25 ) > 0.2*p.basbelopp then 0.2*p.basbelopp else ((t.tax_kvmv*p.fact*a.schakt_area + p.natstation*a.natstation + p.kabelskap*a.kabelskap + p.ovriga*a.ovriga) + (t.tax_kvmv*p.fact*a.schakt_area + p.natstation*a.natstation + p.kabelskap*a.kabelskap + p.ovriga*a.ovriga)*0.25 )*0.15 end) < 0.03*p.basbelopp then 0.03*p.basbelopp - (t.tax_kvmv*p.fact*a.schakt_area + p.natstation*a.natstation + p.kabelskap*a.kabelskap + p.ovriga*a.ovriga)+ ((t.tax_kvmv*p.fact*a.schakt_area + p.natstation*a.natstation + p.kabelskap*a.kabelskap + p.ovriga*a.ovriga)*0.25)+ (case when ((t.tax_kvmv*p.fact*a.schakt_area + p.natstation*a.natstation + p.kabelskap*a.kabelskap + p.ovriga*a.ovriga) + (t.tax_kvmv*p.fact*a.schakt_area + p.natstation*a.natstation + p.kabelskap*a.kabelskap + p.ovriga*a.ovriga)*0.25 ) > 0.2*p.basbelopp then 0.2*p.basbelopp else ((t.tax_kvmv*p.fact*a.schakt_area + p.natstation*a.natstation + p.kabelskap*a.kabelskap + p.ovriga*a.ovriga) + (t.tax_kvmv*p.fact*a.schakt_area + p.natstation*a.natstation + p.kabelskap*a.kabelskap + p.ovriga*a.ovriga)*0.25 )*0.15 end) < 0.03*p.basbelopp else 0 end as minmiers, p.basbelopp from contract c join (select contract_id, sum(areal) as tax_areal, sum(varde) * 1000 as tax_varde, case when sum(areal) = 0 then 0 else sum(cast(varde*1000 as float))/sum(areal) end as tax_kvmv , MIN(typkod) as tax_typkod from taxering t group by contract_id) t on t.contract_id=c.id join (SELECT contract_id, sum(case when "type" = 'Schakt' then area else 0 end) as schakt_area, sum(case when "type" in ('Nätstation') then 1 else 0 end) as natstation, sum(case when "type" in ('Kabelskåp') then 1 else 0 end) as kabelskap, sum(case when "type" not in ('Nätstation','Kabelskåp','Schakt') then 1 else 0 end) as ovriga, count (type)as sum_area from intersected_area group by contract_id) a on a.contract_id = c.id join execution e on c.execution_id = e.id join (select 53500 as basbelopp, 8000 as natstation, 4000 as kabelskap, 2000 as ovriga, 1.3*0.3*0.05 as fact) p ) a]]> </table> <on>a.contract_id = id</on> </join> <parameter name='execution' label='Körning' column='a.name' /> <parameter name='register_id' label='Register Id' column='register_id'/> <parameter name='registeromrade' label='Kommun' column='registeromrade' /> <parameter name='beteckning' label='Beteckning' column='beteckning' /> <parameter name='contract_type' label='Registertyp' column='contract_type' /> <parameter name='tax_areal' column='a.tax_areal' /> <parameter name='tax_varde' column='a.tax_varde' /> <parameter name='tax_kvmv' column='a.tax_kvmv' /> <parameter name='tax_typkod' column='a.tax_typkod' /> <parameter name='schakt_area' column='a.schakt_area' label="SchaktA"/> <parameter name='kvm1_3' column='a.kvm1_3' label="kvm1_3" /> <parameter name='ratomt_0_3' column='a.ratomt_0_3' label="ratomt_0_3" /> <parameter name='u_omrade0_05' column='a.u_omrade0_05' label="u_omrade0_05" /> <parameter name='shaktersattning' column='a.schakt_ers' label="SchaktE" /> <parameter name='natstation' column='a.natstation' label="NätstN"/> <parameter name='natstationvarde' column='a.natstationvarde' label="NätstK"/> <parameter name='kabelskap' column='a.kabelskap' label="KabelsN"/> <parameter name='kabelskapvarde' column='a.kabelskapvarde' label="KabelsK"/> <parameter name='ovriga' column='a.ovriga' label="ÖvrigN"/> <parameter name='ovrigavarde' column='a.ovrigavarde' label="ÖvrigK"/> <parameter name='jordkabelersattning' column='a.schakt_ers' label="JordkE" /> <parameter name='kvmv1_3' column='a.kvm1_3' /> <parameter name='ratomtvarde' column='a.ratomt_0_3' /> <parameter name='marginalvarde' column='a.u_omrade0_05' /> <parameter name='akerersattning' column='0' label="ÅkerE" /> <parameter name='akererborttaget' column='0' label="ÅkerB"/> <parameter name='skogersattning' column='0' label="SkogE"/> <parameter name='skogborttaget' column='0' label="SkogB"/> <parameter name='ovrigtersattning' column='0' label="ÖvrigtE"/> <parameter name='delsumma' column='a.intrang_ers' label="NettosumE"/> <parameter name='basbelopp' column='a.basbelopp' type='int' /> <parameter name='exprop_schablon_25' column='a.exprop_0_25' label="Exprop25E"/> <parameter name='frvillig' column='frivill_0_25' label="FrivilligE"/> <parameter name='minmiers' column='minmiers' label="MinimiE"/> <parameter name='totalers' column='a.intrang_ers + a.exprop_0_25 + frivill_0_25 + minmiers' label="TotalE"/> <sort parameter="execution" /> <sort parameter="beteckning" /> </datasourcedataconnection> </data:datadefinition>
Bilden visar exempel på hur konstanta värden förenas med variabler
Klient-konfiguration
Under katalogen …\platform\workspace\config\config_client\koncerngis\ konfureras klienten
I filen toc_koncerngis..xml läggs konfigurationen in så att den kommer med i lagerförteckningen. Den läggs in någonstans där den den passar bra.
<entry toc="toc.me.geab.markavtal" /> <!-- Här komer det att finnas en ACL för behörighet -->
I filen client_koncerngis.xml läggs det konfiguration på flera ställen
Dels så ska knappen för markavtal läggas till
<item action="com.cohga.client.actions.menuAction"> <text>Markavatal</text> <item action="geab.markavtal.MarkavtalAction" text="Generator" /> <item action="geab.markavtal.MarkavtalExecutionAction" text="Resultathanterare" /> </item>
och dels kartjänsten
<mapEngine id="me.geab.markavtal" />