@ -1,18 +1,24 @@
package com.evolute.siprp.pagina ;
import com.evolute.utils.arrays.* ;
import com.evolute.utils.strings.* ;
import java.io.* ;
import java.util.* ;
import java.sql.* ;
import java.lang.reflect.Array ;
import javax.servlet.* ;
import javax.servlet.http.* ;
import org.apache.velocity.* ;
import org.apache.velocity.app.* ;
import java.io.IOException ;
import java.sql.Connection ;
import java.sql.DriverManager ;
import java.sql.ResultSet ;
import java.sql.SQLException ;
import java.sql.Statement ;
import java.util.HashMap ;
import java.util.Map ;
import javax.servlet.ServletOutputStream ;
import javax.servlet.http.HttpServletRequest ;
import javax.servlet.http.HttpServletResponse ;
import javax.servlet.http.HttpSession ;
import com.evolute.utils.arrays.ResultSet2DArray ;
public class doGetTrabalhador extends siprpServlet
{
private static final long serialVersionUID = 1L ;
private ResultSet2DArray executeQuery ( Connection con , String query ) throws Exception
{
@ -23,7 +29,6 @@ public class doGetTrabalhador extends siprpServlet
return rs ;
}
public doGetTrabalhador ( HttpServletRequest req , HttpServletResponse res ) throws IOException
{
ServletOutputStream out = res . getOutputStream ( ) ;
@ -31,37 +36,35 @@ public class doGetTrabalhador extends siprpServlet
Statement stmt = null ;
ResultSet2DArray rs ;
StringBuffer dbQuery , sBuffer ;
String userRole , empresaId , estabelecimentoId , trabalhadorId , temp ;
String userRole ;
String empresaId ;
String estabelecimentoId ;
String trabalhadorId ;
HttpSession session = req . getSession ( false ) ;
Vector names = new Vector ( ) ;
Vector values = new Vector ( ) ;
java . util . Date today = new java . util . Date ( ) ;
try
{
userRole = ( String ) session . getAttribute ( super . sessionUserRole ) ;
empresaId = ( String ) session . getAttribute ( super . sessionEmpresaId ) ;
estabelecimentoId = ( String ) session . getAttribute ( super . sessionEstabelecimentoId ) ;
trabalhadorId = ( String ) session . getAttribute ( super . sessionTrabalhadorId ) ;
userRole = ( String ) session . getAttribute ( sessionUserRole ) ;
empresaId = ( String ) session . getAttribute ( sessionEmpresaId ) ;
estabelecimentoId = ( String ) session . getAttribute ( sessionEstabelecimentoId ) ;
trabalhadorId = ( String ) session . getAttribute ( sessionTrabalhadorId ) ;
Class . forName ( super . bdDriver ) ;
Class . forName ( bdDriver ) ;
con = DriverManager . getConnection ( bdLocalUrl , bdLocalUsername , bdLocalPassword ) ;
if ( ( userRole . equals ( super . superUserRole ) | | userRole . equals ( empresaId ) )
& & super . verificaEstabelecimento ( con , empresaId , estabelecimentoId )
& & super . verificaTrabalhador ( con , estabelecimentoId , trabalhadorId ) )
if ( ( userRole . equals ( superUserRole ) | | userRole . equals ( empresaId ) ) & & verificaEstabelecimento ( con , empresaId , estabelecimentoId )
& & verificaTrabalhador ( con , estabelecimentoId , trabalhadorId ) )
{
dbQuery = new StringBuffer ( ) ;
dbQuery . append ( " SELECT sexo, categoria, data_nascimento, nome, numero_mecanografico "
+ "FROM trabalhadores where id='" + trabalhadorId + "'" ) ;
dbQuery . append ( " SELECT sexo, categoria, data_nascimento, nome, numero_mecanografico " + "FROM trabalhadores where id='" + trabalhadorId
+ "'" ) ;
stmt = con . createStatement ( ResultSet . TYPE_SCROLL_INSENSITIVE , ResultSet . CONCUR_READ_ONLY ) ;
rs = new ResultSet2DArray ( stmt . executeQuery ( dbQuery . toString ( ) ) ) ;
Hash Map hmFuncionario = new HashMap ( ) ;
Map< String , Object > hmFuncionario = new HashMap < String , Object > ( ) ;
if ( rs . columnLength ( ) > 0 )
{
String tmp ;
hmFuncionario . put ( "sexo" , rs . get ( 0 , "sexo" ) ) ;
hmFuncionario . put ( "categoria" , rs . get ( 0 , "categoria" ) ) ;
hmFuncionario . put ( "data_nascimento" , rs . get ( 0 , "data_nascimento" ) ) ;
@ -69,13 +72,9 @@ public class doGetTrabalhador extends siprpServlet
hmFuncionario . put ( "numero" , rs . get ( 0 , "numero_mecanografico" ) ) ;
stmt . close ( ) ;
/** dados de exames **/
String queryUltimo = "select id, data, estado " +
"from marcacoes_trabalhador " +
"where deleted_stamp is null and tipo = 0 and estado = 2 and trabalhador_id = " + trabalhadorId +
" order by data desc " +
"limit 1" ;
String queryUltimo = "select id, data, estado " + "from marcacoes_trabalhador "
+ "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 ;
@ -87,11 +86,9 @@ public class doGetTrabalhador extends siprpServlet
}
java . util . Date dataProximoExame = null ;
String queryProximo = "select id, data, estado " +
"from marcacoes_trabalhador " +
"where deleted_stamp is null and tipo = 0 and estado != 2 and data >= now() and trabalhador_id = " + trabalhadorId + " " +
"order by data desc " +
"limit 1" ;
String queryProximo = "select id, data, estado " + "from marcacoes_trabalhador "
+ "where deleted_stamp is null and tipo = 0 and estado != 2 and data >= now() and trabalhador_id = " + trabalhadorId + " "
+ "order by data desc " + "limit 1" ;
rs = executeQuery ( con , queryProximo ) ;
if ( rs . columnLength ( ) > 0 )
{
@ -101,80 +98,8 @@ public class doGetTrabalhador extends siprpServlet
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ã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ã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 ) ;
rs = new ResultSet2DArray ( stmt . executeQuery ( query ) ) ;
@ -222,13 +147,10 @@ public class doGetTrabalhador extends siprpServlet
hmFuncionario . put ( "resultado" , null ) ;
}
/** consulta dados **/
String queryUltima = "select id, data, estado " +
"from marcacoes_trabalhador " +
"where deleted_stamp is null and tipo = 1 and estado = 2 and trabalhador_id = " + trabalhadorId + " " +
"order by data desc " +
"limit 1" ;
String queryUltima = "select id, data, estado " + "from marcacoes_trabalhador "
+ "where deleted_stamp is null and tipo = 1 and estado = 2 and trabalhador_id = " + trabalhadorId + " " + "order by data desc "
+ "limit 1" ;
rs = executeQuery ( con , queryUltima ) ;
java . util . Date dataUltimaConsultaRealizada = null ;
@ -239,11 +161,9 @@ public class doGetTrabalhador extends siprpServlet
consultaRealizada = "Sim" ;
}
String queryProxima = "select id, data, estado " +
"from marcacoes_trabalhador " +
"where deleted_stamp is null and tipo = 1 and estado != 2 and data >= now() and trabalhador_id = " + trabalhadorId + " " +
"order by data desc " +
"limit 1" ;
String queryProxima = "select id, data, estado " + "from marcacoes_trabalhador "
+ "where deleted_stamp is null and tipo = 1 and estado != 2 and data >= now() and trabalhador_id = " + trabalhadorId + " "
+ "order by data desc " + "limit 1" ;
rs = executeQuery ( con , queryProxima ) ;
java . util . Date dataProximaConsulta = null ;
@ -255,107 +175,17 @@ public class doGetTrabalhador extends siprpServlet
hmFuncionario . put ( "ultima_consulta" , dataUltimaConsultaRealizada = = null ? "" : dataUltimaConsultaRealizada ) ;
hmFuncionario . put ( "realizada" , consultaRealizada ) ;
hmFuncionario . put ( "proxima_consulta" , dataProximaConsulta = = null ? "" : dataProximaConsulta ) ;
// 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);
// rs = new ResultSet2DArray( stmt.executeQuery( query ) );
// if( rs.columnLength() > 0 )
// {
// java.util.Date dataConsulta2 = ( java.util.Date ) rs.get( 0, 1 );
// Integer estado1;
// Integer estado2 = ( Integer ) rs.get( 0, 2 );
// 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 ) )
// {
// hmFuncionario.put( "ultima_consulta", dataConsulta2 );
// if( estado2.equals( ESTADO_REALIZADO ) )
// {
// realizada2 = "sim";
// }
// else
// {
// 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( estado1.equals( ESTADO_REALIZADO ) )
// {
// realizada1 = "sim";
// }
// else
// {
// realizada1 = "não";
// }
// hmFuncionario.put( "realizada", realizada1 );
// hmFuncionario.put( "ultima_consulta", dataConsulta1 );
// }
// else
// {
// hmFuncionario.put( "ultima_consulta", null );
// hmFuncionario.put( "realizada", null );
// }
// }
// }
// else
// {
// hmFuncionario.put( "ultima_consulta", null );
// hmFuncionario.put( "realizada", null );
// hmFuncionario.put( "proxima_consulta", null );
// }
// stmt.close();
/** eof consulta dados **/
}
sBuffer = new StringBuffer ( ) ;
sBuffer . append ( "<b>" + super . nomeEmpresa ( con , empresaId ) + "</b><br><br><i>"
+ super . nomeEstabelecimento ( con , estabelecimentoId ) + "</i>" ) ;
sBuffer . append ( "<b>" + nomeEmpresa ( con , empresaId ) + "</b><br><br><i>" + nomeEstabelecimento ( con , estabelecimentoId ) + "</i>" ) ;
Hash Map hmValues = new HashMap ( ) ;
Map < String , Object > hmValues = new HashMap < String , Object > ( ) ;
hmValues . put ( "empresa_nome" , session . getAttribute ( sessionCompanyName ) ) ;
hmValues . put ( "empresa_id" , session . getAttribute ( sessionEmpresaId ) ) ;
hmValues . put ( "estabelecimento_nome" , super . nomeEstabelecimento( con , estabelecimentoId ) ) ;
hmValues . put ( "estabelecimento_nome" , nomeEstabelecimento ( con , estabelecimentoId ) ) ;
/* Dados para marcacao de consulta/exame */
session . setAttribute ( "session_estabelecimento_nome" , hmValues . get ( "estabelecimento_nome" ) ) ;
@ -367,31 +197,25 @@ public class doGetTrabalhador extends siprpServlet
hmValues . put ( "userName" , session . getAttribute ( sessionUser ) ) ;
hmValues . put ( msgTemplate , sBuffer . toString ( ) ) ;
hmValues . put ( templateUserRole , userRole ) ;
hmValues . put ( templateQuery , super . queryStringTrabalhador ) ;
hmValues . put ( templateQuery , queryStringTrabalhador ) ;
hmValues . put ( "funcionario" , hmFuncionario ) ;
//hmValues.put( templateVector1,names);
//hmValues.put( templateVector2,values);
//hmValues.put( templateVector3,null);
out . println ( mergeTemplate ( hmValues , super . authenticatedUserTemplate ) ) ;
// out.println( mergeTemplate( sBuffer.toString(), userRole, super.queryStringTrabalhador, names, values, null, super.authenticatedUserTemplate) );
out . println ( mergeTemplate ( hmValues , authenticatedUserTemplate ) ) ;
}
else
{
out . println ( mergeTemplate ( super . msgLinkFormatError , userRole , super . errorTemplate ) ) ;
out . println ( mergeTemplate ( msgLinkFormatError , userRole , errorTemplate ) ) ;
}
con . close ( ) ;
}
catch ( SQLException e )
{
e . printStackTrace ( ) ;
out . println ( mergeTemplate ( super . msgErroBd , super . errorTemplate ) ) ;
out . println ( mergeTemplate ( msgErroBd , errorTemplate ) ) ;
}
catch ( Exception e )
{
e . printStackTrace ( ) ;
out . println ( mergeTemplate ( super . msgGenericError , super . errorTemplate ) ) ;
out . println ( mergeTemplate ( msgGenericError , errorTemplate ) ) ;
}
}