diff --git a/trunk/WEB-INF/classes/siprp/pagina/GlobalConstants.java b/trunk/WEB-INF/classes/siprp/pagina/GlobalConstants.java index 40922c98..5f145417 100644 --- a/trunk/WEB-INF/classes/siprp/pagina/GlobalConstants.java +++ b/trunk/WEB-INF/classes/siprp/pagina/GlobalConstants.java @@ -33,5 +33,6 @@ public interface GlobalConstants public static final int TIPO_MARCACAO_CONSULTA = 1; public static final Integer ESTADO_POR_REALIZAR = new Integer( 0 ); + public static final Integer ESTADO_PARCIALMENTE_REALIZADO = new Integer( 1 ); public static final Integer ESTADO_REALIZADO = new Integer( 2 ); } diff --git a/trunk/WEB-INF/classes/siprp/pagina/doGetListaTrabalhadores.java b/trunk/WEB-INF/classes/siprp/pagina/doGetListaTrabalhadores.java index efb29bcb..f7d03c60 100644 --- a/trunk/WEB-INF/classes/siprp/pagina/doGetListaTrabalhadores.java +++ b/trunk/WEB-INF/classes/siprp/pagina/doGetListaTrabalhadores.java @@ -73,7 +73,7 @@ public class doGetListaTrabalhadores extends siprpServlet{ trabalhador.put( "Nome", (String)rsTrab.get(index,1) ); - dbQuery = "SELECT id, data, realizada FROM marcacoes_trabalhador " + dbQuery = "SELECT id, data, estado FROM marcacoes_trabalhador " + "WHERE tipo = 1 and trabalhador_id = " + id + " ORDER BY data DESC"; stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); @@ -83,31 +83,33 @@ public class doGetListaTrabalhadores extends siprpServlet{ if( rs.columnLength() > 0 ) { java.util.Date dataConsulta2 = ( java.util.Date ) rs.get( 0, 1 ); - String realizada2 = ( String ) rs.get( 0, 2 ); + Integer estado2 = ( Integer ) rs.get( 0, 2 ); java.util.Date dataConsulta1; // java.util.Date dataRelatorio1; // java.util.Date dataRelatorio2 = (java.util.Date) rs.get( 0, 3 ); - String realizada1; + Integer estado1; + String realizada1 = ""; + String realizada2 = ""; if( rs.columnLength() >= 2 ) { dataConsulta1 = ( java.util.Date ) rs.get( 1, 1 ); - realizada1 = ( String ) rs.get( 1, 2 ); + estado1 = ( Integer ) rs.get( 1, 2 ); // dataRelatorio1 = (java.util.Date) rs.get( 1, 3 ); } else { dataConsulta1 = dataConsulta2; - realizada1 = realizada2; + estado1 = estado2; // dataRelatorio1 = dataRelatorio2; } - if( "y".equals( realizada2 ) || today.after( dataConsulta2 ) ) + if( ESTADO_REALIZADO.equals( estado2 ) || today.after( dataConsulta2 ) ) { trabalhador.put( "ultima_consulta", dataConsulta2 ); - if( realizada2.equals( "n" ) ) + if( estado2.equals( ESTADO_POR_REALIZAR ) ) { realizada2 = "não"; } - else if( realizada2.equals( "s" ) || realizada2.equals( "y" ) ) + else if( estado2.equals( ESTADO_REALIZADO ) ) { realizada2 = "sim"; } @@ -116,14 +118,36 @@ public class doGetListaTrabalhadores extends siprpServlet{ } else { + try + { + for( int c = 1; c < rs.columnLength(); c++ ) + { + java.util.Date dataTemp = ( java.util.Date ) rs.get( c, 1 ); + dataConsulta1 = dataTemp; + estado1 = ( Integer ) rs.get( c, 2 ); + if( dataTemp.after( today ) ) + { + dataConsulta2 = dataTemp; + } + else + { + break; + } + } + } + catch( Exception ex ) + { + ex.printStackTrace(); + } trabalhador.put( "proxima_consulta", dataConsulta2 ); + if( !dataConsulta2.equals( dataConsulta1 ) ) { - if( realizada1.equals( "n" ) ) + if( estado1.equals( ESTADO_POR_REALIZAR ) ) { realizada1 = "não"; } - else if( realizada1.equals( "s" ) || realizada1.equals( "y" ) ) + else if( estado1.equals( ESTADO_REALIZADO ) ) { realizada1 = "sim"; } @@ -145,7 +169,7 @@ public class doGetListaTrabalhadores extends siprpServlet{ } - dbQuery = "SELECT id, data, realizada FROM marcacoes_trabalhador " + dbQuery = "SELECT id, data, estado FROM marcacoes_trabalhador " + "WHERE tipo = 0 and trabalhador_id = " + id + " ORDER BY data DESC"; stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); @@ -155,31 +179,33 @@ public class doGetListaTrabalhadores extends siprpServlet{ if( rs.columnLength() > 0 ) { java.util.Date dataConsulta2 = ( java.util.Date ) rs.get( 0, 1 ); - String realizada2 = ( String ) rs.get( 0, 2 ); + Integer estado2 = ( Integer ) rs.get( 0, 2 ); + Integer estado1; java.util.Date dataConsulta1; // java.util.Date dataRelatorio1; // java.util.Date dataRelatorio2 = (java.util.Date) rs.get( 0, 3 ); - String realizada1; + String realizada1 = ""; + String realizada2 = ""; if( rs.columnLength() >= 2 ) { dataConsulta1 = ( java.util.Date ) rs.get( 1, 1 ); - realizada1 = ( String ) rs.get( 1, 2 ); + estado1 = ( Integer ) rs.get( 1, 2 ); // dataRelatorio1 = (java.util.Date) rs.get( 1, 3 ); } else { dataConsulta1 = dataConsulta2; - realizada1 = realizada2; + estado1 = estado2; // dataRelatorio1 = dataRelatorio2; } - if( "y".equals( realizada2 ) || today.after( dataConsulta2 ) ) + if( ESTADO_REALIZADO.equals( estado2 ) || today.after( dataConsulta2 ) ) { trabalhador.put( "ultimo_exame", dataConsulta2 ); - if( realizada2.equals( "n" ) ) + if( estado2.equals( ESTADO_POR_REALIZAR ) ) { realizada2 = "não"; } - else if( realizada2.equals( "s" ) || realizada2.equals( "y" ) ) + else if( estado2.equals( ESTADO_REALIZADO ) ) { realizada2 = "sim"; } @@ -191,11 +217,11 @@ public class doGetListaTrabalhadores extends siprpServlet{ trabalhador.put( "proximo_exame", dataConsulta2 ); if( !dataConsulta2.equals( dataConsulta1 ) ) { - if( realizada1.equals( "n" ) ) + if( estado1.equals( ESTADO_POR_REALIZAR ) ) { realizada1 = "não"; } - else if( realizada1.equals( "s" ) || realizada1.equals( "y" ) ) + else if( estado1.equals( ESTADO_REALIZADO ) ) { realizada1 = "sim"; } diff --git a/trunk/WEB-INF/classes/siprp/pagina/doGetTrabalhador.java b/trunk/WEB-INF/classes/siprp/pagina/doGetTrabalhador.java index 19e27d4c..267421e7 100644 --- a/trunk/WEB-INF/classes/siprp/pagina/doGetTrabalhador.java +++ b/trunk/WEB-INF/classes/siprp/pagina/doGetTrabalhador.java @@ -63,7 +63,7 @@ public class doGetTrabalhador extends siprpServlet hmFuncionario.put( "numero", rs.get( 0, "numero_mecanografico" ) ); stmt.close(); - String query = "SELECT id, data, realizada, data_relatorio FROM marcacoes_trabalhador " + String query = "SELECT id, data, estado, data_relatorio FROM marcacoes_trabalhador " + "WHERE tipo = 0 and trabalhador_id = " + trabalhadorId + " ORDER BY data DESC"; stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); @@ -71,29 +71,32 @@ public class doGetTrabalhador extends siprpServlet if( rs.columnLength() > 0 ) { java.util.Date dataExame2 = ( java.util.Date ) rs.get( 0, 1 ); - String realizado2 = ( String ) rs.get( 0, 2 ); + Integer estado1; + Integer estado2 = ( Integer ) rs.get( 0, 2 ); java.util.Date dataExame1; - String realizado1; + String realizado1 = ""; + String realizado2 = ""; if( rs.columnLength() > 1 ) { dataExame1 = ( java.util.Date ) rs.get( 1, 1 ); - realizado1 = ( String ) rs.get( 1, 2 ); + estado1 = ( Integer ) rs.get( 1, 2 ); } else { dataExame1 = dataExame2; - realizado1 = realizado2; + estado1 = estado2; } - if( "y".equals( realizado2 ) || today.after( dataExame2 ) ) + if( ESTADO_REALIZADO.equals( estado2 ) || ESTADO_PARCIALMENTE_REALIZADO.equals( estado2 ) + || today.after( dataExame2 ) ) { hmFuncionario.put( "ultimo_exame", dataExame2 ); - if( realizado2.equals( "n" ) ) + if( estado2.equals( ESTADO_REALIZADO ) || estado2.equals( ESTADO_PARCIALMENTE_REALIZADO ) ) { - realizado2 = "não"; + realizado2 = "sim"; } - else if( realizado2.equals( "s" ) || realizado2.equals( "y" ) ) + else { - realizado2 = "sim"; + realizado2 = "não"; } hmFuncionario.put( "realizado", realizado2 ); hmFuncionario.put( "proximo_exame", null ); @@ -104,13 +107,13 @@ public class doGetTrabalhador extends siprpServlet if( !dataExame2.equals( dataExame1 ) ) { hmFuncionario.put( "ultimo_exame", dataExame1 ); - if( realizado1.equals( "n" ) ) + if( estado1.equals( ESTADO_REALIZADO ) || estado1.equals( ESTADO_PARCIALMENTE_REALIZADO ) ) { - realizado1 = "não"; + realizado1 = "sim"; } - else if( realizado1.equals( "s" ) || realizado1.equals( "y" ) ) + else { - realizado1 = "sim"; + realizado1 = "não"; } hmFuncionario.put( "realizado", realizado1 ); } @@ -176,7 +179,7 @@ public class doGetTrabalhador extends siprpServlet hmFuncionario.put( "resultado", null ); } - query = "SELECT id, data, realizada FROM marcacoes_trabalhador " + query = "SELECT id, data, estado FROM marcacoes_trabalhador " + "WHERE tipo = 1 and trabalhador_id = " + trabalhadorId + " ORDER BY data DESC"; stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); @@ -184,49 +187,72 @@ public class doGetTrabalhador extends siprpServlet if( rs.columnLength() > 0 ) { java.util.Date dataConsulta2 = ( java.util.Date ) rs.get( 0, 1 ); - String realizada2 = ( String ) rs.get( 0, 2 ); + Integer estado1; + Integer estado2 = ( Integer ) rs.get( 0, 2 ); java.util.Date dataConsulta1; // java.util.Date dataRelatorio1; // java.util.Date dataRelatorio2 = (java.util.Date) rs.get( 0, 3 ); - String realizada1; + String realizada1 = ""; + String realizada2 = ""; if( rs.columnLength() >= 2 ) { dataConsulta1 = ( java.util.Date ) rs.get( 1, 1 ); - realizada1 = ( String ) rs.get( 1, 2 ); + estado1 = ( Integer ) rs.get( 1, 2 ); // dataRelatorio1 = (java.util.Date) rs.get( 1, 3 ); } else { dataConsulta1 = dataConsulta2; - realizada1 = realizada2; + estado1 = estado2; // dataRelatorio1 = dataRelatorio2; } - if( "y".equals( realizada2 ) || today.after( dataConsulta2 ) ) + if( ESTADO_REALIZADO.equals( estado2 ) || today.after( dataConsulta2 ) ) { hmFuncionario.put( "ultima_consulta", dataConsulta2 ); - if( realizada2.equals( "n" ) ) + if( estado2.equals( ESTADO_REALIZADO ) ) { - realizada2 = "não"; + realizada2 = "sim"; } - else if( realizada2.equals( "s" ) || realizada2.equals( "y" ) ) + else { - realizada2 = "sim"; + realizada2 = "não"; } hmFuncionario.put( "realizada", realizada2 ); hmFuncionario.put( "proxima_consulta", null ); } else { + try + { + for( int c = 1; c < rs.columnLength(); c++ ) + { + java.util.Date dataTemp = ( java.util.Date ) rs.get( c, 1 ); + dataConsulta1 = dataTemp; + estado1 = ( Integer ) rs.get( c, 2 ); + if( dataTemp.after( today ) ) + { + dataConsulta2 = dataTemp; + } + else + { + break; + } + } + } + catch( Exception ex ) + { + ex.printStackTrace(); + } hmFuncionario.put( "proxima_consulta", dataConsulta2 ); if( !dataConsulta2.equals( dataConsulta1 ) ) { - if( realizada1.equals( "n" ) ) + if( estado1.equals( ESTADO_REALIZADO ) ) { - realizada1 = "não"; + realizada1 = "sim"; } - else if( realizada1.equals( "s" ) || realizada1.equals( "y" ) ) + else { - realizada1 = "sim"; + realizada1 = "não"; } hmFuncionario.put( "realizada", realizada1 ); hmFuncionario.put( "ultima_consulta", dataConsulta1 );