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

lxbfYeaa
Diogo Neves 15 years ago
parent a9b50a35d1
commit c81c9b5d85

@ -23,7 +23,7 @@ public class doGetListaTrabalhadores extends siprpServlet
return rs;
}
/** Creates a new instance of doGetListaTrabalhadores */
public doGetListaTrabalhadores(HttpServletRequest req, HttpServletResponse res, String query) throws IOException
{
boolean print = false;
@ -90,101 +90,130 @@ public class doGetListaTrabalhadores extends siprpServlet
/** dados de consultas **/
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);
rs = new ResultSet2DArray( stmt.executeQuery( dbQuery ) );
rs.getObjects();
stmt.close();
// 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);
// 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 );
// java.util.Date dataConsulta1;
// Integer estado1;
// 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 ) || ( dataConsulta2 != null && today.after( dataConsulta2 ) ) )
// {
// trabalhador.put( "ultima_consulta", dataConsulta2 );
// if( estado2.equals( ESTADO_POR_REALIZAR ) )
// {
// realizada2 = "não";
// }
// else if( estado2.equals( ESTADO_REALIZADO ) )
// {
// realizada2 = "sim";
// }
// trabalhador.put( "realizada", realizada2 );
// trabalhador.put( "proxima_consulta", "" );
// }
// 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( estado1.equals( ESTADO_POR_REALIZAR ) )
// {
// realizada1 = "n&atilde;o";
// }
// else if( estado1.equals( ESTADO_REALIZADO ) )
// {
// 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, estado " +
"from marcacoes_trabalhador " +
"where deleted_stamp is null and tipo = 1 and estado = 2 and trabalhador_id = " + id + " " +
"order by data desc " +
"limit 1";
rs = executeQuery( con, dbQuery );
java.util.Date dataUltimaConsultaRealizada = null;
String consultaRealizada = "";
if ( rs.columnLength() > 0 )
{
java.util.Date dataConsulta2 = ( java.util.Date ) rs.get( 0, 1 );
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 );
Integer estado1;
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 ) || ( dataConsulta2 != null && today.after( dataConsulta2 ) ) )
{
trabalhador.put( "ultima_consulta", dataConsulta2 );
if( estado2.equals( ESTADO_POR_REALIZAR ) )
{
realizada2 = "n&atilde;o";
}
else if( estado2.equals( ESTADO_REALIZADO ) )
{
realizada2 = "sim";
}
trabalhador.put( "realizada", realizada2 );
trabalhador.put( "proxima_consulta", "" );
}
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;
}
}
dataUltimaConsultaRealizada = ( java.util.Date ) rs.get( 0, 1 );
consultaRealizada = "Sim";
}
catch( Exception ex )
{
ex.printStackTrace();
}
trabalhador.put( "proxima_consulta", dataConsulta2 );
if( !dataConsulta2.equals( dataConsulta1 ) )
{
if( estado1.equals( ESTADO_POR_REALIZAR ) )
{
realizada1 = "n&atilde;o";
}
else if( estado1.equals( ESTADO_REALIZADO ) )
{
realizada1 = "sim";
}
trabalhador.put( "realizada", realizada1 );
trabalhador.put( "ultima_consulta", dataConsulta1 );
}
else
{
trabalhador.put( "ultima_consulta", "" );
trabalhador.put( "realizada", null );
}
}
}
else
dbQuery = "select id, data, estado " +
"from marcacoes_trabalhador " +
"where deleted_stamp is null and tipo = 1 and estado != 2 and data >= now() and trabalhador_id = " + id + " " +
"order by data desc " +
"limit 1";
rs = executeQuery( con, dbQuery );
java.util.Date dataProximaConsulta = null;
if ( rs.columnLength() > 0 )
{
trabalhador.put( "ultima_consulta", "" );
trabalhador.put( "realizada", null );
trabalhador.put( "proxima_consulta", "" );
dataProximaConsulta = ( java.util.Date ) rs.get( 0, 1 );
}
trabalhador.put( "ultima_consulta", dataUltimaConsultaRealizada == null ? "" : dataUltimaConsultaRealizada );
trabalhador.put( "realizada", consultaRealizada );
trabalhador.put( "proxima_consulta", dataProximaConsulta == null ? "" : dataProximaConsulta );
/** eof dados consulta **/
/** dados de exames **/
dbQuery = "select id, data, estado " +

