You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
SIPRP/trunk/AnaliseAcidentesTrabalho/src/java/db/AnalisesDataProvider.java

2214 lines
105 KiB

/*
* AnalisesDataProvider.java
*
* Created on September 20, 2007, 1:44 PM
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/
package db;
import analiseacidentestrabalho.Acidentado;
import analiseacidentestrabalho.AnaliseAcidente;
import analiseacidentestrabalho.Causa;
import analiseacidentestrabalho.Controle;
import analiseacidentestrabalho.Correcao;
import analiseacidentestrabalho.Departamento;
import analiseacidentestrabalho.Estabelecimento;
import analiseacidentestrabalho.Medico;
import analiseacidentestrabalho.Medida;
import analiseacidentestrabalho.Recomendacao;
import analiseacidentestrabalho.Seccao;
import analiseacidentestrabalho.TecnicoSaude;
import analiseacidentestrabalho.TipoUtilizador;
import analiseacidentestrabalho.Trabalhador;
import com.sun.rave.web.ui.model.Option;
import global.Global;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.HashMap;
import java.util.ListIterator;
import java.util.StringTokenizer;
import utils.Strings;
import utils.Utils;
/**
*
* @author lluis
*/
public class AnalisesDataProvider {
// 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;
/** Creates a new instance of AnalisesDataProvider */
public AnalisesDataProvider() {
}
public Controle getControle() throws Exception
{
Statement st = createStatement();
String sql = "SELECT * FROM controle WHERE id = 1";
ResultSet rs = st.executeQuery(sql);
rs.first();
Controle c = new Controle();
c.setId(new Integer( rs.getInt("id") ));
c.setAnalise_year( new Integer( rs.getInt( "analise_year" ) ));
c.setLast_analise_nr( new Integer( rs.getInt( "last_analise_nr" ) ) );
return c;
}
public void updateControle( Controle c ) throws Exception
{
Statement st = createStatement();
String sql = "UPDATE controle SET analise_year = " + c.getAnalise_year() + ", ";
sql += "last_analise_nr = " + c.getLast_analise_nr() + " ";
sql += "WHERE id = 1";
st.execute(sql);
}
public ArrayList getAnalisesActuaisSegList(Integer estabelecimento_id, String responsavel_loja) throws Exception
{
Statement st = createStatement();
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 = " + estabelecimento_id + " 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 = " + estabelecimento_id + " AND apagada = 'n' ORDER BY analise_nr";
}
ResultSet rs = st.executeQuery(sql);
ArrayList list = fillAnaliseFields(rs);
return list;
}
public ArrayList getAnalisesActuaisRhList(Integer estabelecimento_id, String responsavel_loja) throws Exception
{
Statement st = createStatement();
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 = " + estabelecimento_id + " 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 = " + estabelecimento_id + " AND apagada = 'n' ORDER BY analise_nr";
}
ResultSet rs = st.executeQuery(sql);
ArrayList list = fillAnaliseFields(rs);
return list;
}
public ArrayList getAnalisesActuaisHsList(Integer estabelecimento_id) throws Exception
{
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);
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;
// }
public ArrayList getAnalisesSeguimentoSegList(Integer estabelecimento_id, String responsavel_loja) throws Exception
{
Statement st = createStatement();
String sql = null;
if(responsavel_loja.matches("y"))
{
sql ="SELECT * FROM analises_acidentes WHERE estabelecimento_id = " + estabelecimento_id + " AND (estado > " + Global.ESTADO_SEG + " AND estado < " + Global.ESTADO_ASSINATURA_SEG + " AND (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))";
}
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";
}
ResultSet rs = st.executeQuery(sql);
ArrayList list = fillAnaliseFields(rs);
return list;
}
public ArrayList getAnalisesSeguimentoHsList(Integer estabelecimento_id) throws Exception
{
Statement st = createStatement();
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;
ResultSet rs = st.executeQuery(sql);
System.out.println("SEGUIMENTO HS SQL : " + sql);
ArrayList list = fillAnaliseFields(rs);
return list;
}
public ArrayList getAnalisesSeguimentoRhList(Integer estabelecimento_id, String responsavel_loja) throws Exception
{
Statement st = createStatement();
String sql = null;
if(responsavel_loja.matches("y"))
{
// 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";
}
else
{
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";
}
ResultSet rs = st.executeQuery(sql);
ArrayList list = fillAnaliseFields(rs);
return list;
}
public ArrayList getAnalisesSeguimentoMedList(Integer estabelecimento_id) 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";
ResultSet rs = st.executeQuery(sql);
ArrayList list = fillAnaliseFields(rs);
return list;
}
public ArrayList getAnalisesSeguimentoDirSiprpList() throws Exception
{
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;
}
public ArrayList getAnalisesSeguimentoDirGerRhList() throws Exception
{
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;
}
public ArrayList getAnalisesSeguimentoGestorList(Integer estabelecimento_id) throws Exception
{
Statement st = createStatement();
String sql = null;
if(estabelecimento_id == null)
{
sql ="SELECT * FROM analises_acidentes WHERE estado < " + Global.ESTADO_CONCLUIDO + " AND apagada = 'n' ORDER BY analise_nr";
}
else
{
sql ="SELECT * FROM analises_acidentes WHERE estado < " + Global.ESTADO_CONCLUIDO + " AND estabelecimento_id = " + estabelecimento_id + " AND apagada = 'n' ORDER BY analise_nr";
}
ResultSet rs = st.executeQuery(sql);
ArrayList list = fillAnaliseFields(rs);
return list;
}
public ArrayList getAnalisesConcluidasList(Integer estabelecimento_id) throws Exception
{
Statement st = createStatement();
String sql = "";
if(estabelecimento_id == null)
{
sql ="SELECT * FROM analises_acidentes WHERE estado = " + Global.ESTADO_CONCLUIDO + " AND apagada = 'n' ORDER BY analise_nr";
}
else
{
sql ="SELECT * FROM analises_acidentes WHERE estado = " + Global.ESTADO_CONCLUIDO + " AND estabelecimento_id = " + estabelecimento_id + " AND apagada = 'n' ORDER BY analise_nr";
}
ResultSet rs = st.executeQuery(sql);
ArrayList list = fillAnaliseFields(rs);
return list;
}
public ArrayList getAnalisesConcluidasHsList() 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;
}
public ArrayList searchAanalisesConcluidasList(Integer estabelecimento_id, Integer ano, Integer mes, Integer dia, String por, String nome) throws Exception
{
// Strings strings = new Strings();
Calendar cal = Calendar.getInstance();
// ArrayList list = new ArrayList();
// Dblocal dblocal = new Dblocal();
// dblocal.connect();
// Statement stlocal = dblocal.createStatement();
Statement st = createStatement();
String sql = "";
if(por != null)
{
por = por.toUpperCase();
}
if(nome != null)
{
nome = nome.toUpperCase();
}
if( ano != null)
{
if( mes != null)
{
if( dia != null)
{
cal.set( cal.YEAR, ano.intValue() );
cal.set( cal.MONTH, mes.intValue() -1 );
cal.set( cal.DATE, dia.intValue() );
java.sql.Date data_acidente = new java.sql.Date( cal.getTime().getTime() );
if(por != null && nome != null)
{
if(estabelecimento_id == null)
{
sql = "SELECT * FROM analises_acidentes, acidentados WHERE acidentado_id = acidentados.id AND data_acidente = '" + data_acidente + "' AND (numero_mecanografico LIKE '%" + por + "%' OR nome LIKE '%" + nome + "%') AND estado = " + Global.ESTADO_CONCLUIDO + " AND apagada = 'n' ORDER BY analise_nr";
}
else
{
sql = "SELECT * FROM analises_acidentes, acidentados WHERE acidentado_id = acidentados.id AND data_acidente = '" + data_acidente + "' AND (numero_mecanografico LIKE '%" + por + "%' OR nome LIKE '%" + nome + "%') AND estado = " + Global.ESTADO_CONCLUIDO + " AND estabelecimento_id = " + estabelecimento_id + " AND apagada = 'n' ORDER BY analise_nr";
}
}
else if(por != null)
{
if(estabelecimento_id == null)
{
sql = "SELECT * FROM analises_acidentes, acidentados WHERE acidentado_id = acidentados.id AND data_acidente = '" + data_acidente + "' AND numero_mecanografico LIKE '%" + por + "%' AND estado = " + Global.ESTADO_CONCLUIDO + " AND apagada = 'n' ORDER BY analise_nr";
}
else
{
sql = "SELECT * FROM analises_acidentes, acidentados WHERE acidentado_id = acidentados.id AND data_acidente = '" + data_acidente + "' AND numero_mecanografico LIKE '%" + por + "%' AND estado = " + Global.ESTADO_CONCLUIDO + " AND estabelecimento_id = " + estabelecimento_id + " AND apagada = 'n' ORDER BY analise_nr";
}
}
else if( nome != null)
{
if(estabelecimento_id == null)
{
sql = "SELECT * FROM analises_acidentes, acidentados WHERE acidentado_id = acidentados.id AND data_acidente = '" + data_acidente + "' AND nome LIKE '%" + nome + "%' AND estado = " + Global.ESTADO_CONCLUIDO + " AND apagada = 'n' ORDER BY analise_nr";
}
else
{
sql = "SELECT * FROM analises_acidentes, acidentados WHERE acidentado_id = acidentados.id AND data_acidente = '" + data_acidente + "' AND nome LIKE '%" + nome + "%' AND estado = " + Global.ESTADO_CONCLUIDO + " AND estabelecimento_id = " + estabelecimento_id + " AND apagada = 'n' ORDER BY analise_nr";
}
}
else
{
if(estabelecimento_id == null)
{
sql = "SELECT * FROM analises_acidentes WHERE data_acidente = '" + data_acidente + "' AND estado = " + Global.ESTADO_CONCLUIDO + " AND apagada = 'n' ORDER BY analise_nr";
}
else
{
sql = "SELECT * FROM analises_acidentes WHERE data_acidente = '" + data_acidente + "' AND estado = " + Global.ESTADO_CONCLUIDO + " AND estabelecimento_id = " + estabelecimento_id + " AND apagada = 'n' ORDER BY analise_nr";
}
}
}
else
{
cal.set( cal.YEAR, ano.intValue() );
cal.set( cal.MONTH, mes.intValue() -1 );
cal.set( cal.DATE, 1 );
java.sql.Date data_acidente_from = new java.sql.Date( cal.getTime().getTime() );
cal.set( cal.DATE, 31 );
java.sql.Date data_acidente_to = new java.sql.Date( cal.getTime().getTime() );
if(por != null && nome != null)
{
if(estabelecimento_id == null)
{
sql = "SELECT * FROM analises_acidentes, acidentados WHERE acidentado_id = acidentados.id AND data_acidente >= '" + data_acidente_from + "' AND data_acidente <= '" + data_acidente_to + "' AND (numero_mecanografico LIKE '%" + por + "%' OR nome LIKE '%" + nome + "%') AND estado = " + Global.ESTADO_CONCLUIDO + " AND apagada = 'n' ORDER BY analise_nr";
}
else
{
sql = "SELECT * FROM analises_acidentes, acidentados WHERE acidentado_id = acidentados.id AND data_acidente >= '" + data_acidente_from + "' AND data_acidente <= '" + data_acidente_to + "' AND (numero_mecanografico LIKE '%" + por + "%' OR nome LIKE '%" + nome + "%') AND estado = " + Global.ESTADO_CONCLUIDO + " AND estabelecimento_id = " + estabelecimento_id + " AND apagada = 'n' ORDER BY analise_nr";
}
}
else if(por != null)
{
if(estabelecimento_id == null)
{
sql = "SELECT * FROM analises_acidentes, acidentados WHERE acidentado_id = acidentados.id AND data_acidente >= '" + data_acidente_from + "' AND data_acidente <= '" + data_acidente_to + "' AND numero_mecanografico LIKE '%" + por + "%' AND estado = " + Global.ESTADO_CONCLUIDO + " AND apagada = 'n' ORDER BY analise_nr";
}
else
{
sql = "SELECT * FROM analises_acidentes, acidentados WHERE acidentado_id = acidentados.id AND data_acidente >= '" + data_acidente_from + "' AND data_acidente <= '" + data_acidente_to + "' AND numero_mecanografico LIKE '%" + por + "%' AND estado = " + Global.ESTADO_CONCLUIDO + " AND estabelecimento_id = " + estabelecimento_id + " AND apagada = 'n' ORDER BY analise_nr";
}
}
else if( nome != null)
{
if(estabelecimento_id == null)
{
sql = "SELECT * FROM analises_acidentes, acidentados WHERE acidentado_id = acidentados.id AND data_acidente >= '" + data_acidente_from + "' AND data_acidente <= '" + data_acidente_to + "' AND nome LIKE '%" + nome + "%' AND estado = " + Global.ESTADO_CONCLUIDO + " AND apagada = 'n' ORDER BY analise_nr";
}
else
{
sql = "SELECT * FROM analises_acidentes, acidentados WHERE acidentado_id = acidentados.id AND data_acidente >= '" + data_acidente_from + "' AND data_acidente <= '" + data_acidente_to + "' AND nome LIKE '%" + nome + "%' AND estado = " + Global.ESTADO_CONCLUIDO + " AND estabelecimento_id = " + estabelecimento_id + " AND apagada = 'n' ORDER BY analise_nr";
}
}
else
{
if(estabelecimento_id == null)
{
sql = "SELECT * FROM analises_acidentes WHERE data_acidente >= '" + data_acidente_from + "' AND data_acidente <= '" + data_acidente_to + "' AND estado = " + Global.ESTADO_CONCLUIDO + " AND apagada = 'n' ORDER BY analise_nr";
}
else
{
sql = "SELECT * FROM analises_acidentes WHERE data_acidente >= '" + data_acidente_from + "' AND data_acidente <= '" + data_acidente_to + "' AND estado = " + Global.ESTADO_CONCLUIDO + " AND estabelecimento_id = " + estabelecimento_id + " AND apagada = 'n' ORDER BY analise_nr";
}
}
} // dia
} // mes
else
{
cal.set( cal.YEAR, ano.intValue() );
cal.set( cal.MONTH, 0 );
cal.set( cal.DATE, 1 );
java.sql.Date data_acidente_from = new java.sql.Date( cal.getTime().getTime() );
cal.set( cal.MONTH, 11 );
cal.set( cal.DATE, 31 );
java.sql.Date data_acidente_to = new java.sql.Date( cal.getTime().getTime() );
if(por != null && nome != null)
{
if(estabelecimento_id == null)
{
sql = "SELECT * FROM analises_acidentes, acidentados WHERE acidentado_id = acidentados.id AND data_acidente >= '" + data_acidente_from + "' AND data_acidente <= '" + data_acidente_to + "' AND (numero_mecanografico LIKE '%" + por + "%' OR nome LIKE '%" + nome + "%') AND estado = " + Global.ESTADO_CONCLUIDO + " AND apagada = 'n' ORDER BY analise_nr";
}
else
{
sql = "SELECT * FROM analises_acidentes, acidentados WHERE acidentado_id = acidentados.id AND data_acidente >= '" + data_acidente_from + "' AND data_acidente <= '" + data_acidente_to + "' AND (numero_mecanografico LIKE '%" + por + "%' OR nome LIKE '%" + nome + "%') AND estado = " + Global.ESTADO_CONCLUIDO + " AND estabelecimento_id = " + estabelecimento_id + " AND apagada = 'n' ORDER BY analise_nr";
}
}
else if(por != null)
{
if(estabelecimento_id == null)
{
sql = "SELECT * FROM analises_acidentes, acidentados WHERE acidentado_id = acidentados.id AND data_acidente >= '" + data_acidente_from + "' AND data_acidente <= '" + data_acidente_to + "' AND numero_mecanografico LIKE '%" + por + "%' AND estado = " + Global.ESTADO_CONCLUIDO + " AND apagada = 'n' ORDER BY analise_nr";
}
else
{
sql = "SELECT * FROM analises_acidentes, acidentados WHERE acidentado_id = acidentados.id AND data_acidente >= '" + data_acidente_from + "' AND data_acidente <= '" + data_acidente_to + "' AND numero_mecanografico LIKE '%" + por + "%' AND estado = " + Global.ESTADO_CONCLUIDO + " AND estabelecimento_id = " + estabelecimento_id + " AND apagada = 'n' ORDER BY analise_nr";
}
}
else if( nome != null)
{
if(estabelecimento_id == null)
{
sql = "SELECT * FROM analises_acidentes, acidentados WHERE acidentado_id = acidentados.id AND data_acidente >= '" + data_acidente_from + "' AND data_acidente <= '" + data_acidente_to + "' AND nome LIKE '%" + nome + "%' AND estado = " + Global.ESTADO_CONCLUIDO + " AND apagada = 'n' ORDER BY analise_nr";
}
else
{
sql = "SELECT * FROM analises_acidentes, acidentados WHERE acidentado_id = acidentados.id AND data_acidente >= '" + data_acidente_from + "' AND data_acidente <= '" + data_acidente_to + "' AND nome LIKE '%" + nome + "%' AND estado = " + Global.ESTADO_CONCLUIDO + " AND estabelecimento_id = " + estabelecimento_id + " AND apagada = 'n' ORDER BY analise_nr";
}
}
else
{
if(estabelecimento_id == null)
{
sql = "SELECT * FROM analises_acidentes WHERE data_acidente >= '" + data_acidente_from + "' AND data_acidente <= '" + data_acidente_to + "' AND estado = " + Global.ESTADO_CONCLUIDO + " AND apagada = 'n' ORDER BY analise_nr";
}
else
{
sql = "SELECT * FROM analises_acidentes WHERE data_acidente >= '" + data_acidente_from + "' AND data_acidente <= '" + data_acidente_to + "' AND estado = " + Global.ESTADO_CONCLUIDO + " AND estabelecimento_id = " + estabelecimento_id + " AND apagada = 'n' ORDER BY analise_nr";
}
}
}
} // ano
else
{
if(por != null && nome != null)
{
if(estabelecimento_id == null)
{
sql = "SELECT * FROM analises_acidentes, acidentados WHERE acidentado_id = acidentados.id AND (numero_mecanografico LIKE '%" + por + "%' OR nome LIKE '%" + nome + "%') AND estado = " + Global.ESTADO_CONCLUIDO + " AND apagada = 'n' ORDER BY analise_nr";
}
else
{
sql = "SELECT * FROM analises_acidentes, acidentados WHERE acidentado_id = acidentados.id AND (numero_mecanografico LIKE '%" + por + "%' OR nome LIKE '%" + nome + "%') AND estado = " + Global.ESTADO_CONCLUIDO + " AND estabelecimento_id = " + estabelecimento_id + " AND apagada = 'n' ORDER BY analise_nr";
}
}
else if(por != null)
{
if(estabelecimento_id == null)
{
sql = "SELECT * FROM analises_acidentes, acidentados WHERE acidentado_id = acidentados.id AND numero_mecanografico LIKE '%" + por + "%' AND estado = " + Global.ESTADO_CONCLUIDO + " AND apagada = 'n' ORDER BY analise_nr";
}
else
{
sql = "SELECT * FROM analises_acidentes, acidentados WHERE acidentado_id = acidentados.id AND numero_mecanografico LIKE '%" + por + "%' AND estado = " + Global.ESTADO_CONCLUIDO + " AND estabelecimento_id = " + estabelecimento_id + " AND apagada = 'n' ORDER BY analise_nr";
}
}
else if( nome != null )
{
if(estabelecimento_id == null)
{
sql = "SELECT * FROM analises_acidentes, acidentados WHERE acidentado_id = acidentados.id AND nome LIKE '%" + nome + "%' AND estado = " + Global.ESTADO_CONCLUIDO + " AND apagada = 'n' ORDER BY analise_nr";
}
else
{
sql = "SELECT * FROM analises_acidentes, acidentados WHERE acidentado_id = acidentados.id AND nome LIKE '%" + nome + "%' AND estado = " + Global.ESTADO_CONCLUIDO + " AND estabelecimento_id = " + estabelecimento_id + " AND apagada = 'n' ORDER BY analise_nr";
}
}
else
{
if(estabelecimento_id == null)
{
sql = "SELECT * FROM analises_acidentes WHERE estado = " + Global.ESTADO_CONCLUIDO + " AND apagada = 'n' ORDER BY analise_nr";
}
else
{
sql = "SELECT * FROM analises_acidentes WHERE estado = " + Global.ESTADO_CONCLUIDO + " AND estabelecimento_id = " + estabelecimento_id + " AND apagada = 'n' ORDER BY analise_nr";
}
}
}
ResultSet rs = st.executeQuery(sql);
ArrayList list = fillAnaliseFields(rs);
return list;
}
private ArrayList fillAnaliseFields(ResultSet rs) throws Exception
{
Dblocal dblocal = new Dblocal();
dblocal.connect();
Statement stlocal = dblocal.createStatement();
Statement stlocal1 = dblocal.createStatement();
ArrayList list = new ArrayList();
if(!rs.isBeforeFirst()) //rs empty
{
dblocal.close();
return list;
}
rs.first();
int nr = 0;
do
{
AnaliseAcidente a = new AnaliseAcidente();
a.setId(new Integer(rs.getInt("id")));
nr++;
a.setNr(new Integer(nr));
a.setData_acidente(rs.getDate("data_acidente"));
a.setEmpresa_id(new Integer(rs.getInt("empresa_id")));
a.setEstabelecimento_id(new Integer(rs.getInt("estabelecimento_id")));
String sqllocal1 = "SELECT nome FROM estabelecimentos WHERE id = " + a.getEstabelecimento_id();
ResultSet rslocal1 = stlocal1.executeQuery(sqllocal1);
rslocal1.first();
a.setNome_estabelecimento( utils.Utils.unicodeToHTML( rslocal1.getString("nome") ) );
a.setEstado(new Integer(rs.getInt("estado")));
a.setEstado_assinatura(new Integer(rs.getInt("estado_assinatura")));
a.setFase(getFase(a.getEstado().intValue()));
a.setAcidentado_id(new Integer( rs.getInt("acidentado_id")));
Acidentado ac = getAcidentado(a.getAcidentado_id());
String sqllocal = "SELECT nome, numero_mecanografico FROM trabalhadores WHERE id = " + ac.getTrabalhador_id();
ResultSet rslocal = stlocal.executeQuery(sqllocal);
rslocal.first();
String nome_acidentado = rslocal.getString("nome");
a.setNome_acidentado(utils.Utils.unicodeToHTML(nome_acidentado));
a.setNumero_mecanografico(rslocal.getString("numero_mecanografico"));
Object horas_turno = rs.getObject("horas_turno");
if(horas_turno == null)
{
a.setHoras_turno(null);
}
else
{
a.setHoras_turno(new Integer(rs.getInt("horas_turno")));
}
a.setAveriguador(rs.getString("averiguador"));
//a.setSeccao(rs.getString("seccao"));
a.setDepartamento_id( new Integer(rs.getInt("departamento_id")) );
a.setSeccao_id( new Integer(rs.getInt("seccao_id")) );
a.setLocal_trabalho(rs.getString("local_trabalho"));
a.setTarefa(rs.getString("tarefa"));
a.setSubstancias(rs.getString("substancias"));
// a.setSuperior_hierarquico(rs.getString("superior_hierarquico"));
a.setCondicoes(rs.getString("condicoes"));
a.setTestemunhas(rs.getString("testemunhas"));
a.setCausas( new Integer(rs.getInt("causas")) );
a.setDescricao(rs.getString("descricao"));
a.setConclusoes(rs.getString("conclusoes"));
a.setAccoes(rs.getString("accoes"));
a.setAveriguacao_posterior(rs.getString("averiguacao_posterior"));
a.setAveriguacao_obs(rs.getString("averiguacao_obs"));
a.setHora_acidente(rs.getTime("hora_acidente"));
a.setFormacao_shst(rs.getString("formacao_shst"));
Object o = rs.getString("formacao_shst_nao_porque");
if(o == null)
{
a.setFormacao_shst_nao_porque("");
}
else
{
a.setFormacao_shst_nao_porque(rs.getString("formacao_shst_nao_porque"));
}
a.setOutros_acidentes_com_colaborador(rs.getString("outros_acidentes_com_colaborador"));
a.setNr_acidentes_com_colaborador(new Integer(rs.getInt("nr_acidentes_com_colaborador")));
a.setNr_relatorio_acidente_colaborador1(new Integer(rs.getInt("nr_relatorio_acidente_colaborador1")));
a.setNr_relatorio_acidente_colaborador2(new Integer(rs.getInt("nr_relatorio_acidente_colaborador2")));
a.setNr_relatorio_acidente_colaborador3(new Integer(rs.getInt("nr_relatorio_acidente_colaborador3")));
a.setNr_relatorio_acidente_colaborador4(new Integer(rs.getInt("nr_relatorio_acidente_colaborador4")));
a.setAcidentes_outros_colaboradores(rs.getString("acidentes_outros_colaboradores"));
a.setNr_acidentes_outros_colaboradores(new Integer(rs.getInt("nr_acidentes_outros_colaboradores")));
a.setNr_relatorio_acidente_outros_colaboradores1(new Integer(rs.getInt("nr_relatorio_acidente_outros_colaboradores1")));
a.setNr_relatorio_acidente_outros_colaboradores2(new Integer(rs.getInt("nr_relatorio_acidente_outros_colaboradores2")));
a.setNr_relatorio_acidente_outros_colaboradores3(new Integer(rs.getInt("nr_relatorio_acidente_outros_colaboradores3")));
a.setNr_relatorio_acidente_outros_colaboradores4(new Integer(rs.getInt("nr_relatorio_acidente_outros_colaboradores4")));
a.setLesao_cabeca(rs.getString("lesao_cabeca"));
a.setLesao_pescoco(rs.getString("lesao_pescoco"));
a.setLesao_tronco(rs.getString("lesao_tronco"));
a.setLesao_membro_sup_dir(rs.getString("lesao_membro_sup_dir"));
a.setLesao_membro_sup_esq(rs.getString("lesao_membro_sup_esq"));
a.setLesao_membro_inf_dir(rs.getString("lesao_membro_inf_dir"));
a.setLesao_membro_inf_esq(rs.getString("lesao_membro_inf_esq"));
Object ob = rs.getString("especif1");
if(ob == null)
{
a.setEspecif1("");
}
else
{
a.setEspecif1(rs.getString("especif1"));
}
ob = rs.getString("especif2");
if(ob == null)
{
a.setEspecif2("");
}
else
{
a.setEspecif2(rs.getString("especif2"));
}
ob = rs.getString("especif3");
if(ob == null)
{
a.setEspecif3("");
}
else
{
a.setEspecif3(rs.getString("especif3"));
}
ob = rs.getString("especif4");
if(ob == null)
{
a.setEspecif4("");
}
else
{
a.setEspecif4(rs.getString("especif4"));
}
ob = rs.getString("tipo_lesao");
if(ob == null)
{
a.setTipo_lesao("");
}
else
{
a.setTipo_lesao(rs.getString("tipo_lesao"));
}
a.setTipo_incapacidade(rs.getString("tipo_incapacidade"));
//a.setCoef_incapacidade(new Integer(( rs.getInt("coef_incapacidade") )));
a.setCoef_incapacidade((Integer) rs.getObject("coef_incapacidade"));
a.setData_aval_incapacidade(rs.getDate("data_aval_incapacidade"));
a.setData_rev_incapacidade(rs.getDate("data_rev_incapacidade"));
a.setPeriodo_incapacidade_de(rs.getDate("periodo_incapacidade_de"));
a.setPeriodo_incapacidade_a(rs.getDate("periodo_incapacidade_a"));
a.setImg_flexao(rs.getString("img_flexao"));
a.setImg_ext1(rs.getString("img_ext1"));
a.setImg_ext2(rs.getString("img_ext2"));
a.setImg_cab2(rs.getString("img_cab2"));
a.setImg_cab3(rs.getString("img_cab3"));
a.setImg_ma2(rs.getString("img_ma2"));
a.setImg_ma3(rs.getString("img_ma3"));
a.setImg_ma5(rs.getString("img_ma5"));
a.setImg_ma6(rs.getString("img_ma6"));
a.setImg_ma8(rs.getString("img_ma8"));
a.setImg_ma10(rs.getString("img_ma10"));
a.setImg_rot1(rs.getString("img_rot1"));
a.setImg_rot2(rs.getString("img_rot2"));
a.setImg_cab1(rs.getString("img_cab1"));
a.setImg_cab4(rs.getString("img_cab4"));
a.setImg_ma1(rs.getString("img_ma1"));
a.setImg_ma4(rs.getString("img_ma4"));
a.setImg_ma7(rs.getString("img_ma7"));
a.setImg_ma9(rs.getString("img_ma9"));
a.setRestricao_carga(new Integer( rs.getInt("restricao_carga") ));
a.setRestricao_motricidade(rs.getString("restricao_motricidade"));
a.setRestricao_conducao(rs.getString("restricao_conducao"));
a.setRestricao_vibracoes(rs.getString("restricao_vibracoes"));
ob = rs.getString("restricao_outras");
if(ob == null)
{
a.setRestricao_outras("");
}
else
{
a.setRestricao_outras(rs.getString("restricao_outras"));
}
ob = rs.getString("med_observ");
if(ob == null)
{
a.setMed_observ("");
}
else
{
a.setMed_observ(rs.getString("med_observ"));
}
a.setAnalise_nr(rs.getString("analise_nr"));
a.setMedico_id(new Integer(rs.getInt("medico_id")));
a.setTecnico_saude_id(new Integer(rs.getInt("tecnico_saude_id")));
//a.setAss_hs(rs.getString("ass_hs"));
//a.setAss_seg(rs.getString("ass_seg"));
a.setAss_resp_seg(rs.getString("ass_resp_seg"));
//a.setAss_med(rs.getString("ass_med"));
a.setAss_resp_rh(rs.getString("ass_resp_rh"));
a.setAss_consolidacao(rs.getString("ass_consolidacao"));
a.setData_consolidacao(rs.getDate("data_consolidacao"));
a.setData_assinatura_seg(rs.getDate("data_assinatura_seg"));
a.setData_assinatura_rh(rs.getDate("data_assinatura_rh"));
a.setNome_resp_seg(rs.getString("nome_resp_seg"));
a.setNome_resp_rh(rs.getString("nome_resp_rh"));
a.setCorrecao(rs.getString("correcao"));
a.setObservacoes_correcao(rs.getString("observacoes_correcao"));
a.setEstado_antes_correcao( new Integer(rs.getInt("estado_antes_correcao")));
a.setAss_superior(rs.getString("ass_superior"));
a.setNome_superior(rs.getString("nome_superior"));
a.setData_assinatura_superior(rs.getDate("data_assinatura_superior"));
a.setData_inicio_processo(rs.getDate("data_inicio_processo"));
a.setNome_resp_consolidacao(rs.getString("nome_resp_consolidacao"));
//System.out.println("ANALISE NR : " + a.getAnalise_nr());
a.setRh_fase4(new Integer( rs.getInt("rh_fase4") ));
list.add(a);
}while(rs.next());
dblocal.close();
return list;
}
public ArrayList searchTrabalhador(Integer empresa_id, Integer estabelecimento_id, String nrMecanografico, String nome) throws Exception
{
ArrayList list = new ArrayList();
Dblocal dblocal = new Dblocal();
dblocal.connect();
Statement stlocal = dblocal.createStatement();
String sql = "";
// trabalhadores do estabelecimento
if(nrMecanografico != null)
{
if(nome != null)
{
sql = "SELECT trabalhadores.id, trabalhadores.nome, data_nascimento, funcao_proposta, data_admissao, numero_mecanografico , estabelecimentos.id, estabelecimentos.nome FROM trabalhadores, estabelecimentos WHERE estabelecimento_id = estabelecimentos.id AND estabelecimento_id = " + estabelecimento_id + " AND (trabalhadores.nome LIKE '%" + nome + "%' OR LOWER(numero_mecanografico) LIKE '%" + nrMecanografico.toLowerCase() + "%') AND estabelecimentos.empresa_id = " + empresa_id + " AND trabalhadores.inactivo = 'n'";
}
else
{
sql = "SELECT trabalhadores.id, trabalhadores.nome, data_nascimento, funcao_proposta, data_admissao, numero_mecanografico , estabelecimentos.id, estabelecimentos.nome FROM trabalhadores, estabelecimentos WHERE estabelecimento_id = estabelecimentos.id AND estabelecimento_id = " + estabelecimento_id + " AND LOWER(numero_mecanografico) LIKE '%" + nrMecanografico.toLowerCase() + "%' AND estabelecimentos.empresa_id = " + empresa_id + " AND trabalhadores.inactivo = 'n'";
}
}
else
{
if(nome != null)
{
sql = "SELECT trabalhadores.id, trabalhadores.nome, data_nascimento, funcao_proposta, data_admissao, numero_mecanografico , estabelecimentos.id, estabelecimentos.nome FROM trabalhadores, estabelecimentos WHERE estabelecimento_id = estabelecimentos.id AND estabelecimento_id = " + estabelecimento_id + " AND trabalhadores.nome LIKE '%" + nome + "%' AND estabelecimentos.empresa_id = " + empresa_id + " AND trabalhadores.inactivo = 'n'";
}
}
System.out.println("TRABALHADORES SQL B : " + sql);
ResultSet rslocal = stlocal.executeQuery(sql);
if(rslocal.isBeforeFirst())
{
rslocal.first();
do
{
Trabalhador t = new Trabalhador();
t.setId(new Integer(rslocal.getInt(1))); //id
String nome_trab = rslocal.getString(2);
t.setNome(utils.Utils.unicodeToHTML(nome_trab));
t.setData_nascimento(rslocal.getDate("data_nascimento"));
t.setFuncao(rslocal.getString("funcao_proposta"));
t.setData_admissao(rslocal.getDate("data_admissao"));
t.setNumero_mecanografico(rslocal.getString("numero_mecanografico"));
t.setEstabelecimento_id(new Integer( rslocal.getInt(7) ));
//if(nome != null)
//{
t.setEstabelecimento(utils.Utils.unicodeToHTML(rslocal.getString(8)));
//}
list.add(t);
}while(rslocal.next());
}
//restantes trabalhadores
if(nrMecanografico != null)
{
if(nome != null)
{
sql = "SELECT trabalhadores.id, trabalhadores.nome, data_nascimento, funcao_proposta, data_admissao, numero_mecanografico , estabelecimentos.id, estabelecimentos.nome FROM trabalhadores, estabelecimentos WHERE estabelecimento_id = estabelecimentos.id AND estabelecimento_id <> " + estabelecimento_id + " AND (trabalhadores.nome LIKE '%" + nome + "%' OR LOWER(numero_mecanografico) LIKE '%" + nrMecanografico.toLowerCase() + "%') AND estabelecimentos.empresa_id = " + empresa_id + " AND trabalhadores.inactivo = 'n'";
}
else
{
sql = "SELECT trabalhadores.id, trabalhadores.nome, data_nascimento, funcao_proposta, data_admissao, numero_mecanografico , estabelecimentos.id, estabelecimentos.nome FROM trabalhadores, estabelecimentos WHERE estabelecimento_id = estabelecimentos.id AND estabelecimento_id <> " + estabelecimento_id + " AND LOWER(numero_mecanografico) LIKE '%" + nrMecanografico.toLowerCase() + "%' AND estabelecimentos.empresa_id = " + empresa_id + " AND trabalhadores.inactivo = 'n'";
}
}
else
{
if(nome != null)
{
sql = "SELECT trabalhadores.id, trabalhadores.nome, data_nascimento, funcao_proposta, data_admissao, numero_mecanografico , estabelecimentos.id, estabelecimentos.nome FROM trabalhadores, estabelecimentos WHERE estabelecimento_id = estabelecimentos.id AND estabelecimento_id <> " + estabelecimento_id + " AND trabalhadores.nome LIKE '%" + nome + "%' AND estabelecimentos.empresa_id = " + empresa_id + " AND trabalhadores.inactivo = 'n'";
}
}
// if(nrMecanografico != null)
// {
// sql = "SELECT * FROM trabalhadores WHERE LOWER(numero_mecanografico) = '" + nrMecanografico.toLowerCase() + "'";
// }
// else if(nome != null)
// {
// sql = "SELECT trabalhadores.id, trabalhadores.nome, data_nascimento, funcao_proposta, data_admissao, numero_mecanografico , estabelecimentos.nome FROM trabalhadores, estabelecimentos WHERE estabelecimento_id = estabelecimentos.id AND trabalhadores.nome LIKE '%" + nome + "%'";
// }
System.out.println("TRABALHADORES SQL : " + sql);
rslocal = stlocal.executeQuery(sql);
if(rslocal.isBeforeFirst())
{
rslocal.first();
do
{
Trabalhador t = new Trabalhador();
t.setId(new Integer(rslocal.getInt(1))); //id
String nome_trab = rslocal.getString(2);
t.setNome(utils.Utils.unicodeToHTML(nome_trab));
t.setData_nascimento(rslocal.getDate("data_nascimento"));
t.setFuncao(rslocal.getString("funcao_proposta"));
t.setData_admissao(rslocal.getDate("data_admissao"));
t.setNumero_mecanografico(rslocal.getString("numero_mecanografico"));
t.setEstabelecimento_id(new Integer( rslocal.getInt(7) ));
//if(nome != null)
//{
t.setEstabelecimento(utils.Utils.unicodeToHTML(rslocal.getString(8)));
//}
list.add(t);
}while(rslocal.next());
}
dblocal.close();
return list;
}
public ArrayList searchTrabalhador(Integer empresa_id, String nrMecanografico, String nome) throws Exception
{
ArrayList list = new ArrayList();
Dblocal dblocal = new Dblocal();
dblocal.connect();
Statement stlocal = dblocal.createStatement();
String sql = "";
StringTokenizer st = null;
if(nrMecanografico != null)
{
if(nome != null)
{
String sql1 = "SELECT trabalhadores.id, trabalhadores.nome, data_nascimento, funcao_proposta, data_admissao, numero_mecanografico , estabelecimentos.id, estabelecimentos.nome FROM trabalhadores, estabelecimentos WHERE estabelecimento_id = estabelecimentos.id AND (";
String sql2 = "";
String sql3 = ") AND LOWER(numero_mecanografico) LIKE '%" + nrMecanografico.toLowerCase() + "%' AND estabelecimentos.empresa_id = " + empresa_id + " AND trabalhadores.inactivo = 'n'";
st = new StringTokenizer (nome);
int n = 0;
while (st.hasMoreTokens ()) {
if(n > 0)
{
sql2 += "AND ";
}
sql2 += "trabalhadores.nome LIKE '%" + st.nextToken () + "%' ";
n++;
}
sql = sql1 + sql2 + sql3;
//sql = "SELECT trabalhadores.id, trabalhadores.nome, data_nascimento, funcao_proposta, data_admissao, numero_mecanografico , estabelecimentos.id, estabelecimentos.nome FROM trabalhadores, estabelecimentos WHERE estabelecimento_id = estabelecimentos.id AND (trabalhadores.nome LIKE '%" + nome + "%' AND LOWER(numero_mecanografico) LIKE '%" + nrMecanografico.toLowerCase() + "%') AND estabelecimentos.empresa_id = " + empresa_id;
}
else
{
sql = "SELECT trabalhadores.id, trabalhadores.nome, data_nascimento, funcao_proposta, data_admissao, numero_mecanografico , estabelecimentos.id, estabelecimentos.nome FROM trabalhadores, estabelecimentos WHERE estabelecimento_id = estabelecimentos.id AND LOWER(numero_mecanografico) LIKE '%" + nrMecanografico.toLowerCase() + "%' AND estabelecimentos.empresa_id = " + empresa_id + " AND trabalhadores.inactivo = 'n'";
}
}
else
{
if(nome != null)
{
//sql = "SELECT trabalhadores.id, trabalhadores.nome, data_nascimento, funcao_proposta, data_admissao, numero_mecanografico , estabelecimentos.id, estabelecimentos.nome FROM trabalhadores, estabelecimentos WHERE estabelecimento_id = estabelecimentos.id AND trabalhadores.nome LIKE '%" + nome + "%' AND estabelecimentos.empresa_id = " + empresa_id;
String sql1 = "SELECT trabalhadores.id, trabalhadores.nome, data_nascimento, funcao_proposta, data_admissao, numero_mecanografico , estabelecimentos.id, estabelecimentos.nome FROM trabalhadores, estabelecimentos WHERE estabelecimento_id = estabelecimentos.id AND (";
String sql2 = "";
String sql3 = ") AND estabelecimentos.empresa_id = " + empresa_id + " AND trabalhadores.inactivo = 'n'";
st = new StringTokenizer (nome);
int n = 0;
while (st.hasMoreTokens ()) {
if(n > 0)
{
sql2 += "AND ";
}
sql2 += "trabalhadores.nome LIKE '%" + st.nextToken () + "%' ";
n++;
}
sql = sql1 + sql2 + sql3;
}
}
System.out.println("TRABALHADORES SQL A : " + sql);
// if(nrMecanografico != null)
// {
// sql = "SELECT * FROM trabalhadores WHERE LOWER(numero_mecanografico) = '" + nrMecanografico.toLowerCase() + "'";
// }
// else if(nome != null)
// {
// sql = "SELECT trabalhadores.id, trabalhadores.nome, data_nascimento, funcao_proposta, data_admissao, numero_mecanografico , estabelecimentos.nome FROM trabalhadores, estabelecimentos WHERE estabelecimento_id = estabelecimentos.id AND trabalhadores.nome LIKE '%" + nome + "%'";
// }
ResultSet rslocal = stlocal.executeQuery(sql);
rslocal.first();
do
{
Trabalhador t = new Trabalhador();
t.setId(new Integer(rslocal.getInt(1))); //id
String nome_trab = rslocal.getString(2);
t.setNome(utils.Utils.unicodeToHTML(nome_trab));
t.setData_nascimento(rslocal.getDate("data_nascimento"));
t.setFuncao(rslocal.getString("funcao_proposta"));
t.setData_admissao(rslocal.getDate("data_admissao"));
t.setNumero_mecanografico(rslocal.getString("numero_mecanografico"));
t.setEstabelecimento_id(new Integer( rslocal.getInt(7) ));
//if(nome != null)
//{
t.setEstabelecimento(utils.Utils.unicodeToHTML(rslocal.getString(8)));
//}
list.add(t);
}while(rslocal.next());
dblocal.close();
return list;
}
public ArrayList getTrabalhadoresListByEstabelecimento(Integer estabelecimento_id) throws Exception
{
Utils utils = new Utils();
ArrayList list = new ArrayList();
Dblocal dblocal = new Dblocal();
dblocal.connect();
Statement stlocal = dblocal.createStatement();
String sql ="SELECT * FROM trabalhadores WHERE estabelecimento_id = " + estabelecimento_id;
ResultSet rslocal = stlocal.executeQuery(sql);
rslocal.first();
int nr = 0;
do
{
Trabalhador t = new Trabalhador();
t.setId(new Integer(rslocal.getInt("id")));
String nome = rslocal.getString("nome");
t.setNome(utils.unicodeToHTML(nome));
t.setData_nascimento(rslocal.getDate("data_nascimento"));
t.setFuncao(rslocal.getString("funcao_proposta"));
t.setData_admissao(rslocal.getDate("data_admissao"));
list.add(t);
}while(rslocal.next());
dblocal.close();
return list;
}
public Trabalhador getTrabalhador(Integer id) throws Exception
{
Dblocal dblocal = new Dblocal();
dblocal.connect();
Statement stlocal = dblocal.createStatement();
String sql ="SELECT * FROM trabalhadores WHERE id = " + id;
ResultSet rslocal = stlocal.executeQuery(sql);
rslocal.first();
Trabalhador t = new Trabalhador();
t.setId(new Integer(rslocal.getInt("id")));
t.setNome(rslocal.getString("nome"));
t.setData_nascimento(rslocal.getDate("data_nascimento"));
t.setFuncao(rslocal.getString("funcao_proposta"));
t.setData_admissao(rslocal.getDate("data_admissao"));
dblocal.close();
return t;
}
public Acidentado getAcidentado(Integer acidentado_id) throws Exception
{
Strings strings = new Strings();
Acidentado a = new Acidentado();
Statement st = createStatement();
String sql ="SELECT * FROM acidentados WHERE id = " + acidentado_id;
ResultSet rs = st.executeQuery(sql);
rs.first();
a.setId(new Integer(rs.getInt("id")));
a.setNome(rs.getString("nome"));
a.setData_nascimento(rs.getDate("data_nascimento"));
a.setBilhete_identidade(rs.getString("bilhete_identidade"));
a.setMorada(rs.getString("morada"));
a.setCod_postal(rs.getString("cod_postal"));
a.setLocalidade(rs.getString("localidade"));
a.setContacto_telefonico(rs.getString("contacto_telefonico"));
a.setData_admissao(rs.getDate("data_admissao"));
a.setTurno(rs.getString("turno"));
String funcao = rs.getString("funcao");
a.setFuncao(utils.Utils.unicodeToHTML(funcao));
a.setTrabalhador_id(new Integer(rs.getInt("trabalhador_id")));
a.setNumero_mecanografico(rs.getString("numero_mecanografico"));
a.setNome_superior_hierarquico(rs.getString("nome_superior_hierarquico"));
a.setEmail_superior_hierarquico(rs.getString("email_superior_hierarquico"));
a.setEstabelecimento_origem(rs.getString("estabelecimento_origem"));
a.setData_email_superior_hierarquico(rs.getDate("data_email_superior_hierarquico"));
//a.setAnalise_acidente_id(new Integer("analise_acidente_id"));
return a;
}
public String getEmpresaNome(Integer empresa_id) throws Exception
{
Dblocal dblocal = new Dblocal();
dblocal.connect();
Statement stlocal = dblocal.createStatement();
String sql ="SELECT designacao_social FROM empresas WHERE id = " + empresa_id;
ResultSet rslocal = stlocal.executeQuery(sql);
rslocal.first();
String nome = rslocal.getString("designacao_social");
dblocal.close();
return nome;
}
public String getEstabelecimentoNome(Integer estabelecimento_id) throws Exception
{
Dblocal dblocal = new Dblocal();
dblocal.connect();
Statement stlocal = dblocal.createStatement();
String sql ="SELECT nome FROM estabelecimentos WHERE id = " + estabelecimento_id;
ResultSet rslocal = stlocal.executeQuery(sql);
rslocal.first();
String nome = rslocal.getString("nome");
dblocal.close();
return Utils.unicodeToHTML(nome);
}
public String getMedicoNome(Integer medico_id) throws Exception
{
Dblocal dblocal = new Dblocal();
dblocal.connect();
Statement stlocal = dblocal.createStatement();
String sql ="SELECT nome FROM medicos WHERE id = " + medico_id;
ResultSet rslocal = stlocal.executeQuery(sql);
rslocal.first();
String nome = rslocal.getString("nome");
dblocal.close();
return Utils.unicodeToHTML(nome);
}
public Medico getMedico(Integer id) throws Exception
{
Dblocal dblocal = new Dblocal();
dblocal.connect();
Statement stlocal = dblocal.createStatement();
String sql ="SELECT * FROM medicos WHERE id = " + id;
ResultSet rslocal = stlocal.executeQuery(sql);
rslocal.first();
Medico m = new Medico();
m.setId(new Integer( rslocal.getInt("id") ));
m.setNome(rslocal.getString("nome"));
m.setNumero_cedula(rslocal.getString("numero_cedula"));
dblocal.close();
return m;
}
public String getTecnicoSaudeNome(Integer tecnico_id) throws Exception
{
Dblocal dblocal = new Dblocal();
dblocal.connect();
Statement stlocal = dblocal.createStatement();
String sql ="SELECT nome FROM marcacoes_tecnicos_hst WHERE id = " + tecnico_id;
ResultSet rslocal = stlocal.executeQuery(sql);
rslocal.first();
String nome = rslocal.getString("nome");
dblocal.close();
return nome;
}
public Integer getMaxAcidentadoId()
{
Statement st = createStatement();
String sql = "SELECT max(acidentados.id)+1 AS MAXACIDENTADOID FROM acidentados";
try
{
ResultSet rs = st.executeQuery(sql);
rs.first();
Integer newId = new Integer(rs.getInt("MAXACIDENTADOID"));
if(newId.intValue() == 0)
{
newId = new Integer(1);
}
return newId;
}
catch(Exception ex)
{
return new Integer(1);
}
}
public Integer createAcidentado(Acidentado a) throws Exception
{
Statement st = createStatement();
Integer newId = getMaxAcidentadoId();
String sql = "INSERT INTO acidentados (id, nome, data_nascimento, bilhete_identidade, morada, cod_postal, localidade, contacto_telefonico, data_admissao, turno, funcao, trabalhador_id, numero_mecanografico, nome_superior_hierarquico, email_superior_hierarquico, estabelecimento_origem, data_email_superior_hierarquico) VALUES (";
sql += newId + ", '";
sql += a.getNome() + "', ";
if(a.getData_nascimento() == null)
{
sql += null + ", '";
}
else
{
sql += "'" + a.getData_nascimento() + "', '";
}
//sql += a.getData_nascimento() + "', '";
sql += a.getBilhete_identidade() + "', '";
sql += a.getMorada() + "', '";
sql += a.getCod_postal() + "', '";
sql += a.getLocalidade() + "', '";
sql += a.getContacto_telefonico() + "', ";
if(a.getData_admissao() == null)
{
sql += null + ", '";
}
else
{
sql += "'" + a.getData_admissao() + "', '";
}
// sql += a.getData_admissao() + "', '";
sql += a.getTurno() + "', '";
sql += a.getFuncao() + "', ";
sql += a.getTrabalhador_id() + ", '";
sql += a.getNumero_mecanografico() + "', '";
sql += a.getNome_superior_hierarquico() + "', '";
sql += a.getEmail_superior_hierarquico() + "', '";
sql += a.getEstabelecimento_origem() + "', ";
if(a.getData_email_superior_hierarquico() == null)
{
sql += null + ")";
}
else
{
sql += "'" + a.getData_email_superior_hierarquico() + "')";
}
//sql += a.getAnalise_acidente_id() + ")";
System.out.println("SQL ACIDENTADO : " + sql);
st.execute(sql);
return newId;
}
public void updateAcidentado(Acidentado a) throws Exception
{
Statement st = createStatement();
String sql = "UPDATE acidentados SET nome = '" + a.getNome() + "', ";
if(a.getData_nascimento() == null)
{
sql += "data_nascimento = " + null + ", ";
}
else
{
sql += "data_nascimento = '" + a.getData_nascimento() + "', ";
}
// sql += "data_nascimento = '" + a.getData_nascimento() + "', ";
sql += "bilhete_identidade = '" + a.getBilhete_identidade() + "', ";
sql += "morada = '" + a.getMorada() + "', ";
sql += "cod_postal = '" + a.getCod_postal() + "', ";
sql += "localidade = '" + a.getLocalidade() + "', ";
sql += "contacto_telefonico = '" + a.getContacto_telefonico() + "', ";
if(a.getData_admissao() == null)
{
sql += "data_admissao = " + null + ", ";
}
else
{
sql += "data_admissao = '" + a.getData_admissao() + "', ";
}
// sql += "data_admissao = '" + a.getData_admissao() + "', ";
sql += "turno = '" + a.getTurno() + "', ";
sql += "funcao = '" + a.getFuncao() + "', ";
sql += "trabalhador_id = " + a.getTrabalhador_id() + ", ";
sql += "numero_mecanografico = '" + a.getNumero_mecanografico() + "', ";
sql += "nome_superior_hierarquico = '" + a.getNome_superior_hierarquico() + "', ";
sql += "email_superior_hierarquico = '" + a.getEmail_superior_hierarquico() + "', ";
sql += "estabelecimento_origem = '" + a.getEstabelecimento_origem() + "', ";
if(a.getData_email_superior_hierarquico() == null)
{
sql += "data_email_superior_hierarquico = " + null + " ";
}
else
{
sql += "data_email_superior_hierarquico = '" + a.getData_email_superior_hierarquico() + "' ";
}
//sql += "analise_acidente_id = '" + a.getAnalise_acidente_id() + " ";
sql += "WHERE id = " + a.getId();
System.out.println("SQL UPDATE ACIDENTADO : " + sql);
st.execute(sql);
}
public Integer getMaxAnaliseId()
{
Statement st = createStatement();
String sql = "SELECT max(analises_acidentes.id)+1 AS MAXANALISEID FROM analises_acidentes";
try
{
ResultSet rs = st.executeQuery(sql);
rs.first();
Integer newId = new Integer(rs.getInt("MAXANALISEID"));
if(newId.intValue() == 0 )
{
newId = new Integer(1);
}
return newId;
}
catch(Exception ex)
{
return new Integer(1);
}
}
public AnaliseAcidente createAnalise(AnaliseAcidente a) throws Exception
{
Controle c = getControle();
Statement st = createStatement();
Integer newId = getMaxAnaliseId();
//calc analise_nr
java.util.Date now = new java.util.Date();
Calendar cal = new GregorianCalendar();
cal.setTime(now);
int ano = cal.get(Calendar.YEAR);
if(c.getAnalise_year().intValue() != ano)
{
c.setAnalise_year(new Integer(ano));
c.setLast_analise_nr(new Integer(0));
}
//String seq_str = new Integer(10000 + newId.intValue()).toString();
int i_analise_nr = c.getLast_analise_nr().intValue() + 1;
c.setLast_analise_nr(new Integer(i_analise_nr));
//updateControle(c);
String seq_str = new Integer(10000 + i_analise_nr).toString();
String ano_str = new Integer(ano).toString();
String analise_nr = ano_str.substring(2) + "/" + seq_str.substring(1);
a.setAnalise_nr(analise_nr);
a.setId(newId);
String sql = "INSERT INTO analises_acidentes (id, averiguador, data_acidente, acidentado_id, estado, empresa_id, estabelecimento_id, horas_turno, departamento_id, seccao_id, local_trabalho, tarefa, substancias, condicoes, testemunhas, causas, descricao, conclusoes, accoes, hora_acidente, medico_id, tecnico_saude_id, averiguacao_posterior, averiguacao_obs, data_inicio_processo, analise_nr, coef_incapacidade) VALUES (";
sql += newId + ", '";
sql += a.getAveriguador() + "', '";
sql += a.getData_acidente() + "', ";
sql += a.getAcidentado_id() + ", ";
sql += a.getEstado() + ", ";
sql += a.getEmpresa_id() + ", ";
sql += a.getEstabelecimento_id() + ", ";
sql += a.getHoras_turno() + ", ";
sql += a.getDepartamento_id() + ", ";
sql += a.getSeccao_id() + ", '";
sql += a.getLocal_trabalho() + "', '";
sql += a.getTarefa() + "', '";
sql += a.getSubstancias() + "', '";
// sql += a.getSuperior_hierarquico() + "', '";
sql += a.getCondicoes() + "', '";
sql += a.getTestemunhas() + "', ";
sql += a.getCausas() + ", '";
sql += a.getDescricao() + "', '";
sql += a.getConclusoes() + "', '";
sql += a.getAccoes() + "', ";
if(a.getHora_acidente() == null)
{
sql += null + ", ";
}
else
{
sql += "'" + a.getHora_acidente() + "', ";
}
sql += a.getMedico_id() + ", ";
sql += a.getTecnico_saude_id() + ", '";
sql += a.getAveriguacao_posterior() + "', '";
sql += a.getAveriguacao_obs() + "', ";
if(a.getData_inicio_processo() == null)
{
sql += null + ", ";
}
else
{
sql += "'" + a.getData_inicio_processo() + "', '";
}
sql += analise_nr + "', ";
sql += null + ")";
// sql += a.getFormacao_shst() + "', '";
// sql += a.getFormacao_shst_nao_porque() + "', '";
// sql += a.getOutros_acidentes_com_colaborador() + "', ";
// sql += a.getNr_acidentes_com_colaborador() + ", ";
// sql += a.getNr_relatorio_acidente_colaborador1() + ", ";
// sql += a.getNr_relatorio_acidente_colaborador2() + ", ";
// sql += a.getNr_relatorio_acidente_colaborador3() + ", ";
// sql += a.getNr_relatorio_acidente_colaborador4() + ", '";
// sql += a.getAcidentes_outros_colaboradores()+ "', ";
// sql += a.getNr_acidentes_outros_colaboradores()+ ", ";
// sql += a.getNr_relatorio_acidente_outros_colaboradores1() + ", ";
// sql += a.getNr_relatorio_acidente_outros_colaboradores2() + ", ";
// sql += a.getNr_relatorio_acidente_outros_colaboradores3() + ", ";
// sql += a.getNr_relatorio_acidente_outros_colaboradores4() + ")";
System.out.println("SQL : " + sql);
st.execute(sql);
updateControle(c);
return a;
}
public void updateAnalise(AnaliseAcidente a) throws Exception
{
if(a.getEspecif1().matches("null"))
{
a.setEspecif1("");
}
if(a.getEspecif2().matches("null"))
{
a.setEspecif2("");
}
if(a.getEspecif3().matches("null"))
{
a.setEspecif3("");
}
if(a.getEspecif4().matches("null"))
{
a.setEspecif4("");
}
if(a.getRestricao_outras().matches("null"))
{
a.setRestricao_outras("");
}
if(a.getTipo_lesao().matches("null"))
{
a.setTipo_lesao("");
}
if(a.getMed_observ().matches("null"))
{
a.setMed_observ("");
}
if(a.getFormacao_shst_nao_porque().matches("null"))
{
a.setFormacao_shst_nao_porque("");
}
Statement st = createStatement();
String sql = "UPDATE analises_acidentes SET data_acidente = '" + a.getData_acidente() + "', ";
sql += "acidentado_id = " + a.getAcidentado_id() + ", ";
sql += "estado = " + a.getEstado() + ", ";
sql += "empresa_id = " + a.getEmpresa_id() + ", ";
sql += "estabelecimento_id = " + a.getEstabelecimento_id() + ", ";
sql += "horas_turno = " + a.getHoras_turno() + ", ";
sql += "departamento_id = " + a.getDepartamento_id() + ", ";
sql += "seccao_id = " + a.getSeccao_id() + ", ";
sql += "local_trabalho = '" + a.getLocal_trabalho() + "', ";
sql += "tarefa = '" + a.getTarefa() + "', ";
sql += "substancias = '" + a.getSubstancias() + "', ";
// sql += "superior_hierarquico = '" + a.getSuperior_hierarquico() + "', ";
sql += "condicoes = '" + a.getCondicoes() + "', ";
sql += "testemunhas = '" + a.getTestemunhas() + "', ";
sql += "causas = " + a.getCausas() + ", ";
sql += "descricao = '" + a.getDescricao() + "', ";
sql += "conclusoes = '" + a.getConclusoes() + "', ";
sql += "accoes = '" + a.getAccoes() + "', ";
sql += "averiguador = '" + a.getAveriguador() + "', ";
if(a.getHora_acidente() == null)
{
sql += "hora_acidente = " + null + ", ";
}
else
{
sql += "hora_acidente = '" + a.getHora_acidente() + "', ";
}
sql += "formacao_shst = '" + a.getFormacao_shst() + "', ";
sql += "formacao_shst_nao_porque = '" + a.getFormacao_shst_nao_porque() + "', ";
sql += "outros_acidentes_com_colaborador = '" + a.getOutros_acidentes_com_colaborador() + "', ";
sql += "nr_acidentes_com_colaborador = " + a.getNr_acidentes_com_colaborador() + ", ";
sql += "nr_relatorio_acidente_colaborador1 = " + a.getNr_relatorio_acidente_colaborador1() + ", ";
sql += "nr_relatorio_acidente_colaborador2 = " + a.getNr_relatorio_acidente_colaborador2() + ", ";
sql += "nr_relatorio_acidente_colaborador3 = " + a.getNr_relatorio_acidente_colaborador3() + ", ";
sql += "nr_relatorio_acidente_colaborador4 = " + a.getNr_relatorio_acidente_colaborador4() + ", ";
sql += "acidentes_outros_colaboradores = '" + a.getAcidentes_outros_colaboradores() + "', ";
sql += "nr_acidentes_outros_colaboradores = " + a.getNr_acidentes_outros_colaboradores() + ", ";
sql += "nr_relatorio_acidente_outros_colaboradores1 = " + a.getNr_relatorio_acidente_outros_colaboradores1() + ", ";
sql += "nr_relatorio_acidente_outros_colaboradores2 = " + a.getNr_relatorio_acidente_outros_colaboradores2() + ", ";
sql += "nr_relatorio_acidente_outros_colaboradores3 = " + a.getNr_relatorio_acidente_outros_colaboradores3() + ", ";
sql += "nr_relatorio_acidente_outros_colaboradores4 = " + a.getNr_relatorio_acidente_outros_colaboradores4() + ", ";
sql += "lesao_cabeca = '" + a.getLesao_cabeca() + "', ";
sql += "lesao_pescoco = '" + a.getLesao_pescoco() + "', ";
sql += "lesao_tronco = '" + a.getLesao_tronco() + "', ";
sql += "lesao_membro_sup_dir = '" + a.getLesao_membro_sup_dir() + "', ";
sql += "lesao_membro_sup_esq = '" + a.getLesao_membro_sup_esq() + "', ";
sql += "lesao_membro_inf_dir = '" + a.getLesao_membro_inf_dir() + "', ";
sql += "lesao_membro_inf_esq = '" + a.getLesao_membro_inf_esq() + "', ";
sql += "especif1 = '" + a.getEspecif1() + "', ";
sql += "especif2 = '" + a.getEspecif2() + "', ";
sql += "especif3 = '" + a.getEspecif3() + "', ";
sql += "especif4 = '" + a.getEspecif4() + "', ";
sql += "tipo_lesao = '" + a.getTipo_lesao() + "', ";
sql += "tipo_incapacidade = '" + a.getTipo_incapacidade() + "', ";
sql += "coef_incapacidade = " + a.getCoef_incapacidade() + ", ";
if(a.getData_aval_incapacidade() == null)
{
sql += "data_aval_incapacidade = " + null + ", ";
}
else
{
sql += "data_aval_incapacidade = '" + a.getData_aval_incapacidade() + "', ";
}
if(a.getData_rev_incapacidade() == null)
{
sql += "data_rev_incapacidade = " + null + ", ";
}
else
{
sql += "data_rev_incapacidade = '" + a.getData_rev_incapacidade() + "', ";
}
if(a.getPeriodo_incapacidade_de() == null)
{
sql += "periodo_incapacidade_de = " + null + ", ";
}
else
{
sql += "periodo_incapacidade_de = '" + a.getPeriodo_incapacidade_de() + "', ";
}
if(a.getPeriodo_incapacidade_a() == null)
{
sql += "periodo_incapacidade_a = " + null + ", ";
}
else
{
sql += "periodo_incapacidade_a = '" + a.getPeriodo_incapacidade_a() + "', ";
}
sql += "img_flexao = '" + a.getImg_flexao() + "', ";
sql += "img_ext1 = '" + a.getImg_ext1() + "', ";
sql += "img_ext2 = '" + a.getImg_ext2() + "', ";
sql += "img_cab2 = '" + a.getImg_cab2() + "', ";
sql += "img_cab3 = '" + a.getImg_cab3() + "', ";
sql += "img_ma2 = '" + a.getImg_ma2() + "', ";
sql += "img_ma3 = '" + a.getImg_ma3() + "', ";
sql += "img_ma5 = '" + a.getImg_ma5() + "', ";
sql += "img_ma6 = '" + a.getImg_ma6() + "', ";
sql += "img_ma8 = '" + a.getImg_ma8() + "', ";
sql += "img_ma10 = '" + a.getImg_ma10() + "', ";
sql += "img_rot1 = '" + a.getImg_rot1() + "', ";
sql += "img_rot2 = '" + a.getImg_rot2() + "', ";
sql += "img_cab1 = '" + a.getImg_cab1() + "', ";
sql += "img_cab4 = '" + a.getImg_cab4() + "', ";
sql += "img_ma1 = '" + a.getImg_ma1() + "', ";
sql += "img_ma4 = '" + a.getImg_ma4() + "', ";
sql += "img_ma7 = '" + a.getImg_ma7() + "', ";
sql += "img_ma9 = '" + a.getImg_ma9() + "', ";
sql += "restricao_carga = " + a.getRestricao_carga() + ", ";
sql += "restricao_motricidade = '" + a.getRestricao_motricidade() + "', ";
sql += "restricao_conducao = '" + a.getRestricao_conducao() + "', ";
sql += "restricao_vibracoes = '" + a.getRestricao_vibracoes() + "', ";
sql += "restricao_outras = '" + a.getRestricao_outras() + "', ";
sql += "med_observ = '" + a.getMed_observ() + "', ";
sql += "estado_assinatura = " + a.getEstado_assinatura() + ", ";
sql += "tecnico_saude_id = " + a.getTecnico_saude_id() + ", ";
sql += "medico_id = " + a.getMedico_id() + ", ";
sql += "ass_consolidacao = '" + a.getAss_consolidacao() + "', ";
sql += "ass_resp_seg = '" + a.getAss_resp_seg() + "', ";
sql += "ass_resp_rh = '" + a.getAss_resp_rh() + "', ";
if(a.getData_consolidacao() == null)
{
sql += "data_consolidacao = " + null + ", ";
}
else
{
sql += "data_consolidacao = '" + a.getData_consolidacao() + "', ";
}
if(a.getData_assinatura_seg() == null)
{
sql += "data_assinatura_seg = " + null + ", ";
}
else
{
sql += "data_assinatura_seg = '" + a.getData_consolidacao() + "', ";
}
if(a.getData_assinatura_rh() == null)
{
sql += "data_assinatura_rh = " + null + ", ";
}
else
{
sql += "data_assinatura_rh = '" + a.getData_consolidacao() + "', ";
}
sql += "nome_resp_seg = '" + a.getNome_resp_seg() + "', ";
sql += "nome_resp_rh = '" + a.getNome_resp_rh() + "', ";
sql += "correcao = '" + a.getCorrecao() + "', ";
sql += "observacoes_correcao = '" + a.getObservacoes_correcao() + "', ";
sql += "estado_antes_correcao = " + a.getEstado_antes_correcao() + ", ";
sql += "ass_superior = '" + a.getAss_superior() + "', ";
sql += "nome_superior = '" + a.getNome_superior() + "', ";
sql += "averiguacao_posterior = '" + a.getAveriguacao_posterior() + "', ";
sql += "averiguacao_obs = '" + a.getAveriguacao_obs() + "', ";
sql += "nome_resp_consolidacao = '" + a.getNome_resp_consolidacao() + "', ";
if(a.getData_assinatura_superior() == null)
{
sql += "data_assinatura_superior = " + null + ", ";
}
else
{
sql += "data_assinatura_superior = '" + a.getData_assinatura_superior() + "', ";
}
sql += "rh_fase4 = " + a.getRh_fase4() + " ";
sql += "WHERE id = " + a.getId();
System.out.println("SQL UPDATE : " + sql);
st.execute(sql);
}
public void changeEstado(Correcao c) throws Exception
{
Statement st = createStatement();
String sql = "UPDATE analises_acidentes SET correcao = '" + c.getCorrecao() + "', estado = " + c.getEstado_corr() + ", estado_antes_correcao = " + c.getEstado_actual() + ", observacoes_correcao = '" + c.getObservacoes() + "' WHERE id = " + c.getAnalise_id();
st.execute(sql);
}
public Integer getMaxRecomendacaoId()
{
Statement st = createStatement();
String sql = "SELECT max(recomendacoes.id)+1 AS MAXRECOMENDACAOID FROM recomendacoes";
try
{
ResultSet rs = st.executeQuery(sql);
rs.first();
Integer newId = new Integer(rs.getInt("MAXRECOMENDACAOID"));
if(newId.intValue() == 0)
{
newId = new Integer(1);
}
return newId;
}
catch(Exception ex)
{
return new Integer(1);
}
}
public Integer createRecomendacao(Recomendacao r) throws Exception
{
Statement st = createStatement();
Integer newId = getMaxRecomendacaoId();
String sql = "INSERT INTO recomendacoes (id, analise_id, recomendacao) VALUES (";
sql += newId + ", ";
sql += r.getAnalise_id() + ", '";
sql += r.getRecomendacao() + "')";
st.execute(sql);
return newId;
}
public void updateRecomendacao(Recomendacao r) throws Exception
{
Statement st = createStatement();
String sql = "UPDATE recomendacoes SET analise_id = " + r.getAnalise_id() + ", ";
sql += "recomendacao = '" + r.getRecomendacao() + "' ";
sql += "WHERE id = " + r.getId();
//System.out.println("SQL : " + sql);
st.execute(sql);
}
public void deleteRecomendacoesByAnalise(Integer analise_id) throws Exception
{
System.out.println("DELETE RECOMENDACOES");
Statement st = createStatement();
String sql = "DELETE FROM recomendacoes WHERE analise_id = " + analise_id;
st.execute(sql);
}
public void deleteAnaliseAcidente(Integer analise_id) throws Exception
{
Statement st = createStatement();
//String sql = "DELETE FROM analises_acidentes WHERE id = " + analise_id;
String sql = "UPDATE analises_acidentes SET apagada = 'y' WHERE id = " + analise_id;
st.execute(sql);
}
public void deleteAcidentado(Integer acidentado_id) throws Exception
{
Statement st = createStatement();
String sql = "DELETE FROM acidentados WHERE id = " + acidentado_id;
st.execute(sql);
}
public ArrayList getRecomendacoesByAnalise(Integer analiseId) throws Exception
{
ArrayList list = new ArrayList();
Statement st = createStatement();
String sql = "SELECT * FROM recomendacoes WHERE analise_id = " + analiseId;
//System.out.println("SQL : " + sql);
ResultSet rs = st.executeQuery(sql);
if(rs.isBeforeFirst())
{
rs.first();
do
{
Recomendacao r = new Recomendacao();
r.setId(new Integer(rs.getInt("id")));
r.setAnalise_id(new Integer(rs.getInt("analise_id")));
r.setRecomendacao(rs.getString("recomendacao"));
list.add(r);
}while(rs.next());
}
return list;
}
public Integer getMaxMedidaId()
{
Statement st = createStatement();
String sql = "SELECT max(medidas.id)+1 AS MAXMEDIDAID FROM medidas";
try
{
ResultSet rs = st.executeQuery(sql);
rs.first();
Integer newId = new Integer(rs.getInt("MAXMEDIDAID"));
if(newId.intValue() == 0)
{
newId = new Integer(1);
}
return newId;
}
catch(Exception ex)
{
return new Integer(1);
}
}
public Integer createMedida(Medida m) throws Exception
{
Statement st = createStatement();
Integer newId = getMaxMedidaId();
String sql = "INSERT INTO medidas (id, analise_id, medida) VALUES (";
sql += newId + ", ";
sql += m.getAnalise_id() + ", '";
sql += m.getMedida() + "')";
st.execute(sql);
return newId;
}
public void updateMedida(Medida m) throws Exception
{
Statement st = createStatement();
String sql = "UPDATE medidas SET analise_id = " + m.getAnalise_id() + ", ";
sql += "medida = '" + m.getMedida() + "' ";
sql += "WHERE id = " + m.getId();
//System.out.println("SQL : " + sql);
st.execute(sql);
}
public void deleteMedidasByAnalise(Integer analise_id) throws Exception
{
Statement st = createStatement();
String sql = "DELETE FROM medidas WHERE analise_id = " + analise_id;
st.execute(sql);
}
public ArrayList getMedidasByAnalise(Integer analiseId) throws Exception
{
ArrayList list = new ArrayList();
Statement st = createStatement();
String sql = "SELECT * FROM medidas WHERE analise_id = " + analiseId;
//System.out.println("SQL : " + sql);
ResultSet rs = st.executeQuery(sql);
if(rs.isBeforeFirst())
{
rs.first();
do
{
Medida m = new Medida();
m.setId(new Integer(rs.getInt("id")));
m.setAnalise_id(new Integer(rs.getInt("analise_id")));
m.setMedida(rs.getString("medida"));
list.add(m);
}while(rs.next());
}
return list;
}
public String getNumeroCedula(Integer medico_id) throws Exception
{
Dblocal dblocal = new Dblocal();
dblocal.connect();
Statement stlocal = dblocal.createStatement();
String sql ="SELECT numero_cedula FROM medicos WHERE id = " + medico_id;
ResultSet rslocal = stlocal.executeQuery(sql);
rslocal.first();
String numero_cedula = rslocal.getString("numero_cedula");
dblocal.close();
return numero_cedula;
}
public String getTipoDescricao(Integer tipo) throws Exception
{
Statement st = createStatement();
String sql = "SELECT descricao FROM tipos_utilizadores WHERE tipo = " + tipo;
ResultSet rs = st.executeQuery(sql);
rs.first();
String descricao = rs.getString("descricao");
return descricao;
}
public com.sun.rave.web.ui.model.Option[] getTiposList() throws Exception
{
ArrayList list = new ArrayList();
TipoUtilizador t = new TipoUtilizador();
t.setId(new Integer(0));
t.setTipo(new Integer(0));
t.setDescricao("");
list.add(t);
Statement st = createStatement();
String sql ="SELECT * FROM tipos_utilizadores WHERE activo = 'y' ORDER BY ordem";
ResultSet rs = st.executeQuery(sql);
if(rs.isBeforeFirst())
{
rs.first();
do
{
t = new TipoUtilizador();
t.setId(new Integer(rs.getInt("id")));
t.setTipo(new Integer(rs.getInt("tipo")));
t.setDescricao(rs.getString("descricao"));
//t.setActivo(rs.getString("activo"));
//t.setOrdem(new Integer(rs.getInt("ordem")));
list.add(t);
}while(rs.next());
}
com.sun.rave.web.ui.model.Option[] listOptions = new com.sun.rave.web.ui.model.Option[list.size()];
ListIterator iter = list.listIterator();
int i = 0;
while(iter.hasNext())
{
t = (TipoUtilizador) iter.next();
listOptions[i] = new Option(t.getTipo(), t.getDescricao());
i++;
}
return listOptions;
}
public com.sun.rave.web.ui.model.Option[] getTiposList(Integer permissao) throws Exception
{
ArrayList list = new ArrayList();
TipoUtilizador t = new TipoUtilizador();
t.setId(new Integer(0));
t.setTipo(new Integer(0));
t.setDescricao("");
list.add(t);
Statement st = createStatement();
String sql ="SELECT * FROM tipos_utilizadores WHERE activo = 'y' ORDER BY ordem";
ResultSet rs = st.executeQuery(sql);
if(rs.isBeforeFirst())
{
rs.first();
do
{
t = new TipoUtilizador();
if(permissao.intValue() == 7) //director rh
{
t.setTipo(new Integer(rs.getInt("tipo")));
if(t.getTipo().intValue() == 1 || t.getTipo().intValue() == 2 || t.getTipo().intValue() == 6) // seguranca || rh || gestor
{
t.setId(new Integer(rs.getInt("id")));
t.setDescricao(rs.getString("descricao"));
//t.setActivo(rs.getString("activo"));
//t.setOrdem(new Integer(rs.getInt("ordem")));
list.add(t);
}
}
else
{
t.setId(new Integer(rs.getInt("id")));
t.setTipo(new Integer(rs.getInt("tipo")));
t.setDescricao(rs.getString("descricao"));
//t.setActivo(rs.getString("activo"));
//t.setOrdem(new Integer(rs.getInt("ordem")));
list.add(t);
}
}while(rs.next());
}
com.sun.rave.web.ui.model.Option[] listOptions = new com.sun.rave.web.ui.model.Option[list.size()];
ListIterator iter = list.listIterator();
int i = 0;
while(iter.hasNext())
{
t = (TipoUtilizador) iter.next();
listOptions[i] = new Option(t.getTipo(), t.getDescricao());
i++;
}
return listOptions;
}
public com.sun.rave.web.ui.model.Option[] getEstabelecimentosList(Integer empresa_id, Boolean booGestor) throws Exception
{
Dblocal dblocal = new Dblocal();
dblocal.connect();
Statement stlocal = dblocal.createStatement();
ArrayList list = new ArrayList();
Estabelecimento e = new Estabelecimento();
e.setId(new Integer(-1));
e.setNome("-Seleccionar-");
list.add(e);
if(booGestor.equals(new Boolean(true)))
{
e = new Estabelecimento();
e.setId(new Integer(0));
e.setNome("-Todos os estabelecimentos-");
list.add(e);
}
String sql ="SELECT * FROM estabelecimentos WHERE empresa_id = " + empresa_id + " AND inactivo = 'n' ORDER BY nome_plain";
ResultSet rslocal = stlocal.executeQuery(sql);
if(rslocal.isBeforeFirst())
{
rslocal.first();
do
{
e = new Estabelecimento();
e.setId(new Integer(rslocal.getInt("id")));
//e.setNome_plain(rslocal.getString("nome_plain"));
e.setNome(rslocal.getString("nome"));
System.out.println("ESTABELECIMENTOAA : " + e.getId().toString() + " - " + e.getNome());
//t.setActivo(rs.getString("activo"));
//t.setOrdem(new Integer(rs.getInt("ordem")));
list.add(e);
}while(rslocal.next());
}
com.sun.rave.web.ui.model.Option[] listOptions = new com.sun.rave.web.ui.model.Option[list.size()];
ListIterator iter = list.listIterator();
int i = 0;
while(iter.hasNext())
{
e = (Estabelecimento) iter.next();
System.out.println("ESTABELECIMENTOL : " + e.getId().toString() + " - " + e.getNome());
listOptions[i] = new Option(e.getId(), Utils.unicodeToHTML(e.getNome()));
i++;
}
dblocal.close();
return listOptions;
}
public com.sun.rave.web.ui.model.Option[] getMedicosList() throws Exception
{
Dblocal dblocal = new Dblocal();
dblocal.connect();
Statement stlocal = dblocal.createStatement();
ArrayList list = new ArrayList();
Medico m = new Medico();
m.setId(new Integer(0));
m.setNome("-Seleccionar-");
list.add(m);
String sql ="SELECT * FROM medicos WHERE inactivo = 'n'";
ResultSet rslocal = stlocal.executeQuery(sql);
if(rslocal.isBeforeFirst())
{
rslocal.first();
do
{
m = new Medico();
m.setId(new Integer(rslocal.getInt("id")));
m.setNome(rslocal.getString("nome"));
list.add(m);
}while(rslocal.next());
}
com.sun.rave.web.ui.model.Option[] listOptions = new com.sun.rave.web.ui.model.Option[list.size()];
ListIterator iter = list.listIterator();
int i = 0;
while(iter.hasNext())
{
m = (Medico) iter.next();
listOptions[i] = new Option(m.getId(), Utils.unicodeToHTML(m.getNome()));
i++;
}
dblocal.close();
return listOptions;
}
public com.sun.rave.web.ui.model.Option[] getTecnicosSaudeList() throws Exception
{
Dblocal dblocal = new Dblocal();
dblocal.connect();
Statement stlocal = dblocal.createStatement();
ArrayList list = new ArrayList();
TecnicoSaude t = new TecnicoSaude();
t.setId(new Integer(0));
t.setNome("-Seleccionar-");
list.add(t);
String sql ="SELECT * FROM marcacoes_tecnicos_hst WHERE inactivo = 'n'";
ResultSet rslocal = stlocal.executeQuery(sql);
if(rslocal.isBeforeFirst())
{
rslocal.first();
do
{
t = new TecnicoSaude();
t.setId(new Integer(rslocal.getInt("id")));
t.setNome(rslocal.getString("nome"));
list.add(t);
}while(rslocal.next());
}
com.sun.rave.web.ui.model.Option[] listOptions = new com.sun.rave.web.ui.model.Option[list.size()];
ListIterator iter = list.listIterator();
int i = 0;
while(iter.hasNext())
{
t = (TecnicoSaude) iter.next();
listOptions[i] = new Option(t.getId(), Utils.unicodeToHTML(t.getNome()));
i++;
}
dblocal.close();
return listOptions;
}
public com.sun.rave.web.ui.model.Option[] getCausasList() throws Exception
{
ArrayList list = new ArrayList();
Causa c = new Causa();
c.setId(new Integer(0));
c.setCausa("-Seleccionar-");
list.add(c);
Statement st = createStatement();
String sql = "SELECT * FROM causas WHERE activa = 'y'";
ResultSet rs = st.executeQuery(sql);
if(rs.isBeforeFirst())
{
rs.first();
do
{
c = new Causa();
c.setId( new Integer(rs.getInt("id")) );
c.setCausa(rs.getString("causa"));
list.add(c);
}while(rs.next());
}
com.sun.rave.web.ui.model.Option[] listOptions = new com.sun.rave.web.ui.model.Option[list.size()];
ListIterator iter = list.listIterator();
int i = 0;
while(iter.hasNext())
{
c = (Causa) iter.next();
listOptions[i] = new Option(c.getId(), c.getCausa());
i++;
}
return listOptions;
}
public com.sun.rave.web.ui.model.Option[] getDepartamentosList() throws Exception
{
ArrayList list = new ArrayList();
Departamento d = new Departamento();
d.setId(new Integer(0));
d.setDescricao("-Todos-");
list.add(d);
Statement st = createStatement();
String sql = "SELECT * FROM departamentos WHERE activo = 'y'";
ResultSet rs = st.executeQuery(sql);
if(rs.isBeforeFirst())
{
rs.first();
do
{
d = new Departamento();
d.setId( new Integer(rs.getInt("id")) );
d.setDescricao(rs.getString("descricao"));
list.add(d);
}while(rs.next());
}
com.sun.rave.web.ui.model.Option[] listOptions = new com.sun.rave.web.ui.model.Option[list.size()];
ListIterator iter = list.listIterator();
int i = 0;
while(iter.hasNext())
{
d = (Departamento) iter.next();
listOptions[i] = new Option(d.getId(), d.getDescricao());
i++;
}
return listOptions;
}
public com.sun.rave.web.ui.model.Option[] getSeccoesList(Integer departamento_id) throws Exception
{
ArrayList list = new ArrayList();
Seccao s = new Seccao();
s.setId(new Integer(0));
s.setDescricao("-Seleccionar-");
list.add(s);
Statement st = createStatement();
String sql = "";
if(departamento_id == null) // todos
{
sql = "SELECT * FROM seccoes WHERE activo = 'y'";
}
else
{
sql = "SELECT * FROM seccoes WHERE activo = 'y' AND departamento_id = " + departamento_id;
}
ResultSet rs = st.executeQuery(sql);
if(rs.isBeforeFirst())
{
rs.first();
do
{
s = new Seccao();
s.setId( new Integer(rs.getInt("id")) );
s.setDescricao(rs.getString("descricao"));
s.setDepartamento_id( new Integer(rs.getInt("departamento_id")) );
list.add(s);
}while(rs.next());
}
com.sun.rave.web.ui.model.Option[] listOptions = new com.sun.rave.web.ui.model.Option[list.size()];
ListIterator iter = list.listIterator();
int i = 0;
while(iter.hasNext())
{
s = (Seccao) iter.next();
listOptions[i] = new Option(s.getId(), s.getDescricao());
i++;
}
return listOptions;
}
public Causa getCausa(Integer id) throws Exception
{
Statement st = createStatement();
String sql = null;
sql ="SELECT * FROM causas WHERE id = " + id;
ResultSet rs = st.executeQuery(sql);
rs.first();
Causa c = new Causa();
c.setId( new Integer(rs.getInt("id")) );
c.setCausa(rs.getString("causa"));
return c;
}
public Seccao getSeccao(Integer id) throws Exception
{
Statement st = createStatement();
String sql = null;
sql ="SELECT * FROM seccoes WHERE id = " + id + " AND activo = 'y'";
ResultSet rs = st.executeQuery(sql);
rs.first();
Seccao s = new Seccao();
s.setId( new Integer(rs.getInt("id")) );
s.setDescricao(rs.getString("descricao"));
return s;
}
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 = 10 order by ano";
ResultSet rs = st.executeQuery(sql);
if(rs.isBeforeFirst())
{
rs.first();
do
{
Double dAno = new Double(rs.getDouble("ano"));
Integer iAno = new Integer(dAno.intValue());
list.add(iAno);
}while(rs.next());
}
return list;
}
private String getFase(int estado)
{
if(estado == Global.ESTADO_SEG)
{
return "FASE 1 - SEG - ABERTURA";
}
else if(estado == Global.ESTADO_RH1)
{
return "FASE 2 - RH - ACOMPANHAMENTO";
}
else if(estado == Global.ESTADO_HS)
{
return "FASE 3 - SIPRP - RECOMENDAÇÕES";
}
else if(estado == Global.ESTADO_RH2)
{
return "FASE 4 - RH - MEDIDAS + LESÃO";
}
// else if(estado == Global.ESTADO_MEDICINA)
// {
// return "Medicina";
// }
else if(estado == Global.ESTADO_CONSOLIDACAO)
{
return "FASE 5 - SIPRP - CONSOLIDAÇÃO";
}
// else if(estado == Global.ESTADO_ASSINATURAS)
// {
// return "Verificação";
// }
// else if(estado == Global.ESTADO_IMPRESSAO)
// {
// return "Impressão";
// }
else if(estado == Global.ESTADO_ASSINATURA_SEG)
{
return "FASE 6 - SEG - VERIFICAÇÃO SEG.";
}
else if(estado == Global.ESTADO_ASSINATURA_RH)
{
return "FASE 7 - RH - VERIFICAÇÃO RH";
}
else if(estado == Global.ESTADO_FECHAR)
{
return "FASE 8 - SIPRP - CONCLUSÃO";
}
return null;
}
public HashMap getMetaData(String table) throws Exception
{
Statement st = createStatement();
String sql = "select * from " + table;
ResultSet rs = st.executeQuery(sql);
ResultSetMetaData rsmd = rs.getMetaData();
HashMap hash = new HashMap();
int cols = rsmd.getColumnCount();
for(int i=0; i < cols; i++)
{
String field = rsmd.getColumnName(i + 1);
int len = rsmd.getPrecision(i+1);
hash.put(field, new Integer(len));
}
return hash;
}
private Statement createStatement()
{
Db db = new Db();
return db.createStatement();
}
}