07/11/2008

git-svn-id: https://svn.coded.pt/svn/SIPRP@798 bb69d46d-e84e-40c8-a05a-06db0d633741
lxbfYeaa
L Luís = 17 years ago
parent ee8745dfd6
commit 5cb736d292

@ -30,6 +30,13 @@ public class PlanoActuacao {
private String fase_nome;
private String tecnico_hs_nome;
private String loja_nome;
private Boolean validacao_director_loja;
private Boolean validacao_dns;
private Boolean validacao_hs;
private String parecer_dns;
private int total_riscos;
public Integer getId() {
return id;
@ -137,4 +144,44 @@ public class PlanoActuacao {
public void setAreas(List<Area> areas) {
this.areas = areas;
}
public int getTotal_riscos() {
return total_riscos;
}
public void setTotal_riscos(int total_riscos) {
this.total_riscos = total_riscos;
}
public Boolean getValidacao_director_loja() {
return validacao_director_loja;
}
public void setValidacao_director_loja(Boolean validacao_director_loja) {
this.validacao_director_loja = validacao_director_loja;
}
public Boolean getValidacao_dns() {
return validacao_dns;
}
public void setValidacao_dns(Boolean validacao_dns) {
this.validacao_dns = validacao_dns;
}
public Boolean getValidacao_hs() {
return validacao_hs;
}
public void setValidacao_hs(Boolean validacao_hs) {
this.validacao_hs = validacao_hs;
}
public String getParecer_dns() {
return parecer_dns;
}
public void setParecer_dns(String parecer_dns) {
this.parecer_dns = parecer_dns;
}
}

@ -5,8 +5,9 @@
package db.entidades;
import java.util.Date;
import java.util.List;
import java.util.Vector;
/**
*
@ -18,6 +19,12 @@ public class Risco {
private String descricao;
private String activo;
private Integer valor;
private String responsavel_execucao;
private String recursos_necessarios;
private Date data_inicio;
private Date data_fim;
private List<Valor> valores;
private List<Medida> medidas;
@ -77,4 +84,36 @@ public class Risco {
public void setValores(List<Valor> valores) {
this.valores = valores;
}
public String getResponsavel_execucao() {
return responsavel_execucao;
}
public void setResponsavel_execucao(String responsavel_execucao) {
this.responsavel_execucao = responsavel_execucao;
}
public String getRecursos_necessarios() {
return recursos_necessarios;
}
public void setRecursos_necessarios(String recursos_necessarios) {
this.recursos_necessarios = recursos_necessarios;
}
public Date getData_inicio() {
return data_inicio;
}
public void setData_inicio(Date data_inicio) {
this.data_inicio = data_inicio;
}
public Date getData_fim() {
return data_fim;
}
public void setData_fim(Date data_fim) {
this.data_fim = data_fim;
}
}

@ -51,13 +51,33 @@ public class PlanosDataProvider extends GenericDataProvider{
String sql = "";
//To Do sql string here :
sql = "UPDATE planos_actuacao SET fase = " + p.getFase() + " ";
sql = "UPDATE planos_actuacao SET fase = " + p.getFase() + ", ";
sql += "validacao_director_loja = " + p.getValidacao_director_loja() + ", ";
sql += "validacao_dns = " + p.getValidacao_dns() + ", ";
sql += "validacao_hs = " + p.getValidacao_hs() + ", ";
sql += "parecer_dns = '" + p.getParecer_dns() + "' ";
sql += "WHERE id = " + p.getId();
System.out.println("SQL UPDATE PLANO : " + sql);
st.execute(sql);
}
public void updateRisco(Risco r) throws Exception
{
Statement st = createStatement();
String sql = "";
//To Do sql string here :
java.sql.Date sqlDataInicio = new java.sql.Date(r.getData_inicio().getTime());
java.sql.Date sqlDataFim = new java.sql.Date(r.getData_fim().getTime());
sql = "UPDATE plano_riscos SET responsavel_execucao = '" + r.getResponsavel_execucao() + "', ";
sql += "recursos_necessarios = '" + r.getRecursos_necessarios() + "', ";
sql += "data_inicio = '" + sqlDataInicio + "', ";
sql += "data_fim = '" + sqlDataFim + "' ";
sql += "WHERE id = " + r.getId();
System.out.println("SQL UPDATE RISCO : " + sql);
st.execute(sql);
}
public Integer createArea(Area a) throws Exception
{
Statement st = createStatement();
@ -238,7 +258,12 @@ public class PlanosDataProvider extends GenericDataProvider{
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.setParecer_dns(rs.getString("parecer_dns"));
pa.setAreas(getAreasByPlano(pa));
pa.setTotal_riscos(getTotalRiscosByPlano(pa.getId()));
list.add(pa);
}while(rs.next());
@ -286,6 +311,20 @@ public class PlanosDataProvider extends GenericDataProvider{
r.setId( new Integer(rs.getInt("id")) );
r.setArea_id(new Integer( rs.getInt("area_id") ));
r.setDescricao(rs.getString("descricao"));
r.setResponsavel_execucao(rs.getString("responsavel_execucao"));
r.setRecursos_necessarios(rs.getString("recursos_necessarios"));
java.sql.Date sqlDataInicio = rs.getDate("data_inicio");
if(sqlDataInicio != null)
{
r.setData_inicio(new java.util.Date(sqlDataInicio.getTime()));
}
java.sql.Date sqlDataFim = rs.getDate("data_fim");
if(sqlDataFim != null)
{
r.setData_fim(new java.util.Date(sqlDataFim.getTime()));
}
r.setValores(getValoresByRisco(r));
riscos.add(r);
}while(rs.next());
@ -362,7 +401,35 @@ public class PlanosDataProvider extends GenericDataProvider{
}while(rs.next());
}
return postos;
}
}
public int getTotalRiscosByPlano(Integer plano_id)
{
Statement st = createStatement();
String sql = "select count(plano_riscos.id) as total_riscos from plano_riscos ";
sql += "inner join plano_areas on plano_riscos.area_id = plano_areas.id ";
sql += "inner join planos_actuacao on plano_areas.plano_id = planos_actuacao.id ";
sql += "where planos_actuacao.id = " + plano_id;
int total_riscos = 0;
try
{
ResultSet rs = st.executeQuery(sql);
if(rs.isBeforeFirst())
{
rs.first();
total_riscos = rs.getInt("total_riscos");
}
}
catch(Exception ex)
{
}
return total_riscos;
}
// POSTOS TRABALHO
public void createPostoTrabalhoByRisco(Integer postoTrabalhoId, Integer riscoId, Integer planoId) throws Exception

@ -0,0 +1,78 @@
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package pagination;
import com.sun.webui.jsf.component.Hyperlink;
import javax.faces.context.FacesContext;
/**
*
* @author lluis
*/
public class Pagina extends Hyperlink{
private Integer risco_id;
private Integer page_nr;
private Boolean previous = false;
private Boolean next = false;
public Pagina(){
super();
}
public Object saveState(FacesContext context)
{
Object values[] = new Object[7];
values[0] = super.saveState(context);
values[1] = getRisco_id();
values[2] = getPage_nr();
values[3] = isPrevious();
values[4] = isNext();
// values[2] = getId();
return ((Object) (values));
}
public void restoreState(FacesContext context, Object state)
{
Object values[] = (Object[])state;
super.restoreState(context, values[0]);
risco_id = (Integer)values[1];
page_nr = (Integer)values[2];
previous = (Boolean)values[3];
next = (Boolean)values[4];
}
public Integer getRisco_id() {
return risco_id;
}
public void setRisco_id(Integer risco_id) {
this.risco_id = risco_id;
}
public Boolean isPrevious() {
return previous;
}
public void setPrevious(Boolean previous) {
this.previous = previous;
}
public Boolean isNext() {
return next;
}
public void setNext(Boolean next) {
this.next = next;
}
public Integer getPage_nr() {
return page_nr;
}
public void setPage_nr(Integer page_nr) {
this.page_nr = page_nr;
}
}

@ -0,0 +1,125 @@
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package pagination;
import com.sun.webui.jsf.component.StaticText;
import db.entidades.Area;
import db.entidades.PlanoActuacao;
import db.entidades.Risco;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Vector;
import javax.faces.event.MethodExpressionActionListener;
/**
*
* @author lluis
*/
public class Pagination {
private int TOTAL_PAGINAS;
private HashMap<Integer, Risco> riscosHash = new HashMap();
private Vector<Risco> riscosVector = new Vector();
private int current_page = 1;
public Pagination(PlanoActuacao p)
{
initialize(p);
}
public Vector<Pagina> getPaginas()
{
Vector<Pagina> paginas = new Vector();
Pagina pagina = null;
if(current_page > 1)
{
pagina = new Pagina();
pagina.setId("prev");
pagina.setPrevious(new Boolean(true));
pagina.setText("<<");
paginas.add(pagina);
}
int i = 0;
Iterator<Risco> iter = riscosVector.iterator();
while(iter.hasNext())
{
Risco r = iter.next();
pagina = new Pagina();
pagina.setId("risco" + r.getId().toString());
//pagina.setRisco_id(r.getId());
i++;
pagina.setPage_nr(i);
if(i == current_page)
{
pagina.setDisabled(true);
}
pagina.setText(i);
paginas.add(pagina);
}
if(current_page < TOTAL_PAGINAS)
{
pagina = new Pagina();
pagina.setId("next");
pagina.setNext(new Boolean(true));
pagina.setText(">>");
paginas.add(pagina);
}
return paginas;
}
public Risco getRisco(Pagina p)
{
Integer risco_id = null;
if(p.isNext())
{
current_page++;
}
else if(p.isPrevious())
{
current_page--;
}
else
{
current_page = p.getPage_nr().intValue();
}
return riscosVector.get(current_page-1);
}
public Risco nextRisco()
{
Risco r = null;
if( current_page < TOTAL_PAGINAS)
{
current_page++;
r = riscosVector.get(current_page-1);
}
return r;
}
public int totalPaginas()
{
return TOTAL_PAGINAS;
}
private void initialize(PlanoActuacao p)
{
for(Area a : p.getAreas())
{
for(Risco r : a.getRiscos())
{
riscosVector.add(r);
}
}
TOTAL_PAGINAS = riscosVector.size();
}
}

@ -7,15 +7,13 @@
package planosactuacao;
import com.sun.rave.web.ui.appbase.AbstractPageBean;
import com.sun.webui.jsf.component.Calendar;
import com.sun.webui.jsf.component.TextArea;
import com.sun.webui.jsf.component.TextField;
import com.sun.webui.jsf.model.DefaultOptionsList;
import com.sun.webui.jsf.model.DefaultTableDataProvider;
import com.sun.webui.jsf.model.SingleSelectOptionsList;
import javax.faces.component.html.HtmlPanelGrid;
import tabledataproviders.*;
import com.sun.webui.jsf.component.Hyperlink;
import com.sun.webui.jsf.component.PanelGroup;
import javax.el.MethodExpression;
import javax.faces.FacesException;
import javax.faces.event.ActionEvent;
import javax.faces.event.MethodExpressionActionListener;
/**
* <p>Page bean that corresponds to a similarly named JSP page. This
@ -36,23 +34,14 @@ public class Dummy extends AbstractPageBean {
*/
private void _init() throws Exception {
}
private HtmlPanelGrid grid = new HtmlPanelGrid();
public HtmlPanelGrid getGrid() {
return grid;
}
public void setGrid(HtmlPanelGrid hpg) {
this.grid = hpg;
}
private SingleSelectOptionsList dropDown1DefaultOptions = new SingleSelectOptionsList();
private PanelGroup pgLink = new PanelGroup();
public SingleSelectOptionsList getDropDown1DefaultOptions() {
return dropDown1DefaultOptions;
public PanelGroup getPgLink() {
return pgLink;
}
public void setDropDown1DefaultOptions(SingleSelectOptionsList ssol) {
this.dropDown1DefaultOptions = ssol;
public void setPgLink(PanelGroup pg) {
this.pgLink = pg;
}
// </editor-fold>
@ -120,10 +109,16 @@ public class Dummy extends AbstractPageBean {
*/
@Override
public void prerender() {
Calendar cal = new Calendar();
cal.setDateFormatPattern("dd-MM-yyyy");
Hyperlink lnk = new Hyperlink();
lnk.setText("HERE");
pgLink.getChildren().add(lnk);
grid.getChildren().add(cal);
Class[] argtypes = new Class[1];
argtypes[0] = ActionEvent.class;
MethodExpression me = (MethodExpression)this.getApplication().getExpressionFactory().createMethodExpression(
getFacesContext().getELContext(), "#{Dummy.lnk_actionListener}", null,argtypes);
lnk.addActionListener(new MethodExpressionActionListener(me));
}
/**
@ -171,11 +166,12 @@ public class Dummy extends AbstractPageBean {
return null;
}
public String lnkLogout_action() {
public void lnk_actionListener(ActionEvent e) {
// TODO: Process the action. Return value is a navigation
// case name where null will return to the same page.
return null;
System.out.print("DUMMY LINK");
}
}

@ -26,14 +26,21 @@ import db.entidades.Utilizador;
import db.entidades.Valor;
import db.providers.PlanosDataProvider;
import global.Global;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Vector;
import javax.el.MethodExpression;
import javax.faces.FacesException;
import javax.faces.component.html.HtmlInputHidden;
import javax.faces.component.html.HtmlPanelGrid;
import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;
import javax.faces.event.MethodExpressionActionListener;
import javax.faces.event.ValueChangeEvent;
import mail.Mail;
import pagination.Pagina;
import pagination.Pagination;
import utils.JSFUtils;
/**
@ -57,6 +64,7 @@ public class EditarPlano extends AbstractPageBean {
}
// </editor-fold>
PlanosDataProvider pdp = new PlanosDataProvider();
HtmlPanelGrid grid;
PanelGroup pg;
StaticText st;
@ -64,9 +72,6 @@ public class EditarPlano extends AbstractPageBean {
//Plano actuacao
PlanoActuacao plano;
Vector<Medida> medidas = new Vector<Medida>();
Vector<Risco> riscos = new Vector<Risco>();
Vector<PostoTrabalho> postos = new Vector<PostoTrabalho>();
HtmlPanelGrid gridPlano = new HtmlPanelGrid();
HtmlPanelGrid gridArea;
@ -74,6 +79,7 @@ public class EditarPlano extends AbstractPageBean {
HtmlPanelGrid gridValor;
HtmlPanelGrid gridMedida;
HtmlPanelGrid gridPosto;
HtmlPanelGrid gridResponsavel;
@ -86,6 +92,7 @@ public class EditarPlano extends AbstractPageBean {
TextArea txtRecursos;
Calendar dtInicio;
Calendar dtFim;
public HtmlPanelGrid getGridLayout() {
return gridLayout;
@ -220,6 +227,24 @@ public class EditarPlano extends AbstractPageBean {
public void setLblTop(StaticText st) {
this.lblTop = st;
}
private PanelGroup grpPagination = new PanelGroup();
public PanelGroup getGrpPagination() {
return grpPagination;
}
public void setGrpPagination(PanelGroup pg) {
this.grpPagination = pg;
}
private HtmlPanelGrid gridPagination = new HtmlPanelGrid();
public HtmlPanelGrid getGridPagination() {
return gridPagination;
}
public void setGridPagination(HtmlPanelGrid hpg) {
this.gridPagination = hpg;
}
/**
* <p>Construct a new Page bean instance.</p>
@ -295,22 +320,18 @@ public class EditarPlano extends AbstractPageBean {
//boolean isPostback = JSFUtils.isPostBack12(fc);
//boolean isPostback = JSFUtils.isPostBack(fc);
boolean isPostback = JSFUtils.isPostback();
System.out.println("POSTBACK : " + isPostback);
System.out.println("POSTBACK : " + isPostback);
PlanoActuacao p = getSessionBean1().getPlanoActuacao();
getRiscosByPlano(p);
if(!isPostback)
{
PlanoActuacao p = getSessionBean1().getPlanoActuacao();
//initializePlano();
initialize(p);
showPlano(p);
//fillPlano();
}
else
{
riscos = getSessionBean1().getRiscos();
medidas = getSessionBean1().getMedidas();
postos = getSessionBean1().getPostos();
}
//setPagination(p);
setPagination();
lblMsg.setText(getSessionBean1().getMsg());
getSessionBean1().setMsg("");
}
@ -360,219 +381,14 @@ public class EditarPlano extends AbstractPageBean {
return "lista_planos";
}
// private void fillPlano()
// {
// String indent = "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
// Risco r = getNextRisco(plano.getId());
// fillRisco(r);
// }
//
// private void fillRisco(Risco r)
// {
// String indent = "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
// if(gridLayout.getChildren().size() > 0)
// {
// gridLayout.getChildren().clear();
// }
// gridRisco = new HtmlPanelGrid();
// gridRisco.setWidth("100%");
// gridRisco.setStyle("border: solid 1px #000000");
// gridRisco.setColumns(1);
// gridRisco.setColumnClasses("gridColLeft");
//
// pg = new PanelGroup();
// st = new StaticText();
// st.setEscape(false);
// st.setStyleClass("label");
// st.setStyle("color: #2c4d7a");
// st.setText("RISCO 1" + ":&nbsp;");
// pg.getChildren().add(st);
// st = new StaticText();
// st.setEscape(false);
// st.setText(r.getDescricao());
// pg.getChildren().add(st);
// gridRisco.getChildren().add(pg);
//
// st = new StaticText();
// st.setEscape(false);
// st.setText("&nbsp;");
// gridRisco.getChildren().add(st);
//
// pg = new PanelGroup();
// st = new StaticText();
// st.setEscape(false);
// st.setStyleClass("label");
// st.setText("Valor:" + "&nbsp;");
// pg.getChildren().add(st);
// st = new StaticText();
// st.setEscape(false);
// st.setText(r.getValor().toString());
// pg.getChildren().add(st);
// gridRisco.getChildren().add(pg);
//
// st = new StaticText();
// st.setEscape(false);
// st.setText("&nbsp;");
// gridRisco.getChildren().add(st);
//
// //medidas
// Vector<Medida> meds = getMedidas(r.getId());
// for(int i = 0; i < meds.size(); i++)
// {
// Medida m = medidas.get(i);
// if(m.getRisco_id().intValue() == r.getId().intValue())
// {
// pg = new PanelGroup();
// st = new StaticText();
// st.setEscape(false);
// st.setStyleClass("label");
// st.setText(indent + "Medida" + ":&nbsp;");
// pg.getChildren().add(st);
// st = new StaticText();
// st.setEscape(false);
// st.setText(m.getDescricao());
// pg.getChildren().add(st);
// gridRisco.getChildren().add(pg);
//
// //postos trabalho
// Vector<PostoTrabalho> posts = getPostosTrabalho(m.getId());
// pg = new PanelGroup();
// st = new StaticText();
// st.setEscape(false);
// st.setStyleClass("label");
// st.setText(indent + indent + "Postos de trabalho afectados" + ":&nbsp;");
// pg.getChildren().add(st);
// st = new StaticText();
// st.setEscape(false);
// String spostos = "";
// for(int j = 0; j < posts.size(); j++)
// {
// PostoTrabalho p = posts.get(j);
// spostos += p.getDescricao(); // + "&nbsp;";
// if(j < (posts.size() -1) )
// {
// spostos += ";&nbsp;";
// }
// }
// st.setText(spostos);
// pg.getChildren().add(st);
// gridRisco.getChildren().add(pg);
// }
// }
//
// st = new StaticText();
// st.setEscape(false);
// st.setText("&nbsp;");
// gridRisco.getChildren().add(st);
//
// pg = new PanelGroup();
// st = new StaticText();
// st.setEscape(false);
// st.setStyleClass("label");
// st.setText("Respons&aacute;vel de execu&ccedil;&atilde;o:");
// pg.getChildren().add(st);
// txtResponsavelExecucao = new TextField();
// txtResponsavelExecucao.setColumns(100);
// pg.getChildren().add(txtResponsavelExecucao);
// gridRisco.getChildren().add(pg);
// pg = new PanelGroup();
// st = new StaticText();
// st.setEscape(false);
// st.setStyleClass("label");
// st.setText("Recursos necess&aacute;rios &agrave; implementa&ccedil;&atilde;o da medida:");
// pg.getChildren().add(st);
// gridRisco.getChildren().add(pg);
// txtRecursos = new TextArea();
// txtRecursos.setColumns(200);
// gridRisco.getChildren().add(txtRecursos);
//
// HtmlPanelGrid grd = new HtmlPanelGrid();
// grd.setColumns(2);
// grd.setColumnClasses("gridCol15, gridCol85");
// grd.setId("pgDtInicio");
// grd.setStyle("width: 100%");
// st = new StaticText();
// st.setEscape(false);
// st.setStyleClass("label");
// st.setText("Data prevista de in&iacute;cio:");
// grd.getChildren().add(st);
// dtInicio = new Calendar();
// grd.getChildren().add(dtInicio);
// gridRisco.getChildren().add(grd);
//
// grd = new HtmlPanelGrid();
// grd.setColumns(2);
// grd.setColumnClasses("gridCol15, gridCol85");
// grd.setId("pgDtFim");
// grd.setStyle("width: 100%");
// st = new StaticText();
// st.setEscape(false);
// st.setStyleClass("label");
// st.setText("Data prevista de conclus&atilde;o:");
// grd.getChildren().add(st);
// dtFim = new Calendar();
//
// grd.getChildren().add(dtFim);
// gridRisco.getChildren().add(grd);
//
// gridLayout.getChildren().add(gridRisco);
//
// }
// private Risco getNextRisco(Integer planoId)
// {
// System.out.println("GET NEXT RISCO");
// System.out.println("RISCOS SIZE : " + riscos.size());
// riscos = getSessionBean1().getRiscos();
// risco_id = getSessionBean1().getRiscosIdx();
// Risco r = riscos.get(risco_id);
// if(r != null)
// {
// if(r.getPlano_id().intValue() != planoId.intValue())
// {
// r = null;
// risco_id = 0;
// }
// }
// risco_id++;
// getSessionBean1().setRiscosIdx(risco_id);
// return r;
// }
// private Vector<Medida> getMedidas(Integer riscoId)
// {
// Vector<Medida> meds = new Vector<Medida>();
// medidas = getSessionBean1().getMedidas();
// for(int i = 0; i < medidas.size(); i++)
// {
// Medida m = medidas.get(i);
// if(m.getRisco_id().intValue() == riscoId.intValue())
// {
// meds.add(m);
// }
// }
// return meds;
// }
private Vector<PostoTrabalho> getPostosTrabalho(Integer medidaId)
{
Vector<PostoTrabalho> posts = new Vector<PostoTrabalho>();
postos = getSessionBean1().getPostos();
for(int i = 0; i < postos.size(); i++)
{
PostoTrabalho p = postos.get(i);
if(p.getMedida_id().intValue() == medidaId.intValue())
{
posts.add(p);
}
}
return posts;
}
private void initialize(PlanoActuacao p)
{
//getSessionBean1().setPaginationPageNr(1);
Pagination pagination = new Pagination(p);
getSessionBean1().setPagination(pagination);
Utilizador u = getSessionBean1().getCurrentUser();
if(u.getTipo().intValue() == Global.DIRECTOR_NACIONAL_SEGURANCA)
{
@ -585,12 +401,9 @@ public class EditarPlano extends AbstractPageBean {
//gridValidar.setStyleClass("hidden");
//System.out.println("VISIBILITY : " + gridValidar.getStyleClass());
//System.out.println("USER TYPE : " + u.getTipo().intValue());
if(u.getTipo().intValue() != Global.DIRECTOR_LOJA && u.getTipo().intValue() != Global.DIRECTOR_NACIONAL_SEGURANCA)
{
//gridValidar.setStyleClass("visible");
//System.out.println("VISIBILITY B : " + gridValidar.getStyleClass());
gridValidar.setRendered(false);
//txtParecer.setStyleClass("hidden");
}
@ -636,6 +449,7 @@ public class EditarPlano extends AbstractPageBean {
break;
}
gridPlano.setId("gridPlano");
gridPlano.setWidth("100%");
gridPlano.setColumns(1);
gridPlano.setColumnClasses("gridColCenter");
@ -647,6 +461,7 @@ public class EditarPlano extends AbstractPageBean {
private void showPlano(PlanoActuacao p)
{
gridArea = new HtmlPanelGrid();
gridArea.setId("gridArea");
gridArea.setColumns(1);
gridArea.setColumnClasses("gridColLeft");
gridArea.setWidth("100%");
@ -654,7 +469,15 @@ public class EditarPlano extends AbstractPageBean {
gridPlano.getChildren().add(gridArea);
Area a = p.getAreas().get(0);
showArea(a);
Risco r = a.getRiscos().get(0);
showRisco(r);
showValores(r);
showResponsavel(r);
}
private void showArea(Area a)
{
pg = new PanelGroup();
st = new StaticText();
st.setEscape(false);
@ -662,13 +485,18 @@ public class EditarPlano extends AbstractPageBean {
pg.getChildren().add(st);
gridArea.getChildren().add(pg);
}
private void showRisco(Risco r)
{
getSessionBean1().setCurrentRisco(r);
HtmlPanelGrid grd = new HtmlPanelGrid();
grd.setColumns(1);
grd.setWidth("100%");
grd.setStyleClass("centerBlock");
gridArea.getChildren().add(grd);
gridArea.getChildren().add(grd);
//Risco
gridRisco = new HtmlPanelGrid();
gridRisco.setStyleClass("centerBlock");
gridRisco.setWidth("98%");
@ -676,7 +504,6 @@ public class EditarPlano extends AbstractPageBean {
gridRisco.setColumnClasses("gridColLeft");
grd.getChildren().add(gridRisco);
Risco r = a.getRiscos().get(0);
pg = new PanelGroup();
st = new StaticText();
st.setEscape(false);
@ -684,15 +511,6 @@ public class EditarPlano extends AbstractPageBean {
pg.getChildren().add(st);
gridRisco.getChildren().add(pg);
showValores(r);
gridMedida = new HtmlPanelGrid();
gridMedida.setStyleClass("centerBlock");
gridMedida.setWidth("98%");
gridMedida.setColumns(1);
gridMedida.setColumnClasses("gridColLeft");
grd.getChildren().add(gridMedida);
}
private void showValores(Risco r)
@ -781,7 +599,123 @@ public class EditarPlano extends AbstractPageBean {
}
}
private void showResponsavel(Risco r)
{
gridResponsavel = new HtmlPanelGrid();
gridResponsavel.setId("gridResponsavel");
gridResponsavel.setWidth("100%");
gridResponsavel.setColumns(1);
gridResponsavel.setColumnClasses("gridColLeft");
gridArea.getChildren().add(gridResponsavel);
pg = new PanelGroup();
pg.setId("pgResponsavel");
st = new StaticText();
st.setEscape(false);
st.setStyleClass("label");
st.setText("Respons&aacute;vel de execu&ccedil;&atilde;o:");
pg.getChildren().add(st);
txtResponsavelExecucao = new TextField();
txtResponsavelExecucao.setId("txtResponsavel");
txtResponsavelExecucao.setColumns(100);
pg.getChildren().add(txtResponsavelExecucao);
gridResponsavel.getChildren().add(pg);
pg = new PanelGroup();
st = new StaticText();
st.setEscape(false);
st.setStyleClass("label");
st.setText("Recursos necess&aacute;rios &agrave; implementa&ccedil;&atilde;o da medida:");
pg.getChildren().add(st);
gridResponsavel.getChildren().add(pg);
txtRecursos = new TextArea();
txtRecursos.setId("txtRecursos");
txtRecursos.setColumns(200);
gridResponsavel.getChildren().add(txtRecursos);
HtmlPanelGrid grd = new HtmlPanelGrid();
grd.setColumns(2);
grd.setColumnClasses("gridCol15, gridCol85");
grd.setId("pgDtInicio");
grd.setStyle("width: 100%");
st = new StaticText();
st.setEscape(false);
st.setStyleClass("label");
st.setText("Data prevista de in&iacute;cio:");
grd.getChildren().add(st);
dtInicio = new Calendar();
dtInicio.setId("dtInicio");
grd.getChildren().add(dtInicio);
gridResponsavel.getChildren().add(grd);
grd = new HtmlPanelGrid();
grd.setColumns(2);
grd.setColumnClasses("gridCol15, gridCol85");
grd.setId("pgDtFim");
grd.setStyle("width: 100%");
st = new StaticText();
st.setEscape(false);
st.setStyleClass("label");
st.setText("Data prevista de conclus&atilde;o:");
grd.getChildren().add(st);
dtFim = new Calendar();
dtFim.setId("dtFim");
grd.getChildren().add(dtFim);
gridResponsavel.getChildren().add(grd);
}
private void setPagination()
{
StaticText st = null;
Class[] argtypes = new Class[1];
argtypes[0] = ActionEvent.class;
MethodExpression me = (MethodExpression)this.getApplication().getExpressionFactory().createMethodExpression(
getFacesContext().getELContext(), "#{EditarPlano.paginacao_actionListener}", null,argtypes);
if(grpPagination.getChildCount() > 0)
{
grpPagination.getChildren().clear();
}
Pagination pagination = getSessionBean1().getPagination();
Vector<Pagina> paginas = pagination.getPaginas();
for(Pagina pagina : paginas)
{
if(pagina.isPrevious())
{
pagina.addActionListener(new MethodExpressionActionListener(me));
grpPagination.getChildren().add(pagina);
st = new StaticText();
st.setEscape(false);
st.setText("&nbsp;");
grpPagination.getChildren().add(st);
}
else if(pagina.isNext())
{
st = new StaticText();
st.setEscape(false);
st.setText("&nbsp;");
grpPagination.getChildren().add(st);
pagina.addActionListener(new MethodExpressionActionListener(me));
grpPagination.getChildren().add(pagina);
}
else
{
pagina.addActionListener(new MethodExpressionActionListener(me));
grpPagination.getChildren().add(pagina);
if(pagina.getPage_nr().intValue() < pagination.totalPaginas() )
{
st = new StaticText();
st.setEscape(false);
st.setText("&nbsp;|&nbsp;");
grpPagination.getChildren().add(st);
}
}
}
}
public String butGravarPlano_action() {
// TODO: Process the action. Return value is a navigation
// case name where null will return to the same page.
@ -791,11 +725,79 @@ public class EditarPlano extends AbstractPageBean {
public String butGravarRisco_action() {
// TODO: Process the action. Return value is a navigation
// case name where null will return to the same page.
System.out.println("BUT NEXT RISCO");
try
{
Risco r = getSessionBean1().getCurrentRisco();
r = fillRiscoFields(r);
pdp.updateRisco(r);
Pagination pagination = getSessionBean1().getPagination();
r = pagination.nextRisco();
if(r != null)
{
gridPlano = (HtmlPanelGrid) gridLayout.findComponent("form1:gridPlano");
gridArea = (HtmlPanelGrid) gridPlano.findComponent("form1:gridArea");
if(gridArea.getChildren() != null)
{
gridArea.getChildren().clear();
}
Area a = getSessionBean1().getAreasHash().get( r.getArea_id() );
showArea(a);
showRisco(r);
showValores(r);
showResponsavel(r);
}
}
catch(Exception ex)
{
ex.printStackTrace();
}
//Risco r = getNextRisco(getSessionBean1().getPlanoId());
//fillRisco(r);
return null;
}
private Risco fillRiscoFields(Risco r)
{
gridArea = (HtmlPanelGrid) gridPlano.findComponent("form1:gridArea");
gridResponsavel = (HtmlPanelGrid) gridArea.findComponent("form1:gridResponsavel");
TextField txtResponsavel = (TextField) gridResponsavel.findComponent("_form1:txtResponsavel");
if(txtResponsavel != null)
{
if(txtResponsavel.getText() != null)
{
r.setResponsavel_execucao((String) txtResponsavel.getText());
}
}
TextArea txtRecursos = (TextArea) gridResponsavel.findComponent("_form1:txtRecursos");
if(txtRecursos != null)
{
if(txtRecursos.getText() != null)
{
r.setRecursos_necessarios((String) txtRecursos.getText());
}
}
Calendar dtInicio = (Calendar) gridResponsavel.findComponent("_form1:dtInicio");
if(dtInicio != null)
{
r.setData_inicio(dtInicio.getSelectedDate());
}
Calendar dtFim = (Calendar) gridResponsavel.findComponent("_form1:dtFim");
if(dtFim != null)
{
r.setData_fim(dtFim.getSelectedDate());
}
return r;
}
public String butEnviar_action() {
// TODO: Process the action. Return value is a navigation
@ -969,5 +971,43 @@ public class EditarPlano extends AbstractPageBean {
}
private void getRiscosByPlano(PlanoActuacao p)
{
HashMap areasHash = new HashMap();
HashMap riscosHash = new HashMap();
for(Area a : p.getAreas())
{
areasHash.put(a.getId(), a);
for(Risco r : a.getRiscos())
{
riscosHash.put(r.getId(), r);
}
}
getSessionBean1().setAreasHash(areasHash);
getSessionBean1().setRiscosHash(riscosHash);
}
public void paginacao_actionListener(ActionEvent e)
{
gridPlano = (HtmlPanelGrid) gridLayout.findComponent("form1:gridPlano");
gridArea = (HtmlPanelGrid) gridPlano.findComponent("form1:gridArea");
if(gridArea.getChildren() != null)
{
gridArea.getChildren().clear();
}
Pagina pagina = (Pagina) e.getSource();
Pagination pagination = getSessionBean1().getPagination();
Risco r = pagination.getRisco(pagina);
System.out.println("RISCO == " + r.getId().toString());
Area a = getSessionBean1().getAreasHash().get( r.getArea_id() );
showArea(a);
showRisco(r);
showValores(r);
showResponsavel(r);
}
}

@ -169,7 +169,7 @@ public class PlanosActuacao {
}
catch(Exception ex)
{
ex.printStackTrace();
}
return list;
}
@ -183,7 +183,7 @@ public class PlanosActuacao {
}
catch(Exception ex)
{
ex.printStackTrace();
}
return list;
}
@ -197,7 +197,7 @@ public class PlanosActuacao {
}
catch(Exception ex)
{
ex.printStackTrace();
}
return list;
}

@ -7,13 +7,13 @@
package planosactuacao;
import com.sun.rave.web.ui.appbase.AbstractSessionBean;
import db.entidades.Medida;
import db.entidades.Area;
import db.entidades.PlanoActuacao;
import db.entidades.PostoTrabalho;
import db.entidades.Risco;
import db.entidades.Utilizador;
import java.util.Vector;
import java.util.HashMap;
import javax.faces.FacesException;
import pagination.Pagination;
/**
* <p>Session scope data bean for your application. Create properties
@ -35,10 +35,8 @@ public class SessionBean1 extends AbstractSessionBean {
private Integer planoId;
private PlanoActuacao planoActuacao = null;
private Vector<Risco> riscos = new Vector<Risco>();
private Vector<Medida> medidas = new Vector<Medida>();
private Vector<PostoTrabalho> postos = new Vector<PostoTrabalho>();
private int riscosIdx = 0;
private Risco currentRisco = null;
private tabledataproviders.PlanosActualDataProvider planosActualDataProvider;
private tabledataproviders.PlanosSeguimentoDataProvider planosSeguimentoDataProvider;
@ -63,6 +61,10 @@ public class SessionBean1 extends AbstractSessionBean {
//fase
private int fase = 1;
private HashMap<Integer, Area> areasHash;
private HashMap<Integer, Risco> riscosHash;
private Pagination pagination = null;
/**
* <p>Construct a new session data bean instance.</p>
@ -208,38 +210,6 @@ public class SessionBean1 extends AbstractSessionBean {
this.planoId = planoId;
}
public Vector<Risco> getRiscos() {
return riscos;
}
public void setRiscos(Vector<Risco> riscos) {
this.riscos = riscos;
}
public Vector<Medida> getMedidas() {
return medidas;
}
public void setMedidas(Vector<Medida> medidas) {
this.medidas = medidas;
}
public Vector<PostoTrabalho> getPostos() {
return postos;
}
public void setPostos(Vector<PostoTrabalho> postos) {
this.postos = postos;
}
public int getRiscosIdx() {
return riscosIdx;
}
public void setRiscosIdx(int riscosIdx) {
this.riscosIdx = riscosIdx;
}
public Utilizador getCurrentUser() {
return currentUser;
}
@ -326,6 +296,39 @@ public class SessionBean1 extends AbstractSessionBean {
public void setIrParaOptions(com.sun.webui.jsf.model.Option[] irParaOptions) {
this.irParaOptions = irParaOptions;
}
}
public HashMap<Integer, Area> getAreasHash() {
return areasHash;
}
public void setAreasHash(HashMap<Integer, Area> areasHash) {
this.areasHash = areasHash;
}
public HashMap<Integer, Risco> getRiscosHash() {
return riscosHash;
}
public void setRiscosHash(HashMap<Integer, Risco> riscosHash) {
this.riscosHash = riscosHash;
}
public Pagination getPagination() {
return pagination;
}
public void setPagination(Pagination pagination) {
this.pagination = pagination;
}
public Risco getCurrentRisco() {
return currentRisco;
}
public void setCurrentRisco(Risco currentRisco) {
this.currentRisco = currentRisco;
}
}

@ -28,21 +28,10 @@
</webuijsf:head>
<webuijsf:body id="body1" style="-rave-layout: grid">
<webuijsf:form id="form1">
<h:panelGrid binding="#{Dummy.grid}" columns="1" id="grid" style="height: 72px; left: 216px; top: 24px; position: absolute; width: 96px"/>
<webuijsf:panelGroup id="groupPanel1">
<webuijsf:staticText escape="false" id="staticText1" styleClass="label" text="Enviar para:&amp;nbsp;"/>
<webuijsf:dropDown id="dropDown1" items="#{Dummy.dropDown1DefaultOptions.options}"/>
</webuijsf:panelGroup>
<webuijsf:textArea columns="60" id="txtParecer1" rows="4" style="left: 336px; top: 24px; position: absolute"/>
<h:panelGrid columnClasses="gridColLeft10,gridColLeft90" columns="2" id="gridPanel1"
style="height: 24px; left: 120px; top: 216px; position: absolute" width="240">
<webuijsf:staticText id="staticText3" styleClass="label" text="Parecer:"/>
<webuijsf:textArea columns="60" id="txtParecer3" rows="4"/>
<h:panelGrid columnClasses="gridColCenter" columns="1" id="gridPagination"
style="height: 24px; left: 144px; top: 216px; position: absolute; width: 60%" styleClass="centerBlock" width="408">
<webuijsf:panelGroup binding="#{Dummy.pgLink}" id="pgLink"/>
</h:panelGrid>
<webuijsf:panelGroup id="groupPanel2" style="left: 408px; top: 96px; position: absolute; width: 100%">
<webuijsf:staticText id="staticText2" styleClass="label" text="Parecer:"/>
<webuijsf:textArea columns="60" id="txtParecer2" rows="4"/>
</webuijsf:panelGroup>
</webuijsf:form>
</webuijsf:body>
</webuijsf:html>

@ -105,6 +105,10 @@
<webuijsf:staticText binding="#{EditarPlano.lblTop}" escape="false" id="lblTop" style="" styleClass="label"/>
<h:panelGrid binding="#{EditarPlano.gridLayout}" columnClasses="gridColLeft" columns="1" id="gridLayout"
style="height: 24px; width: 80%" styleClass="centerBlock"/>
<h:panelGrid binding="#{EditarPlano.gridPagination}" columnClasses="gridColCenter" columns="1" id="gridPagination"
style="height: 24px; width: 60%" styleClass="centerBlock" width="408">
<webuijsf:panelGroup binding="#{EditarPlano.grpPagination}" id="grpPagination"/>
</h:panelGrid>
<h:panelGrid binding="#{EditarPlano.gridValidar}" columns="1" id="gridValidar" style="height: 24px; width: 80%"
styleClass="centerBlock" width="408">
<h:panelGrid columnClasses="gridColLeft20,gridColLeft80" columns="2" id="gridValidar2" style="height: 24px; width: 100%">

Loading…
Cancel
Save