Sfoglia il codice sorgente

embellisha and overhaul logic - report dashboard

develop
E-A 2 anni fa
parent
commit
d0b5623811
  1. 57
      liferay-plugins-sdk-6.2/portlets/portos-reportistica-portlet/docroot/WEB-INF/src/content/Language.properties
  2. 57
      liferay-plugins-sdk-6.2/portlets/portos-reportistica-portlet/docroot/WEB-INF/src/reportistica/Reportistica.java
  3. 1
      liferay-plugins-sdk-6.2/portlets/portos-reportistica-portlet/docroot/html/init.jsp
  4. 305
      liferay-plugins-sdk-6.2/portlets/portos-reportistica-portlet/docroot/html/view.jsp

57
liferay-plugins-sdk-6.2/portlets/portos-reportistica-portlet/docroot/WEB-INF/src/content/Language.properties

@ -1,21 +1,36 @@
regione_sicilia_paesaggistica=Portale Paesaggistica
portale_liferay_tooltip=liferay-portal-6.2-ce-ga6-6.2.5
pagina_reportistica=Pagina di reportistica
filtra_pratiche_tooltip=Date per limitare la ricerca
date_picker_inizio=Data iniziale: date_picker_inizio=Data iniziale:
date_picker_fine=Data finale: date_picker_fine=Data finale:
pulsante_filtra_submit=Applica range pulsante_filtra_submit=Applica range
titolo_pagina_reportistica=Dashboard di Reportistica titolo_pagina_reportistica=Dashboard di Reportistica
titolo_campi_filtro=Range date di filtro: titolo_campi_filtro=Range date di filtro:
titolo_tabella_risultati_stato=Filtra Pratiche per Stato titolo_tabella_risultati_stato=Filtro Pratiche per Stato e Tipo
titolo_tabella_risultati_integrazioni=Filtra Pratiche per Integrazioni titolo_tabella_risultati_integrazioni=Filtro Pratiche per Integrazioni
titolo_tabella_risultati_autorizzazioni=Filtra Pratiche Autorizzate e non Autorizzate titolo_tabella_risultati_autorizzazioni=Filtro Pratiche Autorizzate e non Autorizzate
titolo_period=nel periodo titolo_period=nel periodo
titolo_risultati_aggregati_stato=Report Stati titolo_report_aggreg=Aggregazione Reportistica
titolo_risultati_aggregati_integrazioni=Report Integrazioni pulsante_scarica_report_1=Scarica CSV Stati
titolo_risultati_aggregati_autorizzazioni=Report Autorizzazioni pulsante_scarica_report_2=Scarica CSV Integrazioni
pulsante_scarica_report_1=CSV Stati pulsante_scarica_report_3=Scarica CSV Autorizzazioni
pulsante_scarica_report_2=CSV Integraioni
pulsante_scarica_report_3=CSV Autorizzazioni stringa_csv_vuoto_stato=Filtro stati senza risultati
stringa_csv_vuoto_stato=CSV stati vuoto stringa_csv_vuoto_integrazioni=Filtro integrazioni senza risultati
stringa_csv_vuoto_integrazioni=CSV integrazioni vuoto stringa_csv_vuoto_autorizzazioni=Filtro autorizzazioni senza risultati
stringa_csv_vuoto_autorizzazioni=CSV autorizzazioni vuoto
report_stato_vuoto=Report stati senza risultati
report_integra_vuoto=Report integrazioni senza risultati
report_autor_vuoto=Report autorizzazioni senza risultati
tipo_procedura=Tipo procedura
traduzione_tipo_procedura=Traduzione Tipo procedura
stato_pratica=Stato pratica
traduzione_stato_pratica=Traduzione Stato pratica
numero_pratiche=Numero pratiche
label_procedura_P0 = 1 label_procedura_P0 = 1
tipo_procedura_P0 = Autorizzazione per interventi su Beni Culturali (D.Lgs. 42/2004 art. 21, 31, 48, 49, 50) tipo_procedura_P0 = Autorizzazione per interventi su Beni Culturali (D.Lgs. 42/2004 art. 21, 31, 48, 49, 50)
@ -24,19 +39,19 @@ tipo_procedura_P1 = Interventi su Beni Culturali mobili
label_procedura_P2 = 1.2 label_procedura_P2 = 1.2
tipo_procedura_P2 = Interventi su Beni Culturali immobili tipo_procedura_P2 = Interventi su Beni Culturali immobili
label_procedura_P3 = 2 label_procedura_P3 = 2
tipo_procedura_P3 = Verifica preventiva dell’interesse archeologico (D.Lgs. 25/2016, art. 25) tipo_procedura_P3 = Verifica preventiva dell'interesse archeologico (D.Lgs. 25/2016, art. 25)
label_procedura_P4 = 3 label_procedura_P4 = 3
tipo_procedura_P4 = Autorizzazione per interventi di edilizia su Beni Culturali (D.Lgs. 42/2004 artt. 21, 22) tipo_procedura_P4 = Autorizzazione per interventi di edilizia su Beni Culturali (D.Lgs. 42/2004 artt. 21, 22)
label_procedura_P5 = 4 label_procedura_P5 = 4
tipo_procedura_P5 = Autorizzazione paesaggistica per interventi e/o opere di grande impegno territoriale (D.Lgs. 42/2004 art. 146) tipo_procedura_P5 = Autorizzazione paesaggistica per interventi e/o opere di grande impegno territoriale (D.Lgs. 42/2004 art. 146)
label_procedura_P6 = 5 label_procedura_P6 = 5
tipo_procedura_P6 = Autorizzazione paesaggistica per opere il cui impatto è valutato mediante documentazione semplificata (D.Lgs. 42/2004 art. 146) tipo_procedura_P6 = Autorizzazione paesaggistica per opere il cui impatto è valutato mediante documentazione semplificata (D.Lgs. 42/2004 art. 146)
label_procedura_P7 = 6 label_procedura_P7 = 6
tipo_procedura_P7 = Autorizzazione paesaggistica per interventi di lieve entità (L.R. 5/2019 artt. 3, 5) tipo_procedura_P7 = Autorizzazione paesaggistica per interventi di lieve entità (L.R. 5/2019 artt. 3, 5)
label_procedura_P8 = 7 label_procedura_P8 = 7
tipo_procedura_P8 = Accertamento di compatibilità paesaggistica (D.Lgs. 42/2004 art. 146, 167) tipo_procedura_P8 = Accertamento di compatibilità paesaggistica (D.Lgs. 42/2004 art. 146, 167)
label_procedura_P9 = 8 label_procedura_P9 = 8
tipo_procedura_P9 = Accertamento di compatibilità paesaggistica per Sanatorie Edilizie (L. 47/1985 e L.R. 37/1985 – L. 724/1994 – L. 326/2003 e L.R. 15/2004) tipo_procedura_P9 = Accertamento di compatibilità paesaggistica per Sanatorie Edilizie (L. 47/1985 e L.R. 37/1985 - L. 724/1994 - L. 326/2003 e L.R. 15/2004)
label_procedura_P10 = 9 label_procedura_P10 = 9
tipo_procedura_P10 = Certificazione di sussistenza vincoli tipo_procedura_P10 = Certificazione di sussistenza vincoli
@ -45,7 +60,7 @@ tipo_procedura_Q1 = Autorizzazione per interventi su Beni Culturali mobili, appa
label_procedura_Q2 = 2 label_procedura_Q2 = 2
tipo_procedura_Q2 = Autorizzazione per interventi su Beni Culturali immobili tipo_procedura_Q2 = Autorizzazione per interventi su Beni Culturali immobili
label_procedura_Q3 = 3 label_procedura_Q3 = 3
tipo_procedura_Q3 = Verifica preventiva dell’interesse archeologico tipo_procedura_Q3 = Verifica preventiva dell'interesse archeologico
label_procedura_Q4 = 4 label_procedura_Q4 = 4
tipo_procedura_Q4 = Autorizzazione prevista dagli strumenti urbanistici per interventi in aree e immobili non assoggettati a tutela ai sensi del D.Lgs. 42/2004 tipo_procedura_Q4 = Autorizzazione prevista dagli strumenti urbanistici per interventi in aree e immobili non assoggettati a tutela ai sensi del D.Lgs. 42/2004
label_procedura_Q5 = 5 label_procedura_Q5 = 5
@ -53,11 +68,11 @@ tipo_procedura_Q5 = Autorizzazione per "Settori Speciali"
label_procedura_Q6 = 6 label_procedura_Q6 = 6
tipo_procedura_Q6 = Autorizzazione paesaggistica tipo_procedura_Q6 = Autorizzazione paesaggistica
label_procedura_Q7 = 7 label_procedura_Q7 = 7
tipo_procedura_Q7 = Autorizzazione paesaggistica per interventi di lieve entità tipo_procedura_Q7 = Autorizzazione paesaggistica per interventi di lieve entità
label_procedura_Q8 = 8 label_procedura_Q8 = 8
tipo_procedura_Q8 = Accertamento di compatibilità paesaggistica tipo_procedura_Q8 = Accertamento di compatibilità paesaggistica
label_procedura_Q9 = 9 label_procedura_Q9 = 9
tipo_procedura_Q9 = Accertamento di compatibilità paesaggistica per istanze di Condono Edilizio tipo_procedura_Q9 = Accertamento di compatibilità paesaggistica per istanze di Condono Edilizio
label_procedura_Q10 = 10 label_procedura_Q10 = 10
tipo_procedura_Q10 = Certificazione di sussistenza vincoli tipo_procedura_Q10 = Certificazione di sussistenza vincoli

