@ -34,13 +34,14 @@ public class doGetListaTrabalhadores extends siprpServlet{
ServletOutputStream out = res . getOutputStream ( ) ;
Connection con = null ;
Statement stmt = null ;
ResultSet2DArray rs ;
StringBuffer dbQuery, sBuffer;
ResultSet2DArray rs , rsTrab ;
StringBuffer sBuffer;
String userRole , empresaId , estabelecimentoId , temp ;
HttpSession session = req . getSession ( false ) ;
Vector links = new Vector ( ) ;
Vector desc = new Vector ( ) ;
Vector descAdicional = new Vector ( ) ;
java . util . Date today = new java . util . Date ( ) ;
try
{
userRole = ( String ) session . getAttribute ( super . sessionUserRole ) ;
@ -55,26 +56,169 @@ public class doGetListaTrabalhadores extends siprpServlet{
{
//Class.forName(super.bdDriver);
//con = DriverManager.getConnection( super.bdUrl, super.bdUsername, super.bdPassword );
dbQuery = new StringBuffer ( ) ;
dbQuery . append ( " SELECT id, nome, nome_plain FROM trabalhadores WHERE inactivo <> 'y' AND data_demissao IS NULL AND estabelecimento_id = '" + estabelecimentoId + "' ORDER BY nome_plain" ) ;
String dbQuery = "SELECT id, nome, nome_plain FROM trabalhadores WHERE inactivo <> 'y' AND data_demissao IS NULL AND estabelecimento_id = '" + estabelecimentoId + "' ORDER BY nome_plain" ;
stmt = con . createStatement ( ResultSet . TYPE_SCROLL_INSENSITIVE , ResultSet . CONCUR_READ_ONLY ) ;
rs = new ResultSet2DArray ( stmt . executeQuery ( dbQuery . toString ( ) ) ) ;
int index = 0 ;
int max = rs . columnLength ( ) ;
rsTrab = new ResultSet2DArray ( stmt . executeQuery ( dbQuery ) ) ;
rsTrab . getObjects ( ) ;
stmt . close ( ) ;
final int max = rsTrab . columnLength ( ) ;
while ( index < max )
for ( int index = 0 ; index < max ; index + + )
{
temp = "" + rs . get ( index , 0 ) ; // converter de int para String
dbQuery = new StringBuffer ( ) ;
dbQuery . append ( "/" + super . servletName + "/?" + empresaId + "/" + estabelecimentoId + "/" + temp ) ; // contruir url
links . add ( dbQuery . toString ( ) ) ;
Integer id = ( Integer ) rsTrab . get ( index , 0 ) ;
String link = "/" + super . servletName + "/?" + empresaId + "/" + estabelecimentoId + "/" + id ;
links . add ( link ) ;
HashMap trabalhador = new HashMap ( ) ;
trabalhador . put ( "Nome" , ( String ) rs . get ( index , 1 ) ) ;
trabalhador . put ( "Nome" , ( String ) rsTrab . get ( index , 1 ) ) ;
dbQuery = "SELECT id, data, realizada 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 ) ;
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 ) ;
String realizada2 = ( String ) 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 ;
if ( rs . columnLength ( ) > = 2 )
{
dataConsulta1 = ( java . util . Date ) rs . get ( 1 , 1 ) ;
realizada1 = ( String ) rs . get ( 1 , 2 ) ;
// dataRelatorio1 = (java.util.Date) rs.get( 1, 3 );
}
else
{
dataConsulta1 = dataConsulta2 ;
realizada1 = realizada2 ;
// dataRelatorio1 = dataRelatorio2;
}
if ( "y" . equals ( realizada2 ) | | today . after ( dataConsulta2 ) )
{
trabalhador . put ( "ultima_consulta" , dataConsulta2 ) ;
if ( realizada2 . equals ( "n" ) )
{
realizada2 = "não" ;
}
else if ( realizada2 . equals ( "s" ) | | realizada2 . equals ( "y" ) )
{
realizada2 = "sim" ;
}
trabalhador . put ( "realizada" , realizada2 ) ;
trabalhador . put ( "proxima_consulta" , "" ) ;
}
else
{
trabalhador . put ( "proxima_consulta" , dataConsulta2 ) ;
if ( ! dataConsulta2 . equals ( dataConsulta1 ) )
{
if ( realizada1 . equals ( "n" ) )
{
realizada1 = "não" ;
}
else if ( realizada1 . equals ( "s" ) | | realizada1 . equals ( "y" ) )
{
realizada1 = "sim" ;
}
trabalhador . put ( "realizada" , realizada1 ) ;
trabalhador . put ( "ultima_consulta" , dataConsulta1 ) ;
}
else
{
trabalhador . put ( "ultima_consulta" , "" ) ;
trabalhador . put ( "realizada" , null ) ;
}
}
}
else
{
trabalhador . put ( "ultima_consulta" , "" ) ;
trabalhador . put ( "realizada" , null ) ;
trabalhador . put ( "proxima_consulta" , "" ) ;
}
dbQuery = "SELECT id, data, realizada 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 ) ;
String realizada2 = ( String ) 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 ;
if ( rs . columnLength ( ) > = 2 )
{
dataConsulta1 = ( java . util . Date ) rs . get ( 1 , 1 ) ;
realizada1 = ( String ) rs . get ( 1 , 2 ) ;
// dataRelatorio1 = (java.util.Date) rs.get( 1, 3 );
}
else
{
dataConsulta1 = dataConsulta2 ;
realizada1 = realizada2 ;
// dataRelatorio1 = dataRelatorio2;
}
if ( "y" . equals ( realizada2 ) | | today . after ( dataConsulta2 ) )
{
trabalhador . put ( "ultimo_exame" , dataConsulta2 ) ;
if ( realizada2 . equals ( "n" ) )
{
realizada2 = "não" ;
}
else if ( realizada2 . equals ( "s" ) | | realizada2 . equals ( "y" ) )
{
realizada2 = "sim" ;
}
trabalhador . put ( "realizado" , realizada2 ) ;
trabalhador . put ( "proximo_exame" , "" ) ;
}
else
{
trabalhador . put ( "proximo_exame" , dataConsulta2 ) ;
if ( ! dataConsulta2 . equals ( dataConsulta1 ) )
{
if ( realizada1 . equals ( "n" ) )
{
realizada1 = "não" ;
}
else if ( realizada1 . equals ( "s" ) | | realizada1 . equals ( "y" ) )
{
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" , "" ) ;
}
desc . add ( trabalhador ) ;
+ + index ;
}
stmt . close ( ) ;
sBuffer = new StringBuffer ( ) ;
sBuffer . append ( "<b>" + super . nomeEmpresa ( con , empresaId ) + "</b><br><br><i>"