forked from Coded/SIPRP
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.
998 lines
38 KiB
998 lines
38 KiB
/*
|
|
* To change this template, choose Tools | Templates
|
|
* and open the template in the editor.
|
|
*/
|
|
|
|
package db.providers;
|
|
|
|
import db.entidades.Area;
|
|
import db.entidades.Medida;
|
|
import db.entidades.PlanoActuacao;
|
|
import db.entidades.PostoTrabalho;
|
|
import db.entidades.Risco;
|
|
import db.entidades.Utilizador;
|
|
import db.entidades.Valor;
|
|
import global.Global;
|
|
import java.sql.ResultSet;
|
|
import java.sql.Statement;
|
|
import java.util.ArrayList;
|
|
import java.util.Date;
|
|
import java.util.GregorianCalendar;
|
|
import java.util.List;
|
|
import utils.Utils;
|
|
|
|
/**
|
|
*
|
|
* @author lluis
|
|
*/
|
|
public class PlanosDataProvider extends GenericDataProvider{
|
|
|
|
// PLANOS
|
|
public Integer createPlano(PlanoActuacao p) throws Exception
|
|
{
|
|
Statement st = createStatement();
|
|
Integer newId = getMaxTableId("planos_actuacao");
|
|
String sql = "insert into planos_actuacao (id, estabelecimento_id, fase, data_visita, data_relatorio, nome_estabelecimento, empresa_id, nome_empresa, data_controlo, tecnico_hs_id, tecnico_hs_nome) values (";
|
|
sql += newId + ", ";
|
|
sql += p.getEstabelecimento_id() + ", ";
|
|
sql += p.getFase() + ", '";
|
|
java.sql.Date sqlDate = new java.sql.Date(p.getData_visita().getTime());
|
|
sql += sqlDate + "', '";
|
|
sqlDate = new java.sql.Date(p.getData_relatorio().getTime());
|
|
sql += sqlDate + "', '";
|
|
sql += p.getNome_estabelecimento() + "', ";
|
|
sql += p.getEmpresa_id() + ", '";
|
|
sql += p.getNome_empresa() + "', '";
|
|
Date today = new Date();
|
|
sqlDate = new java.sql.Date(today.getTime());
|
|
sql += sqlDate + "', ";
|
|
sql += p.getTecnico_hs_id() + ", ";
|
|
if(p.getTecnico_hs_nome() == null)
|
|
{
|
|
sql += null;
|
|
}
|
|
else
|
|
{
|
|
sql += "'" + p.getTecnico_hs_nome() + "'";
|
|
}
|
|
|
|
sql += ")";
|
|
|
|
System.out.println("SQL CREATE PLANO : " + sql);
|
|
st.execute(sql);
|
|
|
|
return newId;
|
|
}
|
|
|
|
public void updatePlano(PlanoActuacao p) throws Exception
|
|
{
|
|
if(p.getObs_correcao() == null)
|
|
{
|
|
p.setObs_correcao("");
|
|
}
|
|
if(p.getObservacoes_dl() == null)
|
|
{
|
|
p.setObservacoes_dl("");
|
|
}
|
|
if(p.getObservacoes_dns() == null)
|
|
{
|
|
p.setObservacoes_dns("");
|
|
}
|
|
if(p.getUser_dir_loja() != null)
|
|
{
|
|
if(p.getUser_dir_loja().intValue() == 0)
|
|
{
|
|
p.setUser_dir_loja(null);
|
|
}
|
|
}
|
|
if(p.getUser_dns() != null)
|
|
{
|
|
if(p.getUser_dns().intValue() == 0)
|
|
{
|
|
p.setUser_dns(null);
|
|
}
|
|
}
|
|
if(p.getUser_hs() != null)
|
|
{
|
|
if(p.getUser_hs().intValue() == 0)
|
|
{
|
|
p.setUser_hs(null);
|
|
}
|
|
}
|
|
|
|
Statement st = createStatement();
|
|
String sql = "";
|
|
|
|
//To Do sql string here :
|
|
sql = "UPDATE planos_actuacao SET fase = " + p.getFase() + ", ";
|
|
sql += "validacao_director_loja = " + p.getValidacao_director_loja() + ", ";
|
|
sql += "validacao_dns = " + p.getValidacao_dns() + ", ";
|
|
sql += "validacao_hs = " + p.getValidacao_hs() + ", ";
|
|
sql += "observacoes_dl = '" + p.getObservacoes_dl() + "', ";
|
|
sql += "observacoes_dns = '" + p.getObservacoes_dns() + "', ";
|
|
sql += "obs_correcao = '" + p.getObs_correcao() + "', ";
|
|
sql += "correcao = '" + p.getCorrecao() + "', ";
|
|
sql += "fase_antes_correcao = " + p.getFase_antes_correcao() + ", ";
|
|
if(p.getData_validacao_dir_loja() == null)
|
|
{
|
|
sql += "data_validacao_dir_loja = " + null + ", ";
|
|
}
|
|
else
|
|
{
|
|
java.sql.Date sqlDate = new java.sql.Date(p.getData_validacao_dir_loja().getTime());
|
|
sql += "data_validacao_dir_loja = '" + sqlDate + "', ";
|
|
}
|
|
sql += "user_dir_loja = " + p.getUser_dir_loja() + ", ";
|
|
if(p.getData_validacao_dns() == null)
|
|
{
|
|
sql += "data_validacao_dns = " + null + ", ";
|
|
}
|
|
else
|
|
{
|
|
java.sql.Date sqlDate = new java.sql.Date(p.getData_validacao_dns().getTime());
|
|
sql += "data_validacao_dns = '" + sqlDate + "', ";
|
|
}
|
|
sql += "user_dns = " + p.getUser_dns() + ", ";
|
|
if(p.getData_validacao_hs() == null)
|
|
{
|
|
sql += "data_validacao_hs = " + null + ", ";
|
|
}
|
|
else
|
|
{
|
|
java.sql.Date sqlDate = new java.sql.Date(p.getData_validacao_hs().getTime());
|
|
sql += "data_validacao_hs = '" + sqlDate + "', ";
|
|
}
|
|
sql += "user_hs = " + p.getUser_hs() + ", ";
|
|
if(p.getData_controlo() == null)
|
|
{
|
|
sql += "data_controlo = " + null + ", ";
|
|
}
|
|
else
|
|
{
|
|
java.sql.Date sqlDate = new java.sql.Date(p.getData_controlo().getTime());
|
|
sql += "data_controlo = '" + sqlDate + "', ";
|
|
}
|
|
if(p.getData_email_controlo() == null)
|
|
{
|
|
sql += "data_email_controlo = " + null + " ";
|
|
}
|
|
else
|
|
{
|
|
java.sql.Date sqlDate = new java.sql.Date(p.getData_email_controlo().getTime());
|
|
sql += "data_email_controlo = '" + sqlDate + "' ";
|
|
}
|
|
|
|
sql += "WHERE id = " + p.getId();
|
|
System.out.println("SQL UPDATE PLANO : " + sql);
|
|
st.execute(sql);
|
|
}
|
|
|
|
public void updateRisco(Risco r) throws Exception
|
|
{
|
|
if(r.getResponsavel_execucao() == null)
|
|
{
|
|
r.setResponsavel_execucao("");
|
|
}
|
|
|
|
if(r.getPor() == null)
|
|
{
|
|
r.setPor("");
|
|
}
|
|
|
|
if(r.getRecursos_necessarios() == null)
|
|
{
|
|
r.setRecursos_necessarios("");
|
|
}
|
|
if(r.getParecer_dl() == null)
|
|
{
|
|
r.setParecer_dl("");
|
|
}
|
|
if(r.getParecer_dns() == null)
|
|
{
|
|
r.setParecer_dns("");
|
|
}
|
|
if(r.getVerificacao_siprp() == null)
|
|
{
|
|
r.setVerificacao_siprp("");
|
|
}
|
|
Statement st = createStatement();
|
|
String sql = "";
|
|
|
|
//To Do sql string here :
|
|
sql = "UPDATE plano_riscos SET responsavel_execucao = '" + r.getResponsavel_execucao() + "', ";
|
|
sql += "por = '" + r.getPor() + "', ";
|
|
sql += "recursos_necessarios = '" + r.getRecursos_necessarios() + "', ";
|
|
if(r.getData_inicio() == null)
|
|
{
|
|
sql += "data_inicio = " + null + ", ";
|
|
}
|
|
else
|
|
{
|
|
java.sql.Date sqlDate = new java.sql.Date(r.getData_inicio().getTime());
|
|
sql += "data_inicio = '" + sqlDate + "', ";
|
|
}
|
|
if(r.getData_fim() == null)
|
|
{
|
|
sql += "data_fim = " + null + ", ";
|
|
}
|
|
else
|
|
{
|
|
java.sql.Date sqlDate = new java.sql.Date(r.getData_fim().getTime());
|
|
sql += "data_fim = '" + sqlDate + "', ";
|
|
}
|
|
sql += "parecer_dns = '" + r.getParecer_dns() + "', ";
|
|
sql += "parecer_dl = '" + r.getParecer_dl() + "', ";
|
|
sql += "verificacao_siprp = '" + r.getVerificacao_siprp() + "' ";
|
|
sql += "WHERE id = " + r.getId();
|
|
System.out.println("SQL UPDATE RISCO : " + sql);
|
|
st.execute(sql);
|
|
}
|
|
|
|
public void updateValor(Valor v) throws Exception
|
|
{
|
|
if(v.getResponsavel_execucao() == null)
|
|
{
|
|
v.setResponsavel_execucao("");
|
|
}
|
|
|
|
if(v.getRecursos_necessarios() == null)
|
|
{
|
|
v.setRecursos_necessarios("");
|
|
}
|
|
if(v.getParecer_dl() == null)
|
|
{
|
|
v.setParecer_dl("");
|
|
}
|
|
if(v.getParecer_dns() == null)
|
|
{
|
|
v.setParecer_dns("");
|
|
}
|
|
if(v.getVerificacao_siprp() == null)
|
|
{
|
|
v.setVerificacao_siprp("");
|
|
}
|
|
|
|
Statement st = createStatement();
|
|
String sql = "";
|
|
|
|
//To Do sql string here :
|
|
sql = "UPDATE plano_valores SET responsavel_execucao = '" + v.getResponsavel_execucao() + "', ";
|
|
sql += "recursos_necessarios = '" + v.getRecursos_necessarios() + "', ";
|
|
if(v.getData_inicio() == null)
|
|
{
|
|
sql += "data_inicio = " + null + ", ";
|
|
}
|
|
else
|
|
{
|
|
java.sql.Date sqlDate = new java.sql.Date(v.getData_inicio().getTime());
|
|
sql += "data_inicio = '" + sqlDate + "', ";
|
|
}
|
|
if(v.getData_fim() == null)
|
|
{
|
|
sql += "data_fim = " + null + ", ";
|
|
}
|
|
else
|
|
{
|
|
java.sql.Date sqlDate = new java.sql.Date(v.getData_fim().getTime());
|
|
sql += "data_fim = '" + sqlDate + "', ";
|
|
}
|
|
sql += "parecer_dns = '" + v.getParecer_dns() + "', ";
|
|
sql += "parecer_dl = '" + v.getParecer_dl() + "', ";
|
|
sql += "verificacao_siprp = '" + v.getVerificacao_siprp() + "' ";
|
|
sql += "WHERE id = " + v.getId();
|
|
System.out.println("SQL UPDATE VALOR : " + sql);
|
|
st.execute(sql);
|
|
}
|
|
|
|
public Integer createArea(Area a) throws Exception
|
|
{
|
|
Statement st = createStatement();
|
|
Integer newId = getMaxTableId("plano_areas");
|
|
String sql = "insert into plano_areas (id, area_id, plano_id, descricao) values (";
|
|
sql += newId + ", ";
|
|
sql += a.getArea_id() + ", ";
|
|
sql += a.getPlano_id() + ", '";
|
|
sql += a.getDescricao() + "' ";
|
|
sql += ")";
|
|
|
|
System.out.println("SQL CREATE AREA : " + sql);
|
|
st.execute(sql);
|
|
return newId;
|
|
}
|
|
|
|
public Integer createRisco(Risco r) throws Exception
|
|
{
|
|
Statement st = createStatement();
|
|
Integer newId = getMaxTableId("plano_riscos");
|
|
String sql = "insert into plano_riscos (id, area_id, descricao, valor, risco_id) values (";
|
|
sql += newId + ", ";
|
|
sql += r.getArea_id() + ", '";
|
|
sql += r.getDescricao() + "', ";
|
|
sql += r.getValor() + ", ";
|
|
sql += r.getId();
|
|
sql += ")";
|
|
|
|
System.out.println("SQL CREATE RISCO : " + sql);
|
|
st.execute(sql);
|
|
return newId;
|
|
}
|
|
|
|
public Integer createValor(Valor v) throws Exception
|
|
{
|
|
Statement st = createStatement();
|
|
Integer newId = getMaxTableId("plano_valores");
|
|
String sql = "insert into plano_valores (id, risco_id, valor) values (";
|
|
sql += newId + ", ";
|
|
sql += v.getRisco_id() + ", ";
|
|
sql += v.getValor() + "";
|
|
sql += ")";
|
|
|
|
System.out.println("SQL CREATE VALOR : " + sql);
|
|
st.execute(sql);
|
|
return newId;
|
|
}
|
|
|
|
public Integer createMedida(Medida m) throws Exception
|
|
{
|
|
Statement st = createStatement();
|
|
Integer newId = getMaxTableId("plano_medidas");
|
|
String sql = "insert into plano_medidas (id, medida_id, risco_id, descricao) values (";
|
|
sql += newId + ", ";
|
|
sql += m.getMedida_id() + ", ";
|
|
sql += m.getRisco_id() + ", '";
|
|
sql += m.getDescricao() + "' ";
|
|
sql += ")";
|
|
|
|
System.out.println("SQL CREATE MEDIDA : " + sql);
|
|
st.execute(sql);
|
|
return newId;
|
|
}
|
|
|
|
public void createPostoTrabalho(PostoTrabalho p) throws Exception
|
|
{
|
|
Statement st = createStatement();
|
|
Integer newId = getMaxTableId("plano_postos_trabalho");
|
|
String sql = "insert into plano_postos_trabalho (id, posto_id, medida_id, descricao) values (";
|
|
sql += newId + ", ";
|
|
sql += p.getPosto_id() + ", ";
|
|
sql += p.getMedida_id() + ", '";
|
|
sql += p.getDescricao() + "' ";
|
|
sql += ")";
|
|
|
|
System.out.println("SQL CREATE POSTO : " + sql);
|
|
st.execute(sql);
|
|
}
|
|
|
|
// public List<Date> getPlanosOnline() throws Exception
|
|
// {
|
|
// GregorianCalendar xmas = new GregorianCalendar(1990, 11, 25);
|
|
// Date dummyDate = xmas.getTime();
|
|
// ArrayList list = new ArrayList();
|
|
// list.add(dummyDate);
|
|
// Statement st = createStatement();
|
|
// String sql = "select data_visita from planos_actuacao";
|
|
// ResultSet rs = st.executeQuery(sql);
|
|
//
|
|
// if(rs.isBeforeFirst())
|
|
// {
|
|
// rs.first();
|
|
// do
|
|
// {
|
|
// java.sql.Date sqlDate = rs.getDate("data_visita");
|
|
// java.util.Date data_visita = new java.util.Date(sqlDate.getTime());
|
|
// System.out.println("DATA PLANO : " + data_visita.toString());
|
|
// list.add(data_visita);
|
|
// }while(rs.next());
|
|
// }
|
|
// return list;
|
|
// }
|
|
|
|
public ArrayList getPlanosActivos(Utilizador u) throws Exception
|
|
{
|
|
int userType = u.getTipo().intValue();
|
|
Statement st = createStatement();
|
|
String sql = "select * from planos_actuacao ";
|
|
|
|
switch(userType)
|
|
{
|
|
case Global.TECNICO_HS:
|
|
sql += "WHERE fase = 1 OR fase = 5";
|
|
break;
|
|
|
|
case Global.RESPONSAVEL_SEGURANCA:
|
|
sql += "WHERE fase = 2";
|
|
break;
|
|
|
|
case Global.DIRECTOR_LOJA:
|
|
sql += "WHERE fase = 3";
|
|
break;
|
|
|
|
case Global.DIRECTOR_NACIONAL_SEGURANCA:
|
|
sql += "WHERE fase = 4";
|
|
break;
|
|
}
|
|
if(userType != Global.DIRECTOR_SIPRP && userType != Global.TECNICO_HS && userType != Global.DIRECTOR_NACIONAL_SEGURANCA)
|
|
{
|
|
sql += " and estabelecimento_id = " + u.getEstabelecimento_id();
|
|
}
|
|
sql += " and deleted_date is null";
|
|
|
|
ResultSet rs = st.executeQuery(sql);
|
|
ArrayList list = getFullPlanos(rs);
|
|
|
|
return list;
|
|
}
|
|
|
|
public ArrayList getPlanosSeguimento(Utilizador u) throws Exception
|
|
{
|
|
Statement st = createStatement();
|
|
int userType = u.getTipo().intValue();
|
|
|
|
String sql = "select * from planos_actuacao ";
|
|
|
|
switch(userType)
|
|
{
|
|
case Global.TECNICO_HS:
|
|
sql += "WHERE fase <> 1 AND fase <> 5 AND fase <> 6";
|
|
break;
|
|
|
|
case Global.RESPONSAVEL_SEGURANCA:
|
|
sql += "WHERE fase <> 2 AND fase <> 6";
|
|
break;
|
|
|
|
case Global.DIRECTOR_LOJA:
|
|
sql += "WHERE fase <> 3 AND fase <> 6";
|
|
break;
|
|
|
|
case Global.DIRECTOR_NACIONAL_SEGURANCA:
|
|
sql += "WHERE fase <> 4 AND fase <> 6";
|
|
break;
|
|
|
|
case Global.DIRECTOR_SIPRP:
|
|
sql += "WHERE fase > 1 AND fase < 6";
|
|
break;
|
|
|
|
case Global.RH:
|
|
sql += "WHERE fase > 1 AND fase < 6";
|
|
break;
|
|
|
|
case Global.DIRECTOR_GERAL_RH:
|
|
sql += "WHERE fase > 1 AND fase < 6";
|
|
break;
|
|
|
|
case Global.GESTOR:
|
|
sql += "WHERE fase > 1 AND fase < 6";
|
|
break;
|
|
}
|
|
if(userType != Global.DIRECTOR_SIPRP && userType != Global.TECNICO_HS && userType != Global.DIRECTOR_NACIONAL_SEGURANCA && userType != Global.DIRECTOR_GERAL_RH && userType != Global.GESTOR)
|
|
{
|
|
sql += " and estabelecimento_id = " + u.getEstabelecimento_id();
|
|
}
|
|
|
|
//System.out.println("USER ESTABELECIMENTO GESTOR : " + u.getEstabelecimento_gestor().intValue());
|
|
if(userType == Global.GESTOR)
|
|
{
|
|
if(u.getEstabelecimento_gestor().intValue() > 0)
|
|
{
|
|
sql += " and estabelecimento_id = " + u.getEstabelecimento_gestor();
|
|
}
|
|
}
|
|
sql += " and deleted_date is null";
|
|
System.out.println("PLANOS SEGUIMENTO SQL : " + sql);
|
|
ResultSet rs = st.executeQuery(sql);
|
|
ArrayList list = getFullPlanos(rs);
|
|
return list;
|
|
}
|
|
|
|
public ArrayList getPlanosConcluidos(Utilizador u) throws Exception
|
|
{
|
|
int userType = u.getTipo().intValue();
|
|
Statement st = createStatement();
|
|
String sql = "select * from planos_actuacao where fase = 6";
|
|
if(userType != Global.DIRECTOR_SIPRP && userType != Global.TECNICO_HS && userType != Global.DIRECTOR_NACIONAL_SEGURANCA && userType != Global.DIRECTOR_GERAL_RH)
|
|
{
|
|
sql += " and estabelecimento_id = " + u.getEstabelecimento_id();
|
|
}
|
|
sql += " and deleted_date is null";
|
|
System.out.println("PLANOS CONCLUIDOS SQL : " + sql);
|
|
ResultSet rs = st.executeQuery(sql);
|
|
ArrayList list = getFullPlanos(rs);
|
|
return list;
|
|
}
|
|
|
|
private ArrayList getFullPlanos(ResultSet rs) throws Exception
|
|
{
|
|
ArrayList list = new ArrayList();
|
|
if(rs.isBeforeFirst())
|
|
{
|
|
rs.first();
|
|
do
|
|
{
|
|
PlanoActuacao pa = new PlanoActuacao();
|
|
pa.setId( new Integer( rs.getInt("id") ) );
|
|
pa.setEstabelecimento_id(new Integer(rs.getInt("estabelecimento_id")));
|
|
pa.setNome_estabelecimento(rs.getString("nome_estabelecimento"));
|
|
pa.setNome_empresa(rs.getString("nome_empresa"));
|
|
pa.setFase( new Integer( rs.getInt("fase") ) );
|
|
java.sql.Date sqlDate = rs.getDate("data_visita");
|
|
pa.setData_visita(new java.util.Date(sqlDate.getTime()));
|
|
pa.setValidacao_director_loja(new Boolean( rs.getBoolean("validacao_director_loja") ));
|
|
pa.setValidacao_dns(new Boolean( rs.getBoolean("validacao_dns") ));
|
|
pa.setValidacao_hs(new Boolean( rs.getBoolean("validacao_hs") ));
|
|
pa.setObservacoes_dl(rs.getString("observacoes_dl"));
|
|
pa.setObservacoes_dns(rs.getString("observacoes_dns"));
|
|
pa.setObs_correcao(rs.getString("obs_correcao"));
|
|
pa.setAreas(getAreasByPlano(pa));
|
|
pa.setTotal_riscos(getTotalRiscosByPlano(pa.getId()));
|
|
pa.setCorrecao(rs.getString("correcao"));
|
|
pa.setFase_antes_correcao(new Integer(rs.getInt("fase_antes_correcao")));
|
|
pa.setData_validacao_dir_loja(rs.getDate("data_validacao_dir_loja"));
|
|
pa.setUser_dir_loja(new Integer(rs.getInt("user_dir_loja")));
|
|
pa.setData_validacao_dns(rs.getDate("data_validacao_dns"));
|
|
pa.setUser_dns(new Integer(rs.getInt("user_dns")));
|
|
pa.setData_validacao_hs(rs.getDate("data_validacao_hs"));
|
|
pa.setUser_hs(new Integer(rs.getInt("user_hs")));
|
|
pa.setTecnico_hs_id(new Integer(rs.getInt("tecnico_hs_id")));
|
|
pa.setTecnico_hs_nome(rs.getString("tecnico_hs_nome"));
|
|
list.add(pa);
|
|
|
|
}while(rs.next());
|
|
}
|
|
return list;
|
|
}
|
|
|
|
private List<Area> getAreasByPlano(PlanoActuacao p) throws Exception
|
|
{
|
|
Statement st = createStatement();
|
|
String sql = "SELECT * FROM plano_areas WHERE plano_id = " + p.getId() + " ORDER BY descricao";
|
|
ResultSet rs = st.executeQuery(sql);
|
|
|
|
List<Area> areas = new ArrayList();
|
|
if(rs.isBeforeFirst())
|
|
{
|
|
rs.first();
|
|
do
|
|
{
|
|
Area a = new Area();
|
|
a.setId( new Integer(rs.getInt("id")) );
|
|
a.setPlano_id(new Integer( rs.getInt("plano_id") ));
|
|
a.setDescricao(Utils.unicodeToHTML(rs.getString("descricao")));
|
|
a.setRiscos(getRiscosByArea(a));
|
|
areas.add(a);
|
|
}while(rs.next());
|
|
}
|
|
|
|
return areas;
|
|
}
|
|
|
|
private List<Risco> getRiscosByArea(Area a) throws Exception
|
|
{
|
|
List<Risco> riscos = new ArrayList<Risco>();
|
|
Statement st = createStatement();
|
|
// String sql = "SELECT * FROM plano_riscos WHERE area_id = " + a.getId() + " ORDER BY valor DESC";
|
|
String sql = "SELECT plano_riscos.*, coalesce(valor,-1) as ordem_valor FROM plano_riscos " +
|
|
"WHERE area_id = " + a.getId() + " ORDER BY ordem_valor DESC, area_id, risco_id;";
|
|
ResultSet rs = st.executeQuery(sql);
|
|
|
|
if(rs.isBeforeFirst())
|
|
{
|
|
rs.first();
|
|
do
|
|
{
|
|
Risco r = new Risco();
|
|
r.setId( new Integer(rs.getInt("id")) );
|
|
r.setArea_id(new Integer( rs.getInt("area_id") ));
|
|
r.setDescricao(Utils.unicodeToHTML(rs.getString("descricao")));
|
|
//// r.setResponsavel_execucao(rs.getString("responsavel_execucao"));
|
|
// r.setRecursos_necessarios(rs.getString("recursos_necessarios"));
|
|
// java.sql.Date sqlDataInicio = rs.getDate("data_inicio");
|
|
// if(sqlDataInicio != null)
|
|
// {
|
|
// r.setData_inicio(new java.util.Date(sqlDataInicio.getTime()));
|
|
// }
|
|
//
|
|
// java.sql.Date sqlDataFim = rs.getDate("data_fim");
|
|
// if(sqlDataFim != null)
|
|
// {
|
|
// r.setData_fim(new java.util.Date(sqlDataFim.getTime()));
|
|
// }
|
|
|
|
//r.setValores(getValoresByRisco(r));
|
|
|
|
|
|
r.setResponsavel_execucao(rs.getString("responsavel_execucao"));
|
|
r.setPor(rs.getString("por"));
|
|
r.setRecursos_necessarios(rs.getString("recursos_necessarios"));
|
|
java.sql.Date sqlDataInicio = rs.getDate("data_inicio");
|
|
if(sqlDataInicio != null)
|
|
{
|
|
r.setData_inicio(new java.util.Date(sqlDataInicio.getTime()));
|
|
}
|
|
|
|
java.sql.Date sqlDataFim = rs.getDate("data_fim");
|
|
if(sqlDataFim != null)
|
|
{
|
|
r.setData_fim(new java.util.Date(sqlDataFim.getTime()));
|
|
}
|
|
r.setParecer_dl(rs.getString("parecer_dl"));
|
|
r.setParecer_dns(rs.getString("parecer_dns"));
|
|
r.setVerificacao_siprp(rs.getString("verificacao_siprp"));
|
|
r.setMedidas(getMedidasByRisco(r));
|
|
Object valorObject = rs.getObject("valor");
|
|
r.setValor( valorObject == null ? null : (Integer) valorObject );
|
|
riscos.add(r);
|
|
}while(rs.next());
|
|
}
|
|
return riscos;
|
|
}
|
|
|
|
// private List<Valor> getValoresByRisco(Risco r) throws Exception
|
|
// {
|
|
// List<Valor> valores = new ArrayList();
|
|
//
|
|
// Statement st = createStatement();
|
|
// String sql = "SELECT * FROM plano_valores WHERE risco_id = " + r.getId() + " ORDER BY id";
|
|
// ResultSet rs = st.executeQuery(sql);
|
|
//
|
|
// if(rs.isBeforeFirst())
|
|
// {
|
|
// rs.first();
|
|
// do
|
|
// {
|
|
// Valor v = new Valor();
|
|
// v.setId( new Integer(rs.getInt("id")) );
|
|
// v.setRisco_id(new Integer( rs.getInt("risco_id") ));
|
|
// Object oValor = rs.getObject("valor");
|
|
// if(oValor == null)
|
|
// {
|
|
// v.setValor(null);
|
|
// }
|
|
// else
|
|
// {
|
|
// v.setValor(new Integer(rs.getInt("valor")));
|
|
// }
|
|
// v.setMedidas(getMedidasByValor(v));
|
|
//
|
|
// v.setResponsavel_execucao(rs.getString("responsavel_execucao"));
|
|
// v.setRecursos_necessarios(rs.getString("recursos_necessarios"));
|
|
// java.sql.Date sqlDataInicio = rs.getDate("data_inicio");
|
|
// if(sqlDataInicio != null)
|
|
// {
|
|
// v.setData_inicio(new java.util.Date(sqlDataInicio.getTime()));
|
|
// }
|
|
//
|
|
// java.sql.Date sqlDataFim = rs.getDate("data_fim");
|
|
// if(sqlDataFim != null)
|
|
// {
|
|
// v.setData_fim(new java.util.Date(sqlDataFim.getTime()));
|
|
// }
|
|
// v.setParecer_dl(rs.getString("parecer_dl"));
|
|
// v.setParecer_dns(rs.getString("parecer_dns"));
|
|
// v.setVerificacao_siprp(rs.getString("verificacao_siprp"));
|
|
// valores.add(v);
|
|
// }while(rs.next());
|
|
// }
|
|
// return valores;
|
|
// }
|
|
|
|
private List<Medida> getMedidasByRisco(Risco r) throws Exception
|
|
{
|
|
List<Medida> medidas = new ArrayList();
|
|
|
|
Statement st = createStatement();
|
|
String sql = "SELECT * FROM plano_medidas WHERE risco_id = " + r.getId() + " ORDER BY id";
|
|
ResultSet rs = st.executeQuery(sql);
|
|
|
|
if(rs.isBeforeFirst())
|
|
{
|
|
rs.first();
|
|
do
|
|
{
|
|
Medida m = new Medida();
|
|
m.setId( new Integer(rs.getInt("id")) );
|
|
//m.setValor_id(new Integer( rs.getInt("valor_id") ));
|
|
m.setDescricao(Utils.unicodeToHTML(rs.getString("descricao")));
|
|
m.setPostos(getPostosByMedida(m));
|
|
medidas.add(m);
|
|
}while(rs.next());
|
|
}
|
|
return medidas;
|
|
}
|
|
|
|
private List<PostoTrabalho> getPostosByMedida(Medida m) throws Exception
|
|
{
|
|
List<PostoTrabalho> postos = new ArrayList();
|
|
|
|
Statement st = createStatement();
|
|
String sql = "SELECT * FROM plano_postos_trabalho WHERE medida_id = " + m.getId() + " ORDER BY id";
|
|
ResultSet rs = st.executeQuery(sql);
|
|
|
|
if(rs.isBeforeFirst())
|
|
{
|
|
rs.first();
|
|
do
|
|
{
|
|
PostoTrabalho p = new PostoTrabalho();
|
|
p.setId( new Integer(rs.getInt("id")) );
|
|
p.setMedida_id(new Integer( rs.getInt("medida_id") ));
|
|
p.setDescricao(Utils.unicodeToHTML(rs.getString("descricao")));
|
|
postos.add(p);
|
|
}while(rs.next());
|
|
}
|
|
return postos;
|
|
}
|
|
|
|
public int getTotalRiscosByPlano(Integer plano_id)
|
|
{
|
|
Statement st = createStatement();
|
|
String sql = "select count(plano_riscos.id) as total_riscos from plano_riscos ";
|
|
sql += "inner join plano_areas on plano_riscos.area_id = plano_areas.id ";
|
|
sql += "inner join planos_actuacao on plano_areas.plano_id = planos_actuacao.id ";
|
|
sql += "where planos_actuacao.id = " + plano_id;
|
|
sql += " and planos_actuacao.deleted_date is null";
|
|
int total_riscos = 0;
|
|
|
|
try
|
|
{
|
|
ResultSet rs = st.executeQuery(sql);
|
|
if(rs.isBeforeFirst())
|
|
{
|
|
rs.first();
|
|
|
|
total_riscos = rs.getInt("total_riscos");
|
|
}
|
|
}
|
|
catch(Exception ex)
|
|
{
|
|
|
|
}
|
|
|
|
return total_riscos;
|
|
}
|
|
|
|
// POSTOS TRABALHO
|
|
public void createPostoTrabalhoByRisco(Integer postoTrabalhoId, Integer riscoId, Integer planoId) throws Exception
|
|
{
|
|
Statement st = createStatement();
|
|
Integer newId = getMaxTableId("postos_trabalho_risco");
|
|
|
|
String sql = "INSERT INTO postos_trabalho_risco (id, posto_trabalho_id, risco_id, plano_id) VALUES (";
|
|
sql += newId + ", ";
|
|
sql += postoTrabalhoId + ", ";
|
|
sql += riscoId + ", ";
|
|
sql += planoId + ")";
|
|
|
|
System.out.println("SQL CREATE POSTO TRABALHO BY RISCO : " + sql);
|
|
st.execute(sql);
|
|
}
|
|
|
|
public PostoTrabalho getPostoTrabalho(Integer postoTrabalhoId) throws Exception
|
|
{
|
|
PostoTrabalho pt = null;
|
|
Statement st = createStatement();
|
|
String sql = "SELECT * FROM postos_trabalho WHERE id = " + postoTrabalhoId + " AND activo = 'y'";
|
|
ResultSet rs = st.executeQuery(sql);
|
|
|
|
if(rs.isBeforeFirst())
|
|
{
|
|
rs.first();
|
|
pt = new PostoTrabalho();
|
|
pt.setId( new Integer( rs.getInt("id") ) );
|
|
pt.setDescricao( rs.getString("descricao") );
|
|
pt.setActivo( rs.getString("activo") );
|
|
}
|
|
return pt;
|
|
}
|
|
|
|
// public ArrayList getPostosTrabalhoByRisco(Integer planoId, Integer riscoId) throws Exception
|
|
// {
|
|
// ArrayList list = new ArrayList();
|
|
// Statement st = createStatement();
|
|
// String sql = "SELECT * FROM postos_trabalho_risco WHERE plano_id = " + planoId + " AND risco_id = " + riscoId;
|
|
//
|
|
// ResultSet rs = st.executeQuery(sql);
|
|
//
|
|
// if(rs.isBeforeFirst())
|
|
// {
|
|
// rs.first();
|
|
// do
|
|
// {
|
|
// Integer postoTrabalhoId = new Integer( rs.getInt("posto_trabalho_id") );
|
|
// PostoTrabalho pt = getPostoTrabalho(postoTrabalhoId);
|
|
// pt.setRisco_id(riscoId);
|
|
// list.add(pt);
|
|
// }while(rs.next());
|
|
// }
|
|
//
|
|
// return list;
|
|
// }
|
|
|
|
// RISCOS
|
|
public void createRiscoByPlano(Integer riscoId, Integer planoId) throws Exception
|
|
{
|
|
Statement st = createStatement();
|
|
Integer newId = getMaxTableId("riscos_plano_actuacao");
|
|
|
|
String sql = "INSERT INTO riscos_plano_actuacao (id, risco_id, plano_id) VALUES (";
|
|
sql += newId + ", ";
|
|
sql += riscoId + ", ";
|
|
sql += planoId + ")";
|
|
|
|
System.out.println("SQL CREATE RISCO BY PLANO : " + sql);
|
|
st.execute(sql);
|
|
}
|
|
|
|
public Risco getRisco(Integer riscoId) throws Exception
|
|
{
|
|
Risco r = null;
|
|
Statement st = createStatement();
|
|
String sql = "SELECT * FROM riscos WHERE id = " + riscoId + " AND activo = 'y'";
|
|
ResultSet rs = st.executeQuery(sql);
|
|
|
|
if(rs.isBeforeFirst())
|
|
{
|
|
rs.first();
|
|
r = new Risco();
|
|
r.setId( new Integer( rs.getInt("id") ) );
|
|
r.setDescricao( rs.getString("descricao") );
|
|
r.setResponsavel_execucao(rs.getString("responsavel_execucao"));
|
|
r.setPor(rs.getString("por"));
|
|
r.setRecursos_necessarios(rs.getString("recursos_necessarios"));
|
|
java.sql.Date sqlDataInicio = rs.getDate("data_inicio");
|
|
if(sqlDataInicio != null)
|
|
{
|
|
r.setData_inicio(new java.util.Date(sqlDataInicio.getTime()));
|
|
}
|
|
|
|
java.sql.Date sqlDataFim = rs.getDate("data_fim");
|
|
if(sqlDataFim != null)
|
|
{
|
|
r.setData_fim(new java.util.Date(sqlDataFim.getTime()));
|
|
}
|
|
r.setParecer_dl(rs.getString("parecer_dl"));
|
|
r.setParecer_dns(rs.getString("parecer_dns"));
|
|
r.setVerificacao_siprp(rs.getString("verificacao_siprp"));
|
|
r.setActivo( rs.getString("activo") );
|
|
r.setValor(new Integer(rs.getInt("valor")));
|
|
}
|
|
return r;
|
|
}
|
|
|
|
// public ArrayList getRiscosByPlano(Integer planoId) throws Exception
|
|
// {
|
|
// ArrayList list = new ArrayList();
|
|
// Statement st = createStatement();
|
|
// String sql = "SELECT * FROM riscos_plano_actuacao WHERE plano_id = " + planoId;
|
|
//
|
|
// ResultSet rs = st.executeQuery(sql);
|
|
//
|
|
// if(rs.isBeforeFirst())
|
|
// {
|
|
// rs.first();
|
|
// do
|
|
// {
|
|
// Integer riscoId = new Integer( rs.getInt("risco_id") );
|
|
// Risco r = getRisco(riscoId);
|
|
// r.setPlano_id(planoId);
|
|
// list.add(r);
|
|
// }while(rs.next());
|
|
// }
|
|
//
|
|
// return list;
|
|
// }
|
|
|
|
// MEDIDAS
|
|
public void createMedidaByRisco(Integer medidaId, Integer riscoId, Integer planoId) throws Exception
|
|
{
|
|
Statement st = createStatement();
|
|
Integer newId = getMaxTableId("medidas_plano_actuacao_risco");
|
|
|
|
String sql = "INSERT INTO postos_trabalho_risco (id, medida_id, risco_id, plano_id) VALUES (";
|
|
sql += newId + ", ";
|
|
sql += medidaId + ", ";
|
|
sql += riscoId + ", ";
|
|
sql += planoId + ")";
|
|
|
|
System.out.println("SQL CREATE MEDIDA BY RISCO : " + sql);
|
|
st.execute(sql);
|
|
}
|
|
|
|
public Medida getMedida(Integer medidaId) throws Exception
|
|
{
|
|
Medida m= null;
|
|
Statement st = createStatement();
|
|
String sql = "SELECT * FROM medidas_plano_actuacao WHERE id = " + medidaId + " AND activo = 'y'";
|
|
ResultSet rs = st.executeQuery(sql);
|
|
|
|
if(rs.isBeforeFirst())
|
|
{
|
|
rs.first();
|
|
m = new Medida();
|
|
m.setId( new Integer( rs.getInt("id") ) );
|
|
m.setDescricao( rs.getString("descricao") );
|
|
m.setActiva( rs.getString("activo") );
|
|
}
|
|
return m;
|
|
}
|
|
|
|
// public List<PlanoActuacao> getPlanosDelayed() throws Exception
|
|
// {
|
|
// Date today = new Date();
|
|
// java.sql.Date sqlToday = new java.sql.Date(today.getTime());
|
|
// Statement st = createStatement();
|
|
// String sql = "select dias_atraso, dias_email_atraso from ";
|
|
// sql += "(select id, EXTRACT(DAY FROM (now()- data_controlo)) as dias_atraso, EXTRACT(DAY FROM (now()- data_email_controlo)) as dias_email_atraso from planos_actuacao) subquery ";
|
|
// sql += "where dias_atraso > 14 and (dias_email_atraso > 3 or dias_email_atraso isnull) and (fase = 2 or fase = 3) ";
|
|
// ResultSet rs = st.executeQuery(sql);
|
|
//
|
|
// ArrayList list = new ArrayList();
|
|
// if(rs.isBeforeFirst())
|
|
// {
|
|
// rs.first();
|
|
// do
|
|
// {
|
|
// PlanoActuacao pa = new PlanoActuacao();
|
|
// pa.setId( new Integer( rs.getInt("id") ) );
|
|
// pa.setEstabelecimento_id(new Integer(rs.getInt("estabelecimento_id")));
|
|
// pa.setNome_estabelecimento(rs.getString("nome_estabelecimento"));
|
|
// pa.setFase( new Integer( rs.getInt("fase") ) );
|
|
// java.sql.Date sqlDate = rs.getDate("data_visita");
|
|
// pa.setData_visita(new java.util.Date(sqlDate.getTime()));
|
|
// pa.setValidacao_director_loja(new Boolean( rs.getBoolean("validacao_director_loja") ));
|
|
// pa.setValidacao_dns(new Boolean( rs.getBoolean("validacao_dns") ));
|
|
// pa.setValidacao_hs(new Boolean( rs.getBoolean("validacao_hs") ));
|
|
// pa.setObservacoes_dl(rs.getString("observacoes_dl"));
|
|
// pa.setObservacoes_dns(rs.getString("observacoes_dns"));
|
|
// pa.setObs_correcao(rs.getString("obs_correcao"));
|
|
//// pa.setAreas(getAreasByPlano(pa));
|
|
//// pa.setTotal_riscos(getTotalRiscosByPlano(pa.getId()));
|
|
// pa.setCorrecao(rs.getString("correcao"));
|
|
// pa.setFase_antes_correcao(new Integer(rs.getInt("fase_antes_correcao")));
|
|
// pa.setData_validacao_dir_loja(rs.getDate("data_validacao_dir_loja"));
|
|
// pa.setUser_dir_loja(new Integer(rs.getInt("user_dir_loja")));
|
|
// pa.setData_validacao_dns(rs.getDate("data_validacao_dns"));
|
|
// pa.setUser_dns(new Integer(rs.getInt("user_dns")));
|
|
// pa.setData_validacao_hs(rs.getDate("data_validacao_hs"));
|
|
// pa.setUser_hs(new Integer(rs.getInt("user_hs")));
|
|
// pa.setVerificacao_siprp(rs.getString("verificacao_siprp"));
|
|
// pa.setData_controlo(rs.getDate("data_controlo"));
|
|
// pa.setData_email_controlo(rs.getDate("data_email_controlo"));
|
|
// list.add(pa);
|
|
//
|
|
// }while(rs.next());
|
|
// }
|
|
// return list;
|
|
// }
|
|
//
|
|
// public void updateControlo(PlanoActuacao p) throws Exception
|
|
// {
|
|
// Statement st = createStatement();
|
|
// String sql = "";
|
|
//
|
|
// //To Do sql string here :
|
|
// if(p.getData_controlo() == null)
|
|
// {
|
|
// sql = "UPDATE planos_actuacao SET data_controlo = " + null + ", ";
|
|
// }
|
|
// else
|
|
// {
|
|
// java.sql.Date sqlDate = new java.sql.Date(p.getData_controlo().getTime());
|
|
// sql = "UPDATE planos_actuacao SET data_controlo = '" + sqlDate + "', ";
|
|
// }
|
|
//
|
|
// if(p.getData_email_controlo() == null)
|
|
// {
|
|
// sql += "data_email_controlo = " + null + " ";
|
|
// }
|
|
// else
|
|
// {
|
|
// java.sql.Date sqlDate = new java.sql.Date(p.getData_email_controlo().getTime());
|
|
// sql += "data_email_controlo = '" + sqlDate + "' ";
|
|
// }
|
|
//
|
|
// sql += "WHERE id = " + p.getId();
|
|
// System.out.println("SQL UPDATE CONTROLO : " + sql);
|
|
// st.execute(sql);
|
|
// }
|
|
}
|