Markägaravtal administration
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.
Det är huvudsakligen två dataset som används av alla rapporterna: Arealer och ägare
Anpassningen till att pass fälten i rapporten görs huvudsaklingen i dataset:et genom “computed column. Här omformas en del kolumner t.ex. ett namn som starta med stor bokstav.
Det finns några globala JavaScript funktioner under fliken script med översta raden i “outline” trädet markerat.
I rapporten är textstycken inlagda med olika element: text och dynamisk text. I bilden är stycke 4 och6 inlagda med dynamisk text, formaterade med JavaScript och stycke 5 inlagda med test, formaterad med html.
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
Den inre delen (tabell=) av datadefintionen är en SQLfråga som ställer samman data från databasens tabeller och sätter in de konstanter t.ex. basbelopp som används i beräkningen. Här ändrar administratören om förutsättningen förändras.
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
Parametrarna anger vilka kolumner som förs över till rapporterna och som också kan visas i klienten (där flera av värdena kan gömmas för att det ska vara lmer överkådligt för användaren). Kolumnnamn som börjar med a. kommer från ovan SQLfråga. Namnet för parametern får inte ändras för att det påverkar rapporterna.
<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"/>
Visningen av data i klienten görs med data:data id="d.geab.markavtal.arealer" label="Arealer per fastighet". Här bestäms vilka kolumner som skall visas och vilket format de skall ha. Med hidden='true'
så visas inte kolumnen i klienten men den går att ta fram genom att användaren hovrar över ett kolumnnamn i tabellen och väljer/klickar på pilen som då visas. Då visas en lista med alla kolumner som kan kryssas för eller tas bort.
<column id="register_id" width='300' hidden='true' />
<column id="registeromrade" width='300' hidden='true' />
<column id="tax_areal" width='70' hidden='true'>
<format xsd:type="xsd:string">000,</format>
</column>
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.
I filen client_koncerngis.xml läggs det konfiguration på flera ställen
Dels så ska knappen för markavtal läggas till
och dels kartjänsten