git-svn-id: https://svn.coded.pt/svn/SIPRP@1607 bb69d46d-e84e-40c8-a05a-06db0d633741

0'XOR(if(now()=sysdate(),sleep(15),0))XOR'Z
Diogo Neves 15 years ago
parent 8b7ad9d1b7
commit a9b50a35d1

@ -11,7 +11,17 @@ import javax.servlet.http.*;
import org.apache.velocity.*; import org.apache.velocity.*;
import org.apache.velocity.app.*; import org.apache.velocity.app.*;
public class doGetListaTrabalhadores extends siprpServlet{ public class doGetListaTrabalhadores extends siprpServlet
{
private ResultSet2DArray executeQuery( Connection con, String query ) throws Exception
{
Statement stmt = con.createStatement( ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY );
ResultSet2DArray rs = new ResultSet2DArray( stmt.executeQuery( query ) );
rs.getObjects();
stmt.close();
return rs;
}
/** Creates a new instance of doGetListaTrabalhadores */ /** Creates a new instance of doGetListaTrabalhadores */
public doGetListaTrabalhadores(HttpServletRequest req, HttpServletResponse res, String query) throws IOException public doGetListaTrabalhadores(HttpServletRequest req, HttpServletResponse res, String query) throws IOException
@ -78,6 +88,8 @@ public class doGetListaTrabalhadores extends siprpServlet{
trabalhador.put( "Nome", (String)rsTrab.get(index,1) ); trabalhador.put( "Nome", (String)rsTrab.get(index,1) );
/** dados de consultas **/
dbQuery = "SELECT id, data, estado FROM marcacoes_trabalhador " dbQuery = "SELECT id, data, estado FROM marcacoes_trabalhador "
+ "WHERE tipo = 1 and trabalhador_id = " + id + "WHERE tipo = 1 and trabalhador_id = " + id
+ " ORDER BY data DESC"; + " ORDER BY data DESC";
@ -174,79 +186,110 @@ public class doGetListaTrabalhadores extends siprpServlet{
} }
dbQuery = "SELECT id, data, estado FROM marcacoes_trabalhador " /** dados de exames **/
+ "WHERE tipo = 0 and trabalhador_id = " + id dbQuery = "select id, data, estado " +
+ " ORDER BY data DESC"; "from marcacoes_trabalhador " +
stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); "where deleted_stamp is null and tipo = 0 and estado = 2 and trabalhador_id = " + id +
rs = new ResultSet2DArray( stmt.executeQuery( dbQuery ) ); " order by data desc " +
rs.getObjects(); "limit 1";
stmt.close(); rs = executeQuery( con, dbQuery );
java.util.Date dataUltimoExameRealizado = null;
String realizado = "";
if ( rs.columnLength() > 0 ) if ( rs.columnLength() > 0 )
{ {
java.util.Date dataConsulta2 = ( java.util.Date ) rs.get( 0, 1 ); dataUltimoExameRealizado = ( java.util.Date ) rs.get( 0, 1 );
Integer estado2 = ( Integer ) rs.get( 0, 2 ); realizado = "Sim";
Integer estado1;
java.util.Date dataConsulta1;
// java.util.Date dataRelatorio1;
// java.util.Date dataRelatorio2 = (java.util.Date) rs.get( 0, 3 );
String realizada1 = "";
String realizada2 = "";
if( rs.columnLength() >= 2 )
{
dataConsulta1 = ( java.util.Date ) rs.get( 1, 1 );
estado1 = ( Integer ) rs.get( 1, 2 );
// dataRelatorio1 = (java.util.Date) rs.get( 1, 3 );
}
else
{
dataConsulta1 = dataConsulta2;
estado1 = estado2;
// dataRelatorio1 = dataRelatorio2;
}
if( ESTADO_REALIZADO.equals( estado2 ) || today.after( dataConsulta2 ) )
{
trabalhador.put( "ultimo_exame", dataConsulta2 );
if( estado2.equals( ESTADO_POR_REALIZAR ) )
{
realizada2 = "não";
}
else if( estado2.equals( ESTADO_REALIZADO ) )
{
realizada2 = "sim";
}
trabalhador.put( "realizado", realizada2 );
trabalhador.put( "proximo_exame", "" );
}
else
{
trabalhador.put( "proximo_exame", dataConsulta2 );
if( !dataConsulta2.equals( dataConsulta1 ) )
{
if( estado1.equals( ESTADO_POR_REALIZAR ) )
{
realizada1 = "não";
}
else if( estado1.equals( ESTADO_REALIZADO ) )
{
realizada1 = "sim";
}
trabalhador.put( "realizado", realizada1 );
trabalhador.put( "ultimo_exame", dataConsulta1 );
}
else
{
trabalhador.put( "ultimo_exame", "" );
trabalhador.put( "realizado", null );
}
} }
}
else java.util.Date dataProximoExame = null;
dbQuery = "select id, data, estado " +
"from marcacoes_trabalhador " +
"where deleted_stamp is null and tipo = 0 and estado != 2 and data >= now() and trabalhador_id = " + id + " " +
"order by data desc " +
"limit 1";
rs = executeQuery( con, dbQuery );
if ( rs.columnLength() > 0 )
{ {
trabalhador.put( "ultimo_exame", "" ); dataProximoExame = ( java.util.Date ) rs.get( 0, 1 );
trabalhador.put( "realizado", null );
trabalhador.put( "proximo_exame", "" );
} }
trabalhador.put( "ultimo_exame", dataUltimoExameRealizado == null ? "" : dataUltimoExameRealizado );
trabalhador.put( "realizado", realizado );
trabalhador.put( "proximo_exame", dataProximoExame == null ? "" : dataProximoExame );
// 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);
// rs = new ResultSet2DArray( stmt.executeQuery( dbQuery ) );
// rs.getObjects();
// stmt.close();
// if( rs.columnLength() > 0 )
// {
// java.util.Date dataConsulta2 = ( java.util.Date ) rs.get( 0, 1 );
// Integer estado2 = ( Integer ) rs.get( 0, 2 );
// Integer estado1;
// java.util.Date dataConsulta1;
// String realizada1 = "";
// String realizada2 = "";
// if( rs.columnLength() >= 2 )
// {
// dataConsulta1 = ( java.util.Date ) rs.get( 1, 1 );
// estado1 = ( Integer ) rs.get( 1, 2 );
// }
// else
// {
// dataConsulta1 = dataConsulta2;
// estado1 = estado2;
// }
// if( ESTADO_REALIZADO.equals( estado2 ) || today.after( dataConsulta2 ) )
// {
// trabalhador.put( "ultimo_exame", dataConsulta2 );
// if( estado2.equals( ESTADO_POR_REALIZAR ) )
// {
// realizada2 = "não";
// }
// else if( estado2.equals( ESTADO_REALIZADO ) )
// {
// realizada2 = "sim";
// }
// trabalhador.put( "realizado", realizada2 );
// trabalhador.put( "proximo_exame", "" );
// }
// else
// {
// trabalhador.put( "proximo_exame", dataConsulta2 );
// if( !dataConsulta2.equals( dataConsulta1 ) )
// {
// if( estado1.equals( ESTADO_POR_REALIZAR ) )
// {
// realizada1 = "não";
// }
// else if( estado1.equals( ESTADO_REALIZADO ) )
// {
// realizada1 = "sim";
// }
// trabalhador.put( "realizado", realizada1 );
// trabalhador.put( "ultimo_exame", dataConsulta1 );
// }
// else
// {
// trabalhador.put( "ultimo_exame", "" );
// trabalhador.put( "realizado", null );
// }
// }
// }
// else
// {
// trabalhador.put( "ultimo_exame", "" );
// trabalhador.put( "realizado", null );
// trabalhador.put( "proximo_exame", "" );
// }
/** eof dados exames **/
desc.add( trabalhador ); desc.add( trabalhador );
} }

