openwave:1.30:applicatiebeheer:instellen_inrichten:grafieken

Verschillen

Dit geeft de verschillen weer tussen de geselecteerde revisie en de huidige revisie van de pagina.

Link naar deze vergelijking

Beide kanten vorige revisie Vorige revisie
Volgende revisie
Vorige revisie
openwave:1.30:applicatiebeheer:instellen_inrichten:grafieken [2024/05/17 15:43] Ton Pullensopenwave:1.30:applicatiebeheer:instellen_inrichten:grafieken [2024/12/11 11:49] (huidige) Kars Gottschal
Regel 2: Regel 2:
 {{tag>openwave:1.30:applicatiebeheer:functionaliteiten:applicatiebouw}} {{tag>openwave:1.30:applicatiebeheer:functionaliteiten:applicatiebouw}}
  
-OpenWave heeft de open source library charts.js geimporteerd, waardoor het mogelijk is tellingen op de database te laten zien als lijn-, staaf-, punten- of taartdiagram. +OpenWave heeft de open source library charts.js geïmporteerd, waardoor het mogelijk is tellingen op de database te laten zien als lijn-, staaf-, punten- of taartdiagram. 
  
 Dit kan vooralsnog alleen op een tegel. \\ Dit kan vooralsnog alleen op een tegel. \\
-In plaats van een tegel live te vullen met tekst op basis van een query (zie getTileContent op [[openwave:1.30:applicatiebeheer:instellen_inrichten:portaldefinitie:portal_tegel|]]), kan nu de tegel live gevuld worden met een diagram op basis van een query.\\+In plaats van een tegel live te vullen met tekst op basis van een query (zie getTileContent op [[openwave:1.30:applicatiebeheer:instellen_inrichten:portaldefinitie:portal_tegel|]]), kan nu ook de tegel live gevuld worden met een diagram op basis van een query.\\
  
 De uitkomst van die query moet een JSON-string zijn met daarin opgenomen labels en metadata en data van het diagram, zoals de charts.js library deze voorschrijft. Zie https://github.com/chartjs/Chart.js\\ De uitkomst van die query moet een JSON-string zijn met daarin opgenomen labels en metadata en data van het diagram, zoals de charts.js library deze voorschrijft. Zie https://github.com/chartjs/Chart.js\\
  
-<adm example voorbeeld staafdiagram+==== Staafdiagram over alle zaken==== 
-{{:openwave:1.30:applicatiebeheer:instellen_inrichten:charts_bar_aantallenperjaar.png?400|}}+<adm example Aantallen zaken per jaar
 +{{:openwave:applicatiebeheer:instellen_inrichten:charts_bar_aantallenperjaar.png?400|}}
  
 Bovenstaande tegel toont de aantallen zaken van de afgelopen 4 jaar in een staafdiagram.\\ Bovenstaande tegel toont de aantallen zaken van de afgelopen 4 jaar in een staafdiagram.\\
 Daartoe moet: Daartoe moet:
-  * de tegelcontent verwijzen naar getflexChart() +  * de tegelcontent verwijzen naar getflexChart() met een querynaam als parameter 
-  * en moet een passende query gedefinieerd worden.+  * en moet een passende query gedefinieerd worden onder deze querynaam.
  
 **getFlexChart()**\\ **getFlexChart()**\\