57
liferay-plugins-sdk-6.2/portlets/portos-reportistica-portlet/docroot/WEB-INF/src/reportistica/Reportistica.java

@ -2,8 +2,6 @@ package reportistica;
import com.liferay.portal.kernel.exception.SystemException; import com.liferay.portal.kernel.exception.SystemException;
import com.liferay.portal.kernel.language.LanguageUtil; import com.liferay.portal.kernel.language.LanguageUtil;
import com.liferay.portal.kernel.log.Log;
import com.liferay.portal.kernel.log.LogFactoryUtil;
import com.liferay.portal.kernel.portlet.PortletResponseUtil; import com.liferay.portal.kernel.portlet.PortletResponseUtil;
import com.liferay.portal.kernel.util.ContentTypes; import com.liferay.portal.kernel.util.ContentTypes;
import com.liferay.portal.kernel.util.DateFormatFactoryUtil; import com.liferay.portal.kernel.util.DateFormatFactoryUtil;
@ -15,8 +13,11 @@ import it.tref.liferay.portos.bo.service.IntPraticaLocalServiceUtil;
import java.io.IOException; import java.io.IOException;
import java.io.StringWriter; import java.io.StringWriter;
import java.math.BigInteger; import java.math.BigInteger;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Locale;
import javax.portlet.PortletException; import javax.portlet.PortletException;
import javax.portlet.ResourceRequest; import javax.portlet.ResourceRequest;
@ -26,24 +27,29 @@ import org.apache.commons.csv.CSVFormat;
import org.apache.commons.csv.CSVPrinter; import org.apache.commons.csv.CSVPrinter;
public class Reportistica extends MVCPortlet { public class Reportistica extends MVCPortlet {
private Log _log = LogFactoryUtil.getLog(Reportistica.class);
@Override @Override
public void serveResource(ResourceRequest req, ResourceResponse rep) throws IOException, public void serveResource(ResourceRequest req, ResourceResponse rep) throws IOException, PortletException {
PortletException {
String idAzione = req.getResourceID(); String idAzione = req.getResourceID();
Date dataInizioLavori = ParamUtil.getDate(req, "dataInizioInput", DateFormatFactoryUtil.getSimpleDateFormat("yyyy-MM-dd")); Date dataInizioLavori = ParamUtil.getDate(req, "dataInizioInput", DateFormatFactoryUtil.getSimpleDateFormat("yyyy-MM-dd"));
Date dataFineLavori = ParamUtil.getDate(req, "dataFineInput", DateFormatFactoryUtil.getSimpleDateFormat("yyyy-MM-dd")); Date dataFineLavori = ParamUtil.getDate(req, "dataFineInput", DateFormatFactoryUtil.getSimpleDateFormat("yyyy-MM-dd"));
String contentType = ContentTypes.APPLICATION_TEXT; String contentType = ContentTypes.APPLICATION_TEXT;
Locale loc = req.getLocale();
String tipo_procedura = LanguageUtil.get(loc, "tipo_procedura");
String stato_pratica = LanguageUtil.get(loc, "stato_pratica");
String numero_pratiche = LanguageUtil.get(loc, "numero_pratiche");
DateFormat formatter = new SimpleDateFormat("yyyyMMdd");
String nel_periodo =formatter.format(dataInizioLavori) +"-"+formatter.format(dataFineLavori);
if ("azioneScarica1".equals(idAzione)) { if ("azioneScarica1".equals(idAzione)) {
String fileName = "report-stati1.csv"; String fileName = "report_stati"+nel_periodo+".csv";
try( try(
StringWriter sw = new StringWriter(); StringWriter sw = new StringWriter();
CSVPrinter csvPrinter = new CSVPrinter(sw, CSVFormat.DEFAULT. CSVPrinter csvPrinter = new CSVPrinter(sw, CSVFormat.DEFAULT.
withHeader("TipoProcedura", "StatoPratica", "QuantePratiche") withHeader(
tipo_procedura,
stato_pratica,
numero_pratiche)
); );
){ ){
List<Object[]> i = IntPraticaLocalServiceUtil.filtraPraticheStato(dataInizioLavori, dataFineLavori); List<Object[]> i = IntPraticaLocalServiceUtil.filtraPraticheStato(dataInizioLavori, dataFineLavori);
@ -51,9 +57,9 @@ public class Reportistica extends MVCPortlet {
for(Object[] record : i){ for(Object[] record : i){
String tipoprocedura = (String)record[0]; String tipoprocedura = (String)record[0];
tipoprocedura+= ":"+LanguageUtil.get(req.getLocale(), "tipo_procedura_"+tipoprocedura); tipoprocedura+= ":"+LanguageUtil.get(loc, "tipo_procedura_"+tipoprocedura);
String statopratica = (String)record[1]; String statopratica = (String)record[1];
statopratica+= ":"+LanguageUtil.get(req.getLocale(), "stato-pratica-"+statopratica); statopratica+= ":"+LanguageUtil.get(loc, "stato-pratica-"+statopratica);
BigInteger countStati = (BigInteger)record[2]; BigInteger countStati = (BigInteger)record[2];
csvPrinter.printRecord(tipoprocedura, statopratica, countStati); csvPrinter.printRecord(tipoprocedura, statopratica, countStati);
} }
@ -61,19 +67,21 @@ public class Reportistica extends MVCPortlet {
PortletResponseUtil.sendFile(req, rep, PortletResponseUtil.sendFile(req, rep,
fileName, sw.toString().getBytes(), contentType); fileName, sw.toString().getBytes(), contentType);
return; return;
} catch (SystemException e) { } catch (SystemException | IOException e) {
e.printStackTrace(); e.printStackTrace();
return; return;
} }
} }
if ("azioneScarica2".equals(idAzione)) { if ("azioneScarica2".equals(idAzione)) {
String fileName = "report-integra2.csv"; String fileName = "report_integ"+nel_periodo+".csv";
try( try(
StringWriter sw = new StringWriter(); StringWriter sw = new StringWriter();
CSVPrinter csvPrinter = new CSVPrinter(sw, CSVFormat.DEFAULT. CSVPrinter csvPrinter = new CSVPrinter(sw, CSVFormat.DEFAULT.
withHeader("TipoProcedura", "QuantePratiche") withHeader(
tipo_procedura,
numero_pratiche)
); );
){ ){
@ -81,7 +89,7 @@ public class Reportistica extends MVCPortlet {
for(Object[] record : j){ for(Object[] record : j){
String tipoprocedura = (String)record[0]; String tipoprocedura = (String)record[0];
tipoprocedura+= ":"+LanguageUtil.get(req.getLocale(), "tipo_procedura_"+tipoprocedura); tipoprocedura+= ":"+LanguageUtil.get(loc, "tipo_procedura_"+tipoprocedura);
BigInteger countIntegrazioni = (BigInteger)record[1]; BigInteger countIntegrazioni = (BigInteger)record[1];
csvPrinter.printRecord(tipoprocedura, countIntegrazioni); csvPrinter.printRecord(tipoprocedura, countIntegrazioni);
} }
@ -89,29 +97,32 @@ public class Reportistica extends MVCPortlet {
PortletResponseUtil.sendFile(req, rep, PortletResponseUtil.sendFile(req, rep,
fileName, sw.toString().getBytes(), contentType); fileName, sw.toString().getBytes(), contentType);
return; return;
} catch (SystemException e) { } catch (SystemException | IOException e) {
e.printStackTrace(); e.printStackTrace();
return; return;
} }
} }
if ("azioneScarica3".equals(idAzione)) { if ("azioneScarica3".equals(idAzione)) {
String fileName = "report-autori3.csv"; String fileName = "report_autor"+nel_periodo+".csv";
try( try(
StringWriter sw = new StringWriter(); StringWriter sw = new StringWriter();
CSVPrinter csvPrinter = new CSVPrinter(sw, CSVFormat.DEFAULT. CSVPrinter csvPrinter = new CSVPrinter(sw, CSVFormat.DEFAULT.
withHeader("TipoProcedura", "StatoPratica", "QuantePratiche") withHeader(
tipo_procedura,
stato_pratica,
numero_pratiche)
); );
){ ){
List<Object[]> i = IntPraticaLocalServiceUtil.filtraPraticheStato(dataInizioLavori, dataFineLavori); List<Object[]> k = IntPraticaLocalServiceUtil.filtraPraticheAutorizzate(dataInizioLavori, dataFineLavori);
for(Object[] record : i){ for(Object[] record : k){
String tipoprocedura = (String)record[0]; String tipoprocedura = (String)record[0];
tipoprocedura+= ":"+LanguageUtil.get(req.getLocale(), "tipo_procedura_"+tipoprocedura); tipoprocedura+= ":"+LanguageUtil.get(loc, "tipo_procedura_"+tipoprocedura);
String statopratica = (String)record[1]; String statopratica = (String)record[1];
statopratica+= ":"+LanguageUtil.get(req.getLocale(), "stato-pratica-"+statopratica); statopratica+= ":"+LanguageUtil.get(loc, "stato-pratica-"+statopratica);
BigInteger countStati = (BigInteger)record[2]; BigInteger countStati = (BigInteger)record[2];
csvPrinter.printRecord(tipoprocedura, statopratica, countStati); csvPrinter.printRecord(tipoprocedura, statopratica, countStati);
} }
@ -119,7 +130,7 @@ public class Reportistica extends MVCPortlet {
PortletResponseUtil.sendFile(req, rep, PortletResponseUtil.sendFile(req, rep,
fileName, sw.toString().getBytes(), contentType); fileName, sw.toString().getBytes(), contentType);
return; return;
} catch (SystemException e) { } catch (SystemException | IOException e) {
e.printStackTrace(); e.printStackTrace();
return; return;
} }

1
liferay-plugins-sdk-6.2/portlets/portos-reportistica-portlet/docroot/html/init.jsp

@ -14,6 +14,7 @@
<%@taglib uri="http://liferay.com/tld/ui" prefix="liferay-ui" %> <%@taglib uri="http://liferay.com/tld/ui" prefix="liferay-ui" %>
<%@taglib uri="http://liferay.com/tld/util" prefix="liferay-util" %> <%@taglib uri="http://liferay.com/tld/util" prefix="liferay-util" %>
<liferay-theme:defineObjects /> <liferay-theme:defineObjects />
<portlet:defineObjects /> <portlet:defineObjects />

305
liferay-plugins-sdk-6.2/portlets/portos-reportistica-portlet/docroot/html/view.jsp

@ -1,3 +1,5 @@
<%@page import="java.util.Map.Entry"%>
<%@page import="java.text.DateFormat"%>
<%@page import="reportistica.Reportistica"%> <%@page import="reportistica.Reportistica"%>
<%@page import="com.liferay.portal.kernel.language.LanguageUtil"%> <%@page import="com.liferay.portal.kernel.language.LanguageUtil"%>
<%@page import="java.util.TreeMap"%> <%@page import="java.util.TreeMap"%>
@ -20,24 +22,25 @@
<%@page import="com.liferay.portal.kernel.util.ParamUtil"%> <%@page import="com.liferay.portal.kernel.util.ParamUtil"%>
<%@page import="com.liferay.portal.kernel.util.DateFormatFactoryUtil"%> <%@page import="com.liferay.portal.kernel.util.DateFormatFactoryUtil"%>
<%@page import="com.liferay.portlet.PortletURLFactoryUtil"%> <%@page import="com.liferay.portlet.PortletURLFactoryUtil"%>
<%@page import="com.liferay.portal.kernel.util.ListUtil"%>
<%@ include file="/html/init.jsp"%> <%@ include file="/html/init.jsp"%>
<% <%
Date dataInizioLavori = ParamUtil.getDate(request, "dataInizioInput", DateFormatFactoryUtil.getSimpleDateFormat("yyyy-MM-dd")); Date dataInizioLavori = ParamUtil.getDate(request, "dataInizioInput", DateFormatFactoryUtil.getSimpleDateFormat("yyyy-MM-dd"));
Date dataFineLavori = ParamUtil.getDate(request, "dataFineInput", DateFormatFactoryUtil.getSimpleDateFormat("yyyy-MM-dd")); Date dataFineLavori = ParamUtil.getDate(request, "dataFineInput", DateFormatFactoryUtil.getSimpleDateFormat("yyyy-MM-dd"));
%> %>
<aui:row> <aui:field-wrapper label="regione_sicilia_paesaggistica" helpMessage="portale_liferay_tooltip"> <aui:fieldset label="pagina_reportistica" helpMessage="filtra_pratiche_tooltip" column="true">
<h1>
<%= LanguageUtil.get(pageContext, "titolo_pagina_reportistica") %>
</h1>
</aui:row>
<div style="padding-bottom: 10px; padding-top: 15px;">
<aui:row> <aui:row>
<h1><%= LanguageUtil.get(pageContext, "titolo_pagina_reportistica") %></h1>
</aui:row>
<aui:row style="padding-bottom: 10px; padding-top: 15px;">
<h4> <h4>
<%= LanguageUtil.get(pageContext, "titolo_campi_filtro") %> <%= LanguageUtil.get(pageContext, "titolo_campi_filtro") %>
</h4> </h4>
</aui:row> </aui:row>
</div>
<aui:row> <aui:row>
<liferay-portlet:renderURL var="filtraPerRangeDataURL" > <liferay-portlet:renderURL var="filtraPerRangeDataURL" >
<liferay-portlet:param name="mvcPath" value="/html/view.jsp"/> <liferay-portlet:param name="mvcPath" value="/html/view.jsp"/>
@ -65,7 +68,7 @@
</aui:input> </aui:input>
</aui:column> </aui:column>
<aui:column> <aui:column>
<aui:button <aui:button style="margin-top: 25px;"
value="pulsante_filtra_submit" value="pulsante_filtra_submit"
cssClass="btn-primary" cssClass="btn-primary"
type="submit" type="submit"
@ -74,160 +77,230 @@
</aui:row> </aui:row>
</div> </div>
</aui:form> </aui:form>
</aui:row> </aui:row>
</aui:fieldset></aui:field-wrapper>
<hr>
<% <%
Map<String, BigInteger> stati = new TreeMap<String, BigInteger>(); Map<String, BigInteger> stati = new TreeMap<String, BigInteger>();
Map<String, BigInteger> integrazioni = new TreeMap<String, BigInteger>(); Map<String, BigInteger> integrazioni = new TreeMap<String, BigInteger>();
Map<String, BigInteger> autorizzazioni = new TreeMap<String, BigInteger>(); Map<String, BigInteger> autorizzazioni = new TreeMap<String, BigInteger>();
for(int p=1;p<=10;p++){
stati.put("P"+p, BigInteger.valueOf(0));
stati.put("Q"+p, BigInteger.valueOf(0));
integrazioni.put("P"+p, BigInteger.valueOf(0));
integrazioni.put("Q"+p, BigInteger.valueOf(0));
autorizzazioni.put("P"+p, BigInteger.valueOf(0));
autorizzazioni.put("Q"+p, BigInteger.valueOf(0));
}
List<Object[]> i = IntPraticaLocalServiceUtil.filtraPraticheStato(dataInizioLavori, dataFineLavori); List<Object[]> i = IntPraticaLocalServiceUtil.filtraPraticheStato(dataInizioLavori, dataFineLavori);
List<Object[]> j = IntPraticaLocalServiceUtil.filtraPraticheIntegrazioni(dataInizioLavori, dataFineLavori); List<Object[]> j = IntPraticaLocalServiceUtil.filtraPraticheIntegrazioni(dataInizioLavori, dataFineLavori);
List<Object[]> k = IntPraticaLocalServiceUtil.filtraPraticheAutorizzate(dataInizioLavori, dataFineLavori); List<Object[]> k = IntPraticaLocalServiceUtil.filtraPraticheAutorizzate(dataInizioLavori, dataFineLavori);
DateFormat formatter = DateFormat.getDateInstance(DateFormat.SHORT);
String nel_periodo = LanguageUtil.get(pageContext, "titolo_period") +
" " +
formatter.format(dataInizioLavori) +
"-" +
formatter.format(dataFineLavori);
%> %>
<div>
<aui:row>
<h2><%= LanguageUtil.get(pageContext, "titolo_tabella_risultati_stato") %> <%= LanguageUtil.get(pageContext, "titolo_period") %>
</h2>
<% if(Validator.isNotNull(i)&&!i.isEmpty()){
for(Object[] record : i){
String tipoprocedura = (String)record[0];
String statopratica = (String)record[1];
BigInteger countStati = (BigInteger)record[2];
BigInteger rigaCountMappa = stati.get(tipoprocedura);
if(Validator.isNotNull(countStati)&&Validator.isNotNull(rigaCountMappa))
stati.put(tipoprocedura, countStati.add(rigaCountMappa));
%>
<aui:row>
<% if(null!=record){%>
<aui:column><%=tipoprocedura %></aui:column>
<aui:column><%=statopratica %></aui:column>
<aui:column><%=countStati %></aui:column>
<%}%>
</aui:row>
<%}%>
<aui:row>
<aui:col span="3">
<portlet:resourceURL var="azioneScarica1URL" id="azioneScarica1">
<aui:field-wrapper>
<aui:fieldset label="titolo_tabella_risultati_stato">
<aui:row>
<aui:col width="80">
<liferay-ui:search-container total="<%=i.size()%>" var="searchContainer" emptyResultsMessage="stringa_csv_vuoto_stato" >
<liferay-ui:search-container-results results="<%=i %>" />
<liferay-ui:search-container-row modelVar="o" className="java.lang.Object" >
<liferay-ui:search-container-column-text name="tipo_procedura" value="${o[0]}"/>
<liferay-ui:search-container-column-text name="traduzione_tipo_procedura" translate="true" value="tipo_procedura_${o[0]}"/>
<liferay-ui:search-container-column-text name="stato_pratica" value="${o[1]}"/>
<liferay-ui:search-container-column-text name="traduzione_stato_pratica" translate="true" value="stato-pratica-${o[1]}"/>
<liferay-ui:search-container-column-text name="numero_pratiche" value="${o[2]}"/>
</liferay-ui:search-container-row>
<liferay-ui:search-iterator paginate="false"/>
</liferay-ui:search-container>
</aui:col>
<aui:col width="20" style="margin-top: 25px;">
<portlet:resourceURL var="azioneScarica1URL" id="azioneScarica1">
</portlet:resourceURL> </portlet:resourceURL>
<c:if test="<%= null!=i&&!i.isEmpty()%>">
<aui:button <aui:button
cssClass="btn-primary" cssClass="btn-primary"
value="pulsante_scarica_report_1" value="pulsante_scarica_report_1"
href="<%= azioneScarica1URL %>" href="<%= azioneScarica1URL %>"
> >
</aui:button> </aui:button>
</c:if>
</aui:col> </aui:col>
</aui:row> </aui:row>
<%}else{ <h3><%= LanguageUtil.get(pageContext, "titolo_tabella_risultati_stato") %> | <%= LanguageUtil.get(pageContext, "titolo_report_aggreg") %> </h3>
%><p style="color: #007bff;"><%=LanguageUtil.get(pageContext, "stringa_csv_vuoto_stato") %></p>
<%} %>
<aui:row> <aui:row>
<h3><%= LanguageUtil.get(pageContext, "titolo_risultati_aggregati_stato") %> <%for(Object[] record : i)
</h3> {String tipoprocedura = (String)record[0];
<p><%=stati.toString()%></p> BigInteger countStati = (BigInteger)record[2];
</aui:row> BigInteger rigaCountMappa = stati.get(tipoprocedura);
</aui:row> if(null!=countStati&null!=tipoprocedura)
{if(null!=rigaCountMappa)
{stati.put(tipoprocedura, countStati.add(rigaCountMappa));
}
else
{stati.put(tipoprocedura,countStati);
}
}
}
List<Entry<String, BigInteger>> statiEntryList=new ArrayList<Entry<String, BigInteger>>(stati.entrySet());
%>
<aui:col width="30">
<liferay-ui:search-container total="<%=statiEntryList.size()%>" var="searchContainer" emptyResultsMessage="report_stato_vuoto" >
<aui:row> <liferay-ui:search-container-results results="<%=statiEntryList %>" />
<h2><%= LanguageUtil.get(pageContext, "titolo_tabella_risultati_integrazioni") %> <%= LanguageUtil.get(pageContext, "titolo_period") %> <liferay-ui:search-container-row modelVar="e" className="java.util.Map.Entry" >
</h2>
<% if(Validator.isNotNull(j)&&!j.isEmpty()){
for(Object[] record : j){ <liferay-ui:search-container-column-text name="tipo_procedura" value="${e.getKey()}"/>
String tipoprocedura = (String)record[0];
BigInteger countIntegrazioni = (BigInteger)record[1];
BigInteger rigaCountMappa = integrazioni.get(tipoprocedura); <liferay-ui:search-container-column-text name="numero_pratiche" value="${e.getValue()}"/>
if(Validator.isNotNull(countIntegrazioni)&&Validator.isNotNull(rigaCountMappa)) </liferay-ui:search-container-row>
integrazioni.put(tipoprocedura, countIntegrazioni.add(rigaCountMappa)); <liferay-ui:search-iterator paginate="false"/>
%>
<aui:row> </liferay-ui:search-container>
<% if(null!=record){%> </aui:col>
<aui:column><%=tipoprocedura %></aui:column>
<aui:column><%=countIntegrazioni %></aui:column>
<%}%>
</aui:row> </aui:row>
<%}%> </aui:fieldset>
</aui:field-wrapper>
<aui:row> <aui:field-wrapper>
<aui:col span="3"> <aui:fieldset label="titolo_tabella_risultati_integrazioni">
<portlet:resourceURL var="azioneScarica2URL" id="azioneScarica2"> <aui:row>
<aui:col width="80">
<liferay-ui:search-container total="<%=j.size()%>" var="searchContainer" emptyResultsMessage="stringa_csv_vuoto_integrazioni" >
<liferay-ui:search-container-results results="<%=j %>" />
<liferay-ui:search-container-row modelVar="o" className="java.lang.Object" >
<liferay-ui:search-container-column-text name="tipo_procedura" value="${o[0]}"/>
<liferay-ui:search-container-column-text name="traduzione_tipo_procedura" translate="true" value="tipo_procedura_${o[0]}"/>
<liferay-ui:search-container-column-text name="numero_pratiche" value="${o[1]}"/>
</liferay-ui:search-container-row>
<liferay-ui:search-iterator paginate="false"/>
</liferay-ui:search-container>
</aui:col>
<aui:col width="20" style="margin-top: 25px;">
<portlet:resourceURL var="azioneScarica2URL" id="azioneScarica2">
</portlet:resourceURL> </portlet:resourceURL>
<c:if test="<%= null!=j&&!j.isEmpty()%>">
<aui:button <aui:button
cssClass="btn-primary" cssClass="btn-primary"
value="pulsante_scarica_report_2" value="pulsante_scarica_report_2"
href="<%= azioneScarica2URL %>" href="<%= azioneScarica2URL %>"
> >
</aui:button> </aui:button>
</c:if>
</aui:col> </aui:col>
</aui:row> </aui:row>
<%}else{ <h3><%= LanguageUtil.get(pageContext, "titolo_tabella_risultati_integrazioni") %> | <%= LanguageUtil.get(pageContext, "titolo_report_aggreg") %></h3>
%><p style="color: #007bff;"><%=LanguageUtil.get(pageContext, "stringa_csv_vuoto_integrazioni") %></p><%}%>
<aui:row> <aui:row>
<h3> <%for(Object[] record : j)
<%= LanguageUtil.get(pageContext, "titolo_risultati_aggregati_integrazioni") %> {String tipoprocedura = (String)record[0];
</h3> BigInteger countInt = (BigInteger)record[1];
<p> BigInteger rigaCountMappa = integrazioni.get(tipoprocedura);
<%= integrazioni.toString() %> if(null!=countInt&null!=tipoprocedura)
</p> {if(null!=rigaCountMappa)
</aui:row> {integrazioni.put(tipoprocedura, countInt.add(rigaCountMappa));
</aui:row> }
else
<aui:row> {integrazioni.put(tipoprocedura,countInt);
<h2><%= LanguageUtil.get(pageContext, "titolo_tabella_risultati_autorizzazioni") %> <%= LanguageUtil.get(pageContext, "titolo_period") %> }
</h2> }
<% if(Validator.isNotNull(k)&&!k.isEmpty()){ }
List<Entry<String, BigInteger>> intEntryList=new ArrayList<Entry<String, BigInteger>>(integrazioni.entrySet());
for(Object[] record : k){
String tipoprocedura = (String)record[0];
String statopratica = (String)record[1];
BigInteger countAutori = (BigInteger)record[2];
BigInteger rigaCountMappa = autorizzazioni.get(tipoprocedura);
if(Validator.isNotNull(countAutori)&&Validator.isNotNull(rigaCountMappa))
autorizzazioni.put(tipoprocedura, countAutori.add(rigaCountMappa));
%> %>
<aui:row> <aui:col width="30">
<% if(null!=record){%> <liferay-ui:search-container total="<%=intEntryList.size()%>" var="searchContainer" emptyResultsMessage="report_integra_vuoto" >
<aui:column><%=tipoprocedura %></aui:column>
<aui:column><%=statopratica %></aui:column> <liferay-ui:search-container-results results="<%=intEntryList %>" />
<aui:column><%=countAutori %></aui:column> <liferay-ui:search-container-row modelVar="e" className="java.util.Map.Entry" >
<%}%>
</aui:row> <liferay-ui:search-container-column-text name="tipo_procedura" value="${e.getKey()}"/>
<%}%>
<aui:row> <liferay-ui:search-container-column-text name="numero_pratiche" value="${e.getValue()}"/>
<aui:col span="3"> </liferay-ui:search-container-row>
<portlet:resourceURL var="azioneScarica3URL" id="azioneScarica3"> <liferay-ui:search-iterator paginate="false"/>
</liferay-ui:search-container>
</aui:col>
</aui:row>
</aui:fieldset>
</aui:field-wrapper>
<aui:field-wrapper>
<aui:fieldset label="titolo_tabella_risultati_autorizzazioni">
<aui:row>
<aui:col width="80">
<liferay-ui:search-container total="<%=k.size()%>" var="searchContainer" emptyResultsMessage="stringa_csv_vuoto_autorizzazioni" >
<liferay-ui:search-container-results results="<%=k %>" />
<liferay-ui:search-container-row modelVar="o" className="java.lang.Object" >
<liferay-ui:search-container-column-text name="tipo_procedura" value="${o[0]}"/>
<liferay-ui:search-container-column-text name="traduzione_tipo_procedura" translate="true" value="tipo_procedura_${o[0]}"/>
<liferay-ui:search-container-column-text name="stato_pratica" value="${o[1]}"/>
<liferay-ui:search-container-column-text name="traduzione_stato_pratica" translate="true" value="stato-pratica-${o[1]}"/>
<liferay-ui:search-container-column-text name="numero_pratiche" value="${o[2]}"/>
</liferay-ui:search-container-row>
<liferay-ui:search-iterator paginate="false"/>
</liferay-ui:search-container>
</aui:col>
<aui:col width="20" style="margin-top: 25px;">
<portlet:resourceURL var="azioneScarica3URL" id="azioneScarica3">
</portlet:resourceURL> </portlet:resourceURL>
<c:if test="<%= null!=k&&!k.isEmpty()%>">
<aui:button <aui:button
cssClass="btn-primary" cssClass="btn-primary"
value="pulsante_scarica_report_3" value="pulsante_scarica_report_3"
href="<%= azioneScarica3URL %>" href="<%= azioneScarica3URL %>"
> >
</aui:button> </aui:button>
</c:if>
</aui:col> </aui:col>
</aui:row> </aui:row>
<%}else{ <h3><%= LanguageUtil.get(pageContext, "titolo_tabella_risultati_autorizzazioni") %> | <%= LanguageUtil.get(pageContext, "titolo_report_aggreg") %> </h3>
%><p style="color: #007bff;"><%=LanguageUtil.get(pageContext, "stringa_csv_vuoto_autorizzazioni") %></p><%}%>
<aui:row> <aui:row>
<h3><%= LanguageUtil.get(pageContext, "titolo_risultati_aggregati_autorizzazioni") %> <%for(Object[] record : k)
</h3> {String tipoprocedura = (String)record[0];
<p><%=autorizzazioni.toString()%></p> BigInteger countAuto = (BigInteger)record[2];
</aui:row> BigInteger rigaCountMappa = autorizzazioni.get(tipoprocedura);
</aui:row> if(null!=countAuto&null!=tipoprocedura)
</div> {if(null!=rigaCountMappa)
{autorizzazioni.put(tipoprocedura, countAuto.add(rigaCountMappa));
}
else
{autorizzazioni.put(tipoprocedura,countAuto);
}
}
}
List<Entry<String, BigInteger>> autoEntryList=new ArrayList<Entry<String, BigInteger>>(autorizzazioni.entrySet());
%>
<aui:col width="30">
<liferay-ui:search-container total="<%=autoEntryList.size()%>" var="searchContainer" emptyResultsMessage="report_autor_vuoto" >
<liferay-ui:search-container-results results="<%=autoEntryList %>" />
<liferay-ui:search-container-row modelVar="e" className="java.util.Map.Entry" >
<liferay-ui:search-container-column-text name="tipo_procedura" value="${e.getKey()}"/>
<liferay-ui:search-container-column-text name="numero_pratiche" value="${e.getValue()}"/>
</liferay-ui:search-container-row>
<liferay-ui:search-iterator paginate="false"/>
</liferay-ui:search-container>
</aui:col>
</aui:row>
</aui:fieldset>
</aui:field-wrapper>

Caricamento…
Annulla
Salva