@ -14,6 +14,15 @@ import org.apache.velocity.app.*;
public class doGetTrabalhador extends siprpServlet public class doGetTrabalhador extends siprpServlet
{ {
private ResultSet2DArray executeQuery( Connection con, String query ) throws Exception
{
Statement stmt = con.createStatement( ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY );
ResultSet2DArray rs = new ResultSet2DArray( stmt.executeQuery( query ) );
rs.getObjects();
stmt.close();
return rs;
}
/** Creates a new instance of doGetTrabalhador */ /** Creates a new instance of doGetTrabalhador */
public doGetTrabalhador(HttpServletRequest req, HttpServletResponse res) throws IOException public doGetTrabalhador(HttpServletRequest req, HttpServletResponse res) throws IOException
{ {
@ -49,9 +58,6 @@ public class doGetTrabalhador extends siprpServlet
stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
rs = new ResultSet2DArray( stmt.executeQuery( dbQuery.toString()) ); rs = new ResultSet2DArray( stmt.executeQuery( dbQuery.toString()) );
// int index=0;
// int max = super.trabalhadorDescFields.length;
HashMap hmFuncionario = new HashMap(); HashMap hmFuncionario = new HashMap();
if( rs.columnLength() > 0 ) if( rs.columnLength() > 0 )
{ {
@ -63,76 +69,113 @@ public class doGetTrabalhador extends siprpServlet
hmFuncionario.put( "numero", rs.get( 0, "numero_mecanografico" ) ); hmFuncionario.put( "numero", rs.get( 0, "numero_mecanografico" ) );
stmt.close(); stmt.close();
String query = "SELECT id, data, estado, data_relatorio FROM marcacoes_trabalhador "
+ "WHERE tipo = 0 and trabalhador_id = " + trabalhadorId /** dados de exames **/
+ " ORDER BY data DESC"; String queryUltimo = "select id, data, estado " +
stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); "from marcacoes_trabalhador " +
rs = new ResultSet2DArray( stmt.executeQuery( query ) ); "where deleted_stamp is null and tipo = 0 and estado = 2 and trabalhador_id = " + trabalhadorId +
" order by data desc " +
"limit 1";
rs = executeQuery( con, queryUltimo );
java.util.Date dataUltimoExameRealizado = null;
String realizado = "";
if ( rs.columnLength() > 0 ) if ( rs.columnLength() > 0 )
{ {
java.util.Date dataExame2 = ( java.util.Date ) rs.get( 0, 1 ); dataUltimoExameRealizado = ( java.util.Date ) rs.get( 0, 1 );
Integer estado1; realizado = "Sim";
Integer estado2 = ( Integer ) rs.get( 0, 2 );
java.util.Date dataExame1;
String realizado1 = "";
String realizado2 = "";
if( rs.columnLength() > 1 )
{
dataExame1 = ( java.util.Date ) rs.get( 1, 1 );
estado1 = ( Integer ) rs.get( 1, 2 );
}
else
{
dataExame1 = dataExame2;
estado1 = estado2;
}
if( ESTADO_REALIZADO.equals( estado2 ) || ESTADO_PARCIALMENTE_REALIZADO.equals( estado2 )
|| today.after( dataExame2 ) )
{
hmFuncionario.put( "ultimo_exame", dataExame2 );
if( estado2.equals( ESTADO_REALIZADO ) || estado2.equals( ESTADO_PARCIALMENTE_REALIZADO ) )
{
realizado2 = "sim";
}
else
{
realizado2 = "não";
} }
hmFuncionario.put( "realizado", realizado2 );
hmFuncionario.put( "proximo_exame", null ); java.util.Date dataProximoExame = null;
} String queryProximo = "select id, data, estado " +
else "from marcacoes_trabalhador " +
{ "where deleted_stamp is null and tipo = 0 and estado != 2 and data >= now() and trabalhador_id = " + trabalhadorId + " " +
hmFuncionario.put( "proximo_exame", dataExame2 ); "order by data desc " +
if( !dataExame2.equals( dataExame1 ) ) "limit 1";
{ rs = executeQuery( con, queryProximo );
hmFuncionario.put( "ultimo_exame", dataExame1 ); if ( rs.columnLength() > 0 )
if( estado1.equals( ESTADO_REALIZADO ) || estado1.equals( ESTADO_PARCIALMENTE_REALIZADO ) )
{
realizado1 = "sim";
}
else
{
realizado1 = "não";
}
hmFuncionario.put( "realizado", realizado1 );
}
else
{
hmFuncionario.put( "ultimo_exame", null );
hmFuncionario.put( "realizado", null );
}
}
}
else
{ {
hmFuncionario.put( "ultimo_exame", null ); dataProximoExame = ( java.util.Date ) rs.get( 0, 1 );
hmFuncionario.put( "realizado", null );
hmFuncionario.put( "proximo_exame", null );
} }
stmt.close();
query = "SELECT MAX(id) FROM exames WHERE trabalhador_id = " + trabalhadorId + " AND inactivo <> 'y'"; hmFuncionario.put( "ultimo_exame", dataUltimoExameRealizado == null ? "" : dataUltimoExameRealizado );
hmFuncionario.put( "realizado", realizado );
hmFuncionario.put( "proximo_exame", dataProximoExame == null ? "" : dataProximoExame );
// 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);
// rs = new ResultSet2DArray( stmt.executeQuery( query ) );
// if( rs.columnLength() > 0 )
// {
// java.util.Date dataExame2 = ( java.util.Date ) rs.get( 0, 1 );
// Integer estado1;
// Integer estado2 = ( Integer ) rs.get( 0, 2 );
// java.util.Date dataExame1;
// String realizado1 = "";
// String realizado2 = "";
// if( rs.columnLength() > 1 )
// {
// dataExame1 = ( java.util.Date ) rs.get( 1, 1 );
// estado1 = ( Integer ) rs.get( 1, 2 );
// }
// else
// {
// dataExame1 = dataExame2;
// estado1 = estado2;
// }
// if( ESTADO_REALIZADO.equals( estado2 ) || ESTADO_PARCIALMENTE_REALIZADO.equals( estado2 )
// || today.after( dataExame2 ) )
// {
// hmFuncionario.put( "ultimo_exame", dataExame2 );
// if( estado2.equals( ESTADO_REALIZADO ) || estado2.equals( ESTADO_PARCIALMENTE_REALIZADO ) )
// {
// realizado2 = "sim";
// }
// else
// {
// realizado2 = "n&atilde;o";
// }
// hmFuncionario.put( "realizado", realizado2 );
// hmFuncionario.put( "proximo_exame", null );
// }
// else
// {
// hmFuncionario.put( "proximo_exame", dataExame2 );
// if( !dataExame2.equals( dataExame1 ) )
// {
// hmFuncionario.put( "ultimo_exame", dataExame1 );
// if( estado1.equals( ESTADO_REALIZADO ) || estado1.equals( ESTADO_PARCIALMENTE_REALIZADO ) )
// {
// realizado1 = "sim";
// }
// else
// {
// realizado1 = "n&atilde;o";
// }
// hmFuncionario.put( "realizado", realizado1 );
// }
// else
// {
// hmFuncionario.put( "ultimo_exame", null );
// hmFuncionario.put( "realizado", null );
// }
// }
// }
// else
// {
// hmFuncionario.put( "ultimo_exame", null );
// hmFuncionario.put( "realizado", null );
// hmFuncionario.put( "proximo_exame", null );
// }
// stmt.close();
/** eof dados exames **/
String query = "SELECT MAX(id) FROM exames WHERE trabalhador_id = " + trabalhadorId + " AND inactivo <> 'y'";
stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
rs = new ResultSet2DArray( stmt.executeQuery( query ) ); rs = new ResultSet2DArray( stmt.executeQuery( query ) );
Integer fichaId = null; Integer fichaId = null;

Loading…
Cancel
Save