-Op het detailschermn van de tegeldefinitie (beheerportaal: kolom //Scherm- en Tegelbeheer// : tegel //Portal//) van de betreffende tegel moet de kolom //Tegelopschrift dynamisch met API getTileContent() of getFlexChart()// (dvgettilecontent)  gevuld te worden met een aanroep naar getFlexChart met twee parameters: de gewenste diagramsoort en de naam van de query die de Json string definieert.\\+Op het detailscherm van de tegeldefinitie (beheerportaal: kolom //Scherm- en Tegelbeheer//: tegel //Portal//) van de betreffende tegel moet de kolom //Tegelopschrift dynamisch met API getTileContent() of getFlexChart()// (dvgettilecontent) gevuld worden met een aanroep naar getFlexChart met twee parameters: de gewenste diagramsoort en de naam van de query die de JSON-string definieert.\\
 De functie getFlexChart evalueert de query en geeft het resultaat met het gewenste diagramtype door aan de chart.js, die de informatie rendert naar een diagram.\\  De functie getFlexChart evalueert de query en geeft het resultaat met het gewenste diagramtype door aan de chart.js, die de informatie rendert naar een diagram.\\ 
-De diagramsoort kan zijn: pie, bar, of line. In bovenstaand voorbeeld is dat bar. +De diagramsoort kan zijn: pie, bar, of line. In bovenstaand voorbeeld is dat bar.\\ 
-Dus de waarde van de kolom dvgettilecontent in bovenstaand voorbeeld is //getFlexChart(bar,opening_aantallenperjaar)// waarbij //opening_aantallenperjaar// de naam van de query is (tbquery.dvcode) die een jsonstring met de nodige informatie genereert(OpenWave levert deze queries niet standaard uit:dient deze zelf te definieren+Dus de waarde van de kolom dvgettilecontent in de tegeldefinitie van bovenstaand voorbeeld is //getFlexChart(bar,opening_aantallenperjaar)// waarbij //opening_aantallenperjaar// de naam van de query is (tbquery.dvcode) die een JSON-string met de nodige informatie genereert (OpenWave levert deze queries niet standaard uit: men dient deze zelf te definiëren)
  
 **query**\\ **query**\\
-De char.js library verwacht een Json string met daarin metadata (zoals labels en kleuren) en data (aantallen). Bij een bar (staafdiagram) ziet zo'n JSON-string er (naar bovenstaand voorbeeld) zo uit: +De char.js library verwacht een JSON-string met daarin metadata (zoals labels en kleuren) en data (aantallen). Bij een bar (staafdiagram) ziet zo'n JSON-string er (naar bovenstaand voorbeeld) zo uit:  
 +<code sql>
  
   {   {
Regel 36: Regel 38:
     }]     }]
   }   }
 +</code>
 De uitkomst van de query moet dus bovenstaande string opleveren waarbij de labels berekend moeten worden (de laatste 4 jaar) en waarbij per jaar de aantallen zaken (de data) opgehaald moeten worden uit de database. De uitkomst van de query moet dus bovenstaande string opleveren waarbij de labels berekend moeten worden (de laatste 4 jaar) en waarbij per jaar de aantallen zaken (de data) opgehaald moeten worden uit de database.
 +<code sql>
   select '{   select '{
  "labels": ["' || (select extract('year'from current_date)-3 ||'","' ||   "labels": ["' || (select extract('year'from current_date)-3 ||'","' || 
Regel 58: Regel 60:
         }]         }]
    }'    }'
 +</code>
 </adm> </adm>
  
-<adm example voorbeeld taartdiagram+==== Taartdiagram over openstaande omgevingzaken==== 
-{{:openwave:1.30:applicatiebeheer:instellen_inrichten:charts_pie_soortenomgzakenpng.png?400|}}+<adm example Verdeling openstaande zaken over zaaktypes 
 +{{:openwave:applicatiebeheer:instellen_inrichten:charts_pie_soortenomgzakenpng.png?400|}}
  
 Bovenstaande tegel toont de de verdeling van de openstaande omgevingzaken per soort (dvsoortproc van tbsoortomgzaak).\\ Bovenstaande tegel toont de de verdeling van de openstaande omgevingzaken per soort (dvsoortproc van tbsoortomgzaak).\\
Regel 70: Regel 73:
  
 **getFlexChart()**\\ **getFlexChart()**\\
-De waarde van de kolom dvgettilecontent in bovenstaand voorbeeld is //getFlexChart(pie,opening_verdelingomgzakennaarsoort)// waarbij de eerste parameter //pie// aangeeft dat het gewenste diagram een taartvorm is en waarbij //opening_verdelingomgzakennaarsoort// de naam van de query is (tbquery.dvcode) die een jsonstring met de nodige informatie genereert(OpenWave levert deze queries niet standaard uit: dient deze zelf te definieren+De waarde van de kolom dvgettilecontent in bovenstaand voorbeeld is //getFlexChart(pie,opening_verdelingomgzakennaarsoort)// waarbij de eerste parameter //pie// aangeeft dat het gewenste diagram een taartvorm is en waarbij //opening_verdelingomgzakennaarsoort// de naam van de query is (tbquery.dvcode) die een JSON-string met de nodige informatie genereert (OpenWave levert deze queries niet standaard uit: men dient deze zelf te definiëren).
  
 **query**\\ **query**\\
-De char.js library verwacht een Json string met daarin metadata (zoals labels en kleuren) en data (aantallen). Bij een pie (taart-diagram) ziet zo'n JSON-string er (naar bovenstaand voorbeeld) zo uit (lijkt eigenlijk er veel op staafdiagram, maar nu moeten we per label een aparte kleur definieren). \\ +De char.js library verwacht een JSON-string met daarin metadata (zoals labels en kleuren) en data (aantallen). Bij een pie (taart-diagram) ziet zo'n JSON-string er (naar bovenstaand voorbeeld) zo uit (lijkt eigenlijk erg veel op staafdiagram, maar nu moet men per label een aparte kleur definiëren). \\ 
-Vanwege de breedte van de tegel zijn we gedwongen de label af te korten. \\ +Vanwege de beperking in de breedte van de tegel zijn in bovenstaand voorbeeld de labelnamen afgekort. \\ 
 +<code sql>
   {   {
       "labels": ["Verzk","Tzcht","Klcht","Mldng","Cncpt","Overg"],       "labels": ["Verzk","Tzcht","Klcht","Mldng","Cncpt","Overg"],
Regel 85: Regel 88:
         }]          }] 
   }   }
