From 6874da9d3d44367459a34c360ab1982325cfbd4e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?L=20Lu=C3=ADs=20=3D?=
Date: Tue, 2 Dec 2008 17:02:23 +0000
Subject: [PATCH] 02/12/2008
git-svn-id: https://svn.coded.pt/svn/SIPRP@807 bb69d46d-e84e-40c8-a05a-06db0d633741
---
.../src/java/db/entidades/PlanoActuacao.java | 29 +
.../src/java/db/entidades/Valor.java | 9 +
.../java/db/providers/PlanosDataProvider.java | 165 ++++-
.../providers/UtilizadoresDataProvider.java | 80 ++-
trunk/PlanosActuacao/src/java/mail/Mail.java | 2 +-
.../java/phaselistener/MainPhaseListener.java | 8 +-
.../src/java/planosactuacao/Dummy.java | 61 +-
.../src/java/planosactuacao/EditarPlano.java | 665 +++++++++++++++---
.../java/planosactuacao/EnviarCorrecao.java | 116 ++-
.../src/java/planosactuacao/Header.java | 34 +
.../src/java/planosactuacao/ListaPlanos.java | 44 +-
.../java/planosactuacao/PlanosActuacao.java | 80 ++-
.../src/java/planosactuacao/SessionBean1.java | 9 +
.../src/java/planosactuacao/Test.java | 74 ++
.../src/java/planosactuacao/ViewPlano.java | 200 +++++-
trunk/PlanosActuacao/web/EditarPlano.jsp | 51 +-
trunk/PlanosActuacao/web/ListaPlanos.jsp | 3 +-
.../web/WEB-INF/faces-config.xml | 4 +
.../cayenne/providers/PlanoActuacaoDAO.java | 1 +
19 files changed, 1501 insertions(+), 134 deletions(-)
create mode 100644 trunk/PlanosActuacao/src/java/planosactuacao/Test.java
diff --git a/trunk/PlanosActuacao/src/java/db/entidades/PlanoActuacao.java b/trunk/PlanosActuacao/src/java/db/entidades/PlanoActuacao.java
index d7d4416c..dc070119 100644
--- a/trunk/PlanosActuacao/src/java/db/entidades/PlanoActuacao.java
+++ b/trunk/PlanosActuacao/src/java/db/entidades/PlanoActuacao.java
@@ -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 areas;
private List 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;
+ }
}
diff --git a/trunk/PlanosActuacao/src/java/db/entidades/Valor.java b/trunk/PlanosActuacao/src/java/db/entidades/Valor.java
index 7c89c8b0..366a699f 100644
--- a/trunk/PlanosActuacao/src/java/db/entidades/Valor.java
+++ b/trunk/PlanosActuacao/src/java/db/entidades/Valor.java
@@ -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;
+ }
}
diff --git a/trunk/PlanosActuacao/src/java/db/providers/PlanosDataProvider.java b/trunk/PlanosActuacao/src/java/db/providers/PlanosDataProvider.java
index be87c65d..f61357b1 100644
--- a/trunk/PlanosActuacao/src/java/db/providers/PlanosDataProvider.java
+++ b/trunk/PlanosActuacao/src/java/db/providers/PlanosDataProvider.java
@@ -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 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 areas = new ArrayList();
@@ -372,7 +434,7 @@ public class PlanosDataProvider extends GenericDataProvider{
{
List 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 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 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 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 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);
+// }
}
diff --git a/trunk/PlanosActuacao/src/java/db/providers/UtilizadoresDataProvider.java b/trunk/PlanosActuacao/src/java/db/providers/UtilizadoresDataProvider.java
index 17620ee9..fd7789b3 100644
--- a/trunk/PlanosActuacao/src/java/db/providers/UtilizadoresDataProvider.java
+++ b/trunk/PlanosActuacao/src/java/db/providers/UtilizadoresDataProvider.java
@@ -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;
+ }
}
diff --git a/trunk/PlanosActuacao/src/java/mail/Mail.java b/trunk/PlanosActuacao/src/java/mail/Mail.java
index 57bbd522..1db45fd6 100644
--- a/trunk/PlanosActuacao/src/java/mail/Mail.java
+++ b/trunk/PlanosActuacao/src/java/mail/Mail.java
@@ -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
diff --git a/trunk/PlanosActuacao/src/java/phaselistener/MainPhaseListener.java b/trunk/PlanosActuacao/src/java/phaselistener/MainPhaseListener.java
index 61fdeabe..672941b0 100644
--- a/trunk/PlanosActuacao/src/java/phaselistener/MainPhaseListener.java
+++ b/trunk/PlanosActuacao/src/java/phaselistener/MainPhaseListener.java
@@ -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
{
diff --git a/trunk/PlanosActuacao/src/java/planosactuacao/Dummy.java b/trunk/PlanosActuacao/src/java/planosactuacao/Dummy.java
index 2b1c639e..b0c76163 100644
--- a/trunk/PlanosActuacao/src/java/planosactuacao/Dummy.java
+++ b/trunk/PlanosActuacao/src/java/planosactuacao/Dummy.java
@@ -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 {
* Construct a new Page bean instance.
*/
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ção à Base de Dados");
+ //***** terminate session
+ try {
+ getExternalContext().redirect("faces/Erro.jsp");
+ } catch(Exception e) {
+ // . . . handle exception . . .
+ e.printStackTrace();
+ }
+ ex.printStackTrace();
+ }
+ }
+
}
diff --git a/trunk/PlanosActuacao/src/java/planosactuacao/EditarPlano.java b/trunk/PlanosActuacao/src/java/planosactuacao/EditarPlano.java
index 03f4434f..c9540d93 100644
--- a/trunk/PlanosActuacao/src/java/planosactuacao/EditarPlano.java
+++ b/trunk/PlanosActuacao/src/java/planosactuacao/EditarPlano.java
@@ -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ções gerais DL: ");
+ st.setText("Observações gerais DL: ");
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ções gerais DNS: ");
+ st.setText("Observações gerais DNS: ");
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ções gerais DL: ");
+ st.setText("Observações gerais DL: ");
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ções gerais DNS: ");
+ st.setText("Observações gerais DNS: ");
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çã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ários à implementação da medida:");
+ st.setText("Recursos necessários à implementação da medida: ");
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: ");
+ 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ç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ça: ");
+ 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ção SIPRP: ");
+ 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çã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 valores = getSessionBean1().getValoresHash();
+ Iterator 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("É 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("É 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 valores = getSessionBean1().getValoresHash();
+ Iterator 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 = "Exmo. (a) Senhor (a),
";
+ mail_text += "O Plano de Actuação referente à auditoria de Avaliação de Riscos Laborais realizada no passado dia " + p.getData_visita_str() + " foi devolvido para correcção.
";
+ mail_text += "Proceda, por favor, em www.siprp.com à(s) respectiva(s) correcção(ões) de acordo com as indicações e volte a reenviar o processo para a fase seguinte.
";
+ mail_text += "Caso tenha alguma dúvida ou necessite de qualquer esclarecimento, contacte, por favor, a Área Técnica da SIPRP através do telefone 213 504 540.
";
+ mail_text += "Cumprimentos,
";
+ mail_text += "A equipa da SIPRP
";
+ mail_text += "Por favor não responda a esta mensagem, dado tratar-se de um e-mail automático
";
+ 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 = "Exmo. (a) Senhor (a),
";
+ mail_text += "Encontra-se disponível em www.siprp.com o Plano de Actuação referente à auditoria de ";
+ mail_text += "Avaliação de Riscos Laborais realizada no passado dia " + p.getData_visita_str() + " para que possa ";
+ mail_text += "validar a informação preenchida.
";
+ mail_text += "Cumprimentos.
";
+ mail_text += "Por favor não responda a esta mensagem, dado tratar-se de um e-mail automático";
+
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 = "Exmo. Senhor Silvestre Machado,
";
+ mail_text += "Encontra-se disponível em www.siprp.com o Plano de Actuação referente à auditoria de Avaliação de Riscos Laborais realizada no passado dia " + p.getData_visita_str() + " para que o possa validar.
";
+ mail_text += "Cumprimentos.
";
+ mail_text += "Por favor não responda a esta mensagem, dado tratar-se de um e-mail automático";
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 = "Exmo. (a) Senhor (a),
";
+ mail_text += "Encontra-se disponível em www.siprp.com o Plano de Actuação referente à auditoria de Avaliação de Riscos Laborais realizada no passado dia " + p.getData_visita_str() + " para que possa efectuar a sua verificação.
";
+ mail_text += "Por favor não responda a esta mensagem, dado tratar-se de um e-mail automático";
+ 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 = "Exmo. (a) Senhor (a),
";
+ mail_text += "Encontra-se disponível em www.siprp.com o Plano de Actuação referente à auditoria de Avaliação de Riscos Laborais realizada no passado dia " + p.getData_visita_str() + " finalizado após verificação pelos Técnicos Superiores de Higiene e Segurança da SIPRP.
";
+ mail_text += "Aproveitamos para agradecer toda a disponibilidade e ficamos ao vosso dispor, caso tenha alguma dúvida ou necessite de qualquer esclarecimento, através do telefone 213 504 540.
";
+ mail_text += "Cumprimentos,
";
+ mail_text += "Por favor não responda a esta mensagem, dado tratar-se de um e-mail automático";
+ 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 valoresHash = new HashMap();
+ 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";
}
+
+
}
diff --git a/trunk/PlanosActuacao/src/java/planosactuacao/EnviarCorrecao.java b/trunk/PlanosActuacao/src/java/planosactuacao/EnviarCorrecao.java
index 5eb3d97b..e9deba53 100644
--- a/trunk/PlanosActuacao/src/java/planosactuacao/EnviarCorrecao.java
+++ b/trunk/PlanosActuacao/src/java/planosactuacao/EnviarCorrecao.java
@@ -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;
/**
* 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ções do Director de Loja: ";
+ }
+ else if(u.getTipo().intValue() == Global.DIRECTOR_NACIONAL_SEGURANCA)
+ {
+ observacoes = "Observações do Director Nacional de Segurança: ";
+ }
+ 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 = "
Exmo. (a) Senhor (a),
";
+ mail_text += "O Plano de Actuação referente à auditoria de Avaliação de Riscos Laborais realizada no passado dia " + p.getData_visita_str() + " foi devolvido para correcção.
";
+ mail_text += "Proceda, por favor, em www.siprp.com à(s) respectiva(s) correcção(ões) de acordo com as indicações do Director Nacional de Segurança e volte a reenviar o processo para a fase seguinte.
";
+ mail_text += "Caso tenha alguma dúvida ou necessite de qualquer esclarecimento, contacte, por favor, a Área Técnica da SIPRP através do telefone 213 504 540.
";
+ mail_text += "Cumprimentos,
";
+ mail_text += "A equipa da SIPRP
";
+ mail_text += "Por favor não responda a esta mensagem, dado tratar-se de um e-mail automático";
+ 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 = "Exmo. (a) Senhor (a),
";
+ mail_text += "O Plano de Actuação referente à auditoria de Avaliação de Riscos Laborais realizada no passado dia " + p.getData_visita_str() + " foi devolvido para correcção.
";
+ mail_text += "Proceda, por favor, em www.siprp.com à(s) respectiva(s) correcção(ões) de acordo com as indicações do Director Nacional de Segurança e volte a reenviar o processo para a fase seguinte.
";
+ mail_text += "Cumprimentos.
";
+ mail_text += "Por favor não responda a esta mensagem, dado tratar-se de um e-mail automático";
+ 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 !!");
+// }
+ }
+
}
diff --git a/trunk/PlanosActuacao/src/java/planosactuacao/Header.java b/trunk/PlanosActuacao/src/java/planosactuacao/Header.java
index 6693256b..5824da1d 100644
--- a/trunk/PlanosActuacao/src/java/planosactuacao/Header.java
+++ b/trunk/PlanosActuacao/src/java/planosactuacao/Header.java
@@ -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;
}
diff --git a/trunk/PlanosActuacao/src/java/planosactuacao/ListaPlanos.java b/trunk/PlanosActuacao/src/java/planosactuacao/ListaPlanos.java
index 3509d559..c1ec27dd 100644
--- a/trunk/PlanosActuacao/src/java/planosactuacao/ListaPlanos.java
+++ b/trunk/PlanosActuacao/src/java/planosactuacao/ListaPlanos.java
@@ -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 {
}
//
- 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;
+ }
/**
* Construct a new Page bean instance.
@@ -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()
+ {
+
+ }
diff --git a/trunk/PlanosActuacao/src/java/planosactuacao/PlanosActuacao.java b/trunk/PlanosActuacao/src/java/planosactuacao/PlanosActuacao.java
index 052afb82..d6a4ad94 100644
--- a/trunk/PlanosActuacao/src/java/planosactuacao/PlanosActuacao.java
+++ b/trunk/PlanosActuacao/src/java/planosactuacao/PlanosActuacao.java
@@ -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 planosOnlineList = getPlanosOnline();
+ System.out.println("PLANOS ONLINE LIST : " + planosOnlineList.size());
List 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 = "Exmo. (a) Senhor (a),
";
+ mail_text += "Encontra-se disponível em www.siprp.com o Plano de Actuação referente à auditoria de Avaliação de Riscos Laborais realizada no passado dia " + p.getData_visita_str() + " para que possa efectuar o seu preenchimento.
";
+ mail_text += "Recordamos que dispõe de duas semanas para efectuar o seu preenchimento e passar o respectivo processo para a fase seguinte, ou seja, para o responsável pelo seu estabelecimento.
";
+ mail_text += "Caso tenha alguma dúvida ou necessite de qualquer esclarecimento, contacte, por favor, a área técnica da SIPRP através do telefone 213 504 540.
";
+ mail_text += "Cumprimentos,
";
+ mail_text += "A equipa da SIPRP
";
+ mail_text += "Por favor não responda a esta mensagem, dado tratar-se de um e-mail automático";
+ 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 !!");
+// }
+ }
}
diff --git a/trunk/PlanosActuacao/src/java/planosactuacao/SessionBean1.java b/trunk/PlanosActuacao/src/java/planosactuacao/SessionBean1.java
index eea3a953..6b3aeef5 100644
--- a/trunk/PlanosActuacao/src/java/planosactuacao/SessionBean1.java
+++ b/trunk/PlanosActuacao/src/java/planosactuacao/SessionBean1.java
@@ -67,6 +67,7 @@ public class SessionBean1 extends AbstractSessionBean {
//fase
private int fase = 1;
+ private HashMap valoresHash;
private HashMap areasHash;
private HashMap riscosHash;
private Pagination pagination = null;
@@ -360,5 +361,13 @@ public class SessionBean1 extends AbstractSessionBean {
this.currentValor = currentValor;
}
+ public HashMap getValoresHash() {
+ return valoresHash;
+ }
+
+ public void setValoresHash(HashMap valoresHash) {
+ this.valoresHash = valoresHash;
+ }
+
}
diff --git a/trunk/PlanosActuacao/src/java/planosactuacao/Test.java b/trunk/PlanosActuacao/src/java/planosactuacao/Test.java
new file mode 100644
index 00000000..42b52ec1
--- /dev/null
+++ b/trunk/PlanosActuacao/src/java/planosactuacao/Test.java
@@ -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 areas)
+ {
+ for(Area a : areas)
+ {
+ System.out.println("\t" + a.getDescricao());
+ showRiscos(a.getRiscos());
+ }
+ }
+
+ private static void showRiscos(List riscos)
+ {
+ for(Risco r : riscos)
+ {
+ System.out.println("\t\t" + r.getDescricao());
+ showValores(r.getValores());
+ }
+ }
+
+ private static void showValores(List valores)
+ {
+ for(Valor v : valores)
+ {
+ System.out.println("\t\t\t" + v.getValor());
+ showMedidas(v.getMedidas());
+ }
+ }
+
+ private static void showMedidas(List medidas)
+ {
+ for(Medida m : medidas)
+ {
+ System.out.println("\t\t\t" + m.getDescricao());
+ showPostos(m.getPostos());
+ }
+ }
+
+ private static void showPostos(List postos)
+ {
+ for(PostoTrabalho p : postos)
+ {
+ System.out.println("\t\t\t\t" + p.getDescricao());
+ }
+ }
+}
diff --git a/trunk/PlanosActuacao/src/java/planosactuacao/ViewPlano.java b/trunk/PlanosActuacao/src/java/planosactuacao/ViewPlano.java
index 0f9201bf..29a519e1 100644
--- a/trunk/PlanosActuacao/src/java/planosactuacao/ViewPlano.java
+++ b/trunk/PlanosActuacao/src/java/planosactuacao/ViewPlano.java
@@ -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ável de execução: ");
+ 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ários: ");
+ 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ício: ");
+ 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: ");
+ 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: ");
+ 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: ");
+ 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ção SIPRP: ");
+ 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 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ções gerais DL: ");
+ 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ç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ções gerais DNS: ");
+ 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é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ção SIPRP: ");
+// 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)
diff --git a/trunk/PlanosActuacao/web/EditarPlano.jsp b/trunk/PlanosActuacao/web/EditarPlano.jsp
index c8adddcd..81420878 100644
--- a/trunk/PlanosActuacao/web/EditarPlano.jsp
+++ b/trunk/PlanosActuacao/web/EditarPlano.jsp
@@ -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>>";
+ 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>>";
}
else
{
- var butEnviar = document.getElementById("form1:groupPanel2:butEnviar");
- butEnviar.value = "Enviar para Responsável de Segurança>>";
+ 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>>";
}
}
@@ -128,11 +161,11 @@
-
+
-
-
+
+
diff --git a/trunk/PlanosActuacao/web/ListaPlanos.jsp b/trunk/PlanosActuacao/web/ListaPlanos.jsp
index 1d8885c2..b0d0cd44 100644
--- a/trunk/PlanosActuacao/web/ListaPlanos.jsp
+++ b/trunk/PlanosActuacao/web/ListaPlanos.jsp
@@ -40,7 +40,8 @@
-
+
diff --git a/trunk/PlanosActuacao/web/WEB-INF/faces-config.xml b/trunk/PlanosActuacao/web/WEB-INF/faces-config.xml
index ddbdd4aa..d602dad8 100644
--- a/trunk/PlanosActuacao/web/WEB-INF/faces-config.xml
+++ b/trunk/PlanosActuacao/web/WEB-INF/faces-config.xml
@@ -117,5 +117,9 @@
editar_plano
/EditarPlano.jsp
+
+ lista_planos
+ /ListaPlanos.jsp
+
diff --git a/trunk/common/src/siprp/database/cayenne/providers/PlanoActuacaoDAO.java b/trunk/common/src/siprp/database/cayenne/providers/PlanoActuacaoDAO.java
index eb286ec6..62f4cd93 100644
--- a/trunk/common/src/siprp/database/cayenne/providers/PlanoActuacaoDAO.java
+++ b/trunk/common/src/siprp/database/cayenne/providers/PlanoActuacaoDAO.java
@@ -92,6 +92,7 @@ public class PlanoActuacaoDAO extends MainDAO
for( HsRelatorio relatorio : all )
{
MarcacoesEstabelecimento visita = relatorio.getToHsMarcacoesEstabelecimento();
+
if( visita != null )
{
if( estabelecimentoID == null