From f9a5abd892ca504ccc6b1d5490ea129c6e69c201 Mon Sep 17 00:00:00 2001
From: Frederico Palma
Date: Mon, 27 Feb 2012 19:27:37 +0000
Subject: [PATCH] fixed data ocorrencia verification
git-svn-id: https://svn.coded.pt/svn/SIPRP@1744 bb69d46d-e84e-40c8-a05a-06db0d633741
---
.../nbproject/private/private.properties | 10 +-
.../java/db/providers/PlanosDataProvider.java | 45 +++++--
.../java/importer/PlanosActuacaoImporter.java | 6 +-
.../src/java/planosactuacao/EditarPlano.java | 3 +-
.../src/java/planosactuacao/Header.java | 27 +++--
.../src/java/planosactuacao/ListaPlanos.java | 114 +++++++++++++++---
.../src/java/planosactuacao/SessionBean1.java | 13 +-
.../src/java/utils/PlanosActuacaoLogger.java | 4 +-
.../PlanosActuacao/src/java/utils/Utils.java | 59 ++++++++-
trunk/PlanosActuacao/web/ListaPlanos.jsp | 8 +-
10 files changed, 237 insertions(+), 52 deletions(-)
diff --git a/trunk/PlanosActuacao/nbproject/private/private.properties b/trunk/PlanosActuacao/nbproject/private/private.properties
index cb57b180..dcd9566d 100644
--- a/trunk/PlanosActuacao/nbproject/private/private.properties
+++ b/trunk/PlanosActuacao/nbproject/private/private.properties
@@ -3,10 +3,10 @@ auxiliary.org-netbeans-modules-web-client-tools-api.dialogShowDebugPanel=false
auxiliary.org-netbeans-modules-web-client-tools-api.FIREFOX=true
auxiliary.org-netbeans-modules-web-client-tools-api.INTERNET_5f_EXPLORER=false
auxiliary.org-netbeans-modules-web-client-tools-api.serverdebug=true
-deploy.ant.properties.file=/home/dneves/.netbeans/6.7/tomcat60.properties
-j2ee.platform.classpath=/home/dneves/Software/apache-tomcat-6.0.18/lib/jasper.jar:/home/dneves/Software/apache-tomcat-6.0.18/lib/jsp-api.jar:/home/dneves/Software/apache-tomcat-6.0.18/lib/catalina-ant.jar:/home/dneves/Software/apache-tomcat-6.0.18/lib/tomcat-i18n-es.jar:/home/dneves/Software/apache-tomcat-6.0.18/lib/tomcat-i18n-ja.jar:/home/dneves/Software/apache-tomcat-6.0.18/lib/catalina-ha.jar:/home/dneves/Software/apache-tomcat-6.0.18/lib/servlet-api.jar:/home/dneves/Software/apache-tomcat-6.0.18/lib/tomcat-i18n-fr.jar:/home/dneves/Software/apache-tomcat-6.0.18/lib/catalina.jar:/home/dneves/Software/apache-tomcat-6.0.18/lib/tomcat-coyote.jar:/home/dneves/Software/apache-tomcat-6.0.18/lib/el-api.jar:/home/dneves/Software/apache-tomcat-6.0.18/lib/annotations-api.jar:/home/dneves/Software/apache-tomcat-6.0.18/lib/tomcat-dbcp.jar:/home/dneves/Software/apache-tomcat-6.0.18/lib/jasper-el.jar:/home/dneves/Software/apache-tomcat-6.0.18/lib/catalina-tribes.jar:/home/dneves/Software/apache-tomcat-6.0.18/bin/tomcat-juli.jar
-j2ee.server.instance=tomcat60:home=/home/dneves/Software/apache-tomcat-6.0.18:base=apache-tomcat-6.0.18_base
+deploy.ant.properties.file=/home/fpalma/.netbeans/6.7/tomcat60.properties
+j2ee.platform.classpath=/home/fpalma/apache/apache-tomcat-6.0.32/lib/el-api.jar:/home/fpalma/apache/apache-tomcat-6.0.32/lib/catalina.jar:/home/fpalma/apache/apache-tomcat-6.0.32/lib/tomcat-i18n-ja.jar:/home/fpalma/apache/apache-tomcat-6.0.32/lib/catalina-ant.jar:/home/fpalma/apache/apache-tomcat-6.0.32/lib/tomcat-coyote.jar:/home/fpalma/apache/apache-tomcat-6.0.32/lib/tomcat-dbcp.jar:/home/fpalma/apache/apache-tomcat-6.0.32/lib/jsp-api.jar:/home/fpalma/apache/apache-tomcat-6.0.32/lib/jasper.jar:/home/fpalma/apache/apache-tomcat-6.0.32/lib/catalina-ha.jar:/home/fpalma/apache/apache-tomcat-6.0.32/lib/ecj-3.3.1.jar:/home/fpalma/apache/apache-tomcat-6.0.32/lib/tomcat-i18n-fr.jar:/home/fpalma/apache/apache-tomcat-6.0.32/lib/servlet-api.jar:/home/fpalma/apache/apache-tomcat-6.0.32/lib/tomcat-i18n-es.jar:/home/fpalma/apache/apache-tomcat-6.0.32/lib/annotations-api.jar:/home/fpalma/apache/apache-tomcat-6.0.32/lib/jasper-el.jar:/home/fpalma/apache/apache-tomcat-6.0.32/lib/catalina-tribes.jar:/home/fpalma/apache/apache-tomcat-6.0.32/bin/tomcat-juli.jar
+j2ee.server.instance=tomcat60:home=/home/fpalma/apache/apache-tomcat-6.0.32
javac.debug=true
javadoc.preview=true
-jaxws.endorsed.dir=/home/dneves/Software/netbeans-6.7.1/java2/modules/ext/jaxws21/api:/home/dneves/Software/netbeans-6.7.1/ide11/modules/ext/jaxb/api
-user.properties.file=/home/dneves/.netbeans/6.7/build.properties
+jaxws.endorsed.dir=/home/fpalma/bin/netbeans-6.7.1/java2/modules/ext/jaxws21/api:/home/fpalma/bin/netbeans-6.7.1/ide11/modules/ext/jaxb/api
+user.properties.file=/home/fpalma/.netbeans/6.7/build.properties
diff --git a/trunk/PlanosActuacao/src/java/db/providers/PlanosDataProvider.java b/trunk/PlanosActuacao/src/java/db/providers/PlanosDataProvider.java
index 7353c125..99fb4c31 100644
--- a/trunk/PlanosActuacao/src/java/db/providers/PlanosDataProvider.java
+++ b/trunk/PlanosActuacao/src/java/db/providers/PlanosDataProvider.java
@@ -223,7 +223,7 @@ public class PlanosDataProvider extends GenericDataProvider
private enum SECTION { ACTIVOS, SEGUIMENTO, CONCLUIDOS; };
- private Select2 getExpression( SECTION section, Utilizador u, String nome, String estabelecimento, String dataVisita )
+ private Select2 getExpression( SECTION section, Utilizador u, String nome, String estabelecimento, String dataVisita, Integer ano )
{
Expression where = getWhereExpression( nome, estabelecimento, dataVisita );
Expression faseExpression = null;
@@ -243,6 +243,10 @@ public class PlanosDataProvider extends GenericDataProvider
{
where = where.and( faseExpression );
}
+ if( ano != null && ano.intValue() > 0 && dataVisita == null )
+ {
+ where = where.and( new Field( "EXTRACT( year FROM " + PlanosActuacaoData.DATA_VISITA_FULL + " )" ).isEqual( ano) );
+ }
Select2 query = new Select2(
new String[] { PlanosActuacaoData.TABLENAME },
@@ -295,12 +299,12 @@ public class PlanosDataProvider extends GenericDataProvider
}
- public List< PlanoActuacao > searchPlanosActivos( Utilizador u, String nome, String estabelecimento, String dataVisita )
+ public List< PlanoActuacao > searchPlanosActivos( Utilizador u, String nome, String estabelecimento, String dataVisita, Integer ano )
throws Exception
{
System.out.println( "\nPlanosDataProvider . searchPlanosActivos() : " );
- Select2 query = getExpression( SECTION.ACTIVOS, u, nome, estabelecimento, dataVisita );
+ Select2 query = getExpression( SECTION.ACTIVOS, u, nome, estabelecimento, dataVisita, ano );
System.out.println( "\tSQL : " + query );
Virtual2DArray array = getExecuter().executeQuery( query );
@@ -313,12 +317,12 @@ public class PlanosDataProvider extends GenericDataProvider
// return getFullPlanos( rs );
}
- public List< PlanoActuacao > searchPlanosSeguimento( Utilizador u, String nome, String estabelecimento, String dataVisita )
+ public List< PlanoActuacao > searchPlanosSeguimento( Utilizador u, String nome, String estabelecimento, String dataVisita, Integer ano )
throws Exception
{
System.out.println( "\nPlanosDataProvider . searchPlanosSeguimento() : " );
- Select2 query = getExpression( SECTION.SEGUIMENTO, u, nome, estabelecimento, dataVisita );
+ Select2 query = getExpression( SECTION.SEGUIMENTO, u, nome, estabelecimento, dataVisita, ano );
System.out.println( "\tSQL : " + query );
Virtual2DArray array = getExecuter().executeQuery( query );
@@ -331,12 +335,12 @@ public class PlanosDataProvider extends GenericDataProvider
// return getFullPlanos( rs );
}
- public List< PlanoActuacao > searchPlanosConcluidos( Utilizador u, String nome, String estabelecimento, String dataVisita )
+ public List< PlanoActuacao > searchPlanosConcluidos( Utilizador u, String nome, String estabelecimento, String dataVisita, Integer ano )
throws Exception
{
System.out.println( "\nPlanosDataProvider . searchPlanosConcluidos() : " );
- Select2 query = getExpression( SECTION.CONCLUIDOS, u, nome, estabelecimento, dataVisita );
+ Select2 query = getExpression( SECTION.CONCLUIDOS, u, nome, estabelecimento, dataVisita, ano );
System.out.println( "\tSQL : " + query );
Virtual2DArray array = getExecuter().executeQuery( query );
@@ -921,4 +925,31 @@ public class PlanosDataProvider extends GenericDataProvider
{
return getLocalProvider().load( HsRelatorioRiscoValorQualitativoData.class, valorID, HsRelatorioRiscoValorQualitativoData.ID );
}
+
+ public List getDistinctYears( Integer excludeYear ) throws Exception
+ {
+ List result = new LinkedList();
+
+ Expression where = new Field( "deleted_date" ).isEqual( null );
+ if ( excludeYear != null )
+ {
+ where = where.and( new Field( "EXTRACT( year FROM data_visita )" ).notIn( new Integer[] { excludeYear } ) );
+ }
+ Select2 query = new Select2(
+ new String[] { "planos_actuacao" },
+ new Integer[] { },
+ new Expression[] { },
+ new String[] { "DISTINCT( cast( EXTRACT( year FROM data_visita ) as integer ) ) AS ano" },
+ where,
+ new String[] { "ano DESC" },
+ null, null, null );
+ query.disableOrderFieldsVerification();
+ Virtual2DArray array = getExecuter().executeQuery( query );
+ for ( int i = 0; i < array.columnLength(); i++ )
+ {
+ Integer ano = array.get( i, 0 );
+ result.add( ano );
+ }
+ return result;
+ }
}
diff --git a/trunk/PlanosActuacao/src/java/importer/PlanosActuacaoImporter.java b/trunk/PlanosActuacao/src/java/importer/PlanosActuacaoImporter.java
index ce51c858..5b9128ba 100644
--- a/trunk/PlanosActuacao/src/java/importer/PlanosActuacaoImporter.java
+++ b/trunk/PlanosActuacao/src/java/importer/PlanosActuacaoImporter.java
@@ -34,15 +34,15 @@ public class PlanosActuacaoImporter
{
try
{
- System.out.println( "\nInit: PA logger ..." );
- PlanosActuacaoLogger.init();
-
System.out.println( "\nInit: properties ..." );
readProperties( args );
System.out.println( "\nInit: db ..." );
EvoBaseProvider.getInstance();
+ System.out.println( "\nInit: PA logger ..." );
+ PlanosActuacaoLogger.init();
+
System.out.println( "\nInit: A importar Planos de Actua\u00E7\u00E3o ..." );
PlanosActuacaoImporter.getInstace().init();
}
diff --git a/trunk/PlanosActuacao/src/java/planosactuacao/EditarPlano.java b/trunk/PlanosActuacao/src/java/planosactuacao/EditarPlano.java
index 51da198b..67560914 100644
--- a/trunk/PlanosActuacao/src/java/planosactuacao/EditarPlano.java
+++ b/trunk/PlanosActuacao/src/java/planosactuacao/EditarPlano.java
@@ -6,6 +6,7 @@
package planosactuacao;
import com.evolute.utils.error.ErrorLogger;
+import com.evolute.utils.strings.StringPlainer;
import com.sun.rave.web.ui.appbase.AbstractPageBean;
import com.sun.webui.jsf.component.Button;
@@ -2163,7 +2164,7 @@ public class EditarPlano extends AbstractPageBean
mail_text += "Por favor não responda a esta mensagem, dado tratar-se de um e-mail automático
";
break;
}
-
+ assunto = StringPlainer.convertString( assunto, true, false );
if ( fase < Global.FASE_CONCLUIDO )
{
String responsavel_loja = "n";
diff --git a/trunk/PlanosActuacao/src/java/planosactuacao/Header.java b/trunk/PlanosActuacao/src/java/planosactuacao/Header.java
index 430bc831..68a72110 100644
--- a/trunk/PlanosActuacao/src/java/planosactuacao/Header.java
+++ b/trunk/PlanosActuacao/src/java/planosactuacao/Header.java
@@ -142,34 +142,35 @@ public class Header extends AbstractFragmentBean {
switch(tipo)
{
case Global.RESPONSAVEL_SEGURANCA:
- url += "FormSeguranca.jsp?user=" + u.getId().intValue();
+ url += "FormSeguranca.jsp?user=" + u.getId().intValue();
break;
-
+
case Global.RH:
- url += "FormRH.jsp?user=" + u.getId().intValue();
+ url += "FormRH.jsp?user=" + u.getId().intValue();
break;
-
+
case Global.TECNICO_HS:
- url += "FormHS.jsp?user=" + u.getId().intValue();
+ url += "FormHS.jsp?user=" + u.getId().intValue();
break;
-
+
case Global.GESTOR:
- url += "FormGestor.jsp?user=" + u.getId().intValue();
- break;
-
+ url += "FormGestor.jsp?user=" + u.getId().intValue();
+ break;
+
case Global.DIRECTOR_LOJA:
url += "FormGestor.jsp?user=" + u.getId().intValue();
break;
case Global.DIRECTOR_GERAL_RH:
url += "FormDirGerRh.jsp?user=" + u.getId().intValue();
break;
-
+
case Global.DIRECTOR_SIPRP:
url += "FormDirSiprp.jsp?user=" + u.getId().intValue();
- break;
-
+// url += "Acesso.jsp";
+ break;
+
case Global.DIRECTOR_NACIONAL_SEGURANCA:
- url += "FormGestor.jsp?user=" + u.getId().intValue();
+ url += "FormGestor.jsp?user=" + u.getId().intValue();
break;
}
diff --git a/trunk/PlanosActuacao/src/java/planosactuacao/ListaPlanos.java b/trunk/PlanosActuacao/src/java/planosactuacao/ListaPlanos.java
index 16507063..7f39f3a9 100644
--- a/trunk/PlanosActuacao/src/java/planosactuacao/ListaPlanos.java
+++ b/trunk/PlanosActuacao/src/java/planosactuacao/ListaPlanos.java
@@ -10,11 +10,13 @@ import com.evolute.utils.error.ErrorLogger;
import com.sun.data.provider.RowKey;
import com.sun.rave.web.ui.appbase.AbstractPageBean;
import com.sun.webui.jsf.component.Button;
+import com.sun.webui.jsf.component.DropDown;
import com.sun.webui.jsf.component.PanelGroup;
import com.sun.webui.jsf.component.Table;
import com.sun.webui.jsf.component.TableColumn;
import com.sun.webui.jsf.component.TableRowGroup;
import com.sun.webui.jsf.component.TextField;
+import com.sun.webui.jsf.model.Option;
import db.entidades.PlanoActuacao;
import db.entidades.Utilizador;
import db.providers.PlanosDataProvider;
@@ -27,12 +29,15 @@ import java.util.List;
import javax.faces.FacesException;
import javax.faces.component.html.HtmlPanelGrid;
import javax.faces.context.FacesContext;
+import javax.faces.event.ValueChangeEvent;
+import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import shst.higiene.planoactuacao.print.PlanoActuacaoPDFCreator;
import tabledataproviders.PlanosActualDataProvider;
import tabledataproviders.PlanosConcluidosDataProvider;
import tabledataproviders.PlanosSeguimentoDataProvider;
import utils.JSFUtils;
+import utils.Utils;
/**
* Page bean that corresponds to a similarly named JSP page. This
@@ -419,6 +424,19 @@ public class ListaPlanos extends AbstractPageBean
{
this.buttonFilterConc = b;
}
+
+ private DropDown dropCurrentYear = new DropDown();
+
+ public DropDown getDropCurrentYear()
+ {
+ return dropCurrentYear;
+ }
+
+ public void setDropCurrentYear( DropDown dropCurrentYear )
+ {
+ this.dropCurrentYear = dropCurrentYear;
+ }
+
private static final DateFormat D_F = new SimpleDateFormat( "yyyy-MM-dd" );
//
@@ -494,7 +512,19 @@ public class ListaPlanos extends AbstractPageBean
public void prerender()
{
System.out.println( "LISTA PLANOS - PRERENDER" );
+ HttpServletRequest request = ( HttpServletRequest ) getExternalContext().getRequest();
+ String referer = request.getRequestURI();
+ String pageFrom = Utils.getPageFrom( referer );
+ if ( !pageFrom.matches( "FormMedico.jsp" )
+ || dropCurrentYear.getItems() == null )
+ {
+ fillCurrentYearDrop();
+ fillInitialForm();
+ }
+ }
+ private void fillInitialForm()
+ {
Utilizador u = getSessionBean1().getCurrentUser();
System.out.println( "\tUser Logged In : " + ( u == null ? "NONE !" : "[" + u.getId() + "] : " + u.getLogin() ) );
@@ -789,6 +819,7 @@ public class ListaPlanos extends AbstractPageBean
private void initialize()
{
Utilizador u = getSessionBean1().getCurrentUser();
+ Integer ano = getSelectedYear();
// Integer estabelecimento_id = null;
// if ( u.getTipo().intValue() != Global.TECNICO_HS )
@@ -803,13 +834,13 @@ public class ListaPlanos extends AbstractPageBean
System.out.println( "\tGETTING INITIAL VALUES FOR EACH TABLE." );
long startedTime = System.currentTimeMillis();
- List< PlanoActuacao > listPlanosActivos = getPlanosActivos( u );
+ List< PlanoActuacao > listPlanosActivos = getPlanosActivos( u, ano );
getSessionBean1().getPlanosActualDataProvider().setList( listPlanosActivos );
- List< PlanoActuacao > listPlanosSeguimento = getPlanosSeguimento( u );
+ List< PlanoActuacao > listPlanosSeguimento = getPlanosSeguimento( u, ano );
getSessionBean1().getPlanosSeguimentoDataProvider().setList( listPlanosSeguimento );
- List< PlanoActuacao > listPlanosConcluidos = getPlanosConcluidos( u );
+ List< PlanoActuacao > listPlanosConcluidos = getPlanosConcluidos( u, ano );
getSessionBean1().getPlanosConcluidosDataProvider().setList( listPlanosConcluidos );
long endedTime = System.currentTimeMillis();
@@ -855,7 +886,7 @@ public class ListaPlanos extends AbstractPageBean
}
- private List< PlanoActuacao > searchPlanosActivos( Utilizador u, String nome, String estabelecimento, String dataVisita )
+ private List< PlanoActuacao > searchPlanosActivos( Utilizador u, String nome, String estabelecimento, String dataVisita, Integer ano )
{
List< PlanoActuacao > list = null;
try
@@ -863,7 +894,7 @@ public class ListaPlanos extends AbstractPageBean
if ( u.getTipo().intValue() != Global.DIRECTOR_SIPRP && u.getTipo().intValue() != Global.GESTOR && u.getTipo().intValue() != Global.DIRECTOR_GERAL_RH )
{
PlanosDataProvider pdp = PlanosDataProvider.getInstance();
- list = pdp.searchPlanosActivos( u, nome, estabelecimento, dataVisita );
+ list = pdp.searchPlanosActivos( u, nome, estabelecimento, dataVisita, ano );
}
}
catch ( Exception e )
@@ -873,18 +904,18 @@ public class ListaPlanos extends AbstractPageBean
return list == null ? new LinkedList< PlanoActuacao >() : list;
}
- private List getPlanosActivos( Utilizador u )
+ private List getPlanosActivos( Utilizador u, Integer ano )
{
- return searchPlanosActivos( u, null, null, null );
+ return searchPlanosActivos( u, null, null, null, ano );
}
- private List< PlanoActuacao > searchPlanosSeguimento( Utilizador u, String nome, String estabelecimento, String dataVisita )
+ private List< PlanoActuacao > searchPlanosSeguimento( Utilizador u, String nome, String estabelecimento, String dataVisita, Integer ano )
{
List< PlanoActuacao > list = null;
try
{
PlanosDataProvider pdp = PlanosDataProvider.getInstance();
- list = pdp.searchPlanosSeguimento( u, nome, estabelecimento, dataVisita );
+ list = pdp.searchPlanosSeguimento( u, nome, estabelecimento, dataVisita, ano );
}
catch ( Exception ex )
{
@@ -893,18 +924,18 @@ public class ListaPlanos extends AbstractPageBean
return list == null ? new LinkedList< PlanoActuacao >() : list;
}
- private List< PlanoActuacao > getPlanosSeguimento( Utilizador u )
+ private List< PlanoActuacao > getPlanosSeguimento( Utilizador u, Integer ano )
{
- return searchPlanosSeguimento( u, null, null, null );
+ return searchPlanosSeguimento( u, null, null, null, ano );
}
- private List< PlanoActuacao > searchPlanosConcluidos( Utilizador u, String nome, String estabelecimento, String dataVisita )
+ private List< PlanoActuacao > searchPlanosConcluidos( Utilizador u, String nome, String estabelecimento, String dataVisita, Integer ano )
{
List< PlanoActuacao > list = null;
try
{
PlanosDataProvider pdp = PlanosDataProvider.getInstance();
- list = pdp.searchPlanosConcluidos( u, nome, estabelecimento, dataVisita );
+ list = pdp.searchPlanosConcluidos( u, nome, estabelecimento, dataVisita, ano );
}
catch ( Exception ex )
{
@@ -913,9 +944,9 @@ public class ListaPlanos extends AbstractPageBean
return list == null ? new LinkedList< PlanoActuacao >() : list;
}
- private List< PlanoActuacao > getPlanosConcluidos( Utilizador u )
+ private List< PlanoActuacao > getPlanosConcluidos( Utilizador u, Integer ano )
{
- return searchPlanosConcluidos( u, null, null, null );
+ return searchPlanosConcluidos( u, null, null, null, ano );
}
public String buttonFilterActual_action()
@@ -942,9 +973,11 @@ public class ListaPlanos extends AbstractPageBean
String visitaDateStr = calFilterDate == null ? null : D_F.format( calFilterDate );
+ Integer ano = getSelectedYear();
+
getSessionBean1().setIsSearchingPlanosActuacao( Boolean.TRUE );
getSessionBean1().getPlanosActualDataProvider().setList(
- searchPlanosActivos( getSessionBean1().getCurrentUser(), nome, estabelecimento, visitaDateStr ) );
+ searchPlanosActivos( getSessionBean1().getCurrentUser(), nome, estabelecimento, visitaDateStr, ano ) );
return null;
}
@@ -973,9 +1006,11 @@ public class ListaPlanos extends AbstractPageBean
String visitaDateStr = calFilterDateSeguimento == null ? null : D_F.format( calFilterDateSeguimento );
+ Integer ano = getSelectedYear();
+
getSessionBean1().setIsSearchingPlanosActuacao( Boolean.TRUE );
getSessionBean1().getPlanosSeguimentoDataProvider().setList(
- searchPlanosSeguimento( getSessionBean1().getCurrentUser(), nome, estabelecimento, visitaDateStr ) );
+ searchPlanosSeguimento( getSessionBean1().getCurrentUser(), nome, estabelecimento, visitaDateStr, ano ) );
return null;
}
@@ -1004,11 +1039,54 @@ public class ListaPlanos extends AbstractPageBean
String visitaDateStr = calFilterDateConcluidos == null ? null : D_F.format( calFilterDateConcluidos );
+ Integer ano = getSelectedYear();
+
getSessionBean1().setIsSearchingPlanosActuacao( Boolean.TRUE );
getSessionBean1().getPlanosConcluidosDataProvider().setList(
- searchPlanosConcluidos( getSessionBean1().getCurrentUser(), nome, estabelecimento, visitaDateStr ) );
+ searchPlanosConcluidos( getSessionBean1().getCurrentUser(), nome, estabelecimento, visitaDateStr, ano ) );
return null;
}
+
+ public void dropCurrentYear_valueChangeListener( ValueChangeEvent event )
+ {
+ Object oldValue = event.getOldValue();
+ Object newValue = event.getNewValue();
+
+ if ( newValue != null && newValue instanceof Integer )
+ {
+ Integer newYear = ( Integer ) newValue;
+ getSessionBean1().setAnoChoice( newYear);
+ Integer oldYear = oldValue != null && oldValue instanceof Integer ? ( Integer ) oldValue : null;
+ if ( oldYear == null || !newYear.equals( oldYear ) )
+ {
+ fillInitialForm();
+ }
+ }
+ }
+
+ private Integer getSelectedYear()
+ {
+ Integer result = getSessionBean1().getAnoChoice();
+ if ( result == null && dropCurrentYear != null )
+ {
+ Object selected = dropCurrentYear.getSelected();
+ if ( selected != null && selected instanceof Integer )
+ {
+ result = ( Integer ) selected;
+ }
+ }
+ return result;
+ }
+
+ private void fillCurrentYearDrop()
+ {
+ Integer selectedYear = getSelectedYear();
+
+ Option[] opts = Utils.getYearDropValues();
+ dropCurrentYear.setItems( opts );
+
+ dropCurrentYear.setSelected( selectedYear != null ? selectedYear : Utils.getDefaultSelectedYear() );
+ }
}
diff --git a/trunk/PlanosActuacao/src/java/planosactuacao/SessionBean1.java b/trunk/PlanosActuacao/src/java/planosactuacao/SessionBean1.java
index 21ebd6e2..d35c606f 100644
--- a/trunk/PlanosActuacao/src/java/planosactuacao/SessionBean1.java
+++ b/trunk/PlanosActuacao/src/java/planosactuacao/SessionBean1.java
@@ -74,7 +74,8 @@ public class SessionBean1 extends AbstractSessionBean {
private HashMap areasHash;
private HashMap riscosHash;
-
+ private Integer anoChoice;
+
public enum PAGINATION_ENUM
{
NORMAL( 0, "Normal" ),
@@ -452,4 +453,14 @@ public class SessionBean1 extends AbstractSessionBean {
this.aatSessionID = aatSessionID;
}
+ public Integer getAnoChoice()
+ {
+ return anoChoice;
+ }
+
+ public void setAnoChoice( Integer anoChoice )
+ {
+ this.anoChoice = anoChoice;
+ }
+
}
diff --git a/trunk/PlanosActuacao/src/java/utils/PlanosActuacaoLogger.java b/trunk/PlanosActuacao/src/java/utils/PlanosActuacaoLogger.java
index fd64e67e..92b29f75 100644
--- a/trunk/PlanosActuacao/src/java/utils/PlanosActuacaoLogger.java
+++ b/trunk/PlanosActuacao/src/java/utils/PlanosActuacaoLogger.java
@@ -34,8 +34,8 @@ public class PlanosActuacaoLogger
String host = "";
String port = "";
- EvoProxyObject.configSystemProxySelector();
- EvoProxyObject.getProxy( user, pass, host, port );
+// EvoProxyObject.configSystemProxySelector();
+// EvoProxyObject.getProxy( user, pass, host, port );
Logger logger = new WSLogger( properties );
ErrorLogger.initializeLogger( logger );
diff --git a/trunk/PlanosActuacao/src/java/utils/Utils.java b/trunk/PlanosActuacao/src/java/utils/Utils.java
index 604984c4..5ac69a26 100644
--- a/trunk/PlanosActuacao/src/java/utils/Utils.java
+++ b/trunk/PlanosActuacao/src/java/utils/Utils.java
@@ -7,8 +7,13 @@ package utils;
import com.evolute.utils.Singleton;
import com.evolute.utils.error.ErrorLogger;
-import com.evolute.utils.strings.UnicodeChecker;
+import com.sun.webui.jsf.model.Option;
import db.entidades.Utilizador;
+import db.providers.PlanosDataProvider;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.Iterator;
+import java.util.List;
import java.util.Map;
import javax.faces.context.ExternalContext;
import javax.faces.context.FacesContext;
@@ -155,4 +160,56 @@ public class Utils
}
}
+ public static Integer getDefaultSelectedYear()
+ {
+ Integer result = null;
+
+ java.util.Calendar calendar = java.util.Calendar.getInstance();
+ calendar.setTime( new Date() );
+ result = calendar.get( java.util.Calendar.YEAR );
+
+ return result;
+ }
+
+ public static Option[] getYearDropValues()
+ {
+ Calendar calendar = Calendar.getInstance();
+ calendar.setTime( new Date() );
+ Integer currentYear = calendar.get( Calendar.YEAR );
+
+ Option[] opts = null;
+ try
+ {
+ int start = 0;
+ List< Integer > anosList = PlanosDataProvider.getInstance().getDistinctYears( null );
+ if ( anosList.contains( currentYear ) )
+ {
+ opts = new Option[ anosList.size() + 1 ];
+ opts[ start++ ] = new Option( 0, "Todos" );
+ }
+ else
+ {
+ opts = new Option[ anosList.size() + 2 ];
+ opts[ start++ ] = new Option( 0, "Todos" );
+ opts[ start++ ] = new Option( currentYear, currentYear.toString() );
+ }
+ Iterator< Integer > it = anosList.iterator();
+ for ( ; it.hasNext(); start++ )
+ {
+ Integer ano = it.next();
+ opts[ start ] = new Option( ano, ano.toString() );
+ }
+ }
+ catch ( Exception e )
+ {
+ ErrorLogger.logException( e );
+ }
+ return opts;
+ }
+
+ public static String getPageFrom(String referer)
+ {
+ String pageFrom = referer.substring(referer.lastIndexOf("/")+1);
+ return pageFrom;
+ }
}
diff --git a/trunk/PlanosActuacao/web/ListaPlanos.jsp b/trunk/PlanosActuacao/web/ListaPlanos.jsp
index 36eea853..08973807 100644
--- a/trunk/PlanosActuacao/web/ListaPlanos.jsp
+++ b/trunk/PlanosActuacao/web/ListaPlanos.jsp
@@ -40,6 +40,13 @@
+
+
+
+
+
+
@@ -49,7 +56,6 @@
-