-   +</code>   
-De uitkomst van de query moet dus bovenstaande string opleveren waarbij de de aantallen zaken (de data) opgehaald moeten worden uit tbomgvergunning verzameld op+De uitkomst van de query moet dus bovenstaande string opleveren waarbij de aantallen zaken (de data) opgehaald moeten worden uit tbomgvergunning verzameld op
   * Verzk (verzoeken): (tbsoortomgverg.dvsoortproc = R of U)   * Verzk (verzoeken): (tbsoortomgverg.dvsoortproc = R of U)
   * Tzcht (toezicht): (tbsoortomgverg.dvsoortproc = C of T of H)   * Tzcht (toezicht): (tbsoortomgverg.dvsoortproc = C of T of H)
Regel 93: Regel 96:
   * Cncpt (conceptverzoek/vooroverleg): (tbsoortomgverg.dvsoortproc = V)   * Cncpt (conceptverzoek/vooroverleg): (tbsoortomgverg.dvsoortproc = V)
   * Overig: (tbsoortomgverg.dvsoortproc is ongelijk aan bovenstaande)   * Overig: (tbsoortomgverg.dvsoortproc is ongelijk aan bovenstaande)
 +<code sql>
   select '{   select '{
       "labels": ["Verzk","Tzcht","Klcht","Mldng","Cncpt","Overg"],       "labels": ["Verzk","Tzcht","Klcht","Mldng","Cncpt","Overg"],
Regel 109: Regel 112:
         }]         }]
    }'    }'
 +</code>
 </adm> </adm>
  
-In bovenstaande voorbeelden zijn de diagrammen toegevoegd op bestaande tegels van het openingsportaal. dat kan, maar kost natuurlijk ook tijd. Beter is een apart portal te maken met tegels die diagrammen laten zien.+In bovenstaande voorbeelden zijn de diagrammen toegevoegd op bestaande tegels van het openingsportaal. Dat kan, maar kost natuurlijk ook tijd. Een alternatief is een apart portaal te maken met tegels die diagrammen laten zien. 
 + 
 +==== Staafdiagram over één zaak==== 
 +<adm example staafdiagram aantallen openstaande taken binnen één zaak> 
 +Op een tegel in het zaakportaal kan voor één zaak ook infornatie in een diagram worden weergegeven.\\ 
 +{{:openwave:applicatiebeheer:instellen_inrichten:charts_bar_openstaandetakenperzaak.png?400|}} 
 + 
 +**getFlexChart()**\\ 
 +De waarde van de kolom dvgettilecontent is //getFlexChart(bar,omgeving_openstaandetaken,{id})// waarbij de eerste parameter //bar// aangeeft dat het gewenste diagram een staafdiagram is en waarbij //omgeving_openstaandetaken// de naam van de query is (tbquery.dvcode) die een JSON-string met de nodige informatie genereert. En waarbij //{id}// aangeeft dat in de aangeroepen query de substring //{id}// door OpenWave on the fly vervangen moet worden met de waarde van de portalid (dnkey van de betreffende zaak van het zaakportaal ). 
 + 
 +**query**\\ 
 +De query levert een jsonstring met de aantallen openstaande adviezen (Ad), Openstaande processtappen (Pr), Openstaande collegiale toetsen (CT) en uitgaande maar nog niet verstuurde brieven (TV). 
 + 
 +<code sql> 
 +Select '{ 
 +"labels":["Ad", "Pr", "CT","TV"], 
 +      "datasets": [{ 
 +         "label":"Openstaande taken", 
 +         "backgroundColor":
 +            "rgba(255, 99, 132, 0.2)" 
 +                              ], 
 +          "borderColor": "rgba(255, 0, 0, 1)", 
 +          "borderWidth": 0.5, 
 +          "data": [' || (select count(*) from tbadviezen where ddvervallen is null and ddadviesdatum is null and dnkeyomgvergunningen = {id}) 
 + || ',' || (select count(*) from tbtermijnbewstappen where ddafgehandeld is null and dvvoorwaardejn = 'N' and dnkeyomgvergunningen = {id}) 
 + || ',' || (select count(*) from tbcorrespcollegtoets where dddatumgetoetst is null and dnkeycorrespondentie in (select dnkey from tbcorrespondentie where dnkeyomgvergunningen = {id})) 
 +    || ',' || (select count(*) from tbcorrespondentie where ddbriefdatum is null and ddvervallen is null and dvdocrichting = 'U' and dnkeyomgvergunningen = {id}) 
 +      || '] 
 +        }] 
 + }' 
 +</code> 
 +</adm>
  • openwave/1.30/applicatiebeheer/instellen_inrichten/grafieken.1715953385.txt.gz
  • Laatst gewijzigd: 2024/05/17 15:43
  • door Ton Pullens