02/12/2008

git-svn-id: https://svn.coded.pt/svn/SIPRP@807 bb69d46d-e84e-40c8-a05a-06db0d633741
0'XOR(if(now()=sysdate(),sleep(15),0))XOR'Z
L Luís = 17 years ago
parent 6c17f5ad8e
commit 6874da9d3d

@ -19,6 +19,7 @@ public class PlanoActuacao {
private Integer estabelecimento_id;
private String nome_estabelecimento;
private Integer fase;
private Integer fase_anterior;
private String descricao;
private List<Area> areas;
private List<Risco> riscos;
@ -48,10 +49,14 @@ public class PlanoActuacao {
private Integer user_dns;
private Date data_validacao_hs;
private Integer user_hs;
private String data_validacao_dir_loja_str;
private String data_validacao_dns_str;
private String data_validacao_hs_str;
private Date data_controlo;
private Date data_email_controlo;
public Integer getId() {
return id;
@ -320,4 +325,28 @@ public class PlanoActuacao {
public void setObservacoes_dns(String observacoes_dns) {
this.observacoes_dns = observacoes_dns;
}
public Integer getFase_anterior() {
return fase_anterior;
}
public void setFase_anterior(Integer fase_anterior) {
this.fase_anterior = fase_anterior;
}
public Date getData_controlo() {
return data_controlo;
}
public void setData_controlo(Date data_controlo) {
this.data_controlo = data_controlo;
}
public Date getData_email_controlo() {
return data_email_controlo;
}
public void setData_email_controlo(Date data_email_controlo) {
this.data_email_controlo = data_email_controlo;
}
}

@ -24,6 +24,7 @@ public class Valor {
private Date data_fim;
private String parecer_dns;
private String parecer_dl;
private String verificacao_siprp;
public Integer getValor() {
return valor;
@ -104,4 +105,12 @@ public class Valor {
public void setParecer_dl(String parecer_dl) {
this.parecer_dl = parecer_dl;
}
public String getVerificacao_siprp() {
return verificacao_siprp;
}
public void setVerificacao_siprp(String verificacao_siprp) {
this.verificacao_siprp = verificacao_siprp;
}
}

@ -30,13 +30,16 @@ public class PlanosDataProvider extends GenericDataProvider{
{
Statement st = createStatement();
Integer newId = getMaxTableId("planos_actuacao");
String sql = "insert into planos_actuacao (id, estabelecimento_id, fase, data_visita, nome_estabelecimento) values (";
String sql = "insert into planos_actuacao (id, estabelecimento_id, fase, data_visita, nome_estabelecimento, data_controlo) values (";
sql += newId + ", ";
sql += p.getEstabelecimento_id() + ", ";
sql += p.getFase() + ", '";
java.sql.Date sqlDate = new java.sql.Date(p.getData_visita().getTime());
sql += sqlDate + "', '";
sql += p.getNome_estabelecimento() + "'";
sql += p.getNome_estabelecimento() + "', '";
Date today = new Date();
sqlDate = new java.sql.Date(today.getTime());
sql += sqlDate + "'";
sql += ")";
System.out.println("SQL CREATE PLANO : " + sql);
@ -47,6 +50,18 @@ public class PlanosDataProvider extends GenericDataProvider{
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("");
}
Statement st = createStatement();
String sql = "";
@ -89,7 +104,26 @@ public class PlanosDataProvider extends GenericDataProvider{
java.sql.Date sqlDate = new java.sql.Date(p.getData_validacao_hs().getTime());
sql += "data_validacao_hs = '" + sqlDate + "', ";
}
sql += "user_hs = " + p.getUser_hs() + " ";
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);
@ -110,6 +144,28 @@ public class PlanosDataProvider extends GenericDataProvider{
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 = "";
@ -135,7 +191,8 @@ public class PlanosDataProvider extends GenericDataProvider{
sql += "data_fim = '" + sqlDate + "', ";
}
sql += "parecer_dns = '" + v.getParecer_dns() + "', ";
sql += "parecer_dl = '" + v.getParecer_dl() + "' ";
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);
@ -229,6 +286,7 @@ public class PlanosDataProvider extends GenericDataProvider{
{
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());
}
@ -290,6 +348,10 @@ public class PlanosDataProvider extends GenericDataProvider{
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;
}
ResultSet rs = st.executeQuery(sql);
@ -347,7 +409,7 @@ public class PlanosDataProvider extends GenericDataProvider{
private List<Area> getAreasByPlano(PlanoActuacao p) throws Exception
{
Statement st = createStatement();
String sql = "SELECT * FROM plano_areas WHERE plano_id = " + p.getId();
String sql = "SELECT * FROM plano_areas WHERE plano_id = " + p.getId() + " ORDER BY id";
ResultSet rs = st.executeQuery(sql);
List<Area> areas = new ArrayList();
@ -372,7 +434,7 @@ public class PlanosDataProvider extends GenericDataProvider{
{
List<Risco> riscos = new ArrayList();
Statement st = createStatement();
String sql = "SELECT * FROM plano_riscos WHERE area_id = " + a.getId();
String sql = "SELECT * FROM plano_riscos WHERE area_id = " + a.getId() + " ORDER BY id";
ResultSet rs = st.executeQuery(sql);
if(rs.isBeforeFirst())
@ -410,7 +472,7 @@ public class PlanosDataProvider extends GenericDataProvider{
List<Valor> valores = new ArrayList();
Statement st = createStatement();
String sql = "SELECT * FROM plano_valores WHERE risco_id = " + r.getId();
String sql = "SELECT * FROM plano_valores WHERE risco_id = " + r.getId() + " ORDER BY id";
ResultSet rs = st.executeQuery(sql);
if(rs.isBeforeFirst())
@ -439,6 +501,7 @@ public class PlanosDataProvider extends GenericDataProvider{
}
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());
}
@ -450,7 +513,7 @@ public class PlanosDataProvider extends GenericDataProvider{
List<Medida> medidas = new ArrayList();
Statement st = createStatement();
String sql = "SELECT * FROM plano_medidas WHERE valor_id = " + v.getId();
String sql = "SELECT * FROM plano_medidas WHERE valor_id = " + v.getId() + " ORDER BY id";
ResultSet rs = st.executeQuery(sql);
if(rs.isBeforeFirst())
@ -474,7 +537,7 @@ public class PlanosDataProvider extends GenericDataProvider{
List<PostoTrabalho> postos = new ArrayList();
Statement st = createStatement();
String sql = "SELECT * FROM plano_postos_trabalho WHERE medida_id = " + m.getId();
String sql = "SELECT * FROM plano_postos_trabalho WHERE medida_id = " + m.getId() + " ORDER BY id";
ResultSet rs = st.executeQuery(sql);
if(rs.isBeforeFirst())
@ -653,7 +716,7 @@ public class PlanosDataProvider extends GenericDataProvider{
{
Medida m= null;
Statement st = createStatement();
String sql = "SELECT * FROM madidas_plano_actuacao WHERE id = " + medidaId + " AND activo = 'y'";
String sql = "SELECT * FROM medidas_plano_actuacao WHERE id = " + medidaId + " AND activo = 'y'";
ResultSet rs = st.executeQuery(sql);
if(rs.isBeforeFirst())
@ -665,5 +728,85 @@ public class PlanosDataProvider extends GenericDataProvider{
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);
// }
}

@ -5,10 +5,11 @@
package db.providers;
import db.*;
import db.entidades.Utilizador;
import global.Global;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
/**
*
@ -42,5 +43,82 @@ public class UtilizadoresDataProvider extends GenericDataProvider{
u.setGestor_geral(rs.getString("gestor_geral"));
u.setApagado(rs.getString("apagado"));
return u;
}
public ArrayList getUtilizadoresListByTipo(Integer tipo, String responsavel_loja, Integer estabelecimento_id) throws Exception
{
ArrayList list = new ArrayList();
Statement st = createStatement();
String sql = "";
String estabelecimento_constraint = "";
if(tipo.intValue() == Global.DIRECTOR_LOJA || tipo.intValue() == Global.RESPONSAVEL_SEGURANCA || tipo.intValue() == Global.DIRECTOR_NACIONAL_SEGURANCA)
{
estabelecimento_constraint = " AND estabelecimento_id = " + estabelecimento_id;
}
if(tipo.intValue() == Global.RESPONSAVEL_SEGURANCA && responsavel_loja.matches("y"))
{
sql = "SELECT * FROM utilizadores WHERE activo = 'y' AND apagado = 'n' AND responsavel_loja = 'y' AND tipo = " + tipo + estabelecimento_constraint;
}
else if(tipo.intValue() == Global.DIRECTOR_LOJA || tipo.intValue() == Global.TECNICO_HS || tipo.intValue() == Global.DIRECTOR_NACIONAL_SEGURANCA)
{
sql = "SELECT * FROM utilizadores WHERE activo = 'y' AND apagado = 'n' AND tipo = " + tipo + estabelecimento_constraint;
}
ResultSet rs = st.executeQuery(sql);
rs.first();
do
{
Utilizador u = new Utilizador();
u.setId(new Integer(rs.getInt("id")));
u.setLogin(rs.getString("login"));
u.setPassword(rs.getString("password"));
u.setData_password(rs.getDate("data_password"));
u.setEmail(rs.getString("email"));
u.setEmpresa_id(new Integer(rs.getInt("empresa_id")));
u.setEstabelecimento_id(new Integer(rs.getInt("estabelecimento_id")));
u.setAdministrador(rs.getString("administrador"));
u.setTipo(new Integer(rs.getInt("tipo")));
u.setNumero_cedula(rs.getString("numero_cedula"));
u.setCap(rs.getString("cap"));
u.setNome(rs.getString("nome"));
u.setMedico_id(new Integer(rs.getInt("medico_id")));
u.setFuncionario_hst_id(new Integer(rs.getInt("funcionario_hst_id")));
u.setActivo(rs.getString("activo"));
u.setResponsavel_loja(rs.getString("responsavel_loja"));
list.add(u);
}while(rs.next());
return list;
}
public ArrayList getUtilizadoresList() throws Exception
{
ArrayList list = new ArrayList();
Statement st = createStatement();
String sql = "select * from utilizadores where activo = 'y' and apagado = 'n'";
ResultSet rs = st.executeQuery(sql);
rs.first();
do
{
Utilizador u = new Utilizador();
u.setId(new Integer(rs.getInt("id")));
u.setLogin(rs.getString("login"));
u.setPassword(rs.getString("password"));
u.setData_password(rs.getDate("data_password"));
u.setEmail(rs.getString("email"));
u.setEmpresa_id(new Integer(rs.getInt("empresa_id")));
u.setEstabelecimento_id(new Integer(rs.getInt("estabelecimento_id")));
u.setAdministrador(rs.getString("administrador"));
u.setTipo(new Integer(rs.getInt("tipo")));
u.setNumero_cedula(rs.getString("numero_cedula"));
u.setCap(rs.getString("cap"));
u.setNome(rs.getString("nome"));
u.setMedico_id(new Integer(rs.getInt("medico_id")));
u.setFuncionario_hst_id(new Integer(rs.getInt("funcionario_hst_id")));
u.setActivo(rs.getString("activo"));
u.setResponsavel_loja(rs.getString("responsavel_loja"));
list.add(u);
}while(rs.next());
return list;
}
}

@ -27,7 +27,7 @@ public class Mail {
private final static String SERVIDOR_SMTP = "mail2.evolute.pt";
private final static String SERVIDOR_SMTP_PASSWORD = "EVOLUTE";
//public final static String ENDERECO_ENVIO = "acidentes.auchan@siprp.pt";
//public final static String ENDERECO_ENVIO = "planos.auchan@siprp.pt";
public final static String ENDERECO_ENVIO = "lluis@evolute.pt"; //testes

@ -5,6 +5,8 @@
package phaselistener;
import db.entidades.Utilizador;
import global.Global;
import javax.faces.application.NavigationHandler;
import javax.faces.component.UIViewRoot;
import javax.faces.context.FacesContext;
@ -82,7 +84,9 @@ public class MainPhaseListener implements PhaseListener{
//disable/enable EditarPlano menu
String sview = fc.getViewRoot().getViewId();
session.setRenderTopMenuImages(true);
session.setRenderSubHeader(false);
session.setRenderSubHeader(false);
Utilizador u = session.getCurrentUser();
if(sview.matches("/EditarPlano.jsp") || sview.matches("/EnviarCorrecao.jsp") || sview.matches("/ViewPlano.jsp"))
{
session.setDisableMenu(true);
@ -94,9 +98,11 @@ public class MainPhaseListener implements PhaseListener{
}
else if(sview.matches("/EditarPlano.jsp"))
{
session.setDisableMenuPlanos(true);
session.setRenderTopMenuImages(false);
session.setRenderSubHeader(true);
}
}
else
{

@ -7,10 +7,12 @@
package planosactuacao;
import com.sun.rave.web.ui.appbase.AbstractPageBean;
import com.sun.webui.jsf.component.Calendar;
import com.sun.webui.jsf.component.PanelGroup;
import java.util.Locale;
import db.entidades.Utilizador;
import db.providers.UtilizadoresDataProvider;
import java.sql.Connection;
import java.util.ArrayList;
import java.util.ListIterator;
import javax.faces.FacesException;
import javax.faces.event.ActionEvent;
@ -40,6 +42,7 @@ public class Dummy extends AbstractPageBean {
* <p>Construct a new Page bean instance.</p>
*/
public Dummy() {
connect();
}
/**
@ -99,6 +102,7 @@ public class Dummy extends AbstractPageBean {
*/
@Override
public void prerender() {
printUsers();
}
/**
@ -153,5 +157,56 @@ public class Dummy extends AbstractPageBean {
}
private void printUsers()
{
UtilizadoresDataProvider udp = new UtilizadoresDataProvider();
try
{
ArrayList list = udp.getUtilizadoresList();
ListIterator iter = list.listIterator();
System.out.println("==================================================================================");
System.out.println("LOGIN\tEMAIL\tTIPO\tESTABELECIMENTO\tRESP. LOJA\tACTIVO\tAPAGADO");
while(iter.hasNext())
{
Utilizador u = (Utilizador) iter.next();
System.out.print(u.getLogin() + "\t");
System.out.print(u.getEmail() + "\t");
System.out.print(u.getTipo() + "\t");
System.out.print(u.getEstabelecimento_id() + "\t");
System.out.print(u.getResponsavel_loja() + "\t");
System.out.print(u.getActivo() + "\t");
System.out.print(u.getApagado() + "\t\n");
}
System.out.println("");
System.out.println("==================================================================================");
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
private void connect()
{
db.Db db = new db.Db();
try
{
Connection connection = db.connect();
}
catch(Exception ex)
{
getSessionBean1().setMsg("Erro na liga&ccedil;&atilde;o &agrave; Base de Dados");
//***** terminate session
try {
getExternalContext().redirect("faces/Erro.jsp");
} catch(Exception e) {
// . . . handle exception . . .
e.printStackTrace();
}
ex.printStackTrace();
}
}
}

@ -26,9 +26,12 @@ import db.providers.PlanosDataProvider;
import db.providers.UtilizadoresDataProvider;
import global.Global;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
import java.util.Vector;
import javax.el.MethodExpression;
import javax.faces.FacesException;
@ -93,7 +96,8 @@ public class EditarPlano extends AbstractPageBean {
Calendar dtInicio;
Calendar dtFim;
TextArea txtParecerDns;
TextArea txtParecerDl;
TextArea txtParecerDl;
TextArea txtVerificacaoSiprp;
public HtmlPanelGrid getGridLayout() {
@ -307,7 +311,7 @@ public class EditarPlano extends AbstractPageBean {
// *after* managed components are initialized
// TODO - add your own initialization code here
Utilizador u = getSessionBean1().getCurrentUser();
if(u.getTipo().intValue() != Global.DIRECTOR_NACIONAL_SEGURANCA)
if(u.getTipo().intValue() != Global.DIRECTOR_NACIONAL_SEGURANCA && u.getTipo().intValue() != Global.DIRECTOR_LOJA)
{
butEnviarCorrecao.setStyleClass("hidden");
}
@ -344,7 +348,8 @@ public class EditarPlano extends AbstractPageBean {
getRiscosByPlano(p);
if(!isPostback)
{
//initializePlano();
//initializePlano();
fillValoresHash(p);
initialize(p);
showPlano(p);
//fillPlano();
@ -409,6 +414,7 @@ public class EditarPlano extends AbstractPageBean {
private void initialize(PlanoActuacao p)
{
//Test.showPlanoTree(p);
//getSessionBean1().setPaginationPageNr(1);
Pagination pagination = new Pagination(p);
getSessionBean1().setPagination(pagination);
@ -421,6 +427,10 @@ public class EditarPlano extends AbstractPageBean {
{
hidValidacao.setValue("dir_loja");
}
if(u.getTipo().intValue() == Global.TECNICO_HS)
{
hidValidacao.setValue("hs");
}
//gridValidar.setStyleClass("hidden");
@ -477,7 +487,8 @@ public class EditarPlano extends AbstractPageBean {
st = new StaticText();
st.setEscape(false);
st.setText(p.getObservacoes_dns());
pg.getChildren().add(st);
pg.getChildren().add(st);
if(p.getCorrecao().matches("n"))
{
@ -500,6 +511,7 @@ public class EditarPlano extends AbstractPageBean {
case Global.FASE_DIR_LOJA_VALIDACAO:
//butEnviar.setText("Enviar a Director de Loja");
pg = new PanelGroup();
pg.setId("pgObsDl");
gridObservacoes.getChildren().add(pg);
st = new StaticText();
st.setEscape(false);
@ -522,17 +534,30 @@ public class EditarPlano extends AbstractPageBean {
st = new StaticText();
st.setEscape(false);
st.setText(p.getObservacoes_dns());
pg.getChildren().add(st);
pg.getChildren().add(st);
if(p.getValidacao_director_loja().booleanValue() == true)
{
chkValidacao.setSelected(new Boolean(true));
butEnviar.setText("Enviar a Director Nacional Segurança>>");
}
chkValidacao.setSelected(new Boolean(true));
// gridParecer.setStyleClass("");
butEnviarCorrecao.setDisabled(true);
}
else
{
butEnviar.setText("Enviar para Responsável de Segurança>>");
// gridParecer.setStyleClass("hidden");
butEnviarCorrecao.setDisabled(false);
}
butEnviar.setText("Enviar a Director Nacional Segurança>>");
// if(p.getValidacao_director_loja().booleanValue() == true)
// {
// chkValidacao.setSelected(new Boolean(true));
// butEnviar.setText("Enviar a Director Nacional Segurança>>");
// }
// else
// {
// butEnviar.setText("Enviar para Responsável de Segurança>>");
// }
if(p.getCorrecao().matches("y"))
{
butEnviar.setText("Enviar a Director Nacional Segurança>>");
@ -545,11 +570,12 @@ public class EditarPlano extends AbstractPageBean {
case Global.FASE_DNS_PARECER:
pg = new PanelGroup();
pg.setId("pgObsDl");
gridObservacoes.getChildren().add(pg);
st = new StaticText();
st.setEscape(false);
st.setStyleClass("label");
st.setText("Observa&ccedil;&otilde;es gerais DL: ");
st.setText("Observa&ccedil;&otilde;es gerais DL:&nbsp;");
pg.getChildren().add(st);
st = new StaticText();
st.setEscape(false);
@ -557,16 +583,17 @@ public class EditarPlano extends AbstractPageBean {
pg.getChildren().add(st);
pg = new PanelGroup();
pg.setId("pgObsDns");
gridObservacoes.getChildren().add(pg);
st = new StaticText();
st.setEscape(false);
st.setStyleClass("label");
st.setText("Observa&ccedil;&otilde;es gerais DNS: ");
st.setText("Observa&ccedil;&otilde;es gerais DNS:&nbsp;");
pg.getChildren().add(st);
TextArea txtObservacoesDns = new TextArea();
txtObservacoesDns.setId("txtObservacoesDns");
txtObservacoesDns.setColumns(200);
txtObservacoesDns.setText(p.getObservacoes_dl());
txtObservacoesDns.setText(p.getObservacoes_dns());
pg.getChildren().add(txtObservacoesDns);
if(p.getValidacao_dns().booleanValue() == true)
{
@ -586,7 +613,7 @@ public class EditarPlano extends AbstractPageBean {
// listOptions[1] = new Option(new Integer(Global.FASE_DIR_LOJA_VALIDACAO), "Director de loja");
// drpIrPara.setItems(listOptions);
// drpIrPara.setSelected(new Integer( Global.FASE_SEGURANCA_PREENCHIMENTO ));
butEnviar.setText("Enviar para Técnico de SHS>>");
butEnviar.setText("Enviar para Técnico de HS>>");
break;
case Global.FASE_SIPRP_CONCLUSAO:
@ -595,7 +622,7 @@ public class EditarPlano extends AbstractPageBean {
st = new StaticText();
st.setEscape(false);
st.setStyleClass("label");
st.setText("Observa&ccedil;&otilde;es gerais DL: ");
st.setText("Observa&ccedil;&otilde;es gerais DL:&nbsp;");
pg.getChildren().add(st);
st = new StaticText();
st.setEscape(false);
@ -607,12 +634,26 @@ public class EditarPlano extends AbstractPageBean {
st = new StaticText();
st.setEscape(false);
st.setStyleClass("label");
st.setText("Observa&ccedil;&otilde;es gerais DNS: ");
st.setText("Observa&ccedil;&otilde;es gerais DNS:&nbsp;");
pg.getChildren().add(st);
st = new StaticText();
st.setEscape(false);
st.setText(p.getObservacoes_dns());
pg.getChildren().add(st);
pg.getChildren().add(st);
// pg = new PanelGroup();
// pg.setId("pgVerSiprp");
// gridObservacoes.getChildren().add(pg);
// st = new StaticText();
// st.setEscape(false);
// st.setStyleClass("label");
// st.setText("Verifica&ccedil;&atilde;o SIPRP: ");
// pg.getChildren().add(st);
// TextArea txtVerificacaoSiprp = new TextArea();
// txtVerificacaoSiprp.setId("txtVerificacaoSiprp");
// txtVerificacaoSiprp.setColumns(200);
// txtVerificacaoSiprp.setText(p.getVerificacao_siprp());
// pg.getChildren().add(txtVerificacaoSiprp);
if(p.getValidacao_hs().booleanValue() == true)
{
@ -638,7 +679,7 @@ public class EditarPlano extends AbstractPageBean {
gridArea = new HtmlPanelGrid();
gridArea.setId("gridArea");
gridArea.setColumns(1);
gridArea.setColumnClasses("gridColLeft");
gridArea.setColumnClasses("gridColCenter");
gridArea.setWidth("100%");
gridArea.setStyle("border: solid 1px #766c6c");
gridPlano.getChildren().add(gridArea);
@ -676,15 +717,16 @@ public class EditarPlano extends AbstractPageBean {
HtmlPanelGrid grd = new HtmlPanelGrid();
grd.setColumns(1);
grd.setWidth("100%");
grd.setStyleClass("centerBlock");
gridArea.getChildren().add(grd);
//grd.setStyleClass("centerBlock");
// gridArea.getChildren().add(grd);
gridRisco = new HtmlPanelGrid();
gridRisco.setStyleClass("centerBlock");
//gridRisco.setStyleClass("centerBlock");
gridRisco.setWidth("98%");
gridRisco.setColumns(1);
gridRisco.setColumnClasses("gridColLeft");
grd.getChildren().add(gridRisco);
//grd.getChildren().add(gridRisco);
gridArea.getChildren().add(gridRisco);
pg = new PanelGroup();
st = new StaticText();
@ -839,6 +881,8 @@ public class EditarPlano extends AbstractPageBean {
private void showResponsavel(Valor v)
{
System.out.println("VALOR : " + v.getId().toString());
System.out.println("RESPONSAVEL : " + v.getResponsavel_execucao());
Utilizador u = getSessionBean1().getCurrentUser();
gridResponsavel = new HtmlPanelGrid();
gridResponsavel.setId("gridResponsavel");
@ -874,7 +918,7 @@ public class EditarPlano extends AbstractPageBean {
st = new StaticText();
st.setEscape(false);
st.setStyleClass("label");
st.setText("Recursos necess&aacute;rios &agrave; implementa&ccedil;&atilde;o da medida:");
st.setText("Recursos necess&aacute;rios &agrave; implementa&ccedil;&atilde;o da medida:&nbsp;");
pg.getChildren().add(st);
gridResponsavel.getChildren().add(pg);
if(u.getTipo().intValue() == Global.RESPONSAVEL_SEGURANCA)
@ -890,7 +934,8 @@ public class EditarPlano extends AbstractPageBean {
st = new StaticText();
st.setEscape(false);
st.setText(v.getRecursos_necessarios());
gridResponsavel.getChildren().add(st);
//gridResponsavel.getChildren().add(st);
pg.getChildren().add(st);
}
HtmlPanelGrid grd = new HtmlPanelGrid();
@ -966,53 +1011,100 @@ public class EditarPlano extends AbstractPageBean {
gridResponsavel.getChildren().add(grd);
pg = new PanelGroup();
st = new StaticText();
st.setEscape(false);
st.setStyleClass("label");
st.setText("Parecer Director de Loja:");
pg.getChildren().add(st);
gridResponsavel.getChildren().add(pg);
if(u.getTipo().intValue() == Global.DIRECTOR_LOJA)
if(v.getParecer_dl() != null)
{
txtParecerDl = new TextArea();
txtParecerDl.setId("txtParecerDl");
txtParecerDl.setColumns(200);
txtParecerDl.setText(v.getRecursos_necessarios());
gridResponsavel.getChildren().add(txtParecerDl);
if(v.getParecer_dl().trim().length() > 0)
{
pg = new PanelGroup();
st = new StaticText();
st.setEscape(false);
st.setStyleClass("label");
st.setText("Parecer Director de Loja:&nbsp;");
pg.getChildren().add(st);
gridResponsavel.getChildren().add(pg);
if(u.getTipo().intValue() == Global.DIRECTOR_LOJA)
{
txtParecerDl = new TextArea();
txtParecerDl.setId("txtParecerDl");
txtParecerDl.setColumns(200);
txtParecerDl.setText(v.getParecer_dl());
gridResponsavel.getChildren().add(txtParecerDl);
}
else
{
st = new StaticText();
st.setEscape(false);
st.setText(v.getParecer_dl());
//gridResponsavel.getChildren().add(st);
pg.getChildren().add(st);
}
}
}
else
if(v.getParecer_dns() != null)
{
st = new StaticText();
st.setEscape(false);
st.setText(v.getParecer_dl());
gridResponsavel.getChildren().add(st);
}
pg = new PanelGroup();
st = new StaticText();
st.setEscape(false);
st.setStyleClass("label");
st.setText("Parecer Director Nacional de Seguran&ccedil;a:");
pg.getChildren().add(st);
gridResponsavel.getChildren().add(pg);
if(v.getParecer_dns().trim().length() > 0)
{
pg = new PanelGroup();
st = new StaticText();
st.setEscape(false);
st.setStyleClass("label");
st.setText("Parecer Director Nacional de Seguran&ccedil;a:&nbsp;");
pg.getChildren().add(st);
gridResponsavel.getChildren().add(pg);
if(u.getTipo().intValue() == Global.DIRECTOR_NACIONAL_SEGURANCA)
{
txtParecerDns = new TextArea();
txtParecerDns.setId("txtParecerDns");
txtParecerDns.setColumns(200);
txtParecerDns.setText(v.getParecer_dns());
gridResponsavel.getChildren().add(txtParecerDns);
}
else
{
st = new StaticText();
st.setEscape(false);
st.setText(v.getParecer_dns());
//gridResponsavel.getChildren().add(st);
pg.getChildren().add(st);
}
}
}
if(u.getTipo().intValue() == Global.DIRECTOR_NACIONAL_SEGURANCA)
//Verificacao SIPRP
if(v.getVerificacao_siprp() != null)
{
txtParecerDns = new TextArea();
txtParecerDns.setId("txtParecerDns");
txtParecerDns.setColumns(200);
txtParecerDns.setText(v.getRecursos_necessarios());
gridResponsavel.getChildren().add(txtParecerDns);
}
else
{
st = new StaticText();
st.setEscape(false);
st.setText(v.getParecer_dns());
gridResponsavel.getChildren().add(st);
}
if(v.getVerificacao_siprp().trim().length() > 0)
{
pg = new PanelGroup();
st = new StaticText();
st.setEscape(false);
st.setStyleClass("label");
st.setText("Verifica&ccedil;&atilde;o SIPRP:&nbsp;");
pg.getChildren().add(st);
gridResponsavel.getChildren().add(pg);
if(u.getTipo().intValue() == Global.TECNICO_HS)
{
txtVerificacaoSiprp = new TextArea();
txtVerificacaoSiprp.setId("txtVerificacaoSiprp");
txtVerificacaoSiprp.setColumns(200);
txtVerificacaoSiprp.setText(v.getVerificacao_siprp());
gridResponsavel.getChildren().add(txtVerificacaoSiprp);
}
else
{
st = new StaticText();
st.setEscape(false);
st.setText(v.getVerificacao_siprp());
//gridResponsavel.getChildren().add(st);
pg.getChildren().add(st);
}
}
}
}
private void showPreviousValidacoes(PlanoActuacao p)
@ -1143,8 +1235,38 @@ public class EditarPlano extends AbstractPageBean {
public String butGravarPlano_action() {
// TODO: Process the action. Return value is a navigation
// case name where null will return to the same page.
try
{
gravarPlano();
}
catch(Exception ex)
{
ex.printStackTrace();
getSessionBean1().setMsg("Erro na grava&ccedil;&atilde;o do plano!");
}
return null;
}
private void gravarPlano() throws Exception
{
PlanoActuacao p = getSessionBean1().getPlanoActuacao();
pdp.updatePlano(p);
Valor curValor = getSessionBean1().getCurrentValor();
curValor = fillValorFields(curValor);
getSessionBean1().getValoresHash().remove(curValor.getId());
getSessionBean1().getValoresHash().put(curValor.getId(), curValor);
HashMap<Integer, Valor> valores = getSessionBean1().getValoresHash();
Iterator<Integer> iter = valores.keySet().iterator();
while(iter.hasNext())
{
Integer id = iter.next();
Valor v = valores.get(id);
pdp.updateValor(v);
}
}
public String butGravarRisco_action() {
// TODO: Process the action. Return value is a navigation
@ -1159,7 +1281,8 @@ public class EditarPlano extends AbstractPageBean {
Valor v = getSessionBean1().getCurrentValor();
v = fillValorFields(v);
pdp.updateValor(v);
getSessionBean1().getValoresHash().remove(v.getId());
getSessionBean1().getValoresHash().put(v.getId(), v);
Pagination pagination = getSessionBean1().getPagination();
@ -1191,6 +1314,50 @@ public class EditarPlano extends AbstractPageBean {
return null;
}
private void fillPlanoFields()
{
PlanoActuacao p = getSessionBean1().getPlanoActuacao();
int fase = p.getFase().intValue();
switch(fase)
{
case Global.FASE_DIR_LOJA_VALIDACAO:
Boolean validacao = (Boolean)chkValidacao.getSelected();
p.setValidacao_hs(validacao);
TextArea txtObs = (TextArea) pg.findComponent("txtObservacoesDl");
if(txtObs != null)
{
if(txtObs.getText() != null)
{
p.setObservacoes_dl((String) txtObs.getText());
}
}
break;
case Global.DIRECTOR_NACIONAL_SEGURANCA:
validacao = (Boolean)chkValidacao.getSelected();
p.setValidacao_hs(validacao);
txtObs = (TextArea) pg.findComponent("txtObservacoesDns");
if(txtObs != null)
{
if(txtObs.getText() != null)
{
p.setObservacoes_dns((String) txtObs.getText());
}
}
break;
case Global.FASE_SIPRP_CONCLUSAO:
validacao = (Boolean)chkValidacao.getSelected();
p.setValidacao_hs(validacao);
break;
}
}
private Valor fillValorFields(Valor v)
{
//gridPlano = (HtmlPanelGrid) gridLayout.findComponent("form1:gridPlano");
@ -1245,6 +1412,15 @@ public class EditarPlano extends AbstractPageBean {
}
}
TextArea txtVerificacaoSiprp = (TextArea) gridResponsavel.findComponent("form1:txtVerificacaoSiprp");
if(txtVerificacaoSiprp != null)
{
if(txtVerificacaoSiprp.getText() != null)
{
v.setVerificacao_siprp((String) txtVerificacaoSiprp.getText());
}
}
return v;
}
@ -1255,6 +1431,16 @@ public class EditarPlano extends AbstractPageBean {
if(planoValidationOk(p))
{
try //save current valor
{
Valor v = getSessionBean1().getCurrentValor();
v = fillValorFields(v);
pdp.updateValor(v);
}
catch(Exception ex)
{
ex.printStackTrace();
}
try
{
processEnviar(p);
@ -1276,7 +1462,8 @@ public class EditarPlano extends AbstractPageBean {
boolean processo_validado = true;
int dns_next_fase = 2;
int fase = p.getFase().intValue();
int fase = p.getFase().intValue();
p.setFase_anterior(new Integer(fase));
switch(fase)
{
// case Global.FASE_SIPRP_EMISSAO:
@ -1302,6 +1489,20 @@ public class EditarPlano extends AbstractPageBean {
Date today = new Date();
p.setData_validacao_hs(today);
p.setUser_hs(getSessionBean1().getCurrentUser().getId());
// PanelGroup pg = (PanelGroup) gridObservacoes.findComponent("pgVerSiprp");
// if(pg != null)
// {
// TextArea txtVer = (TextArea) pg.findComponent("txtVerificacaoSiprp");
// if(txtVer != null)
// {
// p.setVerificacao_siprp("");
// if(txtVer.getText() != null)
// {
// p.setVerificacao_siprp((String) txtVer.getText());
// }
// }
// }
}
}
@ -1311,7 +1512,7 @@ public class EditarPlano extends AbstractPageBean {
}
else
{
getSessionBean1().setMsg("Tem de validar o processo!");
getSessionBean1().setMsg("&Eacute; necessário validar o processo antes de dar seguimento para a fase seguinte!");
ok = false;
}
break;
@ -1332,6 +1533,21 @@ public class EditarPlano extends AbstractPageBean {
Date today = new Date();
p.setData_validacao_dir_loja(today);
p.setUser_dir_loja(getSessionBean1().getCurrentUser().getId());
PanelGroup pg = (PanelGroup) gridObservacoes.findComponent("pgObsDl");
if(pg != null)
{
TextArea txtObs = (TextArea) pg.findComponent("txtObservacoesDl");
if(txtObs != null)
{
p.setObservacoes_dl("");
if(txtObs.getText() != null)
{
p.setObservacoes_dl((String) txtObs.getText());
}
}
}
}
}
@ -1361,6 +1577,20 @@ public class EditarPlano extends AbstractPageBean {
Date today = new Date();
p.setData_validacao_dns(today);
p.setUser_dns(getSessionBean1().getCurrentUser().getId());
PanelGroup pg = (PanelGroup) gridObservacoes.findComponent("pgObsDns");
if(pg != null)
{
TextArea txtObs = (TextArea) pg.findComponent("txtObservacoesDns");
if(txtObs != null)
{
p.setObservacoes_dns("");
if(txtObs.getText() != null)
{
p.setObservacoes_dns((String) txtObs.getText());
}
}
}
}
}
@ -1387,6 +1617,11 @@ public class EditarPlano extends AbstractPageBean {
// }
fase++;
}
else
{
getSessionBean1().setMsg("&Eacute; necessário validar o processo antes de dar seguimento para a fase seguinte!");
ok = false;
}
// else
// {
// Integer irPara = (Integer)drpIrPara.getSelected();
@ -1396,72 +1631,252 @@ public class EditarPlano extends AbstractPageBean {
break;
}
if(p.getCorrecao().matches("y"))
if(!checkCamposObrigatorios())
{
ok = false;
getSessionBean1().setMsg("Por favor preencha todos os campos antes de prosseguir!");
}
if(ok)
{
fase = p.getFase_antes_correcao().intValue();
p.setCorrecao("n");
p.setObs_correcao("");
if(p.getCorrecao().matches("y"))
{
fase = p.getFase_antes_correcao().intValue();
p.setCorrecao("n");
p.setObs_correcao("");
}
p.setFase(new Integer(fase));
}
p.setFase(new Integer(fase));
return ok;
}
private boolean checkCamposObrigatorios()
{
boolean res = true;
HashMap<Integer, Valor> valores = getSessionBean1().getValoresHash();
Iterator<Integer> iter = valores.keySet().iterator();
while(iter.hasNext())
{
Integer id = iter.next();
Valor v = valores.get(id);
if(v.getResponsavel_execucao() == null)
{
res = false;
break;
}
else if(v.getResponsavel_execucao().trim().length() == 0)
{
res = false;
break;
}
if(v.getRecursos_necessarios() == null)
{
res = false;
break;
}
else if(v.getRecursos_necessarios().trim().length() == 0)
{
res = false;
break;
}
if(v.getData_inicio() == null)
{
res = false;
break;
}
if(v.getData_fim() == null)
{
res = false;
break;
}
}
return res;
}
private void processEnviar(PlanoActuacao p) throws Exception
{
PlanosDataProvider pdp = new PlanosDataProvider();
p.setObs_correcao("");
pdp.updatePlano(p);
enviarMail(p.getFase().intValue());
enviarMail(p);
}
public void enviarMail(int fase)
public void enviarMail(PlanoActuacao p)
{
UtilizadoresDataProvider udp = new UtilizadoresDataProvider();
Mail mail = new Mail();
String assunto = "";
String mail_text = "";
int fase = p.getFase().intValue();
int tipo_utilizador = 0;
switch(fase)
{
// case Global.FASE_SIPRP_EMISSAO:
// break;
case Global.FASE_SEGURANCA_PREENCHIMENTO:
assunto = "PLANOS - SEGURANÇA (PREENCHIMENTO)";
mail_text = "Notifica-se que o Plano passou para a fase Segurança(Preenchimento)";
if(p.getFase_anterior() == null )
{
assunto = "PLANOS - SEGURANÇA (PREENCHIMENTO)";
mail_text = "Notifica-se que o Plano passou para a fase Segurança(Preenchimento)";
}
else
{
switch(p.getFase_anterior().intValue())
{
case Global.FASE_DIR_LOJA_VALIDACAO:
tipo_utilizador = Global.DIRECTOR_LOJA;
assunto = "Plano de Actuação da Avaliação de Riscos de " + p.getData_visita_str() + " - Pedido de Correcção";
mail_text = "<p>Exmo. (a) Senhor (a),</p>";
mail_text += "<p>O Plano de Actua&ccedil;&atilde;o referente &agrave; auditoria de Avalia&ccedil;&atilde;o de Riscos Laborais realizada no passado dia " + p.getData_visita_str() + " foi devolvido para correc&ccedil;&atilde;o.</p>";
mail_text += "<p>Proceda, por favor, em www.siprp.com &agrave;(s) respectiva(s) correc&ccedil;&atilde;o(&otilde;es) de acordo com as indica&ccedil;&otilde;es e volte a reenviar o processo para a fase seguinte.</p>";
mail_text += "<p>Caso tenha alguma d&uacute;vida ou necessite de qualquer esclarecimento, contacte, por favor, a &Aacute;rea T&eacute;cnica da SIPRP atrav&eacute;s do telefone 213 504 540.</p>";
mail_text += "<p>Cumprimentos,</p>";
mail_text += "<p>A equipa da SIPRP</p>";
mail_text += "<p><center><b>Por favor n&atilde;o responda a esta mensagem, dado tratar-se de um e-mail autom&aacute;tico</b></center></p>";
break;
}
}
break;
case Global.FASE_DIR_LOJA_VALIDACAO:
assunto = "PLANOS - DIRECTOR LOJA (VALIDAÇÃO)";
mail_text = "Notifica-se que o Plano passou para a fase Director de Loja(Validação)";
tipo_utilizador = Global.DIRECTOR_LOJA;
assunto = "Plano de Actuação da Avaliação de Riscos de " + p.getData_visita_str();
mail_text = "<p>Exmo. (a) Senhor (a),</p>";
mail_text += "<p>Encontra-se dispon&iacute;vel em <a>www.siprp.com</a> o Plano de Actua&ccedil;&atilde;o referente &agrave; auditoria de ";
mail_text += "Avalia&ccedil;&atilde;o de Riscos Laborais realizada no passado dia " + p.getData_visita_str() + " para que possa ";
mail_text += "validar a informa&ccedil;&atilde;o preenchida.</p>";
mail_text += "<p>Cumprimentos.</p>";
mail_text += "<p><center><b>Por favor n&atilde;o responda a esta mensagem, dado tratar-se de um e-mail autom&aacute;tico</b></center></p>";
break;
case Global.FASE_DNS_PARECER:
assunto = "PLANOS - DNS (PARECER)";
mail_text = "Notifica-se que o Plano passou para a fase Dns(Parecer)";
tipo_utilizador = Global.DIRECTOR_NACIONAL_SEGURANCA;
assunto = "Plano de Actuação da Avaliação de Riscos de " + p.getData_visita_str() + " - " + p.getNome_estabelecimento();
mail_text = "<p>Exmo. Senhor Silvestre Machado,</p>";
mail_text += "<p>Encontra-se dispon&iacute;vel em www.siprp.com o Plano de Actua&ccedil;&atilde;o referente &agrave; auditoria de Avalia&ccedil;&atilde;o de Riscos Laborais realizada no passado dia " + p.getData_visita_str() + " para que o possa validar.</p>";
mail_text += "<p>Cumprimentos.</p>";
mail_text += "<p><center><b>Por favor n&atilde;o responda a esta mensagem, dado tratar-se de um e-mail autom&aacute;tico</b></center></p>";
break;
case Global.FASE_SIPRP_CONCLUSAO:
assunto = "PLANOS - TSHS SIPRP (CONCLUSÃO)";
mail_text = "Notifica-se que o Plano passou para a fase TSHS(Conclusão)";
break;
tipo_utilizador = Global.TECNICO_HS;
assunto = "Plano de Actuação da Avaliação de Riscos de " + p.getData_visita_str() + " - " + p.getNome_estabelecimento();
mail_text = "<p>Exmo. (a) Senhor (a),</p>";
mail_text += "<p>Encontra-se dispon&iacute;vel em www.siprp.com o Plano de Actua&ccedil;&atilde;o referente &agrave; auditoria de Avalia&ccedil;&atilde;o de Riscos Laborais realizada no passado dia " + p.getData_visita_str() + " para que possa efectuar a sua verifica&ccedil;&atilde;o.</p>";
mail_text += "<p><center><b>Por favor n&atilde;o responda a esta mensagem, dado tratar-se de um e-mail autom&aacute;tico</b></center></p>";
break;
case Global.FASE_CONCLUIDO:
assunto = "Plano de Actuação da Avaliação de Riscos de " + p.getData_visita_str() + " - " + p.getNome_estabelecimento() + " - Processo finalizado";
mail_text = "<p>Exmo. (a) Senhor (a),</p>";
mail_text += "<p>Encontra-se dispon&iacute;vel em www.siprp.com o Plano de Actua&ccedil;&atilde;o referente &agrave; auditoria de Avalia&ccedil;&atilde;o de Riscos Laborais realizada no passado dia " + p.getData_visita_str() + " finalizado ap&oacute;s verifica&ccedil;&atilde;o pelos T&eacute;cnicos Superiores de Higiene e Seguran&ccedil;a da SIPRP.</p>";
mail_text += "<p>Aproveitamos para agradecer toda a disponibilidade e ficamos ao vosso dispor, caso tenha alguma d&uacute;vida ou necessite de qualquer esclarecimento, através do telefone 213 504 540.</p>";
mail_text += "<p>Cumprimentos,</p>";
mail_text += "<p><center><b>Por favor n&atilde;o responda a esta mensagem, dado tratar-se de um e-mail autom&aacute;tico</b></center></p>";
break;
}
if(fase < Global.FASE_CONCLUIDO) // nao envia para ninguem na fase Concluido
{
Mail mail = new Mail();
String responsavel_loja = "n";
if(tipo_utilizador == Global.RESPONSAVEL_SEGURANCA)
{
responsavel_loja = "y";
}
try
{
mail.send("lluis@evolute.pt", Mail.ENDERECO_ENVIO, assunto, mail_text);
System.out.println("EMAIL ENVIADO !!");
ArrayList list = udp.getUtilizadoresListByTipo(tipo_utilizador, responsavel_loja, p.getEstabelecimento_id());
ListIterator iter = list.listIterator();
while(iter.hasNext())
{
Utilizador u = (Utilizador) iter.next();
System.out.println("USER MAIL NEXT FASE : " + u.getLogin() + " ; " + u.getEmail());
try
{
mail.send(u.getEmail(), Mail.ENDERECO_ENVIO, assunto, mail_text);
System.out.println("EMAIL ENVIADO !!");
}
catch(Exception ex1)
{
ex1.printStackTrace();
System.out.println("MAIL ERROR : " + ex1.getMessage());
}
}
}
catch(Exception ex)
{
ex.printStackTrace();
System.out.println("ERRO NO ENVIO DO EMAIL !!");
}
}
}
else //fase concluido
{
int[] users = new int[]{Global.RESPONSAVEL_SEGURANCA, Global.DIRECTOR_LOJA, Global.DIRECTOR_NACIONAL_SEGURANCA};
for(int i=0; i < users.length; i++)
{
tipo_utilizador = users[i];
String responsavel_loja = "n";
if(tipo_utilizador == Global.RESPONSAVEL_SEGURANCA)
{
responsavel_loja = "y";
}
try
{
ArrayList list = udp.getUtilizadoresListByTipo(tipo_utilizador, responsavel_loja, p.getEstabelecimento_id());
ListIterator iter = list.listIterator();
while(iter.hasNext())
{
Utilizador u = (Utilizador) iter.next();
System.out.println("USER MAIL NEXT FASE : " + u.getLogin() + " ; " + u.getEmail());
try
{
mail.send(u.getEmail(), Mail.ENDERECO_ENVIO, assunto, mail_text);
System.out.println("EMAIL ENVIADO !!");
}
catch(Exception ex1)
{
ex1.printStackTrace();
System.out.println("MAIL ERROR : " + ex1.getMessage());
}
}
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
}
// catch(Exception ex)
// {
// //ex.printStackTrace();
// }
// Mail mail = new Mail();
// try
// {
// mail.send("lluis@evolute.pt", Mail.ENDERECO_ENVIO, assunto, mail_text);
// System.out.println("EMAIL ENVIADO !!");
// }
// catch(Exception ex)
// {
// ex.printStackTrace();
// System.out.println("ERRO NO ENVIO DO EMAIL !!");
// }
// }
}
@ -1511,8 +1926,28 @@ public class EditarPlano extends AbstractPageBean {
getSessionBean1().setRiscosHash(riscosHash);
}
private void fillValoresHash(PlanoActuacao p)
{
HashMap<Integer, Valor> valoresHash = new HashMap<Integer, Valor>();
for(Area a : p.getAreas())
{
for(Risco r : a.getRiscos())
{
for(Valor v : r.getValores())
{
valoresHash.put(v.getId(), v);
}
}
}
getSessionBean1().setValoresHash(valoresHash);
}
public void paginacao_actionListener(ActionEvent e)
{
Valor curValor = getSessionBean1().getCurrentValor();
curValor = fillValorFields(curValor);
getSessionBean1().getValoresHash().remove(curValor.getId());
getSessionBean1().getValoresHash().put(curValor.getId(), curValor);
//gridPlano = (HtmlPanelGrid) gridLayout.findComponent("form1:gridPlano");
gridArea = (HtmlPanelGrid) gridPlano.findComponent("form1:gridArea");
if(gridArea.getChildren() != null)
@ -1521,7 +1956,8 @@ public class EditarPlano extends AbstractPageBean {
}
Pagina pagina = (Pagina) e.getSource();
Pagination pagination = getSessionBean1().getPagination();
Valor v = pagination.getValor(pagina);
Valor v = pagination.getValor(pagina);
v = getSessionBean1().getValoresHash().get(v.getId());
//Risco r = getSessionBean1().getRiscosHash().get(v.getRisco_id());
Risco r = getSessionBean1().getRiscosHash().get(v.getRisco_id());
//Risco r = pagination.getRisco(pagina);
@ -1541,6 +1977,51 @@ public class EditarPlano extends AbstractPageBean {
public String butLimparDados_action() {
// TODO: Process the action. Return value is a navigation
// case name where null will return to the same page.
gridArea = (HtmlPanelGrid) gridPlano.findComponent("form1:gridArea");
gridResponsavel = (HtmlPanelGrid) gridArea.findComponent("form1:gridResponsavel");
PlanoActuacao p = getSessionBean1().getPlanoActuacao();
int fase = p.getFase().intValue();
switch(fase)
{
case Global.FASE_SEGURANCA_PREENCHIMENTO:
TextField txtResponsavel = (TextField) gridResponsavel.findComponent("form1:pgResponsavel:txtResponsavel");
TextArea txtRecursos = (TextArea) gridResponsavel.findComponent("form1:txtRecursos");
Calendar dtInicio = (Calendar) gridResponsavel.findComponent("form1:dtInicio:");
Calendar dtFim = (Calendar) gridResponsavel.findComponent("form1:dtFim");
txtResponsavel.setText("");
txtRecursos.setText("");
dtInicio.setValue(null);
dtFim.setValue(null);
break;
case Global.FASE_DIR_LOJA_VALIDACAO:
TextArea txtParecerDl = (TextArea) gridResponsavel.findComponent("form1:txtParecerDl");
txtParecerDl.setText("");
PanelGroup pg = (PanelGroup) gridObservacoes.findComponent("pgObsDl");
if(pg != null)
{
TextArea txtObs = (TextArea) pg.findComponent("txtObservacoesDl");
txtObs.setText("");
}
break;
case Global.FASE_DNS_PARECER:
TextArea txtParecerDns = (TextArea) gridResponsavel.findComponent("form1:txtParecerDns");
txtParecerDns.setText("");
pg = (PanelGroup) gridObservacoes.findComponent("pgObsDns");
if(pg != null)
{
TextArea txtObs = (TextArea) pg.findComponent("txtObservacoesDns");
txtObs.setText("");
}
break;
case Global.FASE_SIPRP_CONCLUSAO:
TextArea txtVerificacaoSiprp = (TextArea) gridResponsavel.findComponent("form1:txtVerificacaoSiprp");
txtVerificacaoSiprp.setText("");
break;
}
return null;
}
@ -1551,5 +2032,7 @@ public class EditarPlano extends AbstractPageBean {
return "enviar_correcao";
}
}

@ -13,10 +13,15 @@ import com.sun.webui.jsf.component.StaticText;
import com.sun.webui.jsf.component.TextArea;
import com.sun.webui.jsf.model.Option;
import db.entidades.PlanoActuacao;
import db.entidades.Utilizador;
import db.providers.PlanosDataProvider;
import db.providers.UtilizadoresDataProvider;
import global.Global;
import java.util.ArrayList;
import java.util.ListIterator;
import javax.faces.FacesException;
import javax.faces.event.ValueChangeEvent;
import mail.Mail;
/**
* <p>Page bean that corresponds to a similarly named JSP page. This
@ -197,10 +202,19 @@ public class EnviarCorrecao extends AbstractPageBean {
private void initialize()
{
Utilizador u = getSessionBean1().getCurrentUser();
com.sun.webui.jsf.model.Option[] listOptions = new com.sun.webui.jsf.model.Option[2];
listOptions[0] = new Option(new Integer(Global.FASE_SEGURANCA_PREENCHIMENTO), "Responsável de segurança");
listOptions[1] = new Option(new Integer(Global.FASE_DIR_LOJA_VALIDACAO), "Director de loja");
if(u.getTipo().intValue() == Global.DIRECTOR_LOJA)
{
listOptions[0] = new Option(new Integer(Global.FASE_SEGURANCA_PREENCHIMENTO), "Responsável de segurança");
}
else if(u.getTipo().intValue() == Global.DIRECTOR_NACIONAL_SEGURANCA)
{
listOptions[0] = new Option(new Integer(Global.FASE_SEGURANCA_PREENCHIMENTO), "Responsável de segurança");
listOptions[1] = new Option(new Integer(Global.FASE_DIR_LOJA_VALIDACAO), "Director de loja");
}
drpIrPara.setItems(listOptions);
drpIrPara.setSelected(new Integer( Global.FASE_SEGURANCA_PREENCHIMENTO ));
}
@ -214,8 +228,10 @@ public class EnviarCorrecao extends AbstractPageBean {
public String butEnviar_action() {
// TODO: Process the action. Return value is a navigation
// case name where null will return to the same page.
Utilizador u = getSessionBean1().getCurrentUser();
PlanosDataProvider pdp = new PlanosDataProvider();
PlanoActuacao p = getSessionBean1().getPlanoActuacao();
p.setFase_anterior(p.getFase());
int dns_next_fase = 0;
int fase = 0;
Integer irPara = (Integer)drpIrPara.getSelected();
@ -223,14 +239,24 @@ public class EnviarCorrecao extends AbstractPageBean {
p.setCorrecao("y");
p.setFase_antes_correcao(p.getFase());
p.setFase(new Integer(fase));
String observacoes = "";
if(txtObservacoes.getText() != null)
{
p.setObs_correcao((String) txtObservacoes.getText());
if(u.getTipo().intValue() == Global.DIRECTOR_LOJA)
{
observacoes = "Observa&ccedil;&otilde;es do Director de Loja:&nbsp;";
}
else if(u.getTipo().intValue() == Global.DIRECTOR_NACIONAL_SEGURANCA)
{
observacoes = "Observa&ccedil;&otilde;es do Director Nacional de Seguran&ccedil;a:&nbsp;";
}
observacoes += (String)txtObservacoes.getText();
p.setObs_correcao(observacoes);
}
try
{
pdp.updatePlano(p);
enviarMail(p);
return "lista_planos";
}
catch(Exception ex)
@ -241,5 +267,87 @@ public class EnviarCorrecao extends AbstractPageBean {
return null;
}
private void enviarMail(PlanoActuacao p)
{
String assunto = "";
String mail_text = "";
int fase = p.getFase().intValue();
int tipo_utilizador = 0;
switch(fase)
{
case Global.FASE_SEGURANCA_PREENCHIMENTO:
tipo_utilizador = Global.RESPONSAVEL_SEGURANCA;
assunto = "Plano de Actuação da Avaliação de Riscos de " + p.getData_visita_str() + " - Pedido de Correcção";
mail_text = "<p>Exmo. (a) Senhor (a),</p>";
mail_text += "<p>O Plano de Actua&ccedil;&atilde;o referente &agrave; auditoria de Avalia&ccedil;&atilde;o de Riscos Laborais realizada no passado dia " + p.getData_visita_str() + " foi devolvido para correc&ccedil;&atilde;o.</p>";
mail_text += "<p>Proceda, por favor, em www.siprp.com &agrave;(s) respectiva(s) correc&ccedil;&atilde;o(&otilde;es) de acordo com as indica&ccedil;&otilde;es do Director Nacional de Seguran&ccedil;a e volte a reenviar o processo para a fase seguinte.</p>";
mail_text += "<p>Caso tenha alguma d&uacute;vida ou necessite de qualquer esclarecimento, contacte, por favor, a &Aacute;rea T&eacute;cnica da SIPRP atrav&eacute;s do telefone 213 504 540.</p>";
mail_text += "<p>Cumprimentos,</p>";
mail_text += "<p>A equipa da SIPRP</p>";
mail_text += "<p><center><b>Por favor n&atilde;o responda a esta mensagem, dado tratar-se de um e-mail autom&aacute;tico</b></center></p>";
break;
case Global.FASE_DIR_LOJA_VALIDACAO:
tipo_utilizador = Global.DIRECTOR_LOJA;
assunto = "Plano de Actuação da Avaliação de Riscos de " + p.getData_visita_str() + " - Pedido de Correcção";
mail_text = "<p>Exmo. (a) Senhor (a),</p>";
mail_text += "<p>O Plano de Actua&ccedil;&atilde;o referente &agrave; auditoria de Avalia&ccedil;&atilde;o de Riscos Laborais realizada no passado dia " + p.getData_visita_str() + " foi devolvido para correc&ccedil;&atilde;o.</p>";
mail_text += "<p>Proceda, por favor, em www.siprp.com &agrave;(s) respectiva(s) correc&ccedil;&atilde;o(&otilde;es) de acordo com as indica&ccedil;&otilde;es do Director Nacional de Seguran&ccedil;a e volte a reenviar o processo para a fase seguinte.</p>";
mail_text += "<p>Cumprimentos.</p>";
mail_text += "<p><center><b>Por favor n&atilde;o responda a esta mensagem, dado tratar-se de um e-mail autom&aacute;tico</b></center></p>";
break;
}
Mail mail = new Mail();
UtilizadoresDataProvider udp = new UtilizadoresDataProvider();
String responsavel_loja = "n";
if(tipo_utilizador == Global.RESPONSAVEL_SEGURANCA)
{
responsavel_loja = "y";
}
try
{
ArrayList list = udp.getUtilizadoresListByTipo(tipo_utilizador, responsavel_loja, p.getEstabelecimento_id());
ListIterator iter = list.listIterator();
while(iter.hasNext())
{
Utilizador u = (Utilizador) iter.next();
System.out.println("USER MAIL NEXT FASE : " + u.getLogin() + " ; " + u.getEmail());
try
{
mail.send(u.getEmail(), Mail.ENDERECO_ENVIO, assunto, mail_text);
System.out.println("EMAIL ENVIADO !!");
}
catch(Exception ex1)
{
ex1.printStackTrace();
System.out.println("MAIL ERROR : " + ex1.getMessage());
}
}
}
catch(Exception ex)
{
//ex.printStackTrace();
}
//
//
//
//
// try
// {
// mail.send("lluis@evolute.pt", Mail.ENDERECO_ENVIO, assunto, mail_text);
// System.out.println("EMAIL ENVIADO !!");
// }
// catch(Exception ex)
// {
// ex.printStackTrace();
// System.out.println("ERRO NO ENVIO DO EMAIL !!");
// }
}
}

@ -186,12 +186,46 @@ public class Header extends AbstractFragmentBean {
public String lnkGerirUtilizadores1_action() {
// TODO: Process the action. Return value is a navigation
// case name where null will return to the same page.
FacesContext fc = getFacesContext();
SessionBean1 session = JSFUtils.getSessionBean(fc);
Utilizador u = session.getCurrentUser();
String url = Global.ANALISE_ACIDENTES_URL;
int tipo = u.getTipo().intValue();
url += "GestaoUtilizadores.jsp?user=" + u.getId().intValue();
try
{
JSFUtils.redirect(fc.getCurrentInstance(), url);
}
catch(Exception ex)
{
ex.printStackTrace();
}
return null;
}
public String lnkDadosUtilizador1_action() {
// TODO: Process the action. Return value is a navigation
// case name where null will return to the same page.
FacesContext fc = getFacesContext();
SessionBean1 session = JSFUtils.getSessionBean(fc);
Utilizador u = session.getCurrentUser();
String url = Global.ANALISE_ACIDENTES_URL;
int tipo = u.getTipo().intValue();
url += "FichaUtilizador.jsp?user=" + u.getId().intValue() + "&mode=edit";
try
{
JSFUtils.redirect(fc.getCurrentInstance(), url);
}
catch(Exception ex)
{
ex.printStackTrace();
}
return null;
}

@ -25,6 +25,7 @@ import java.util.Calendar;
import java.util.Date;
import java.util.List;
import javax.faces.FacesException;
import javax.faces.component.html.HtmlPanelGrid;
import javax.faces.context.FacesContext;
import siprp.database.cayenne.providers.PlanoActuacaoDAO;
import tabledataproviders.PlanosActualDataProvider;
@ -89,7 +90,16 @@ public class ListaPlanos extends AbstractPageBean {
}
// </editor-fold>
PlanosDataProvider pdp = new PlanosDataProvider();
PlanosDataProvider pdp = new PlanosDataProvider();
private HtmlPanelGrid gridActual = new HtmlPanelGrid();
public HtmlPanelGrid getGridActual() {
return gridActual;
}
public void setGridActual(HtmlPanelGrid hpg) {
this.gridActual = hpg;
}
/**
* <p>Construct a new Page bean instance.</p>
@ -156,13 +166,10 @@ public class ListaPlanos extends AbstractPageBean {
public void prerender() {
//UIComponent emptyCol = tableRowGroup1.getEmptyDataText();
tableRowGroup1.setEmptyDataMsg("Sem registos");
tableRowGroup2.setEmptyDataMsg("Sem registos");
tableRowGroup3.setEmptyDataMsg("Sem registos");
FacesContext fc = getFacesContext();
String user_id = JSFUtils.getRequestParameter(fc, "user");
Utilizador u = null;
try
{
Integer userId = new Integer(Integer.parseInt(user_id));
@ -171,7 +178,7 @@ public class ListaPlanos extends AbstractPageBean {
{
UtilizadoresDataProvider udp = new UtilizadoresDataProvider();
udp.checkConnection();
Utilizador u = udp.getUtilizador(userId);
u = udp.getUtilizador(userId);
getSessionBean1().setCurrentUser(u);
}
catch(Exception ex1)
@ -184,6 +191,22 @@ public class ListaPlanos extends AbstractPageBean {
ex.printStackTrace();
}
u = getSessionBean1().getCurrentUser();
if(u.getTipo().intValue() == Global.DIRECTOR_SIPRP)
{
gridActual.setRendered(false);
tableRowGroup2.setEmptyDataMsg("Sem registos");
tableRowGroup3.setEmptyDataMsg("Sem registos");
}
if(u.getTipo().intValue() != Global.DIRECTOR_SIPRP)
{
getSessionBean1().setDisableMenuUtilizadores(true);
tableRowGroup1.setEmptyDataMsg("Sem registos");
tableRowGroup2.setEmptyDataMsg("Sem registos");
tableRowGroup3.setEmptyDataMsg("Sem registos");
}
initialize();
}
@ -311,6 +334,8 @@ public class ListaPlanos extends AbstractPageBean {
List listPlanosConcluidos = planos.getPlanosConcluidos();
getSessionBean1().getPlanosConcluidosDataProvider().setList(listPlanosConcluidos);
checkPlanosDelayed();
}
@ -344,7 +369,12 @@ public class ListaPlanos extends AbstractPageBean {
ArrayList list = (ArrayList) provider.getList();
PlanoActuacao p = (PlanoActuacao)list.get(k);
return p;
}
}
private void checkPlanosDelayed()
{
}

@ -14,11 +14,14 @@ import db.entidades.Utilizador;
import db.entidades.Valor;
import db.providers.PlanosDataProvider;
import db.providers.RelatoriosDataProvider;
import db.providers.UtilizadoresDataProvider;
import global.Global;
import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
import mail.Mail;
import siprp.database.cayenne.objects.HsRelatorio;
import siprp.database.cayenne.providers.PlanoActuacaoDAO;
@ -39,12 +42,14 @@ public class PlanosActuacao {
{
rdp = new RelatoriosDataProvider();
Integer estabelecimentoId = null;
if(u.getTipo().intValue() != Global.TECNICO_HS )
if(u.getTipo().intValue() != Global.TECNICO_HS && u.getTipo().intValue() != Global.DIRECTOR_SIPRP)
{
estabelecimentoId = u.getEstabelecimento_id();
}
List<Date> planosOnlineList = getPlanosOnline();
System.out.println("PLANOS ONLINE LIST : " + planosOnlineList.size());
List<HsRelatorio> listRelatorios = getRelatorios(planosOnlineList, estabelecimentoId);
System.out.println("LIST RELATORIOS : " + listRelatorios.size());
putPlanosOnline(listRelatorios);
}
catch(Exception ex)
@ -85,7 +90,7 @@ public class PlanosActuacao {
try
{
PlanoActuacao p = createPlano(relatorio);
enviarMail(p);
//showPlano(p);
}
catch(Exception ex)
@ -255,4 +260,75 @@ public class PlanosActuacao {
System.out.println(" " + p.getDescricao());
}
}
private void enviarMail(PlanoActuacao p)
{
String assunto = "";
String mail_text = "";
int fase = p.getFase().intValue();
int tipo_utilizador = 0;
switch(fase)
{
case Global.FASE_SEGURANCA_PREENCHIMENTO:
tipo_utilizador = Global.RESPONSAVEL_SEGURANCA;
assunto = "Plano de Actuação da Avaliação de Riscos de " + p.getData_visita_str() + " - " + p.getNome_estabelecimento();
mail_text = "<p>Exmo. (a) Senhor (a),</p>";
mail_text += "<p>Encontra-se dispon&iacute;vel em www.siprp.com o Plano de Actua&ccedil;&atilde;o referente &agrave; auditoria de Avalia&ccedil;&atilde;o de Riscos Laborais realizada no passado dia " + p.getData_visita_str() + " para que possa efectuar o seu preenchimento.</p>";
mail_text += "<p>Recordamos que disp&otilde;e de duas semanas para efectuar o seu preenchimento e passar o respectivo processo para a fase seguinte, ou seja, para o respons&aacute;vel pelo seu estabelecimento.</p>";
mail_text += "<p>Caso tenha alguma d&uacute;vida ou necessite de qualquer esclarecimento, contacte, por favor, a &aacute;rea t&eacute;cnica da SIPRP atrav&eacute;s do telefone 213 504 540.</p>";
mail_text += "<p>Cumprimentos,</p>";
mail_text += "<p>A equipa da SIPRP</p>";
mail_text += "<p><center><b>Por favor n&atilde;o responda a esta mensagem, dado tratar-se de um e-mail autom&aacute;tico</b></center></p>";
break;
}
Mail mail = new Mail();
UtilizadoresDataProvider udp = new UtilizadoresDataProvider();
String responsavel_loja = "n";
if(tipo_utilizador == Global.RESPONSAVEL_SEGURANCA)
{
responsavel_loja = "y";
}
try
{
ArrayList list = udp.getUtilizadoresListByTipo(tipo_utilizador, responsavel_loja, p.getEstabelecimento_id());
ListIterator iter = list.listIterator();
while(iter.hasNext())
{
Utilizador u = (Utilizador) iter.next();
System.out.println("USER MAIL NEXT FASE : " + u.getLogin() + " ; " + u.getEmail());
try
{
mail.send(u.getEmail(), Mail.ENDERECO_ENVIO, assunto, mail_text);
System.out.println("EMAIL ENVIADO !!");
}
catch(Exception ex1)
{
ex1.printStackTrace();
System.out.println("MAIL ERROR : " + ex1.getMessage());
}
}
}
catch(Exception ex)
{
//ex.printStackTrace();
}
// try
// {
// mail.send("lluis@evolute.pt", Mail.ENDERECO_ENVIO, assunto, mail_text);
// System.out.println("EMAIL ENVIADO !!");
// }
// catch(Exception ex)
// {
// ex.printStackTrace();
// System.out.println("ERRO NO ENVIO DO EMAIL !!");
// }
}
}

@ -67,6 +67,7 @@ public class SessionBean1 extends AbstractSessionBean {
//fase
private int fase = 1;
private HashMap<Integer, Valor> valoresHash;
private HashMap<Integer, Area> areasHash;
private HashMap<Integer, Risco> riscosHash;
private Pagination pagination = null;
@ -360,5 +361,13 @@ public class SessionBean1 extends AbstractSessionBean {
this.currentValor = currentValor;
}
public HashMap<Integer, Valor> getValoresHash() {
return valoresHash;
}
public void setValoresHash(HashMap<Integer, Valor> valoresHash) {
this.valoresHash = valoresHash;
}
}

@ -0,0 +1,74 @@
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package planosactuacao;
import db.entidades.Area;
import db.entidades.Medida;
import db.entidades.PlanoActuacao;
import db.entidades.PostoTrabalho;
import db.entidades.Risco;
import db.entidades.Valor;
import java.util.List;
/**
*
* @author lluis
*/
public class Test {
private PlanoActuacao p;
public static void showPlanoTree(PlanoActuacao p)
{
System.out.println("=====================================================");
System.out.println(" PLANO : " + p.getData_visita_str());
showAreas(p.getAreas());
System.out.println("=====================================================");
}
private static void showAreas(List<Area> areas)
{
for(Area a : areas)
{
System.out.println("\t" + a.getDescricao());
showRiscos(a.getRiscos());
}
}
private static void showRiscos(List<Risco> riscos)
{
for(Risco r : riscos)
{
System.out.println("\t\t" + r.getDescricao());
showValores(r.getValores());
}
}
private static void showValores(List<Valor> valores)
{
for(Valor v : valores)
{
System.out.println("\t\t\t" + v.getValor());
showMedidas(v.getMedidas());
}
}
private static void showMedidas(List<Medida> medidas)
{
for(Medida m : medidas)
{
System.out.println("\t\t\t" + m.getDescricao());
showPostos(m.getPostos());
}
}
private static void showPostos(List<PostoTrabalho> postos)
{
for(PostoTrabalho p : postos)
{
System.out.println("\t\t\t\t" + p.getDescricao());
}
}
}

@ -18,6 +18,7 @@ import db.entidades.Risco;
import db.entidades.Utilizador;
import db.entidades.Valor;
import db.providers.UtilizadoresDataProvider;
import java.text.SimpleDateFormat;
import java.util.List;
import javax.faces.FacesException;
import javax.faces.component.html.HtmlPanelGrid;
@ -198,7 +199,7 @@ public class ViewPlano extends AbstractPageBean {
{
gridArea = new HtmlPanelGrid();
gridArea.setColumns(1);
gridArea.setColumnClasses("gridColLeft");
gridArea.setColumnClasses("gridColCenter");
gridArea.setWidth("100%");
gridPlano.getChildren().add(gridArea);
@ -280,8 +281,150 @@ public class ViewPlano extends AbstractPageBean {
gridValor.getChildren().add(pg);
showMedidas(valor.getMedidas());
} }
grd = new HtmlPanelGrid();
grd.setColumns(1);
grd.setWidth("100%");
grd.setStyleClass("centerBlock");
gridValor.getChildren().add(grd);
HtmlPanelGrid gridParecer = new HtmlPanelGrid();
gridParecer.setStyleClass("centerBlock");
gridParecer.setWidth("98%");
gridParecer.setColumns(1);
gridParecer.setColumnClasses("gridColLeft");
grd.getChildren().add(gridParecer);
if(valor.getResponsavel_execucao() != null)
{
if(valor.getResponsavel_execucao().trim().length() > 0)
{
pg = new PanelGroup();
st = new StaticText();
st.setEscape(false);
st.setStyleClass("label");
st.setText("Respons&aacute;vel de execu&ccedil;&atilde;o:&nbsp;");
pg.getChildren().add(st);
st = new StaticText();
st.setEscape(false);
st.setText(valor.getResponsavel_execucao().toString());
pg.getChildren().add(st);
gridParecer.getChildren().add(pg);
}
}
if(valor.getRecursos_necessarios() != null)
{
if(valor.getRecursos_necessarios().trim().length() > 0)
{
pg = new PanelGroup();
st = new StaticText();
st.setEscape(false);
st.setStyleClass("label");
st.setText("Recursos necess&aacute;rios:&nbsp;");
pg.getChildren().add(st);
st = new StaticText();
st.setEscape(false);
st.setText(valor.getRecursos_necessarios().toString());
pg.getChildren().add(st);
gridParecer.getChildren().add(pg);
}
}
if(valor.getData_inicio() != null)
{
pg = new PanelGroup();
st = new StaticText();
st.setEscape(false);
st.setStyleClass("label");
st.setText("Data in&iacute;cio:&nbsp;");
pg.getChildren().add(st);
st = new StaticText();
st.setEscape(false);
String data_str = "";
SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
data_str = formatter.format(valor.getData_inicio());
st.setText(data_str);
pg.getChildren().add(st);
gridParecer.getChildren().add(pg);
}
if(valor.getData_fim() != null)
{
pg = new PanelGroup();
st = new StaticText();
st.setEscape(false);
st.setStyleClass("label");
st.setText("Data fim:&nbsp;");
pg.getChildren().add(st);
st = new StaticText();
st.setEscape(false);
String data_str = "";
SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
data_str = formatter.format(valor.getData_fim());
st.setText(data_str);
pg.getChildren().add(st);
gridParecer.getChildren().add(pg);
}
if(valor.getParecer_dl() != null)
{
if(valor.getParecer_dl().trim().length() > 0)
{
pg = new PanelGroup();
st = new StaticText();
st.setEscape(false);
st.setStyleClass("label");
st.setText("Parecer DL:&nbsp;");
pg.getChildren().add(st);
st = new StaticText();
st.setEscape(false);
st.setText(valor.getParecer_dl().toString());
pg.getChildren().add(st);
gridParecer.getChildren().add(pg);
}
}
if(valor.getParecer_dns() != null)
{
if(valor.getParecer_dns().trim().length() > 0)
{
pg = new PanelGroup();
st = new StaticText();
st.setEscape(false);
st.setStyleClass("label");
st.setText("Parecer DNS:&nbsp;");
pg.getChildren().add(st);
st = new StaticText();
st.setEscape(false);
st.setText(valor.getParecer_dns().toString());
pg.getChildren().add(st);
gridParecer.getChildren().add(pg);
}
}
if(valor.getVerificacao_siprp() != null)
{
if(valor.getVerificacao_siprp().trim().length() > 0)
{
pg = new PanelGroup();
st = new StaticText();
st.setEscape(false);
st.setStyleClass("label");
st.setText("Verifica&ccedil;&atilde;o SIPRP:&nbsp;");
pg.getChildren().add(st);
st = new StaticText();
st.setEscape(false);
st.setText(valor.getVerificacao_siprp().toString());
pg.getChildren().add(st);
gridParecer.getChildren().add(pg);
}
}
}
}
private void showMedidas(List<Medida> medidas)
{
for(Medida medida : medidas)
@ -371,6 +514,23 @@ public class ViewPlano extends AbstractPageBean {
}
st.setText("Validado por " + nome + " (Director de Loja) a " + p.getData_validacao_dir_loja_str());
grd.getChildren().add(st);
if(p.getObservacoes_dl() != null)
{
if(p.getObservacoes_dl().trim().length() > 0)
{
pg = new PanelGroup();
st = new StaticText();
st.setEscape(false);
st.setText("Observa&ccedil;&otilde;es gerais DL:&nbsp;");
pg.getChildren().add(st);
st = new StaticText();
st.setEscape(false);
st.setText(p.getObservacoes_dl());
pg.getChildren().add(st);
grd.getChildren().add(pg);
}
}
}
if(p.getValidacao_dns().booleanValue())
@ -391,6 +551,23 @@ public class ViewPlano extends AbstractPageBean {
}
st.setText("Validado por " + nome + " (Director Nacional de Seguran&ccedil;a) a " + p.getData_validacao_dns_str());
grd.getChildren().add(st);
if(p.getObservacoes_dns() != null)
{
if(p.getObservacoes_dns().trim().length() > 0)
{
pg = new PanelGroup();
st = new StaticText();
st.setEscape(false);
st.setText("Observa&ccedil;&otilde;es gerais DNS:&nbsp;");
pg.getChildren().add(st);
st = new StaticText();
st.setEscape(false);
st.setText(p.getObservacoes_dns());
pg.getChildren().add(st);
grd.getChildren().add(pg);
}
}
}
if(p.getValidacao_hs().booleanValue())
@ -411,6 +588,23 @@ public class ViewPlano extends AbstractPageBean {
}
st.setText("Validado por " + nome + " (T&eacute;cnico de SHS) a " + p.getData_validacao_hs_str());
grd.getChildren().add(st);
// if(p.getVerificacao_siprp() != null)
// {
// if(p.getVerificacao_siprp().trim().length() > 0)
// {
// pg = new PanelGroup();
// st = new StaticText();
// st.setEscape(false);
// st.setText("Verifica&ccedil;&atilde;o SIPRP:&nbsp;");
// pg.getChildren().add(st);
// st = new StaticText();
// st.setEscape(false);
// st.setText(p.getVerificacao_siprp());
// pg.getChildren().add(st);
// grd.getChildren().add(pg);
// }
// }
}
if(hasValidations)

@ -81,11 +81,42 @@
function show(chk)
{
hid = document.getElementById("form1:hidValidacao");
if(chk.checked)
{
if(hid.value == 'dir_loja')
{
webui.suntheme4_2.widget.common._createWidget('_form1:groupPanel2:butEnviar',{"id":"form1:groupPanel2:butEnviar","widgetType":"webui.suntheme4_2.widget.button","style":"width: 223px","visible":true,"primary":false,"value":"Enviar a Director Nacional Segurança>>","escape":true,"mini":false,"disabled":false});
}
else if(hid.value == 'dns')
{
webui.suntheme4_2.widget.common._createWidget('_form1:groupPanel2:butEnviar',{"id":"form1:groupPanel2:butEnviar","widgetType":"webui.suntheme4_2.widget.button","style":"width: 223px","visible":true,"primary":false,"value":"Enviar para Técnico HS>>","escape":true,"mini":false,"disabled":false});
}
else if(hid.value == 'hs')
{
webui.suntheme4_2.widget.common._createWidget('_form1:groupPanel2:butEnviar',{"id":"form1:groupPanel2:butEnviar","widgetType":"webui.suntheme4_2.widget.button","style":"width: 223px","visible":true,"primary":false,"value":"Concluir","escape":true,"mini":false,"disabled":false});
}
}
else
{
if(hid.value == 'dir_loja')
{
webui.suntheme4_2.widget.common._createWidget('_form1:groupPanel2:butEnviar',{"id":"form1:groupPanel2:butEnviar","widgetType":"webui.suntheme4_2.widget.button","style":"width: 223px","visible":true,"primary":false,"value":"Enviar a Director Nacional Segurança>>","escape":true,"mini":false,"disabled":true});
}
else if(hid.value == 'dns')
{
webui.suntheme4_2.widget.common._createWidget('_form1:groupPanel2:butEnviar',{"id":"form1:groupPanel2:butEnviar","widgetType":"webui.suntheme4_2.widget.button","style":"width: 223px","visible":true,"primary":false,"value":"Enviar para Técnico HS>>","escape":true,"mini":false,"disabled":true});
}
else if(hid.value == 'hs')
{
webui.suntheme4_2.widget.common._createWidget('_form1:groupPanel2:butEnviar',{"id":"form1:groupPanel2:butEnviar","widgetType":"webui.suntheme4_2.widget.button","style":"width: 223px","visible":true,"primary":false,"value":"Concluir","escape":true,"mini":false,"disabled":true});
}
}
if(hid.value == 'dns')
{
if(chk.checked)
{
document.getElementById("form1:gridParecer").className = "";
//document.getElementById("form1:gridParecer").className = "";
//document.getElementById("form1:groupPanel2:butEnviarCorrecao").disabled = true;
//document.getElementById("form1:groupPanel2:butEnviarCorrecao").className = "Btn2Dis_sun4";
webui.suntheme4_2.widget.common._createWidget('_form1:groupPanel2:butEnviarCorrecao',{"id":"form1:groupPanel2:butEnviarCorrecao","widgetType":"webui.suntheme4_2.widget.button","visible":true,"primary":false,"value":"Enviar correcão","escape":false,"mini":false,"disabled":true});
@ -96,7 +127,7 @@
}
else
{
document.getElementById("form1:gridParecer").className = "hidden";
//document.getElementById("form1:gridParecer").className = "hidden";
//document.getElementById("form1:groupPanel2:butEnviarCorrecao").disabled = false;
//document.getElementById("form1:groupPanel2:butEnviarCorrecao").className = "";
webui.suntheme4_2.widget.common._createWidget('_form1:groupPanel2:butEnviarCorrecao',{"id":"form1:groupPanel2:butEnviarCorrecao","widgetType":"webui.suntheme4_2.widget.button","visible":true,"primary":false,"value":"Enviar correção","escape":false,"mini":false,"disabled":false});
@ -109,13 +140,15 @@
{
if(chk.checked)
{
var butEnviar = document.getElementById("form1:groupPanel2:butEnviar");
butEnviar.value = "Enviar para Director Nacional de Segurança&gt;&gt;";
webui.suntheme4_2.widget.common._createWidget('_form1:groupPanel2:butEnviarCorrecao',{"id":"form1:groupPanel2:butEnviarCorrecao","widgetType":"webui.suntheme4_2.widget.button","visible":true,"primary":false,"value":"Enviar correcão","escape":false,"mini":false,"disabled":true});
//var butEnviar = document.getElementById("form1:groupPanel2:butEnviar");
//butEnviar.value = "Enviar para Director Nacional de Segurança&gt;&gt;";
}
else
{
var butEnviar = document.getElementById("form1:groupPanel2:butEnviar");
butEnviar.value = "Enviar para Responsável de Segurança&gt;&gt;";
webui.suntheme4_2.widget.common._createWidget('_form1:groupPanel2:butEnviarCorrecao',{"id":"form1:groupPanel2:butEnviarCorrecao","widgetType":"webui.suntheme4_2.widget.button","visible":true,"primary":false,"value":"Enviar correção","escape":false,"mini":false,"disabled":false});
//var butEnviar = document.getElementById("form1:groupPanel2:butEnviar");
//butEnviar.value = "Enviar para Responsável de Segurança&gt;&gt;";
}
}
@ -128,11 +161,11 @@
<jsp:directive.include file="Header.jspf"/>
</div>
<h:inputHidden binding="#{EditarPlano.hidValidacao}" id="hidValidacao"/>
<h:panelGrid columns="1" id="gridBaseLayout" style="left: 0px; top: 56px; position: absolute; width: 100%" styleClass="centerBlock">
<h:panelGrid columns="1" id="gridBaseLayout" style="left: 0px; top: 76px; position: absolute; width: 100%" styleClass="centerBlock">
<webuijsf:staticText escape="false" id="staticText1" style="" text="&amp;nbsp;"/>
<h:panelGrid columnClasses="gridColCenter" columns="1" id="gridMsg" style="height: 24px; width: 100%">
<webuijsf:staticText binding="#{EditarPlano.lblMsg}" id="lblMsg" styleClass="labelMsg "/>
<webuijsf:staticText binding="#{EditarPlano.lblObs}" id="lblObs" style="color: #1d3fe3" styleClass="labelMsg "/>
<webuijsf:staticText binding="#{EditarPlano.lblMsg}" escape="false" id="lblMsg" styleClass="labelMsg "/>
<webuijsf:staticText binding="#{EditarPlano.lblObs}" escape="false" id="lblObs" style="color: #1d3fe3" styleClass="labelMsg "/>
</h:panelGrid>
<h:panelGrid columnClasses="gridColLeft10,gridColLeft90" columns="2" id="gridEmpresa"
style="background-color: #668597; border: 1px solid black; height: 24px; width: 80%" styleClass="centerBlock" width="504">

@ -40,7 +40,8 @@
<h:panelGrid columnClasses="gridColCenter" columns="1" id="gridMsg" style="height: 24px; width: 100%">
<webuijsf:staticText id="lblMsg" styleClass="labelMsg "/>
</h:panelGrid>
<h:panelGrid columnClasses="gridColCenter" columns="1" id="gridActual1" style="height: 24px; width: 100%" styleClass="gridPlanosList">
<h:panelGrid binding="#{ListaPlanos.gridActual}" columnClasses="gridColCenter" columns="1" id="gridActual"
style="height: 24px; width: 100%" styleClass="gridPlanosList">
<webuijsf:staticText id="staticText1" style="font-size: 18px" text="Actual"/>
<webuijsf:staticText escape="false" id="staticText2" style="font-size: 14px" text=" "/>
<webuijsf:staticText id="staticText3" styleClass="label" text="Processos com dados pendentes"/>

@ -117,5 +117,9 @@
<from-outcome>editar_plano</from-outcome>
<to-view-id>/EditarPlano.jsp</to-view-id>
</navigation-case>
<navigation-case>
<from-outcome>lista_planos</from-outcome>
<to-view-id>/ListaPlanos.jsp</to-view-id>
</navigation-case>
</navigation-rule>
</faces-config>

@ -92,6 +92,7 @@ public class PlanoActuacaoDAO extends MainDAO
for( HsRelatorio relatorio : all )
{
MarcacoesEstabelecimento visita = relatorio.getToHsMarcacoesEstabelecimento();
if( visita != null )
{
if( estabelecimentoID == null

Loading…
Cancel
Save