Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Det här dokumentet går igenom programvaror, databas och konfiguration av Markägaravtal

...

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 finn 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

Info

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.

Code Block
languagexmlsql
select e.name, a.contract_id , 
        <parameter name='kabelskapvarde' column='a.kabelskap * 5000' label="KabelsN"/>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 +  <parameter name='ovriga' column='a.ovriga' label="ÖvrigN"/>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  <parameter name='ovrigavarde' column='a.ovriga * 3000' label="ÖvrigE" />+ 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)+ 
               <parameter name='kvmv' column='case when tax_areal >0 then cast(tax_varde as float)/tax_areal else 0 end' /> ((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)+ 
               <parameter name='kvmv1_3' column='(case when tax_areal >0 then cast(tax_varde as float)/tax_areal else 0 end)*1.3*1000' />
            <parameter name='ratomtvarde' column='((case when tax_areal >0 then cast(tax_varde as float)/tax_areal else 0 end)*1.3*1000)*0.3' />
        ((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.

Code Block
languagexml
    <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='marginalvardecontract_type' label='Registertyp' column='(((case when tax_areal >0 then cast(tax_varde as float)/tax_areal else 0 end)*1.3*1000)*0.3)*.05' '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='akerersattningkabelskapvarde' column='0a.kabelskapvarde' label="ÅkerE" KabelsK"/>
    <parameter name='ovriga' column='a.ovriga' label="ÖvrigN"/>
    <parameter name='ovrigavarde' column='a.ovrigavarde' label="ÖvrigK"/>
    <parameter name='akererborttagetjordkabelersattning' column='0a.schakt_ers'  label="ÅkerBJordkE" /> 
    <parameter name='kvmv1_3' column='a.kvm1_3' />
    <parameter name='ratomtvarde' column='a.ratomt_0_3' />
    <parameter name='skogersattning'marginalvarde' column='a.u_omrade0_05' />
    <parameter name='akerersattning' column='0' label="SkogEÅkerE" />
    <parameter name='akererborttaget' column='0' label="ÅkerB"/>
    <parameter name='skogborttagetskogersattning' column='0' label="SkogBSkogE"/>
    <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='48300a.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.

Code Block
        <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

...

Code Block
            <mapEngine id="me.geab.markavtal">
              <options>
                <transitionEffect>resize</transitionEffect>
                <alpha>false</alpha>
                <ratio>1.2</ratio>
              </options>
            </mapEngine>/>