diff --git a/trunk/AnaliseAcidentesTrabalho/nbproject/navigation.NavData b/trunk/AnaliseAcidentesTrabalho/nbproject/navigation.NavData
index e4acdba4..73a9c770 100644
--- a/trunk/AnaliseAcidentesTrabalho/nbproject/navigation.NavData
+++ b/trunk/AnaliseAcidentesTrabalho/nbproject/navigation.NavData
@@ -6,24 +6,24 @@
-
+
-
+
-
+
-
+
diff --git a/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/AnaliseAcidenteTrabalho.java b/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/AnaliseAcidenteTrabalho.java
index 391b4987..37cd04c5 100644
--- a/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/AnaliseAcidenteTrabalho.java
+++ b/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/AnaliseAcidenteTrabalho.java
@@ -13754,33 +13754,27 @@ public class AnaliseAcidenteTrabalho extends AbstractPageBean {
return null;
}
- public String lnkAnalisesAcidente_action() {
- // TODO: Replace with your code
-// savePageState();
-// getSessionBean1().setNavFrom("AnaliseAcidenteTrabalho");
-// getSessionBean1().setModoEdicaoUtilizador("edit");
-// return "user";
- getSessionBean1().setIeBug(true);
- ServletContext theApplicationsServletContext =
- (ServletContext) this.getExternalContext().getContext();
-// String imageFileFolderTmp = theApplicationsServletContext.getRealPath(Global.IMAGE_FOLDER + "/tmp" + getSessionBean1().getCurrentUser().getLogin());
+ public String lnkAnalisesAcidente_action()
+ {
+ getSessionBean1().setIeBug( true );
+ ServletContext theApplicationsServletContext = ( ServletContext ) this.getExternalContext().getContext();
+
String imageFileFolderTmp = Global.IMAGE_FOLDER + "/tmp" + getSessionBean1().getCurrentUser().getLogin();
File ftmp = new File(imageFileFolderTmp);
if( ftmp.exists() )
{
File files[] = ftmp.listFiles();
-
- for(int i=0;i searchProperties = getFormFieldValues();
- List< EstatisticaProcessoBean > listEstatisticas = new LinkedList< EstatisticaProcessoBean >();
- try
- {
- EstatisticasDataProvider edp = EstatisticasDataProvider.getInstance();
- listEstatisticas = edp.getEstatisticas( searchProperties );
- }
- catch ( Exception e )
- {
- ErrorLogger.logException( e );
- }
+ listEstatisticas = new LinkedList< EstatisticaProcessoBean >();
+ try
+ {
+ EstatisticasDataProvider edp = EstatisticasDataProvider.getInstance();
+ listEstatisticas = edp.getEstatisticas( searchProperties );
+ }
+ catch ( Exception e )
+ {
+ ErrorLogger.logException( e );
+ }
setListEstatisticas( listEstatisticas );
}
@@ -697,8 +724,19 @@ public class EstatisticasProcesso extends AbstractPageBean
Date dataOcorrencia = ( Date ) searchProperties.get( EstatisticasConstants.KEY_DATA_OCORRENCIA );
String horaOcorrencia = ( String ) searchProperties.get( EstatisticasConstants.KEY_HORA_OCORRENCIA );
String horasTrabalhadas = ( String ) searchProperties.get( EstatisticasConstants.KEY_HORAS_TRABALHADAS );
- String departamento = ( String ) searchProperties.get( EstatisticasConstants.KEY_DEPARTAMENTO );
- String seccao = ( String ) searchProperties.get( EstatisticasConstants.KEY_SECCAO );
+// String departamento = ( String ) searchProperties.get( EstatisticasConstants.KEY_DEPARTAMENTO );
+ Integer seccaoID = ( Integer ) searchProperties.get( EstatisticasConstants.KEY_SECCAO );
+ String seccao = null;
+ try
+ {
+ SeccoesData seccaoData = EstatisticasDataProvider.getInstance().loadSeccaoByID( seccaoID );
+ seccao = seccaoData == null ? null : seccaoData.getDescricao();
+ }
+ catch ( Exception e )
+ {
+ ErrorLogger.logException( e );
+ }
+
Integer causas = ( Integer ) searchProperties.get( EstatisticasConstants.KEY_CAUSAS_ACIDENTE );
String turno = ( String ) searchProperties.get( EstatisticasConstants.KEY_TURNO_TRABALHO );
Boolean formacao_shst = ( Boolean ) searchProperties.get( EstatisticasConstants.KEY_FORMACAO_SHST );
@@ -759,13 +797,13 @@ public class EstatisticasProcesso extends AbstractPageBean
columnValue.setCellValue( horasTrabalhadas );
row++;
- keyName = EstatisticasConstants.KEY_NAMES[ row ];
- currentRow = getRow( sheet, row );
- columnLabel = getCell( currentRow, 0 );
- columnLabel.setCellValue( keyName );
- columnValue = getCell( currentRow, 1 );
- columnValue.setCellValue( departamento );
- row++;
+// keyName = EstatisticasConstants.KEY_NAMES[ row ];
+// currentRow = getRow( sheet, row );
+// columnLabel = getCell( currentRow, 0 );
+// columnLabel.setCellValue( keyName );
+// columnValue = getCell( currentRow, 1 );
+// columnValue.setCellValue( departamento );
+// row++;
keyName = EstatisticasConstants.KEY_NAMES[ row ];
currentRow = getRow( sheet, row );
diff --git a/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/ViewAnaliseAcidenteTrabalho.java b/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/ViewAnaliseAcidenteTrabalho.java
index a45c2403..69a9fcf3 100644
--- a/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/ViewAnaliseAcidenteTrabalho.java
+++ b/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/ViewAnaliseAcidenteTrabalho.java
@@ -4475,12 +4475,8 @@ public class ViewAnaliseAcidenteTrabalho extends AbstractPageBean {
}
- public String lnkAnalisesAcidente_action() {
- // TODO: Replace with your code
-
-// getSessionBean1().setNavFrom("ViewAnaliseAcidenteTrabalho");
-// getSessionBean1().setModoEdicaoUtilizador("edit");
-// return "user";
+ public String lnkAnalisesAcidente_action()
+ {
Integer tipo = getSessionBean1().getCurrentUser().getTipo();
switch(tipo.intValue())
@@ -4535,10 +4531,8 @@ public class ViewAnaliseAcidenteTrabalho extends AbstractPageBean {
// {
// return "form_gestor";
// }
-
-
- return null;
+ return null;
}
public String lnkNewUser_action() {
diff --git a/trunk/AnaliseAcidentesTrabalho/src/java/db/EstatisticasConstants.java b/trunk/AnaliseAcidentesTrabalho/src/java/db/EstatisticasConstants.java
index 9c7acbb7..25244279 100644
--- a/trunk/AnaliseAcidentesTrabalho/src/java/db/EstatisticasConstants.java
+++ b/trunk/AnaliseAcidentesTrabalho/src/java/db/EstatisticasConstants.java
@@ -13,7 +13,7 @@ public interface EstatisticasConstants
{
public static final String[] KEY_NAMES = new String[] {
"POR", "Nome", "Ano Ocorrência", "Data Ocorrência", "Hora Ocorrência", "Horas Trabalhadas no Turno",
- "Departamento", "Secção", "Causas do Acidente", "Turno de Trabalho", "Formação SHST"
+ /*"Departamento", */"Secção", "Causas do Acidente", "Turno de Trabalho", "Formação SHST"
//TODO: falta os 2 ultimos
};
@@ -25,8 +25,9 @@ public interface EstatisticasConstants
public static final String KEY_HORA_OCORRENCIA = "analises_acidentes.hora_acidente";
public static final String KEY_HORAS_TRABALHADAS = "analises_acidentes.horas_turno";
- public static final String KEY_DEPARTAMENTO = "departamentos.descricao";
- public static final String KEY_SECCAO = "seccoes.descricao";
+// public static final String KEY_DEPARTAMENTO = "departamentos.descricao";
+ public static final String KEY_SECCAO = "analises_acidentes.seccao_id";
+
public static final String KEY_CAUSAS_ACIDENTE = "analises_acidentes.causas";
public static final String KEY_TURNO_TRABALHO = "acidentados.turno";
diff --git a/trunk/AnaliseAcidentesTrabalho/src/java/db/providers/EstatisticasDataProvider.java b/trunk/AnaliseAcidentesTrabalho/src/java/db/providers/EstatisticasDataProvider.java
index c7828636..3f68084c 100644
--- a/trunk/AnaliseAcidentesTrabalho/src/java/db/providers/EstatisticasDataProvider.java
+++ b/trunk/AnaliseAcidentesTrabalho/src/java/db/providers/EstatisticasDataProvider.java
@@ -11,12 +11,11 @@ import com.evolute.utils.arrays.Virtual2DArray;
import com.evolute.utils.error.ErrorLogger;
import com.evolute.utils.sql.Expression;
import com.evolute.utils.sql.Field;
+import com.evolute.utils.sql.Select;
import com.evolute.utils.sql.Select2;
import com.sun.rave.web.ui.model.Option;
-import db.data.siprp.outer.AnalisesAcidentesData;
import db.data.siprp.outer.CausasData;
-import java.sql.ResultSet;
-import java.sql.Statement;
+import db.data.siprp.outer.SeccoesData;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
@@ -67,8 +66,8 @@ public class EstatisticasDataProvider extends GenericDataProvider
Date dataOcorrencia = ( Date ) searchProperties.get( EstatisticasConstants.KEY_DATA_OCORRENCIA );
String horaOcorrencia = ( String ) searchProperties.get( EstatisticasConstants.KEY_HORA_OCORRENCIA );
String horasTrabalhadas = ( String ) searchProperties.get( EstatisticasConstants.KEY_HORAS_TRABALHADAS );
- String departamento = ( String ) searchProperties.get( EstatisticasConstants.KEY_DEPARTAMENTO );
- String seccao = ( String ) searchProperties.get( EstatisticasConstants.KEY_SECCAO );
+// String departamento = ( String ) searchProperties.get( EstatisticasConstants.KEY_DEPARTAMENTO );
+ Integer seccaoID = ( Integer ) searchProperties.get( EstatisticasConstants.KEY_SECCAO );
Integer causas = ( Integer ) searchProperties.get( EstatisticasConstants.KEY_CAUSAS_ACIDENTE );
String turno = ( String ) searchProperties.get( EstatisticasConstants.KEY_TURNO_TRABALHO );
Boolean formacao_shst = ( Boolean ) searchProperties.get( EstatisticasConstants.KEY_FORMACAO_SHST );
@@ -84,17 +83,11 @@ public class EstatisticasDataProvider extends GenericDataProvider
tableNames += ", acidentados";
joinConditions += " analises_acidentes.acidentado_id = acidentados.id ";
}
- if ( departamento != null )
- {
- tableNames += ", departamentos";
- joinConditions += ( "".equals( joinConditions ) ? "" : " AND " ) + " analises_acidentes.departamento_id = departamentos.id ";
- }
- if ( seccao != null )
- {
- tableNames += ", seccoes";
- joinConditions += ( "".equals( joinConditions ) ? "" : " AND " ) + " analises_acidentes.seccao_id = seccoes.id ";
- }
-
+// if ( departamento != null )
+// {
+// tableNames += ", departamentos";
+// joinConditions += ( "".equals( joinConditions ) ? "" : " AND " ) + " analises_acidentes.departamento_id = departamentos.id ";
+// }
if ( por != null )
{
@@ -155,19 +148,24 @@ public class EstatisticasDataProvider extends GenericDataProvider
{
whereConditions += " AND " + EstatisticasConstants.KEY_CAUSAS_ACIDENTE + " = " + causas + " ";
}
- if ( departamento != null )
- {
- departamento = departamento.replaceAll( " ", "%" );
- whereConditions += " AND " + EstatisticasConstants.KEY_DEPARTAMENTO + " ILIKE '%" + departamento + "%' ";
- }
- if ( seccao != null )
+// if ( departamento != null )
+// {
+// departamento = departamento.replaceAll( " ", "%" );
+// whereConditions += " AND " + EstatisticasConstants.KEY_DEPARTAMENTO + " ILIKE '%" + departamento + "%' ";
+// }
+ if ( seccaoID != null )
{
- seccao = seccao.replaceAll( " ", "%" );
- whereConditions += " AND " + EstatisticasConstants.KEY_SECCAO + " ILIKE '%" + seccao + "%' ";
+ whereConditions += " AND " + EstatisticasConstants.KEY_SECCAO + " = " + seccaoID + " ";
}
if ( formacao_shst != null )
{
- whereConditions += " AND " + EstatisticasConstants.KEY_FORMACAO_SHST + " = '" + (formacao_shst ? "t" : "f") + "' ";
+ /**
+ * opcoes possiveis : 'y', 'n', 't' ( AnaliseAcidentesTrabalho.java )
+ * 'y' -> if ( yes selected )
+ * 'n' -> if ( ! yes selected ) && ( no selected )
+ * 't' -> else
+ */
+ whereConditions += " AND " + EstatisticasConstants.KEY_FORMACAO_SHST + " = '" + ( formacao_shst ? "y" : "n" ) + "' ";
}
@@ -192,53 +190,46 @@ public class EstatisticasDataProvider extends GenericDataProvider
private List< EstatisticaProcessoBean > getEstatisticasForSQL( String sql ) throws Exception
{
-// System.out.println( "\nSQL -> " + sql );
+ System.out.println( "\nEstatisticasQuery : " + sql + "\n" );
+
List< EstatisticaProcessoBean > stats = new LinkedList< EstatisticaProcessoBean >();
+ AnalisesDataProvider adp = AnalisesDataProvider.getInstance();
- Statement st = createStatement();
- ResultSet rs = st.executeQuery( sql );
-
-// AnalisesDataProvider adp = new AnalisesDataProvider();
- AnalisesDataProvider adp = AnalisesDataProvider.getInstance();
-
-// System.out.println( "\nListing ..." );
- while ( rs.next() )
+ Virtual2DArray array = getExecuter().executeQuery( new Select( sql ) );
+ if ( array != null )
{
- Integer estado = rs.getInt( "estado" );
- Long count = rs.getLong( "count" );
-
- String fase = adp.getFase( estado );
-
-// System.out.println( "\tEstado : " + estado + " => " + fase + " : " + count );
-
- if ( fase != null )
+ for ( int i = 0; i < array.columnLength(); i++ )
{
- EstatisticaProcessoBean bean = new EstatisticaProcessoBean();
- bean.setEstado( estado );
- bean.setFase( fase );
- bean.setCount( count );
+ Integer estado = array.get( i, 0 );
+ Long count = array.get( i, 1 );
+ String fase = adp.getFase( estado );
- stats.add( bean );
+ if ( fase != null )
+ {
+ EstatisticaProcessoBean bean = new EstatisticaProcessoBean();
+ bean.setEstado( estado );
+ bean.setCount( count );
+ bean.setFase( fase );
+ stats.add( bean );
+ }
}
}
-// System.out.println( "Listing DONE." );
-
return stats;
}
public com.sun.rave.web.ui.model.Option[] getSeccoesList( ) throws Exception
{
com.sun.rave.web.ui.model.Option[] options = null;
-
Select2 query = new Select2(
- new String[] { AnalisesAcidentesData.TABLENAME },
+ new String[] { SeccoesData.TABLENAME },
new Integer[] { },
new Expression[] { },
- new String[] { "DISTINCT( " + AnalisesAcidentesData.SECCAO_FULL + " )" },
- new Field( AnalisesAcidentesData.APAGADA_FULL ).isEqual( "n" ).and( new Field( AnalisesAcidentesData.SECCAO_FULL ).isDifferent( null ) ),
- new String[] { AnalisesAcidentesData.SECCAO_FULL },
- null, null, null
+ new String[] { SeccoesData.ID_FULL, SeccoesData.DESCRICAO_FULL },
+ new Field( SeccoesData.ACTIVO_FULL ).isEqual( "y" ).and( new Field( SeccoesData.DESCRICAO_FULL ).isDifferent( null ) ),
+ new String[] { SeccoesData.DESCRICAO_FULL },
+ null, null, null
);
+
Virtual2DArray array = getExecuter().executeQuery( query );
if ( array != null )
{
@@ -246,13 +237,20 @@ public class EstatisticasDataProvider extends GenericDataProvider
options[ 0 ] = new Option( "", "" );
for ( int i = 0; i < array.columnLength(); i++ )
{
- String seccao = array.get( i, 0 );
- options[ (i+1) ] = new Option( seccao, seccao );
+ Integer seccaoID = array.get( i, 0 );
+ String seccao = array.get( i, 1 );
+
+ options[ (i+1) ] = new Option( seccaoID, seccao );
}
}
return options;
}
+ public SeccoesData loadSeccaoByID( Integer seccaoID ) throws Exception
+ {
+ return getProvider().load( SeccoesData.class, seccaoID, SeccoesData.ID );
+ }
+
public com.sun.rave.web.ui.model.Option[] getCausasAcidente( ) throws Exception
{
com.sun.rave.web.ui.model.Option[] options = null;
diff --git a/trunk/AnaliseAcidentesTrabalho/web/EstatisticasProcesso.jsp b/trunk/AnaliseAcidentesTrabalho/web/EstatisticasProcesso.jsp
index 0f2a451a..de5e86db 100644
--- a/trunk/AnaliseAcidentesTrabalho/web/EstatisticasProcesso.jsp
+++ b/trunk/AnaliseAcidentesTrabalho/web/EstatisticasProcesso.jsp
@@ -45,6 +45,8 @@
+
+
@@ -94,9 +96,11 @@
+
+
@@ -112,6 +116,8 @@
+
+