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

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

Info

Detta är den fösta och enklaste lösningen att hantera redigering av värde som gäller hela applikationen Markavtal

...

languagexml

...

.

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

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
languagesql
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 , 
            tt.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    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    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 
join  (select      53500 as basbelopp, 
    53500 as basbelopp,  8000 as natstation, 
        80004000 as natstationkabelskap, 
        2000 as ovriga,
    4000 as kabelskap,  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' />
2000 as ovriga,  <parameter name='register_id' label='Register         1.3*0.3*0.05 as fact) p		
    ) a]]>
    </table>
    <on>a.contract_id = id</on>
    </join>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='executiontax_areal' label='Körning' column='a.nametax_areal' />
    <parameter name='register_id' label='Register Id' tax_varde' column='registera.tax_idvarde' />
    <parameter name='registeromradetax_kvmv' label='Kommun' column='registeromradea.tax_kvmv' />
    <parameter name='beteckning' label='Beteckningtax_typkod' column='beteckninga.tax_typkod' />
    <parameter name='contractschakt_typearea' label='Registertyp' column='contracta.schakt_typearea' label="SchaktA"/>
    <parameter name='taxkvm1_areal3' column='a.taxkvm1_areal'3'  label="kvm1_3" /> 
    <parameter name='taxratomt_0_varde3' column='a.taxratomt_0_varde'3'  label="ratomt_0_3" /> 
    <parameter name='taxu_omrade0_kvmv05' column='a.taxu_omrade0_kvmv05'  label="u_omrade0_05" /> 
    <parameter name='tax_typkodshaktersattning' column='a.taxschakt_typkod'ers'  label="SchaktE" /> 
    <parameter name='schakt_areanatstation' column='a.schakt_areanatstation' label="SchaktANätstN"/>
    <parameter name='kvm1_3natstationvarde' column='a.kvm1_3natstationvarde'  label="kvm1_3NätstK" />
    <parameter name='ratomt_0_3kabelskap' column='a.ratomt_0_3kabelskap'  label="ratomt_0_3KabelsN" />
    <parameter name='u_omrade0_05kabelskapvarde' column='a.u_omrade0_05kabelskapvarde'  label="u_omrade0_05KabelsK" />
    <parameter name='shaktersattningovriga' column='a.schakt_ersovriga'  label="SchaktEÖvrigN" />
     <parameter name='natstationovrigavarde' column='a.natstationovrigavarde' label="NätstNÖvrigK"/>
    <parameter name='natstationvardejordkabelersattning' column='a.natstationvardeschakt_ers'  label="NätstKJordkE" /> 
    <parameter name='kabelskapkvmv1_3' column='a.kabelskapkvm1_3' label="KabelsN"/>
    <parameter name='kabelskapvarderatomtvarde' column='a.kabelskapvarderatomt_0_3' label="KabelsK"/>
    <parameter name='ovrigamarginalvarde' column='a.ovrigau_omrade0_05' label="ÖvrigN"/>

    <parameter name='ovrigavardeakerersattning' column='a.ovrigavarde0' label="ÖvrigKÅkerE" />
    <parameter name='jordkabelersattningakererborttaget' column='a.schakt_ers0'  label="JordkEÅkerB" />
     <parameter name='kvmv1_3skogersattning' column='a.kvm1_30' label="SkogE"/>
    <parameter name='ratomtvardeskogborttaget' column='a.ratomt_0_3' label="SkogB"/>
    <parameter name='marginalvardeovrigtersattning' column='a.u_omrade0_050' label="ÖvrigtE"/>
    <parameter name='akerersattningdelsumma' column='0a.intrang_ers' label="ÅkerENettosumE" />
    <parameter name='akererborttagetbasbelopp' column='0a.basbelopp' label="ÅkerB"type='int' />
    <parameter name='skogersattningexprop_schablon_25' column='a.exprop_0_25' label="SkogEExprop25E"/>
    <parameter name='skogborttagetfrvillig' column='frivill_0_25'  label="SkogBFrivilligE"/>
    <parameter name='ovrigtersattningminmiers' column='0minmiers'  label="ÖvrigtEMinimiE"/>
    <parameter name='delsummatotalers' column='a.intrang_ers' label="NettosumE"/>
    <parameter name='basbelopp' column='a.basbelopp' type='int' /> + 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
       <parameter name='exprop_schablon_25' column='a.exprop_0_25' label="Exprop25E"/>
    <parameter name='frvillig' column='frivill_0_25'  label="FrivilligE"/> <column id="register_id" width='300' hidden='true' />
      <parameter name  <column id="registeromrade" width='minmiers300' columnhidden='minmierstrue'  label="MinimiE"/>
    <parameter name='totalers' column='a.intrang_ers + a.exprop_0_25 + frivill_0_25 + minmiers'  label="TotalE"/ <column id="tax_areal" width='70'  hidden='true'>
    <sort  parameter="execution" />     <sort<format parameterxsd:type="beteckning" />xsd:string">000,</format>
       </datasourcedataconnection> </data:datadefinition>

...

column>

Klient-konfiguration

Under katalogen …\platform\workspace\config\config_client\koncerngis\ konfureras klienten

...