@ -23,6 +23,10 @@ import beans.Seccao;
import beans.TecnicoSaude ;
import beans.TipoUtilizador ;
import beans.Trabalhador ;
import com.evolute.utils.arrays.Virtual2DArray ;
import com.evolute.utils.sql.Expression ;
import com.evolute.utils.sql.Field ;
import com.evolute.utils.sql.Select2 ;
import com.evolute.utils.strings.StringPlainer ;
import com.sun.rave.web.ui.model.Option ;
import global.Global ;
@ -36,6 +40,8 @@ import java.util.Calendar;
import java.util.Date ;
import java.util.GregorianCalendar ;
import java.util.HashMap ;
import java.util.LinkedList ;
import java.util.List ;
import java.util.ListIterator ;
import java.util.StringTokenizer ;
import utils.Strings ;
@ -49,27 +55,6 @@ public class AnalisesDataProvider extends GenericDataProvider
{
private static AnalisesDataProvider INSTANCE = null ;
// private final static int ESTADO_SEG = 1;
// private final static int ESTADO_RH1 = 2;
// private final static int ESTADO_HS = 3;
// private final static int ESTADO_RH2 = 4;
// private final static int ESTADO_MEDICO = 5;
// private final static int ESTADO_ASSINATURAS = 6;
// private final static int ESTADO_IMPRESSAO = 7;
// private final static int ESTADO_FECHAR = 8;
// private final static int ESTADO_CONCLUIDO = 9;
private final static int ESTADO_ASSINATURA_1 = 1 ;
private final static int ESTADO_ASSINATURA_2 = 2 ;
private final static int ESTADO_ASSINATURA_3 = 3 ;
private final static int ESTADO_ASSINATURA_RESP_SEG = 1 ;
private final static int ESTADO_ASSINATURA_SEG = 2 ;
private final static int ESTADO_ASSINATURA_HS = 3 ;
private final static int ESTADO_ASSINATURA_MED = 4 ;
private final static int ESTADO_ASSINATURA_RH = 5 ;
private final static int ESTADO_ASSINATURA_RESP_RH = 6 ;
private AnalisesDataProvider ( ) throws Exception
{
@ -155,7 +140,6 @@ public class AnalisesDataProvider extends GenericDataProvider
joinConditions + = "acidentados.id = analises_acidentes.acidentado_id AND " ;
}
if ( nome ! = null )
{
nome = StringPlainer . convertString ( nome . trim ( ) ) ;
@ -190,12 +174,12 @@ public class AnalisesDataProvider extends GenericDataProvider
/*************************************************************************/
public ArrayList searchAnalisesActualSeg ( Integer estabelecimento_id ,
String nome , String visitaDate , String POR , String responsavel_loja )
String nome , String visitaDate , String POR , String responsavel_loja , Integer fromYear )
throws Exception
{
if ( nome = = null & & visitaDate = = null & & POR = = null )
{
return getAnalisesActuaisSegList ( estabelecimento_id , responsavel_loja ) ;
return getAnalisesActuaisSegList ( estabelecimento_id , responsavel_loja , fromYear ) ;
}
Statement st = createStatement ( ) ;
@ -220,32 +204,74 @@ public class AnalisesDataProvider extends GenericDataProvider
return list ;
}
public ArrayList getAnalisesActuaisSegList ( Integer estabelecimento_id , String responsavel_loja ) throws Exception
public ArrayList getAnalisesActuaisSegList ( Integer estabelecimentoID , String responsavel_loja , Integer fromYear )
throws Exception
{
Statement st = createStatement ( ) ;
String sql = "" ;
if ( responsavel_loja . matches ( "y" ) )
Expression where = new Field ( "analises_acidentes.apagada" ) . isEqual ( "n" ) ;
where = where . and ( new Field ( "analises_acidentes.estabelecimento_id" ) . isEqual ( estabelecimentoID ) ) ;
if ( fromYear ! = null )
{
sql = "SELECT * FROM analises_acidentes WHERE (estado = " + Global . ESTADO_SEG + " OR (averiguacao_posterior = 'y' AND averiguacao_obs = '')" + " OR estado = " + Global . ESTADO_ASSINATURA_SEG + ")" + " AND estabelecimento_id = " + estabelecimento_id + " AND apagada = 'n' ORDER BY analise_nr" ;
where = where . and ( new Field ( "EXTRACT( year FROM analises_acidentes.data_acidente )" ) . isEqual ( fromYear ) ) ;
}
else
Expression states = new Field ( "analises_acidentes.estado" ) . isEqual ( Global . ESTADO_SEG )
. or (
new Field ( "analises_acidentes.averiguacao_posterior" ) . isEqual ( "y" )
. and ( new Field ( "analises_acidentes.averiguacao_obs" ) . isEqual ( "" ) )
) ;
if ( "y" . equals ( responsavel_loja ) )
{
sql = "SELECT * FROM analises_acidentes WHERE (estado = " + Global . ESTADO_SEG + " OR (averiguacao_posterior = 'y' AND averiguacao_obs = ''))" + " AND estabelecimento_id = " + estabelecimento_id + " AND apagada = 'n' ORDER BY analise_nr" ;
states = states . or ( new Field ( "analises_acidentes.estado" ) . isEqual ( Global . ESTADO_ASSINATURA_SEG ) ) ;
}
where = where . and ( states ) ;
ResultSet rs = st . executeQuery ( sql ) ;
Select2 query = new Select2 (
new String [ ] { "analises_acidentes" } ,
new Integer [ ] { } ,
new Expression [ ] { } ,
new String [ ] { "*" } ,
where ,
new String [ ] { "analises_acidentes.analise_nr" } ,
null , null , null
) ;
// String sql = "";
// if ( responsavel_loja.matches( "y" ) )
// {
// sql = "SELECT * " +
// "FROM analises_acidentes " +
// "WHERE " +
// "(estado = " + Global.ESTADO_SEG + " OR (averiguacao_posterior = 'y' AND averiguacao_obs = '')" +
// " OR estado = " + Global.ESTADO_ASSINATURA_SEG + ")" +
// " AND estabelecimento_id = " + estabelecimentoID +
// " AND apagada = 'n' " +
// "ORDER BY analise_nr";
// }
// else
// {
// sql = "SELECT * " +
// "FROM analises_acidentes " +
// "WHERE " +
// "( estado = " + Global.ESTADO_SEG + " OR (averiguacao_posterior = 'y' AND averiguacao_obs = '') )" +
// " AND estabelecimento_id = " + estabelecimentoID +
// " AND apagada = 'n' " +
// "ORDER BY analise_nr";
// }
Statement st = createStatement ( ) ;
ResultSet rs = st . executeQuery ( query . toString ( ) ) ;
ArrayList list = fillAnaliseFields ( rs ) ;
return list ;
}
public ArrayList searchAnalisesActualRH ( Integer estabelecimento_id ,
String nome , String visitaDate , String POR , String responsavel_loja )
String nome , String visitaDate , String POR , String responsavel_loja , Integer fromYear )
throws Exception
{
if ( nome = = null & & visitaDate = = null & & POR = = null )
{
return getAnalisesActuaisRhList ( estabelecimento_id , responsavel_loja ) ;
return getAnalisesActuaisRhList ( estabelecimento_id , responsavel_loja , fromYear ) ;
}
Statement st = createStatement ( ) ;
@ -269,32 +295,72 @@ public class AnalisesDataProvider extends GenericDataProvider
return list ;
}
public ArrayList getAnalisesActuaisRhList ( Integer estabelecimento_id , String responsavel_loja ) throws Exception
public ArrayList getAnalisesActuaisRhList ( Integer estabelecimentoID , String responsavel_loja , Integer fromYear )
throws Exception
{
Statement st = createStatement ( ) ;
String sql = "" ;
if ( responsavel_loja . matches ( "y" ) )
Expression where = new Field ( "apagada" ) . isEqual ( "n" ) ;
where = where . and ( new Field ( "estabelecimento_id" ) . isEqual ( estabelecimentoID ) ) ;
if ( fromYear ! = null )
{
sql = "SELECT * FROM analises_acidentes WHERE (estado = " + Global . ESTADO_RH1 + " OR estado = " + Global . ESTADO_RH2 + " OR estado = " + Global . ESTADO_ASSINATURA_RH + ") AND estabelecimento_id = " + estabelecimento_id + " AND apagada = 'n' ORDER BY analise_nr" ;
where = where . and ( new Field ( "EXTRACT( year FROM analises_acidentes.data_acidente )" ) . isEqual ( fromYear ) ) ;
}
else
Expression or = new Field ( "estado" ) . isEqual ( Global . ESTADO_RH1 )
. or ( new Field ( "estado" ) . isEqual ( Global . ESTADO_RH2 ) ) ;
if ( "y" . equals ( responsavel_loja ) )
{
sql = "SELECT * FROM analises_acidentes WHERE (estado = " + Global . ESTADO_RH1 + " OR estado = " + Global . ESTADO_RH2 + ") AND estabelecimento_id = " + estabelecimento_id + " AND apagada = 'n' ORDER BY analise_nr" ;
or = or . or ( new Field ( "estado" ) . isEqual ( Global . ESTADO_ASSINATURA_RH ) ) ;
}
where = where . and ( or ) ;
ResultSet rs = st . executeQuery ( sql ) ;
Select2 query = new Select2 (
new String [ ] { "analises_acidentes" } ,
new Integer [ ] { } ,
new Expression [ ] { } ,
new String [ ] { "*" } ,
where ,
new String [ ] { "analise_nr" } ,
null , null , null
) ;
// String sql = "";
// if ( responsavel_loja.matches( "y" ) )
// {
// sql = "SELECT * " +
// "FROM analises_acidentes " +
// "WHERE " +
// "(estado = " + Global.ESTADO_RH1 + " OR estado = " + Global.ESTADO_RH2 + " OR estado = " + Global.ESTADO_ASSINATURA_RH + ") " +
// "AND estabelecimento_id = " + estabelecimentoID +
// " AND apagada = 'n' " +
// "ORDER BY analise_nr";
// }
// else
// {
// sql = "SELECT * " +
// "FROM analises_acidentes " +
// "WHERE " +
// "(estado = " + Global.ESTADO_RH1 + " OR estado = " + Global.ESTADO_RH2 + ") " +
// "AND estabelecimento_id = " + estabelecimentoID +
// " AND apagada = 'n' " +
// "ORDER BY analise_nr";
// }
System . out . println ( "\ngetAnalisesActuaisRhList() : " + query . toString ( ) + "\n" ) ;
Statement st = createStatement ( ) ;
ResultSet rs = st . executeQuery ( query . toString ( ) ) ;
ArrayList list = fillAnaliseFields ( rs ) ;
return list ;
}
public ArrayList searchAnalisesActuaisHS ( Integer estabelecimento_id ,
String nome , String estabelecimento , String visitaDate , String POR )
String nome , String estabelecimento , String visitaDate , String POR , Integer fromYear )
throws Exception
{
if ( nome = = null & & estabelecimento = = null & & visitaDate = = null & & POR = = null )
{
return getAnalisesActuaisHsList ( estabelecimento_id ) ;
return getAnalisesActuaisHsList ( estabelecimento_id , fromYear ) ;
}
Statement st = createStatement ( ) ;
@ -309,42 +375,44 @@ public class AnalisesDataProvider extends GenericDataProvider
return list ;
}
public ArrayList getAnalisesActuaisHsList ( Integer estabelecimento_id ) throws Exception
public ArrayList getAnalisesActuaisHsList ( Integer estabelecimentoID , Integer fromYear ) throws Exception
{
Expression where = new Field ( "apagada" ) . isEqual ( "n" ) . and (
new Field ( "estado" ) . isEqual ( Global . ESTADO_HS )
. or ( new Field ( "estado" ) . isEqual ( Global . ESTADO_FECHAR ) )
. or ( new Field ( "estado" ) . isEqual ( Global . ESTADO_CONSOLIDACAO ) )
) ;
if ( fromYear ! = null )
{
where = where . and ( new Field ( "EXTRACT( year FROM data_acidente )" ) . isEqual ( fromYear ) ) ;
}
Select2 query = new Select2 (
new String [ ] { "analises_acidentes" } ,
new Integer [ ] { } ,
new Expression [ ] { } ,
new String [ ] { "*" } ,
where ,
new String [ ] { "analise_nr" } ,
null , null , null
) ;
// String sql = "SELECT * " +
// "FROM analises_acidentes " +
// "WHERE " +
// "(estado = " + Global.ESTADO_HS + " OR estado = " + Global.ESTADO_FECHAR +
// " OR estado = " + Global.ESTADO_CONSOLIDACAO + ")" +
// " AND apagada = 'n' " +
// "ORDER BY analise_nr";
System . out . println ( "\nAnalisesDataProvider . getAnalisesActuaisHsList() : " + query . toString ( ) ) ;
Statement st = createStatement ( ) ;
String sql = "SELECT * FROM analises_acidentes WHERE (estado = " + Global . ESTADO_HS + " OR estado = " + Global . ESTADO_FECHAR + " OR estado = " + Global . ESTADO_CONSOLIDACAO + ")" + " AND apagada = 'n' ORDER BY analise_nr" ; //AND estabelecimento_id = " + estabelecimento_id;
ResultSet rs = st . executeQuery ( sql ) ;
ResultSet rs = st . executeQuery ( query . toString ( ) ) ;
ArrayList list = fillAnaliseFields ( rs ) ;
return list ;
}
// public ArrayList searchAnalisesActuaisMedico( Integer estabelecimento_id, String nome )
// throws Exception
// {
// if ( nome == null )
// {
// return getAnalisesActuaisMedicoList( estabelecimento_id );
// }
//
// Statement st = createStatement();
// String sql = getExpression( nome, null );
//
// sql += "AND (estado = " + Global.ESTADO_MEDICINA + " OR (estado = " + Global.ESTADO_ASSINATURAS +
// " AND estado_assinatura = 2 and ass_med = 'n')) AND estabelecimento_id = " + estabelecimento_id;
//
// ResultSet rs = st.executeQuery( sql );
// ArrayList list = fillAnaliseFields( rs );
// return list;
// }
// public ArrayList getAnalisesActuaisMedicoList(Integer estabelecimento_id) throws Exception
// {
// Statement st = createStatement();
// String sql ="SELECT * FROM analises_acidentes WHERE (estado = " + Global.ESTADO_MEDICINA + " OR (estado = " + Global.ESTADO_ASSINATURAS + " AND estado_assinatura = 2 and ass_med = 'n')) AND estabelecimento_id = " + estabelecimento_id;
// ResultSet rs = st.executeQuery(sql);
// ArrayList list = fillAnaliseFields(rs);
// return list;
// }
@ -354,12 +422,12 @@ public class AnalisesDataProvider extends GenericDataProvider
/*************************************************************************/
public ArrayList searchAnalisesSeguimentoSeg ( Integer estabelecimento_id ,
String nome , String visitaDate , String POR , String responsavel_loja )
String nome , String visitaDate , String POR , String responsavel_loja , Integer fromYear )
throws Exception
{
if ( nome = = null & & visitaDate = = null & & POR = = null )
{
return getAnalisesSeguimentoSegList ( estabelecimento_id , responsavel_loja ) ;
return getAnalisesSeguimentoSegList ( estabelecimento_id , responsavel_loja , fromYear ) ;
}
Statement st = createStatement ( ) ;
@ -382,18 +450,19 @@ public class AnalisesDataProvider extends GenericDataProvider
")) OR estado = " + Global . ESTADO_FECHAR +
")" + " ORDER BY analise_nr" ;
}
System . out . println ( "SQL: " + sql ) ;
ResultSet rs = st . executeQuery ( sql ) ;
ArrayList list = fillAnaliseFields ( rs ) ;
return list ;
}
public ArrayList getAnalisesSeguimentoSegList ( Integer estabelecimento_id , String responsavel_loja )
public ArrayList getAnalisesSeguimentoSegList ( Integer estabelecimento_id , String responsavel_loja , Integer fromYear )
throws Exception
{
Statement st = createStatement ( ) ;
String sql = null ;
// TODO : change to Select2
if ( responsavel_loja . matches ( "y" ) )
{
sql = "SELECT * FROM analises_acidentes WHERE " +
@ -402,34 +471,38 @@ public class AnalisesDataProvider extends GenericDataProvider
"averiguacao_posterior = 'n' OR (averiguacao_posterior = 'y' AND averiguacao_obs <> '')" +
") " +
"OR (estado > " + Global . ESTADO_ASSINATURA_SEG + " AND estado < " + Global . ESTADO_CONCLUIDO + ")" +
")" + " AND apagada = 'n' " +
"ORDER BY analise_nr" ;
// sql ="SELECT * FROM analises_acidentes WHERE estabelecimento_id = " + estabelecimento_id + " AND ((estado = 7 and ass_resp_seg = 'y') OR (estado > 1 AND estado < 7 AND (averiguacao_posterior = 'n' OR (averiguacao_posterior = 'y' AND averiguacao_obs <> ''))) OR (estado > 7 AND estado < 10))";
")" + " AND apagada = 'n' " ;
}
else
{
// sql ="SELECT * FROM analises_acidentes WHERE estabelecimento_id = " + estabelecimento_id + " AND ((estado > " + Global.ESTADO_SEG + " AND estado < 8 AND (averiguacao_posterior = 'n' OR (averiguacao_posterior = 'y' AND averiguacao_obs <> ''))) OR (estado > 7 AND estado < 10))";
sql = "SELECT * FROM analises_acidentes WHERE " +
"estabelecimento_id = " + estabelecimento_id + " AND (" +
"(estado > " + Global . ESTADO_SEG + " AND estado < " + Global . ESTADO_FECHAR + " AND (" +
"averiguacao_posterior = 'n' OR (averiguacao_posterior = 'y' AND averiguacao_obs <> '')" +
")) OR estado = " + Global . ESTADO_FECHAR +
")" + " AND apagada = 'n' " +
"ORDER BY analise_nr" ;
")" + " AND apagada = 'n' " ;
}
if ( fromYear ! = null )
{
sql + = " AND EXTRACT( year FROM analises_acidentes.data_acidente ) = " + fromYear + " " ;
}
sql + = " ORDER BY analise_nr " ;
System . out . println ( "\ngetAnalisesSeguimentoSegList() : " + sql + "\n" ) ;
Statement st = createStatement ( ) ;
ResultSet rs = st . executeQuery ( sql ) ;
ArrayList list = fillAnaliseFields ( rs ) ;
return list ;
}
public ArrayList searchAnalisesSeguimentoHS ( Integer estabelecimento_id ,
String nome , String estabelecimento , String visitaDate , String POR )
String nome , String estabelecimento , String visitaDate , String POR , Integer fromYear )
throws Exception
{
if ( nome = = null & & estabelecimento = = null & & visitaDate = = null & & POR = = null )
{
return getAnalisesSeguimentoHsList ( estabelecimento_id ) ;
return getAnalisesSeguimentoHsList ( estabelecimento_id , fromYear ) ;
}
Statement st = createStatement ( ) ;
@ -445,32 +518,53 @@ public class AnalisesDataProvider extends GenericDataProvider
return list ;
}
public ArrayList getAnalisesSeguimentoHsList ( Integer estabelecimento _id )
public ArrayList getAnalisesSeguimentoHsList ( Integer estabelecimento ID, Integer fromYear )
throws Exception
{
Statement st = createStatement ( ) ;
String sql = null ;
Expression where = new Field ( "analises_acidentes.apagada" ) . isEqual ( "n" ) ;
if ( fromYear ! = null )
{
where = where . and ( new Field ( "EXTRACT( year FROM analises_acidentes.data_acidente )" ) . isEqual ( fromYear ) ) ;
}
where = where . and (
new Field ( "estado" ) . isLess ( Global . ESTADO_HS )
. or ( new Field ( "estado" ) . isGreater ( Global . ESTADO_HS ) . and ( new Field ( "estado" ) . isLess ( Global . ESTADO_CONSOLIDACAO ) ) )
. or ( new Field ( "estado" ) . isGreater ( Global . ESTADO_CONSOLIDACAO ) . and ( new Field ( "estado" ) . isLess ( Global . ESTADO_FECHAR ) ) )
) ;
sql = "SELECT * FROM analises_acidentes WHERE (" +
"estado < " + Global . ESTADO_HS + " OR (estado > " + Global . ESTADO_HS + " AND estado < " + Global . ESTADO_CONSOLIDACAO + ") " +
"OR (estado > " + Global . ESTADO_CONSOLIDACAO + " AND estado < " + Global . ESTADO_FECHAR + ")" +
")" + " AND apagada = 'n' " +
"ORDER BY analise_nr" ; // AND estabelecimento_id = " + estabelecimento_id;
Select2 query = new Select2 (
new String [ ] { "analises_acidentes" } ,
new Integer [ ] { } ,
new Expression [ ] { } ,
new String [ ] { "*" } ,
where ,
new String [ ] { "analises_acidentes.analise_nr" } ,
null , null , null
) ;
ResultSet rs = st . executeQuery ( sql ) ;
System . out . println ( "SEGUIMENTO HS SQL : " + sql ) ;
// String sql = null;
// sql = "SELECT * FROM analises_acidentes WHERE (" +
// "estado < " + Global.ESTADO_HS + " OR (estado > " + Global.ESTADO_HS + " AND estado < " + Global.ESTADO_CONSOLIDACAO + ") " +
// "OR (estado > " + Global.ESTADO_CONSOLIDACAO + " AND estado < " + Global.ESTADO_FECHAR + ")" +
// ")" + " AND apagada = 'n' " +
// "ORDER BY analise_nr";
// AND estabelecimento_id = " + estabelecimento_id;
Statement st = createStatement ( ) ;
ResultSet rs = st . executeQuery ( query . toString ( ) ) ;
System . out . println ( "SEGUIMENTO HS SQL : " + query . toString ( ) ) ;
ArrayList list = fillAnaliseFields ( rs ) ;
return list ;
}
public ArrayList searchAnalisesSeguimentoRH ( Integer estabelecimento_id ,
String nome , String visitaDate , String POR , String responsavel_loja )
String nome , String visitaDate , String POR , String responsavel_loja , Integer fromYear )
throws Exception
{
if ( nome = = null & & visitaDate = = null & & POR = = null )
{
return getAnalisesSeguimentoRhList ( estabelecimento_id , responsavel_loja ) ;
return getAnalisesSeguimentoRhList ( estabelecimento_id , responsavel_loja , fromYear ) ;
}
Statement st = createStatement ( ) ;
@ -491,49 +585,56 @@ public class AnalisesDataProvider extends GenericDataProvider
") AND estabelecimento_id = " + estabelecimento_id +
" ORDER BY analise_nr" ;
}
ResultSet rs = st . executeQuery ( sql ) ;
ArrayList list = fillAnaliseFields ( rs ) ;
return list ;
}
public ArrayList getAnalisesSeguimentoRhList ( Integer estabelecimento _id, String responsavel_loja )
public ArrayList getAnalisesSeguimentoRhList ( Integer estabelecimento ID, String responsavel_loja , Integer fromYear )
throws Exception
{
Statement st = createStatement ( ) ;
String sql = null ;
if ( responsavel_loja . matches ( "y" ) )
Expression where = new Field ( "apagada" ) . isEqual ( "n" ) ;
where = where . and ( new Field ( "estabelecimento_id" ) . isEqual ( estabelecimentoID ) ) ;
if ( fromYear ! = null )
{
// sql ="SELECT * FROM analises_acidentes WHERE (estado = 1 OR estado = 3 OR estado = 6 OR (estado = 7 AND estado_assinatura < 2) OR estado = 9) AND estabelecimento_id = " + estabelecimento_id;
// sql ="SELECT * FROM analises_acidentes WHERE (estado = 1 OR estado = 3 OR estado = 6 OR (estado = 7 AND estado_assinatura < 2) OR (estado = 7 and ass_resp_rh = 'y') OR estado = 9) AND estabelecimento_id = " + estabelecimento_id;
sql = "SELECT * FROM analises_acidentes WHERE (" +
"estado = " + Global . ESTADO_SEG + " OR estado = " + Global . ESTADO_HS + " OR estado = " + Global . ESTADO_CONSOLIDACAO +
" OR estado = " + Global . ESTADO_ASSINATURA_SEG + " OR estado = " + Global . ESTADO_FECHAR +
") AND estabelecimento_id = " + estabelecimento_id + " AND apagada = 'n' " +
"ORDER BY analise_nr" ;
where = where . and ( new Field ( "EXTRACT( year FROM analises_acidentes.data_acidente )" ) . isEqual ( fromYear ) ) ;
}
else
Expression or = new Field ( "estado" ) . isEqual ( Global . ESTADO_SEG ) ;
or = or . or ( new Field ( "estado" ) . isEqual ( Global . ESTADO_HS ) ) ;
or = or . or ( new Field ( "estado" ) . isEqual ( Global . ESTADO_CONSOLIDACAO ) ) ;
or = or . or ( new Field ( "estado" ) . isEqual ( Global . ESTADO_ASSINATURA_SEG ) ) ;
or = or . or ( new Field ( "estado" ) . isEqual ( Global . ESTADO_FECHAR ) ) ;
if ( ! "y" . equals ( responsavel_loja ) )
{
sql = "SELECT * FROM analises_acidentes WHERE (" +
"estado = " + Global . ESTADO_SEG + " OR estado = " + Global . ESTADO_HS + " OR estado = " + Global . ESTADO_CONSOLIDACAO +
" OR estado = " + Global . ESTADO_ASSINATURA_SEG + " OR estado = " + Global . ESTADO_ASSINATURA_RH + " OR estado = " + Global . ESTADO_FECHAR +
") AND estabelecimento_id = " + estabelecimento_id + " AND apagada = 'n' " +
"ORDER BY analise_nr" ;
or = or . or ( new Field ( "estado" ) . isEqual ( Global . ESTADO_ASSINATURA_RH ) ) ;
}
where = where . and ( or ) ;
ResultSet rs = st . executeQuery ( sql ) ;
Select2 query = new Select2 (
new String [ ] { "analises_acidentes" } ,
new Integer [ ] { } ,
new Expression [ ] { } ,
new String [ ] { "*" } ,
where ,
new String [ ] { "analise_nr" } ,
null , null , null
) ;
Statement st = createStatement ( ) ;
ResultSet rs = st . executeQuery ( query . toString ( ) ) ;
ArrayList list = fillAnaliseFields ( rs ) ;
return list ;
}
public ArrayList searchAnalisesSeguimentoMedico ( Integer estabelecimento_id ,
String nome , String visitaDate , String POR )
public ArrayList searchAnalisesSeguimentoMedico ( Integer estabelecimento_id , String nome , String visitaDate , String POR , Integer fromYear )
throws Exception
{
if ( nome = = null & & visitaDate = = null & & POR = = null )
{
return getAnalisesSeguimentoMedList ( estabelecimento_id ) ;
return getAnalisesSeguimentoMedList ( estabelecimento_id , fromYear ) ;
}
Statement st = createStatement ( ) ;
@ -549,125 +650,163 @@ public class AnalisesDataProvider extends GenericDataProvider
return list ;
}
public ArrayList getAnalisesSeguimentoMedList ( Integer estabelecimento _id )
public ArrayList getAnalisesSeguimentoMedList ( Integer estabelecimento ID, Integer fromYear )
throws Exception
{
Statement st = createStatement ( ) ;
String sql = null ;
sql = "SELECT * FROM analises_acidentes WHERE " +
"estado < 5 OR (estado = 6 AND estado_assinatura <> 2) OR (estado = 6 AND estado_assinatura = 2 AND ass_med = 'y') " +
"OR (estado > 6 AND estado < 9) " +
"AND estabelecimento_id = " + estabelecimento_id + " AND apagada = 'n' " +
"ORDER BY analise_nr" ;
// String sql = null;
// sql = "SELECT * FROM analises_acidentes WHERE " +
// "estado < 5 OR (estado = 6 AND estado_assinatura <> 2) OR (estado = 6 AND estado_assinatura = 2 AND ass_med = 'y') " +
// "OR (estado > 6 AND estado < 9) " +
// "AND estabelecimento_id = " + estabelecimentoID + " AND apagada = 'n' ";
// if ( fromYear != null )
// {
// sql += " AND EXTRACT( year FROM analises_acidentes.data_acidente ) = " + fromYear + " ";
// }
// sql += " ORDER BY analise_nr ";
Expression where = new Field ( "analises_acidentes.apagada" ) . isEqual ( "n" ) ;
where = where . and ( new Field ( "analises_acidentes.estabelecimento_id" ) . isEqual ( estabelecimentoID ) ) ;
if ( fromYear ! = null )
{
where = where . and ( new Field ( "EXTRACT( year FROM analises_acidentes.data_acidente )" ) . isEqual ( fromYear ) ) ;
}
where = where . and (
new Field ( "analises_acidentes.estado" ) . isLess ( 5 )
. or (
new Field ( "analises_acidentes.estado" ) . isEqual ( 6 )
. and ( new Field ( "analises_acidentes.estado_assinatura" ) . isDifferent ( 2 ) )
)
. or (
new Field ( "analises_acidentes.estado" ) . isEqual ( 6 )
. and ( new Field ( "analises_acidentes.estado_assinatura" ) . isEqual ( 2 ) )
. and ( new Field ( "analises_acidentes.ass_med" ) . isEqual ( "y" ) )
)
. or (
new Field ( "analises_acidentes.estado" ) . isGreater ( 6 )
. and ( new Field ( "analises_acidentes.estado" ) . isLess ( 9 ) )
)
) ;
Select2 query = new Select2 (
new String [ ] { "analises_acidentes" } ,
new Integer [ ] { } ,
new Expression [ ] { } ,
new String [ ] { "*" } ,
where ,
new String [ ] { "analises_acidentes.analise_nr" } ,
null , null , null
) ;
ResultSet rs = st . executeQuery ( sql ) ;
Statement st = createStatement ( ) ;
ResultSet rs = st . executeQuery ( query . toString ( ) ) ;
ArrayList list = fillAnaliseFields ( rs ) ;
return list ;
}
public ArrayList searchAnalisesSeguimentoDirSiprp (
String nome , String estabelecimento , String visitaDate , String POR )
public ArrayList searchAnalisesSeguimentoDirSiprp ( String nome , String estabelecimento , String visitaDate , String POR , Integer fromYear )
throws Exception
{
if ( nome = = null & & estabelecimento = = null & & visitaDate = = null & & POR = = null )
{
return getAnalisesSeguimentoDirSiprpList ( ) ;
return getAnalisesSeguimentoDirSiprpList ( fromYear ) ;
}
Statement st = createStatement ( ) ;
String sql = getExpression ( nome , estabelecimento , visitaDate , POR ) ;
sql + = " AND estado < " + Global . ESTADO_CONCLUIDO + " ORDER BY analise_nr" ;
Statement st = createStatement ( ) ;
ResultSet rs = st . executeQuery ( sql ) ;
ArrayList list = fillAnaliseFields ( rs ) ;
return list ;
}
public ArrayList getAnalisesSeguimentoDirSiprpList ( ) throws Exception
public ArrayList getAnalisesSeguimentoDirSiprpList ( Integer fromYear ) throws Exception
{
Statement st = createStatement ( ) ;
String sql = null ;
Expression where = new Field ( "apagada" ) . isEqual ( "n" ) ;
where = where . and ( new Field ( "estado" ) . isLess ( Global . ESTADO_CONCLUIDO ) ) ;
if ( fromYear ! = null )
{
where = where . and ( new Field ( "EXTRACT( year FROM analises_acidentes.data_acidente )" ) . isEqual ( fromYear ) ) ;
}
sql = "SELECT * FROM analises_acidentes WHERE estado < " + Global . ESTADO_CONCLUIDO + " AND apagada = 'n' ORDER BY analise_nr" ;
Select2 query = new Select2 (
new String [ ] { "analises_acidentes" } ,
new Integer [ ] { } ,
new Expression [ ] { } ,
new String [ ] { "*" } ,
where ,
new String [ ] { "analise_nr" } ,
null , null , null
) ;
ResultSet rs = st . executeQuery ( sql ) ;
Statement st = createStatement ( ) ;
ResultSet rs = st . executeQuery ( query . toString ( ) ) ;
ArrayList list = fillAnaliseFields ( rs ) ;
return list ;
}
public ArrayList searchAnalisesSeguimentoDirGerRh (
String nome , String estabelecimento , String visitaDate , String POR )
String nome , String estabelecimento , String visitaDate , String POR , Integer fromYear )
throws Exception
{
return searchAnalisesSeguimentoDirSiprp ( nome , estabelecimento , visitaDate , POR ) ;
return searchAnalisesSeguimentoDirSiprp ( nome , estabelecimento , visitaDate , POR , fromYear ) ;
}
public ArrayList getAnalisesSeguimentoDirGerRhList ( ) throws Exception
public ArrayList getAnalisesSeguimentoDirGerRhList ( Integer fromYear ) throws Exception
{
return getAnalisesSeguimentoDirSiprpList ( ) ;
// Statement st = createStatement();
// String sql = null;
//
// sql ="SELECT * FROM analises_acidentes WHERE estado < " + Global.ESTADO_CONCLUIDO + " AND apagada = 'n' ORDER BY analise_nr";
//
// ResultSet rs = st.executeQuery(sql);
// ArrayList list = fillAnaliseFields(rs);
// return list;
return getAnalisesSeguimentoDirSiprpList ( fromYear ) ;
}
public ArrayList searchAnalisesSeguimentoGestor ( Integer estabelecimento_id ,
String nome , String estabelecimento , String visitaDate , String POR )
String nome , String estabelecimento , String visitaDate , String POR , Integer fromYear )
throws Exception
{
if ( nome = = null & & estabelecimento = = null & & visitaDate = = null & & POR = = null )
{
return getAnalisesSeguimentoGestorList ( estabelecimento_id ) ;
return getAnalisesSeguimentoGestorList ( estabelecimento_id , fromYear ) ;
}
Statement st = createStatement ( ) ;
String sql = getExpression ( nome , estabelecimento , visitaDate , POR ) ;
sql + = "AND estado < " + Global . ESTADO_CONCLUIDO + " " ;
if ( estabelecimento_id = = null )
if ( estabelecimento_id ! = null )
{
sql + = "AND estado < " + Global . ESTADO_CONCLUIDO +
" ORDER BY analise_nr" ;
}
else
{
sql + = "AND estado < " + Global . ESTADO_CONCLUIDO + " AND estabelecimento_id = " + estabelecimento_id +
" ORDER BY analise_nr" ;
sql + = " AND estabelecimento_id = " + estabelecimento_id + " " ;
}
sql + = " ORDER BY analise_nr" ;
ResultSet rs = st . executeQuery ( sql ) ;
ArrayList list = fillAnaliseFields ( rs ) ;
return list ;
}
public ArrayList getAnalisesSeguimentoGestorList ( Integer estabelecimento _id )
public ArrayList getAnalisesSeguimentoGestorList ( Integer estabelecimento ID, Integer fromYear )
throws Exception
{
Statement st = createStatement ( ) ;
String sql = null ;
if ( estabelecimento_id = = null )
Expression where = new Field ( "apagada" ) . isEqual ( "n" ) ;
where = where . and ( new Field ( "estado" ) . isLess ( Global . ESTADO_CONCLUIDO ) ) ;
if ( estabelecimentoID ! = null )
{
sql = "SELECT * FROM analises_acidentes WHERE " +
"estado < " + Global . ESTADO_CONCLUIDO +
" AND apagada = 'n' " +
"ORDER BY analise_nr" ;
where = where . and ( new Field ( "estabelecimento_id" ) . isEqual ( estabelecimentoID ) ) ;
}
else
if ( fromYear ! = null )
{
sql = "SELECT * FROM analises_acidentes WHERE " +
"estado < " + Global . ESTADO_CONCLUIDO + " AND estabelecimento_id = " + estabelecimento_id +
" AND apagada = 'n' " +
"ORDER BY analise_nr" ;
where = where . and ( new Field ( "EXTRACT( year FROM analises_acidentes.data_acidente )" ) . isEqual ( fromYear ) ) ;
}
Select2 query = new Select2 (
new String [ ] { "analises_acidentes" } ,
new Integer [ ] { } ,
new Expression [ ] { } ,
new String [ ] { "*" } ,
where ,
new String [ ] { "analise_nr" } ,
null , null , null
) ;
ResultSet rs = st . executeQuery ( sql ) ;
Statement st = createStatement ( ) ;
ResultSet rs = st . executeQuery ( query . toString ( ) ) ;
ArrayList list = fillAnaliseFields ( rs ) ;
return list ;
}
@ -680,37 +819,45 @@ public class AnalisesDataProvider extends GenericDataProvider
/****************************** CONCLUIDOS *******************************/
/*************************************************************************/
public ArrayList getAnalisesConcluidasList ( Integer estabelecimento_id ) throws Exception
public ArrayList getAnalisesConcluidasList ( Integer estabelecimentoID , Integer fromYear ) throws Exception
{
Statement st = createStatement ( ) ;
String sql = "" ;
if ( estabelecimento_id = = null )
Expression where = new Field ( "estado" ) . isEqual ( Global . ESTADO_CONCLUIDO ) ;
where = where . and ( new Field ( "apagada" ) . isEqual ( "n" ) ) ;
if ( estabelecimentoID ! = null )
{
sql = "SELECT * FROM analises_acidentes WHERE estado = " + Global . ESTADO_CONCLUIDO + " AND apagada = 'n' ORDER BY analise_nr" ;
where = where . and ( new Field ( "estabelecimento_id" ) . isEqual ( estabelecimentoID ) ) ;
}
else
if ( fromYear ! = null )
{
sql = "SELECT * FROM analises_acidentes WHERE estado = " + Global . ESTADO_CONCLUIDO + " AND estabelecimento_id = " + estabelecimento_id + " AND apagada = 'n' ORDER BY analise_nr" ;
where = where . and ( new Field ( "EXTRACT( year FROM data_acidente )" ) . isEqual ( fromYear ) ) ;
}
ResultSet rs = st . executeQuery ( sql ) ;
ArrayList list = fillAnaliseFields ( rs ) ;
Select2 query = new Select2 (
new String [ ] { "analises_acidentes" } ,
new Integer [ ] { } ,
new Expression [ ] { } ,
new String [ ] { "*" } ,
where ,
new String [ ] { "analise_nr" } ,
null , null , null
) ;
System . out . println ( "\ngetAnalisesConcluidasList() : " + query . toString ( ) + "\n" ) ;
ResultSet rs = st . executeQuery ( query . toString ( ) ) ;
ArrayList list = fillAnaliseFields ( rs ) ;
return list ;
}
public ArrayList getAnalisesConcluidasHsList ( ) throws Exception
public ArrayList getAnalisesConcluidasHsList ( Integer fromYear ) throws Exception
{
Statement st = createStatement ( ) ;
String sql = "SELECT * FROM analises_acidentes WHERE estado = " + Global . ESTADO_CONCLUIDO + " AND apagada = 'n' ORDER BY analise_nr" ;
ResultSet rs = st . executeQuery ( sql ) ;
ArrayList list = fillAnaliseFields ( rs ) ;
return list ;
return getAnalisesConcluidasList ( null , fromYear ) ;
}
public ArrayList searchA a nalisesConcluidasList( Integer estabelecimento_id ,
Integer ano , Integer mes , Integer dia , String POR , String nome , String estabelecimento )
public ArrayList searchAnalisesConcluidasList ( Integer estabelecimento_id ,
Integer ano , Integer mes , Integer dia , String POR , String nome , String estabelecimento , Integer fromYear )
throws Exception
{
String sql = null ;
@ -771,7 +918,15 @@ public class AnalisesDataProvider extends GenericDataProvider
}
}
sql + = "AND estado = " + Global . ESTADO_CONCLUIDO + " ORDER BY analises_acidentes.analise_nr ASC" ;
sql + = " AND estado = " + Global . ESTADO_CONCLUIDO + " " ;
// if search parameters are null, account with fromYear
if ( ano = = null & & mes = = null & & dia = = null & & POR = = null & & nome = = null & & estabelecimento = = null & & fromYear ! = null )
{
sql + = " AND EXTRACT( year FROM analises_acidentes.data_acidente ) = " + fromYear + " " ;
}
sql + = " ORDER BY analises_acidentes.analise_nr ASC " ;
System . out . println ( "CONCLUIDAS SQL: " + sql ) ;
@ -2841,14 +2996,45 @@ public class AnalisesDataProvider extends GenericDataProvider
return s ;
}
public List < Integer > getDistinctYears ( Integer excludeYear ) throws Exception
{
List < Integer > result = new LinkedList < Integer > ( ) ;
Expression where = new Field ( "apagada" ) . isEqual ( "n" ) ;
if ( excludeYear ! = null )
{
where = where . and ( new Field ( "EXTRACT( year FROM data_acidente )" ) . notIn ( new Integer [ ] { excludeYear } ) ) ;
}
Select2 query = new Select2 (
new String [ ] { "analises_acidentes" } ,
new Integer [ ] { } ,
new Expression [ ] { } ,
new String [ ] { "DISTINCT( cast( EXTRACT( year FROM data_acidente ) as integer ) ) AS ano" } ,
where ,
new String [ ] { "ano DESC" } ,
null , null , null
) ;
query . disableOrderFieldsVerification ( ) ;
Virtual2DArray array = getExecuter ( ) . executeQuery ( query ) ;
for ( int i = 0 ; i < array . columnLength ( ) ; i + + )
{
Integer ano = array . get ( i , 0 ) ;
result . add ( ano ) ;
}
return result ;
}
public ArrayList getAnosListFromAnalises ( ) throws Exception
{
ArrayList list = new ArrayList ( ) ;
Statement st = createStatement ( ) ;
String sql = null ;
sql = "select distinct extract(year from data_acidente) as ano from analises_acidentes where estado = " + Global . ESTADO_CONCLUIDO + " order by ano" ;
String sql = "SELECT DISTINCT EXTRACT( year FROM data_acidente ) AS ano " +
"FROM analises_acidentes " +
"WHERE " +
"apagada = 'n' AND estado = " + Global . ESTADO_CONCLUIDO +
" ORDER BY ano" ;
Statement st = createStatement ( ) ;
ResultSet rs = st . executeQuery ( sql ) ;
if ( rs . isBeforeFirst ( ) )
{
@ -2858,9 +3044,9 @@ public class AnalisesDataProvider extends GenericDataProvider
Double dAno = new Double ( rs . getDouble ( "ano" ) ) ;
Integer iAno = new Integer ( dAno . intValue ( ) ) ;
list . add ( iAno ) ;
} while ( rs . next ( ) ) ;
}
while ( rs . next ( ) ) ;
}
return list ;
}