@ -10,8 +10,8 @@ import java.io.*;
import java.lang.reflect.Array;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;
import java.util.*;
import java.sql.SQLException;
import org.apache.velocity.*;
import org.apache.velocity.app.*;
@ -57,7 +57,7 @@ public class doGetListaTrabalhadoresPendentes
// TEXTOS_ESTADOS.put( new Integer( ESTADO_TRATADO ), "green" );
}
protected java.sql.Date today;
protected Date today;
protected long todayMillis;
/** Creates a new instance of doGetListaTrabalhadores */
@ -230,40 +230,43 @@ public class doGetListaTrabalhadoresPendentes
public doGetListaTrabalhadoresPendentes( HttpServletRequest req, HttpServletResponse res, boolean print )
throws IOException
{
System.out.println( "\ndoGetListaTrabalhadoresPendentes() : " );
ServletOutputStream out = res.getOutputStream();
String userRole, empresaId, estabelecimentoId;
HttpSession session = req.getSession( false );
Vector links = new Vector();
Vector desc = new Vector();
Vector descAdicional = new Vector();
// today = new java.util.Date();
// todayMillis = today.getTime();
try
{
Executer executer = getExecuter();
Virtual2DArray array = executer.executeQuery( new Select( "SELECT CURRENT_DATE" ) );
today = ( java.sql.Date ) array.get( 0, 0 );
today = new Date();
todayMillis = today.getTime();
userRole = ( String ) session.getAttribute( sessionUserRole );
empresaId = ( String ) session.getAttribute( sessionEmpresaId );
estabelecimentoId = ( String ) session.getAttribute( sessionEstabelecimentoId );
System.out.println( "\tuserRole : " + userRole );
System.out.println( "\tempresaID : " + empresaId );
System.out.println( "\testabelecimentoID : " + estabelecimentoId );
if ( userRole.equals ( superUserRole ) || userRole.equals ( empresaId ) )
{
if ( verificaEstabelecimento( null, empresaId, estabelecimentoId ) ) // estabelecimento pertence 'a empresa ??
{
//Class.forName(super.bdDriver);
//con = DriverManager.getConnection( super.bdUrl, super.bdUsername, super.bdPassword );
String query = "( SELECT trabalhadores.id, trabalhadores.nome, "
+ "marcacoes_trabalhador.tipo, marcacoes_trabalhador.data, marcacoes_trabalhador.estado, "
+ " trabalhadores.nome_plain, marcacoes_trabalhador.motivo, marcacoes_trabalhador.data "
+ "FROM trabalhadores LEFT JOIN marcacoes_trabalhador ON ( marcacoes_trabalhador.trabalhador_id = trabalhadores.id ) "
+ "WHERE estabelecimento_id = " + estabelecimentoId
+ " AND trabalhadores.inactivo <> 'y' AND data_demissao IS NULL "
+ " AND marcacoes_trabalhador.estado NOT IN ( 3, 4, 5) "
+ " AND marcacoes_trabalhador.estado NOT IN ( 2, 3, 4, 5 ) "
+ " AND marcacoes_trabalhador.tipo = " + TIPO_MARCACAO_CONSULTA
+ " AND marcacoes_trabalhador.deleted_stamp is null"
+ " AND marcacoes_trabalhador.data < now()"
+ " AND marcacoes_trabalhador.motivo <> " + MOTIVO_OCASIONAL + " )"
+ " UNION "
+ "( SELECT trabalhadores.id, trabalhadores.nome, "
@ -272,10 +275,12 @@ public class doGetListaTrabalhadoresPendentes
+ "FROM trabalhadores LEFT JOIN marcacoes_trabalhador ON ( marcacoes_trabalhador.trabalhador_id = trabalhadores.id ) "
+ "WHERE estabelecimento_id = " + estabelecimentoId
+ " AND trabalhadores.inactivo <> 'y' AND data_demissao IS NULL "
+ " AND marcacoes_trabalhador.estado NOT IN ( 3, 4, 5) "
+ " AND marcacoes_trabalhador.estado NOT IN ( 2, 3, 4, 5 ) "
+ " AND marcacoes_trabalhador.deleted_stamp is null"
+ " AND marcacoes_trabalhador.data < now()"
+ " AND marcacoes_trabalhador.tipo = " + TIPO_MARCACAO_EXAMES + " )"
+ " ORDER BY 6, 8, 3 DESC ";
array = executer.executeQuery( new Select( query ) );
Virtual2DArray array = executer.executeQuery( new Select( query ) );
query = "SELECT trabalhadores.id, trabalhadores.nome, "
+ "marcacoes_trabalhador.tipo, marcacoes_trabalhador.data, marcacoes_trabalhador.estado, "
@ -283,9 +288,11 @@ public class doGetListaTrabalhadoresPendentes
+ "FROM trabalhadores LEFT JOIN marcacoes_trabalhador ON ( marcacoes_trabalhador.trabalhador_id = trabalhadores.id ) "
+ "WHERE estabelecimento_id = " + estabelecimentoId
+ " AND trabalhadores.inactivo <> 'y' AND data_demissao IS NULL "
+ " AND marcacoes_trabalhador.estado NOT IN ( 3, 4, 5) "
+ " AND marcacoes_trabalhador.estado NOT IN ( 2, 3, 4, 5 ) "
+ " AND marcacoes_trabalhador.tipo = " + TIPO_MARCACAO_CONSULTA
+ " AND marcacoes_trabalhador.motivo = " + MOTIVO_OCASIONAL
+ " AND marcacoes_trabalhador.data < now()"
+ " AND marcacoes_trabalhador.deleted_stamp is null"
+ " ORDER BY 6, 8, 3 DESC";
Virtual2DArray ocasionaisArray = executer.executeQuery( new Select( query ) );
@ -323,30 +330,25 @@ public class doGetListaTrabalhadoresPendentes
for( int n = 0; n < trabalhadores.length; n++ )
{
Object marcacoes[][];
if( marcacoesPorID.containsKey( trabalhadores[ n ].getID() ) )
{
marcacoes = ( Object[][] ) ( ( Vector )marcacoesPorID.get( trabalhadores[ n ].getID() ) ).toArray( new Object[ 0 ][] );
}
else
{
marcacoes = new Object[0][];
}
Object ocasionais[][];
if( ocasionaisPorID.containsKey( trabalhadores[ n ].getID() ) )
Integer trabalhadorID = trabalhadores[ n ].getID();
Object marcacoes[][] = new Object[ 0 ][ ];
if ( marcacoesPorID.containsKey( trabalhadorID ) )
{
ocasionais = ( Object[][] ) ( ( Vector )ocasionaisPorID.get( trabalhadores[ n ].getID() ) ).toArray( new Object[ 0 ][] );
marcacoes = ( Object[][] ) ( ( Vector ) marcacoesPorID.get( trabalhadorID ) ).toArray( new Object[ 0 ][] );
}
else
Object ocasionais[][] = new Object[ 0 ][ ];
if( ocasionaisPorID.containsKey( trabalhadorID ) )
{
ocasionais = new Object[ 0 ][];
ocasionais = ( Object[][] ) ( ( Vector ) ocasionaisPorID.get( trabalhadorID ) ).toArray( new Object[ 0 ][] );
}
Object agrupadas[][] = agruparMarcacoes( marcacoes, ocasionais );
acrescentarTrabalhador( empresaId, estabelecimentoId,
trabalhadores[ n ], null,
agrupadas, links, desc,
perfilTemConsultas( trabalhadores[ n ].getID(), new Integer( empresaId ) ),
perfilTemExames( trabalhadores[ n ].getID(), new Integer( empresaId ) ) );
perfilTemConsultas( trabalhadorID, new Integer( empresaId ) ),
perfilTemExames( trabalhadorID, new Integer( empresaId ) ) );
}
HashMap hmValues = new HashMap();
@ -371,7 +373,6 @@ public class doGetListaTrabalhadoresPendentes
{
out.println( mergeTemplate( hmValues, super.authenticatedUserPrintTemplate ) );
}
// out.println( mergeTemplate( sBuffer.toString(), userRole, super.queryStringTrabalhadores, links, desc, null, super.authenticatedUserTemplate) );
}
else // est nao pertence 'a empresa
{
@ -395,17 +396,18 @@ public class doGetListaTrabalhadoresPendentes
}
}
protected void preencherMarcacoes( Virtual2DArray array, Hashtable nomesPorID, Hashtable marcacoesPorID )
{
int max = array.columnLength();
for( int index = 0; index < max; index++ )
for ( int index = 0; index < array.columnLength(); index++ )
{
Integer id = index < max ? ( Integer ) array.get( index, 0 ) : new Integer( -1 );
Integer id = ( Integer ) array.get( index, 0 );
Integer tipo = ( Integer ) array.get( index, 2 );
String nome = ( String ) array.get( index, 1 );
java.util.Date data = ( java.util.Date ) array.get( index, 3 );
Integer estado = ( Integer ) array.get( index, 4 );
Integer motivo = ( Integer ) array.get( index, 6 );
if ( ! marcacoesPorID.containsKey( id ) )
{
nomesPorID.put( id, nome );
@ -511,7 +513,8 @@ public class doGetListaTrabalhadoresPendentes
}
Object agrupadas[][] = ( Object[][] ) grupos.toArray( new Object[ grupos.size() ][] );
Arrays.sort( agrupadas, new Comparator(){
Arrays.sort( agrupadas, new Comparator()
{
public int compare( Object o1, Object o2 )
{
Object g1[] = ( Object[] ) o1;
@ -529,16 +532,28 @@ public class doGetListaTrabalhadoresPendentes
Object marcacoes[][], Vector links, Vector dados,
boolean perfilConsultas, boolean perfilExames )
{
// System.out.println( "\ndoGetListaTrabalhadoresPendentes . acrescentarTrabalhador( " + empresaID + ", " + estabelecimentoID + ", "
// + trabalhador + ", " + dataFicha + ", " + marcacoes + ", " + links + ", " + dados + ", " + perfilConsultas + ", " + perfilExames + " ) : " );
// System.out.println( "\tTrabalhador : " + trabalhador.getID() );
int estado[] = new int[ 2 ];
int index = 0;
boolean pendente = false;
if ( marcacoes.length == 0 )
{
// System.out.println( "\tmarcacoes.length == 0 : true" );
estado[ 0 ] = perfilConsultas ? ESTADO_PENDENTE : ESTADO_NAO_APLICAVEL;
estado[ 1 ] = perfilExames ? ESTADO_PENDENTE : ESTADO_NAO_APLICAVEL;
// System.out.println( "\t\testado[ 0 ] : " + estado[ 0 ] );
// System.out.println( "\t\testado[ 1 ] : " + estado[ 1 ] );
}
else
{
// System.out.println( "\tmarcacoes.length == 0 : false" );
java.util.Date dataConsulta;
java.util.Date dataExame;
index = -1;
@ -559,14 +574,8 @@ public class doGetListaTrabalhadoresPendentes
break;
}
}
if( index == -1 )
{
index = 0;
}
// else if( index < marcacoes.length - 1 )
// {
// index = 0;
// }
index = index == -1 ? 0 : index;
for ( ; index < marcacoes.length; index++ )
{
dataConsulta = ( java.util.Date ) marcacoes[ index ][ 0 ];
@ -580,6 +589,7 @@ public class doGetListaTrabalhadoresPendentes
break;
}
}
if ( index >= marcacoes.length )
{
index = marcacoes.length - 1;
@ -631,18 +641,13 @@ public class doGetListaTrabalhadoresPendentes
{
estado[ 0 ] = ESTADO_NAO_APLICAVEL;
}
if ( perfilExames )
{
if ( dataExame == null || pendente )
{
if( motivoConsulta != null && motivoConsulta.intValue() != MOTIVO_OCASIONAL )
{
estado[ 1 ] = ESTADO_PENDENTE;
}
else
{
estado[ 1 ] = ESTADO_NAO_APLICAVEL;
}
estado[ 1 ] = motivoConsulta != null && motivoConsulta.intValue() != MOTIVO_OCASIONAL ?
ESTADO_PENDENTE : ESTADO_NAO_APLICAVEL ;
}
else if ( estadoExame == null || estadoExame.intValue() != 2 )
{
@ -658,18 +663,29 @@ public class doGetListaTrabalhadoresPendentes
estado[ 1 ] = ESTADO_NAO_APLICAVEL;
}
}
if( estado[ 0 ] == 1 || estado[ 0 ] == 2 ||
estado[ 1 ] == 1 || estado[ 1 ] == 2 )
// System.out.println( "\testado[ 0 ] : " + estado[ 0 ] );
// System.out.println( "\testado[ 1 ] : " + estado[ 1 ] );
if ( estado[ 0 ] == 1 || estado[ 0 ] == 2 || estado[ 1 ] == 1 || estado[ 1 ] == 2 )
{
// System.out.println( "\t\testado[ 0 ] == 1 || estado[ 0 ] == 2 || estado[ 1 ] == 1 || estado[ 1 ] == 2 : true" );
links.add( "/" + servletName + "/?" + empresaID + "/" + estabelecimentoID + "/" + trabalhador.getID() );
HashMap dadosTrabalhador = new HashMap();
dadosTrabalhador.put( "Nome", trabalhador.toString() );
dadosTrabalhador.put( "Consulta", CORES_ESTADOS.get( new Integer( estado[ 0 ] ) ) );
Object text = TEXTOS_ESTADOS.get( new Integer( estado[ 0 ] ) );
// System.out.println( "\t\t\tCONSULTA_ESTADO : " + text );
dadosTrabalhador.put( "Consulta_estado", text != null ? text : marcacoes[ index ][ 0 ] );
// System.out.println( "\t\t\t\tFinal : " + dadosTrabalhador.get( "Consulta_estado" ) );
dadosTrabalhador.put( "Exame", CORES_ESTADOS.get( new Integer( estado[ 1 ] ) ) );
text = TEXTOS_ESTADOS.get( new Integer( estado[ 1 ] ) );
// System.out.println( "\t\t\tEXAME_ESTADO : " + text );
dadosTrabalhador.put( "Exame_estado", text != null ? text : marcacoes[ index ][ 3 ] );
// System.out.println( "\t\t\t\tFinal : " + dadosTrabalhador.get( "Exame_estado" ) );
dados.add( dadosTrabalhador );
}
}
@ -677,43 +693,33 @@ public class doGetListaTrabalhadoresPendentes
protected boolean perfilTemConsultas( Integer trabalhadorID, Integer empresaID )
throws Exception
{
Executer executer = getExecuter();
String query = "SELECT a_consultas, b_consultas FROM empresas WHERE id = " + empresaID;
Virtual2DArray array = executer.executeQuery( new Select( query ) );
boolean consultas[] = new boolean[]{ "y".equals( array.get( 0, 0 ) ), "n".equals( array.get( 0, 0 ) ) };
query = "SELECT perfil FROM trabalhadores WHERE id = " + trabalhadorID;
array = executer.executeQuery( new Select( query ) );
Integer perfil = ( Integer )array.get( 0, 0 );
if( perfil != null )
{
return consultas[ perfil.intValue() - 1 ];
}
else
{
return false;
}
return perfilTem( query, trabalhadorID );
}
protected boolean perfilTemExames( Integer trabalhadorID, Integer empresaID )
throws Exception
{
Executer executer = getExecuter();
String query = "SELECT a_exames, b_exames FROM empresas WHERE id = " + empresaID;
return perfilTem( query, trabalhadorID );
}
private boolean perfilTem( String query, Integer trabalhadorID ) throws Exception
{
Executer executer = getExecuter();
Virtual2DArray array = executer.executeQuery( new Select( query ) );
boolean consultas[] = new boolean[]{ "y".equals( array.get( 0, 0 ) ), "n".equals( array.get( 0, 0 ) ) };
query = "SELECT perfil FROM trabalhadores WHERE id = " + trabalhadorID;
array = executer.executeQuery( new Select( query ) );
Integer perfil = ( Integer )array.get( 0, 0 );
if( perfil != null )
{
return consultas[ perfil.intValue() - 1 ];
}
else
{
return false;
}
return perfil != null && consultas[ perfil.intValue() - 1 ];
}
// protected boolean verificarTrabalhador( Object consultas[][], Object exames[][] )
// {
// boolean estadoConsultas = false;

@ -23,7 +23,7 @@ public class doGetTrabalhador extends siprpServlet
return rs;
}
/** Creates a new instance of doGetTrabalhador */
public doGetTrabalhador(HttpServletRequest req, HttpServletResponse res) throws IOException
{
ServletOutputStream out = res.getOutputStream();
@ -222,98 +222,130 @@ public class doGetTrabalhador extends siprpServlet
hmFuncionario.put( "resultado", null );
}
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 ) );
/** 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";
rs = executeQuery( con, queryUltima );
java.util.Date dataUltimaConsultaRealizada = null;
String consultaRealizada = "";
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;
// 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 ) )
{
hmFuncionario.put( "ultima_consulta", dataConsulta2 );
if( estado2.equals( ESTADO_REALIZADO ) )
{
realizada2 = "sim";
}
else
{
realizada2 = "n&atilde;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&atilde;o";
}
hmFuncionario.put( "realizada", realizada1 );
hmFuncionario.put( "ultima_consulta", dataConsulta1 );
dataUltimaConsultaRealizada = ( java.util.Date ) rs.get( 0, 1 );
consultaRealizada = "Sim";
}
else
{
hmFuncionario.put( "ultima_consulta", null );
hmFuncionario.put( "realizada", null );
}
}
}
else
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;
if ( rs.columnLength() > 0 )
{
hmFuncionario.put( "ultima_consulta", null );
hmFuncionario.put( "realizada", null );
hmFuncionario.put( "proxima_consulta", null );
dataProximaConsulta = ( java.util.Date ) rs.get( 0, 1 );
}
stmt.close();
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&atilde;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&atilde;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();

Loading…
Cancel
Save