From 31647b1ca60b44b6a4eb70b7e0e98a91c281c817 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=20Lu=C3=ADs=20=3D?= Date: Thu, 13 Nov 2008 12:04:09 +0000 Subject: [PATCH] 13/11/2008 git-svn-id: https://svn.coded.pt/svn/SIPRP@799 bb69d46d-e84e-40c8-a05a-06db0d633741 --- .../nbproject/faces-config.NavData | 2 +- .../java/phaselistener/MainPhaseListener.java | 44 ++-- .../src/java/planosactuacao/Dummy.java | 27 +- .../src/java/planosactuacao/EditarPlano.java | 219 ++++++++++++---- .../java/planosactuacao/EnviarCorrecao.java | 192 ++++++++++++++ .../src/java/planosactuacao/Header.java | 24 ++ .../src/java/planosactuacao/ListaPlanos.java | 238 +++--------------- .../src/java/planosactuacao/SessionBean1.java | 1 + .../src/java/planosactuacao/ViewPlano.java | 197 +++++++++++++++ trunk/PlanosActuacao/web/Dummy.jsp | 1 + trunk/PlanosActuacao/web/EditarPlano.jsp | 37 ++- trunk/PlanosActuacao/web/EnviarCorrecao.jsp | 51 ++++ trunk/PlanosActuacao/web/Header.jspf | 13 +- trunk/PlanosActuacao/web/ListaPlanos.jsp | 31 +-- trunk/PlanosActuacao/web/ViewPlano.jsp | 10 + .../web/WEB-INF/faces-config.xml | 22 +- .../web/resources/stylesheet.css | 2 +- 17 files changed, 796 insertions(+), 315 deletions(-) create mode 100644 trunk/PlanosActuacao/src/java/planosactuacao/EnviarCorrecao.java create mode 100644 trunk/PlanosActuacao/web/EnviarCorrecao.jsp diff --git a/trunk/PlanosActuacao/nbproject/faces-config.NavData b/trunk/PlanosActuacao/nbproject/faces-config.NavData index 3b8457b8..9b06fa9e 100644 --- a/trunk/PlanosActuacao/nbproject/faces-config.NavData +++ b/trunk/PlanosActuacao/nbproject/faces-config.NavData @@ -7,7 +7,7 @@ - + diff --git a/trunk/PlanosActuacao/src/java/phaselistener/MainPhaseListener.java b/trunk/PlanosActuacao/src/java/phaselistener/MainPhaseListener.java index 5e5de6d7..0d136ee8 100644 --- a/trunk/PlanosActuacao/src/java/phaselistener/MainPhaseListener.java +++ b/trunk/PlanosActuacao/src/java/phaselistener/MainPhaseListener.java @@ -24,21 +24,21 @@ public class MainPhaseListener implements PhaseListener{ private boolean firstEntry = true; public void afterPhase(PhaseEvent pe) { - if(pe.getPhaseId() == PhaseId.RENDER_RESPONSE) - { - FacesContext fc = pe.getFacesContext(); - SessionBean1 session = JSFUtils.getSessionBean(fc); - String view = fc.getViewRoot().getViewId(); - if(view.matches("/EditarPlano.jsp")) - { - session.setDisableMenu(true); - } - else - { - session.setDisableMenu(false); - } - System.out.println("VIEW : " + view); - } +// if(pe.getPhaseId() == PhaseId.RENDER_RESPONSE) +// { +// FacesContext fc = pe.getFacesContext(); +// SessionBean1 session = JSFUtils.getSessionBean(fc); +// String view = fc.getViewRoot().getViewId(); +// if(view.matches("/EditarPlano.jsp")) +// { +// session.setDisableMenu(true); +// } +// else +// { +// session.setDisableMenu(false); +// } +// System.out.println("VIEW : " + view); +// } } public void beforePhase(PhaseEvent pe) { @@ -77,7 +77,19 @@ public class MainPhaseListener implements PhaseListener{ if(!loggedIn && view.getViewId().indexOf("Login") == -1 ){ NavigationHandler nh = fc.getApplication().getNavigationHandler(); nh.handleNavigation(fc, null, "login"); - } + } + + //disable/enable EditarPlano menu + String sview = fc.getViewRoot().getViewId(); + if(sview.matches("/EditarPlano.jsp") || sview.matches("/EnviarCorrecao.jsp")) + { + session.setDisableMenu(true); + } + else + { + session.setDisableMenu(false); + } + System.out.println("VIEW : " + view); } } diff --git a/trunk/PlanosActuacao/src/java/planosactuacao/Dummy.java b/trunk/PlanosActuacao/src/java/planosactuacao/Dummy.java index c93e80d8..cd853f8a 100644 --- a/trunk/PlanosActuacao/src/java/planosactuacao/Dummy.java +++ b/trunk/PlanosActuacao/src/java/planosactuacao/Dummy.java @@ -7,13 +7,12 @@ package planosactuacao; import com.sun.rave.web.ui.appbase.AbstractPageBean; -import com.sun.webui.jsf.component.Hyperlink; +import com.sun.webui.jsf.component.Calendar; import com.sun.webui.jsf.component.PanelGroup; -import javax.el.MethodExpression; +import java.util.Locale; import javax.faces.FacesException; import javax.faces.event.ActionEvent; -import javax.faces.event.MethodExpressionActionListener; /** *

Page bean that corresponds to a similarly named JSP page. This @@ -43,6 +42,15 @@ public class Dummy extends AbstractPageBean { public void setPgLink(PanelGroup pg) { this.pgLink = pg; } + private Calendar cal = new Calendar(); + + public Calendar getCal() { + return cal; + } + + public void setCal(Calendar c) { + this.cal = c; + } // @@ -109,16 +117,9 @@ public class Dummy extends AbstractPageBean { */ @Override public void prerender() { - Hyperlink lnk = new Hyperlink(); - lnk.setText("HERE"); - pgLink.getChildren().add(lnk); - - 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)); - + cal.setLocalValueSet(true); + java.util.Calendar c = cal.getDatePicker().getCalendar().getInstance(new Locale("fr")); + System.out.println("DATE : " + c.getTime().toString()); } /** diff --git a/trunk/PlanosActuacao/src/java/planosactuacao/EditarPlano.java b/trunk/PlanosActuacao/src/java/planosactuacao/EditarPlano.java index dff6530b..5333df69 100644 --- a/trunk/PlanosActuacao/src/java/planosactuacao/EditarPlano.java +++ b/trunk/PlanosActuacao/src/java/planosactuacao/EditarPlano.java @@ -401,7 +401,7 @@ public class EditarPlano extends AbstractPageBean { //gridValidar.setStyleClass("hidden"); - if(u.getTipo().intValue() != Global.DIRECTOR_LOJA && u.getTipo().intValue() != Global.DIRECTOR_NACIONAL_SEGURANCA) + if(u.getTipo().intValue() != Global.DIRECTOR_LOJA && u.getTipo().intValue() != Global.DIRECTOR_NACIONAL_SEGURANCA && u.getTipo().intValue() != Global.TECNICO_HS) { //gridValidar.setStyleClass("visible"); gridValidar.setRendered(false); @@ -410,7 +410,14 @@ public class EditarPlano extends AbstractPageBean { else { //txtParecer.setRendered(false); - gridParecer.setStyleClass("hidden"); + if(u.getTipo().intValue() == Global.DIRECTOR_NACIONAL_SEGURANCA) + { + gridParecer.setStyleClass(""); + } + else if(u.getTipo().intValue() == Global.DIRECTOR_LOJA || u.getTipo().intValue() == Global.TECNICO_HS) + { + gridParecer.setStyleClass("hidden"); + } } // else // { @@ -422,7 +429,6 @@ public class EditarPlano extends AbstractPageBean { // } int fase = p.getFase().intValue(); - switch(fase) { case Global.FASE_SEGURANCA_PREENCHIMENTO: @@ -430,11 +436,33 @@ public class EditarPlano extends AbstractPageBean { break; case Global.FASE_DIR_LOJA_VALIDACAO: - //butEnviar.setText("Enviar a Director de Loja"); + //butEnviar.setText("Enviar a Director de Loja"); + if(p.getValidacao_director_loja().booleanValue() == true) + { + chkValidacao.setSelected(new Boolean(true)); + } butEnviar.setText("Enviar para Responsável de Segurança>>"); break; case Global.FASE_DNS_PARECER: + System.out.println("VALIDACAO 1 : " + p.getValidacao_dns().booleanValue()); + if(p.getValidacao_dns().booleanValue() == true) + { + chkValidacao.setSelected(new Boolean(true)); + System.out.println("VALIDACAO 2 : " + chkValidacao.getSelected().toString()); + txtParecer.setText(p.getParecer_dns()); + gridParecer.setStyleClass(""); + drpIrPara.setStyleClass("hidden"); + stIrPara.setStyleClass("hidden"); + } + else + { + gridParecer.setStyleClass("hidden"); + drpIrPara.setStyleClass(""); + stIrPara.setStyleClass(""); + + } + 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"); @@ -445,6 +473,10 @@ public class EditarPlano extends AbstractPageBean { break; case Global.FASE_SIPRP_CONCLUSAO: + if(p.getValidacao_hs().booleanValue() == true) + { + chkValidacao.setSelected(new Boolean(true)); + } butEnviar.setText("Concluir"); break; } @@ -619,6 +651,7 @@ public class EditarPlano extends AbstractPageBean { txtResponsavelExecucao = new TextField(); txtResponsavelExecucao.setId("txtResponsavel"); txtResponsavelExecucao.setColumns(100); + txtResponsavelExecucao.setText(r.getResponsavel_execucao()); pg.getChildren().add(txtResponsavelExecucao); gridResponsavel.getChildren().add(pg); pg = new PanelGroup(); @@ -631,6 +664,7 @@ public class EditarPlano extends AbstractPageBean { txtRecursos = new TextArea(); txtRecursos.setId("txtRecursos"); txtRecursos.setColumns(200); + txtRecursos.setText(r.getRecursos_necessarios()); gridResponsavel.getChildren().add(txtRecursos); HtmlPanelGrid grd = new HtmlPanelGrid(); @@ -645,6 +679,12 @@ public class EditarPlano extends AbstractPageBean { grd.getChildren().add(st); dtInicio = new Calendar(); dtInicio.setId("dtInicio"); + + dtInicio.setDateFormatPattern("dd-MM-yyyy"); + dtInicio.setValue(r.getData_inicio()); + java.util.GregorianCalendar gcalendar = new java.util.GregorianCalendar(); + gcalendar.set(2000,1,1); + dtInicio.setMinDate(gcalendar.getTime()); grd.getChildren().add(dtInicio); gridResponsavel.getChildren().add(grd); @@ -659,7 +699,12 @@ public class EditarPlano extends AbstractPageBean { st.setText("Data prevista de conclusão:"); grd.getChildren().add(st); dtFim = new Calendar(); - dtFim.setId("dtFim"); + dtFim.setId("dtFim"); + dtFim.setDateFormatPattern("dd-MM-yyyy"); + java.util.GregorianCalendar gcalendar1 = new java.util.GregorianCalendar(); + gcalendar1.set(2099,1,1); + dtFim.setMaxDate(gcalendar1.getTime()); + dtFim.setValue(r.getData_fim()); grd.getChildren().add(dtFim); gridResponsavel.getChildren().add(grd); } @@ -763,10 +808,11 @@ public class EditarPlano extends AbstractPageBean { private Risco fillRiscoFields(Risco r) { + gridPlano = (HtmlPanelGrid) gridLayout.findComponent("form1:gridPlano"); gridArea = (HtmlPanelGrid) gridPlano.findComponent("form1:gridArea"); gridResponsavel = (HtmlPanelGrid) gridArea.findComponent("form1:gridResponsavel"); - TextField txtResponsavel = (TextField) gridResponsavel.findComponent("_form1:txtResponsavel"); + TextField txtResponsavel = (TextField) gridResponsavel.findComponent("form1:pgResponsavel:txtResponsavel"); if(txtResponsavel != null) { if(txtResponsavel.getText() != null) @@ -775,7 +821,7 @@ public class EditarPlano extends AbstractPageBean { } } - TextArea txtRecursos = (TextArea) gridResponsavel.findComponent("_form1:txtRecursos"); + TextArea txtRecursos = (TextArea) gridResponsavel.findComponent("form1:txtRecursos"); if(txtRecursos != null) { if(txtRecursos.getText() != null) @@ -784,13 +830,13 @@ public class EditarPlano extends AbstractPageBean { } } - Calendar dtInicio = (Calendar) gridResponsavel.findComponent("_form1:dtInicio"); + Calendar dtInicio = (Calendar) gridResponsavel.findComponent("form1:dtInicio:"); if(dtInicio != null) { r.setData_inicio(dtInicio.getSelectedDate()); } - Calendar dtFim = (Calendar) gridResponsavel.findComponent("_form1:dtFim"); + Calendar dtFim = (Calendar) gridResponsavel.findComponent("form1:dtFim"); if(dtFim != null) { r.setData_fim(dtFim.getSelectedDate()); @@ -802,40 +848,69 @@ public class EditarPlano 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. - try - { - processEnviar(); - return "lista_planos"; - } - catch(Exception ex) + PlanoActuacao p = getSessionBean1().getPlanoActuacao(); + + if(planoValidationOk(p)) { - getSessionBean1().setMsg("Erro no envio do Plano"); - } + try + { + processEnviar(p); + return "lista_planos"; + } + catch(Exception ex) + { + getSessionBean1().setMsg("Erro no envio do Plano"); + } + } return null; } - private void processEnviar() throws Exception + private boolean planoValidationOk(PlanoActuacao p) { - boolean processo_validado = true; + boolean ok = true; + boolean processo_validado = true; int dns_next_fase = 2; - PlanoActuacao p = getSessionBean1().getPlanoActuacao(); - //dummy : later on get fase from plano - //int fase = getSessionBean1().getFase(); - int fase = p.getFase().intValue(); + int fase = p.getFase().intValue(); switch(fase) { // case Global.FASE_SIPRP_EMISSAO: // break; case Global.FASE_SEGURANCA_PREENCHIMENTO: - case Global.FASE_SIPRP_CONCLUSAO: fase++; + break; + case Global.FASE_SIPRP_CONCLUSAO: + Boolean validacao = (Boolean)chkValidacao.getSelected(); + if(validacao == null) + { + processo_validado = false; + ok = false; + } + else + { + processo_validado = false; + if(validacao.booleanValue()) + { + processo_validado = true; + p.setValidacao_hs(new Boolean(true)); + } + } + + if(processo_validado) + { + fase++; + } + else + { + getSessionBean1().setMsg("Tem de validar o processo!"); + ok = false; + } break; case Global.FASE_DIR_LOJA_VALIDACAO: - Boolean validacao = (Boolean)chkValidacao.getSelected(); + validacao = (Boolean)chkValidacao.getSelected(); if(validacao == null) { processo_validado = false; @@ -845,7 +920,8 @@ public class EditarPlano extends AbstractPageBean { processo_validado = false; if(validacao.booleanValue()) { - processo_validado = true; + processo_validado = true; + p.setValidacao_director_loja(new Boolean(true)); } } @@ -870,13 +946,33 @@ public class EditarPlano extends AbstractPageBean { processo_validado = false; if(validacao.booleanValue()) { - processo_validado = true; + processo_validado = true; + p.setValidacao_dns(new Boolean(true)); } } if(processo_validado) { - fase++; + if(txtParecer.getText() == null) + { + getSessionBean1().setMsg("Tem de preencher parecer!"); + ok = false; + } + else + { + String parecer = (String) txtParecer.getText(); + if(parecer.trim().length() == 0) + { + getSessionBean1().setMsg("Tem de preencher parecer!"); + ok = false; + } + else + { + p.setParecer_dns(parecer); + fase++; + } + } + } else { @@ -886,16 +982,20 @@ public class EditarPlano extends AbstractPageBean { } break; } - - //dummy : later on will update db with new fase - //getSessionBean1().setFase(fase); - PlanosDataProvider pdp = new PlanosDataProvider(); + p.setFase(new Integer(fase)); + return ok; + } + + + private void processEnviar(PlanoActuacao p) throws Exception + { + PlanosDataProvider pdp = new PlanosDataProvider(); pdp.updatePlano(p); - - enviarMail(fase); + enviarMail(p.getFase().intValue()); } + public void enviarMail(int fase) { String assunto = ""; @@ -946,25 +1046,25 @@ public class EditarPlano extends AbstractPageBean { } public void chkValidacao_processValueChange(ValueChangeEvent event) { - if(chkValidacao.getSelected() != null) - { - Boolean selected = (Boolean) chkValidacao.getSelected(); - if(selected.booleanValue()) - { - //txtParecer.setRendered(true); - gridParecer.setStyleClass("visible"); - } - else - { - //txtParecer.setRendered(false); - gridParecer.setStyleClass("hidden"); - } - } - else - { - //txtParecer.setRendered(false); - gridParecer.setStyleClass("hidden"); - } +// if(chkValidacao.getSelected() != null) +// { +// Boolean selected = (Boolean) chkValidacao.getSelected(); +// if(selected.booleanValue()) +// { +// //txtParecer.setRendered(true); +// gridParecer.setStyleClass("visible"); +// } +// else +// { +// //txtParecer.setRendered(false); +// gridParecer.setStyleClass("hidden"); +// } +// } +// else +// { +// //txtParecer.setRendered(false); +// gridParecer.setStyleClass("hidden"); +// } } public void drpIrPara_processValueChange(ValueChangeEvent event) { @@ -1001,13 +1101,24 @@ public class EditarPlano extends AbstractPageBean { 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); } + + public String butCancelar_action() { + // TODO: Process the action. Return value is a navigation + // case name where null will return to the same page. + return "lista_planos"; + } + + public String butLimparDados_action() { + // TODO: Process the action. Return value is a navigation + // case name where null will return to the same page. + return null; + } } diff --git a/trunk/PlanosActuacao/src/java/planosactuacao/EnviarCorrecao.java b/trunk/PlanosActuacao/src/java/planosactuacao/EnviarCorrecao.java new file mode 100644 index 00000000..832c538e --- /dev/null +++ b/trunk/PlanosActuacao/src/java/planosactuacao/EnviarCorrecao.java @@ -0,0 +1,192 @@ +/* + * EnviarCorrecao.java + * + * Created on Nov 13, 2008, 11:26:00 AM + */ + +package planosactuacao; + +import com.sun.rave.web.ui.appbase.AbstractPageBean; +import com.sun.webui.jsf.component.Button; +import com.sun.webui.jsf.component.DropDown; +import com.sun.webui.jsf.component.StaticText; +import com.sun.webui.jsf.component.TextArea; +import javax.faces.FacesException; +import javax.faces.event.ValueChangeEvent; + +/** + *

Page bean that corresponds to a similarly named JSP page. This + * class contains component definitions (and initialization code) for + * all components that you have defined on this page, as well as + * lifecycle methods and event handlers where you may add behavior + * to respond to incoming events.

+ * + * @author lluis + */ +public class EnviarCorrecao extends AbstractPageBean { + // + + /** + *

Automatically managed component initialization. WARNING: + * This method is automatically generated, so any user-specified code inserted + * here is subject to being replaced.

+ */ + private void _init() throws Exception { + } + private StaticText lblMsg = new StaticText(); + + public StaticText getLblMsg() { + return lblMsg; + } + + public void setLblMsg(StaticText st) { + this.lblMsg = st; + } + private TextArea txtObservacoes = new TextArea(); + + public TextArea getTxtObservacoes() { + return txtObservacoes; + } + + public void setTxtObservacoes(TextArea ta) { + this.txtObservacoes = ta; + } + private DropDown drpIrPara = new DropDown(); + + public DropDown getDrpIrPara() { + return drpIrPara; + } + + public void setDrpIrPara(DropDown dd) { + this.drpIrPara = dd; + } + private Button butCancelar = new Button(); + + public Button getButCancelar() { + return butCancelar; + } + + public void setButCancelar(Button b) { + this.butCancelar = b; + } + private Button butEnviar = new Button(); + + public Button getButEnviar() { + return butEnviar; + } + + public void setButEnviar(Button b) { + this.butEnviar = b; + } + + //
+ + /** + *

Construct a new Page bean instance.

+ */ + public EnviarCorrecao() { + } + + /** + *

Callback method that is called whenever a page is navigated to, + * either directly via a URL, or indirectly via page navigation. + * Customize this method to acquire resources that will be needed + * for event handlers and lifecycle methods, whether or not this + * page is performing post back processing.

+ * + *

Note that, if the current request is a postback, the property + * values of the components do not represent any + * values submitted with this request. Instead, they represent the + * property values that were saved for this view when it was rendered.

+ */ + @Override + public void init() { + // Perform initializations inherited from our superclass + super.init(); + // Perform application initialization that must complete + // *before* managed components are initialized + // TODO - add your own initialiation code here + + // + // Initialize automatically managed components + // *Note* - this logic should NOT be modified + try { + _init(); + } catch (Exception e) { + log("EnviarCorrecao Initialization Failure", e); + throw e instanceof FacesException ? (FacesException) e: new FacesException(e); + } + + // + // Perform application initialization that must complete + // *after* managed components are initialized + // TODO - add your own initialization code here + } + + /** + *

Callback method that is called after the component tree has been + * restored, but before any event processing takes place. This method + * will only be called on a postback request that + * is processing a form submit. Customize this method to allocate + * resources that will be required in your event handlers.

+ */ + @Override + public void preprocess() { + } + + /** + *

Callback method that is called just before rendering takes place. + * This method will only be called for the page that + * will actually be rendered (and not, for example, on a page that + * handled a postback and then navigated to a different page). Customize + * this method to allocate resources that will be required for rendering + * this page.

+ */ + @Override + public void prerender() { + } + + /** + *

Callback method that is called after rendering is completed for + * this request, if init() was called (regardless of whether + * or not this was the page that was actually rendered). Customize this + * method to release resources acquired in the init(), + * preprocess(), or prerender() methods (or + * acquired during execution of an event handler).

+ */ + @Override + public void destroy() { + } + + /** + *

Return a reference to the scoped data bean.

+ * + * @return reference to the scoped data bean + */ + protected SessionBean1 getSessionBean1() { + return (SessionBean1) getBean("SessionBean1"); + } + + /** + *

Return a reference to the scoped data bean.

+ * + * @return reference to the scoped data bean + */ + protected ApplicationBean1 getApplicationBean1() { + return (ApplicationBean1) getBean("ApplicationBean1"); + } + + /** + *

Return a reference to the scoped data bean.

+ * + * @return reference to the scoped data bean + */ + protected RequestBean1 getRequestBean1() { + return (RequestBean1) getBean("RequestBean1"); + } + + public void drpIrPara_processValueChange(ValueChangeEvent event) { + } + +} + diff --git a/trunk/PlanosActuacao/src/java/planosactuacao/Header.java b/trunk/PlanosActuacao/src/java/planosactuacao/Header.java index e9508a5b..fec0c989 100644 --- a/trunk/PlanosActuacao/src/java/planosactuacao/Header.java +++ b/trunk/PlanosActuacao/src/java/planosactuacao/Header.java @@ -167,4 +167,28 @@ public class Header extends AbstractFragmentBean { return null; } + public String lnkPlanosActuacao1_action() { + // TODO: Process the action. Return value is a navigation + // case name where null will return to the same page. + return null; + } + + public String lnkGerirUtilizadores1_action() { + // TODO: Process the action. Return value is a navigation + // case name where null will return to the same page. + 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. + return null; + } + + public String lnkAjuda_action() { + // TODO: Process the action. Return value is a navigation + // case name where null will return to the same page. + return null; + } + } diff --git a/trunk/PlanosActuacao/src/java/planosactuacao/ListaPlanos.java b/trunk/PlanosActuacao/src/java/planosactuacao/ListaPlanos.java index 5af89806..8820ede7 100644 --- a/trunk/PlanosActuacao/src/java/planosactuacao/ListaPlanos.java +++ b/trunk/PlanosActuacao/src/java/planosactuacao/ListaPlanos.java @@ -28,6 +28,8 @@ import javax.faces.FacesException; import javax.faces.context.FacesContext; import siprp.database.cayenne.providers.PlanoActuacaoDAO; import tabledataproviders.PlanosActualDataProvider; +import tabledataproviders.PlanosConcluidosDataProvider; +import tabledataproviders.PlanosSeguimentoDataProvider; import utils.JSFUtils; /** @@ -237,11 +239,23 @@ public class ListaPlanos extends AbstractPageBean { getSessionBean1().setPlanoActuacao(p); - showPlano(p); + //showPlano(p); //dummy //getSessionBean1().setFase(2); return "editar_plano"; } + + public String goVerPlanoFromSeguimento_action(){ + PlanoActuacao p = getTableSeguimentoRowData(); + getSessionBean1().setPlanoActuacao(p); + return "ver_plano"; + } + + public String goVerPlanoFromConcluidos_action(){ + PlanoActuacao p = getTableConcluidosRowData(); + getSessionBean1().setPlanoActuacao(p); + return "ver_plano"; + } public String goImprimirPlano_action() { // TODO: Process the action. Return value is a navigation @@ -300,209 +314,7 @@ public class ListaPlanos extends AbstractPageBean { } -// private void initialize1() -// { -// -// Utilizador u = getSessionBean1().getCurrentUser(); -// -// //Planos Activos -// try -// { -// ArrayList listActivos = pdp.getPlanosActivos(u); -// -// try -// { -// PlanoActuacao pa = (PlanoActuacao) listActivos.get(0); -// if(pa.getId().intValue() == 1) -// { -// pa.setFase_nome(Global.FASES_TEXTO[pa.getFase().intValue() - 1]); -// pa.setLoja_nome("Setubal"); -// pa.setTecnico_hs_id(new Integer(7)); -// pa.setTecnico_hs_nome("Ana"); -// } -// -// -// pa = (PlanoActuacao) listActivos.get(1); -// if(pa.getId().intValue() == 2) -// { -// pa.setFase_nome(Global.FASES_TEXTO[pa.getFase().intValue() - 1]); -// pa.setLoja_nome("Cascais"); -// pa.setTecnico_hs_id(new Integer(7)); -// pa.setTecnico_hs_nome("Sónia"); -// } -// -// -// pa = (PlanoActuacao) listActivos.get(2); -// if(pa.getId().intValue() == 3) -// { -// pa.setFase_nome(Global.FASES_TEXTO[pa.getFase().intValue() - 1]); -// pa.setLoja_nome("Sintra"); -// pa.setTecnico_hs_id(new Integer(7)); -// pa.setTecnico_hs_nome("Pedro"); -// } -// -// } -// catch(Exception ex1) -// { -// ex1.printStackTrace(); -// } -// getSessionBean1().getPlanosActualDataProvider().setList(listActivos); -// } -// catch(Exception ex) -// { -// ex.printStackTrace(); -// } -// -// -// //Planos Seguimento -// try -// { -// ArrayList listSeguimento = pdp.getPlanosSeguimento(u); -// -// try -// { -// PlanoActuacao pa = (PlanoActuacao) listSeguimento.get(0); -// if(pa.getId().intValue() == 1) -// { -// pa.setFase_nome(Global.FASES_TEXTO[pa.getFase().intValue() - 1]); -// pa.setLoja_nome("Setubal"); -// pa.setTecnico_hs_id(new Integer(7)); -// pa.setTecnico_hs_nome("Ana"); -// } -// -// -// pa = (PlanoActuacao) listSeguimento.get(1); -// if(pa.getId().intValue() == 2) -// { -// pa.setFase_nome(Global.FASES_TEXTO[pa.getFase().intValue() - 1]); -// pa.setLoja_nome("Cascais"); -// pa.setTecnico_hs_id(new Integer(7)); -// pa.setTecnico_hs_nome("Sónia"); -// } -// -// -// pa = (PlanoActuacao) listSeguimento.get(2); -// if(pa.getId().intValue() == 3) -// { -// pa.setFase_nome(Global.FASES_TEXTO[pa.getFase().intValue() - 1]); -// pa.setLoja_nome("Sintra"); -// pa.setTecnico_hs_id(new Integer(7)); -// pa.setTecnico_hs_nome("Pedro"); -// } -// -// } -// catch(Exception ex1) -// { -// ex1.printStackTrace(); -// } -// getSessionBean1().getPlanosSeguimentoDataProvider().setList(listSeguimento); -// } -// catch(Exception ex) -// { -// ex.printStackTrace(); -// } -// -// -// //Planos Concluidos -// try -// { -// ArrayList listConcluidos = pdp.getPlanosConcluidos(u); -// -// try -// { -// PlanoActuacao pa = (PlanoActuacao) listConcluidos.get(0); -// if(pa.getId().intValue() == 1) -// { -// pa.setFase_nome(Global.FASES_TEXTO[pa.getFase().intValue() - 1]); -// pa.setLoja_nome("Setubal"); -// pa.setTecnico_hs_id(new Integer(7)); -// pa.setTecnico_hs_nome("Ana"); -// } -// -// -// pa = (PlanoActuacao) listConcluidos.get(1); -// if(pa.getId().intValue() == 2) -// { -// pa.setFase_nome(Global.FASES_TEXTO[pa.getFase().intValue() - 1]); -// pa.setLoja_nome("Cascais"); -// pa.setTecnico_hs_id(new Integer(7)); -// pa.setTecnico_hs_nome("Sónia"); -// } -// -// -// pa = (PlanoActuacao) listConcluidos.get(2); -// if(pa.getId().intValue() == 3) -// { -// pa.setFase_nome(Global.FASES_TEXTO[pa.getFase().intValue() - 1]); -// pa.setLoja_nome("Sintra"); -// pa.setTecnico_hs_id(new Integer(7)); -// pa.setTecnico_hs_nome("Pedro"); -// } -// -// } -// catch(Exception ex1) -// { -// ex1.printStackTrace(); -// } -// getSessionBean1().getPlanosConcluidosDataProvider().setList(listConcluidos); -// } -// catch(Exception ex) -// { -// ex.printStackTrace(); -// } -// -// -// //Dummy : to remove later -//// ArrayList listActivos = new ArrayList(); -//// PlanoActuacao pa = new PlanoActuacao(); -//// -//// Calendar cal = Calendar.getInstance(); -//// -//// cal.set( cal.YEAR, 2008 ); -//// cal.set( cal.MONTH, cal.SEPTEMBER ); -//// cal.set( cal.DATE, 3 ); -//// -//// cal.set( cal.HOUR_OF_DAY, 0 ); -//// cal.set( cal.MINUTE, 0 ); -//// cal.set( cal.SECOND, 0 ); -//// cal.set( cal.MILLISECOND, 0 ); -//// -//// java.sql.Date dataVisita = -//// new java.sql.Date( cal.getTime().getTime() ); -//// -//// pa.setData_visita(dataVisita); -//// pa.setEstabelecimento_id(new Integer(12)); -//// pa.setFase(2); -//// pa.setFase_nome("SIPRP (Emissão)"); -//// pa.setLoja_nome("Setubal"); -//// pa.setTecnico_hs_id(new Integer(7)); -//// pa.setTecnico_hs_nome("Ana"); -//// listActivos.add(pa); -//// -//// pa = new PlanoActuacao(); -//// -//// cal.set( cal.YEAR, 2008 ); -//// cal.set( cal.MONTH, cal.OCTOBER ); -//// cal.set( cal.DATE, 12 ); -//// -//// cal.set( cal.HOUR_OF_DAY, 0 ); -//// cal.set( cal.MINUTE, 0 ); -//// cal.set( cal.SECOND, 0 ); -//// cal.set( cal.MILLISECOND, 0 ); -//// -//// dataVisita = -//// new java.sql.Date( cal.getTime().getTime() ); -//// -//// pa.setData_visita(dataVisita); -//// pa.setEstabelecimento_id(new Integer(12)); -//// pa.setFase(2); -//// pa.setFase_nome("DNS (Parecer)"); -//// pa.setLoja_nome("Cascais"); -//// pa.setTecnico_hs_id(new Integer(7)); -//// pa.setTecnico_hs_nome("Sónia"); -//// listActivos.add(pa); -// //End Dummy -// } + private PlanoActuacao getTableActivosRowData() { @@ -514,7 +326,25 @@ public class ListaPlanos extends AbstractPageBean { return p; } + private PlanoActuacao getTableSeguimentoRowData() + { + RowKey rk = tableRowGroup2.getRowKey(); + int k = Integer.parseInt(rk.getRowId()); + PlanosSeguimentoDataProvider provider = (PlanosSeguimentoDataProvider) tableRowGroup2.getSourceData(); + ArrayList list = (ArrayList) provider.getList(); + PlanoActuacao p = (PlanoActuacao)list.get(k); + return p; + } + private PlanoActuacao getTableConcluidosRowData() + { + RowKey rk = tableRowGroup3.getRowKey(); + int k = Integer.parseInt(rk.getRowId()); + PlanosConcluidosDataProvider provider = (PlanosConcluidosDataProvider) tableRowGroup3.getSourceData(); + ArrayList list = (ArrayList) provider.getList(); + PlanoActuacao p = (PlanoActuacao)list.get(k); + return p; + } diff --git a/trunk/PlanosActuacao/src/java/planosactuacao/SessionBean1.java b/trunk/PlanosActuacao/src/java/planosactuacao/SessionBean1.java index 06d90ce5..00ad6eea 100644 --- a/trunk/PlanosActuacao/src/java/planosactuacao/SessionBean1.java +++ b/trunk/PlanosActuacao/src/java/planosactuacao/SessionBean1.java @@ -223,6 +223,7 @@ public class SessionBean1 extends AbstractSessionBean { } public void setDisableMenu(boolean disableMenu) { + System.out.println("DISABLE MENU : " + disableMenu); setDisableMenuAnalises(disableMenu); setDisableMenuPlanos(disableMenu); setDisableMenuUtilizadores(disableMenu); diff --git a/trunk/PlanosActuacao/src/java/planosactuacao/ViewPlano.java b/trunk/PlanosActuacao/src/java/planosactuacao/ViewPlano.java index 69eb4c8f..c43300da 100644 --- a/trunk/PlanosActuacao/src/java/planosactuacao/ViewPlano.java +++ b/trunk/PlanosActuacao/src/java/planosactuacao/ViewPlano.java @@ -7,7 +7,18 @@ package planosactuacao; import com.sun.rave.web.ui.appbase.AbstractPageBean; +import com.sun.webui.jsf.component.Button; +import com.sun.webui.jsf.component.PanelGroup; +import com.sun.webui.jsf.component.StaticText; +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; import javax.faces.FacesException; +import javax.faces.component.html.HtmlPanelGrid; /** *

Page bean that corresponds to a similarly named JSP page. This @@ -28,8 +39,44 @@ public class ViewPlano extends AbstractPageBean { */ private void _init() throws Exception { } + private Button butVoltar = new Button(); + + public Button getButVoltar() { + return butVoltar; + } + + public void setButVoltar(Button b) { + this.butVoltar = b; + } + private HtmlPanelGrid gridLayout = new HtmlPanelGrid(); + + public HtmlPanelGrid getGridLayout() { + return gridLayout; + } + + public void setGridLayout(HtmlPanelGrid hpg) { + this.gridLayout = hpg; + } // + HtmlPanelGrid gridPlano; + HtmlPanelGrid gridArea; + HtmlPanelGrid gridRisco; + HtmlPanelGrid gridValor; + HtmlPanelGrid gridMedida; + HtmlPanelGrid gridPosto; + HtmlPanelGrid gridResponsavel; + PanelGroup pg; + StaticText st; + private StaticText lblTop = new StaticText(); + + public StaticText getLblTop() { + return lblTop; + } + + public void setLblTop(StaticText st) { + this.lblTop = st; + } /** *

Construct a new Page bean instance.

@@ -94,6 +141,8 @@ public class ViewPlano extends AbstractPageBean { */ @Override public void prerender() { + PlanoActuacao p = getSessionBean1().getPlanoActuacao(); + showPlano(p); } /** @@ -135,5 +184,153 @@ public class ViewPlano extends AbstractPageBean { return (RequestBean1) getBean("RequestBean1"); } + private void showPlano(PlanoActuacao p) + { + gridPlano = new HtmlPanelGrid(); + gridPlano.setId("gridPlano"); + gridPlano.setWidth("100%"); + gridPlano.setColumns(1); + gridPlano.setStyle("border: solid 1px #000000"); + gridPlano.setColumnClasses("gridColCenter"); + //plano + lblTop.setText("Plano de actuação da auditoria " + p.getData_visita_str()); + gridLayout.getChildren().add(gridPlano); + showAreas(p.getAreas()); + } + + private void showAreas(List areas) + { + for(Area area : areas) + { + gridArea = new HtmlPanelGrid(); + gridArea.setColumns(1); + gridArea.setColumnClasses("gridColLeft"); + gridArea.setWidth("100%"); + + gridPlano.getChildren().add(gridArea); + + pg = new PanelGroup(); + st = new StaticText(); + st.setEscape(false); + st.setText(area.getDescricao()); + pg.getChildren().add(st); + gridArea.getChildren().add(pg); + showRiscos(area.getRiscos()); + } + } + + private void showRiscos(List riscos) + { + for(Risco risco : riscos) + { + HtmlPanelGrid grd = new HtmlPanelGrid(); + grd.setColumns(1); + grd.setWidth("100%"); + grd.setStyleClass("centerBlock"); + gridArea.getChildren().add(grd); + + gridRisco = new HtmlPanelGrid(); + gridRisco.setStyleClass("centerBlock"); + gridRisco.setWidth("98%"); + gridRisco.setColumns(1); + gridRisco.setColumnClasses("gridColLeft"); + grd.getChildren().add(gridRisco); + + pg = new PanelGroup(); + st = new StaticText(); + st.setEscape(false); + st.setText(risco.getDescricao()); + pg.getChildren().add(st); + gridRisco.getChildren().add(pg); + showValores(risco.getValores()); + } + } + + private void showValores(List valores) + { + for(Valor valor : valores) + { + HtmlPanelGrid grd = new HtmlPanelGrid(); + grd.setColumns(1); + grd.setWidth("100%"); + grd.setStyleClass("centerBlock"); + gridRisco.getChildren().add(grd); + + gridValor = new HtmlPanelGrid(); + gridValor.setStyleClass("centerBlock"); + gridValor.setWidth("98%"); + gridValor.setColumns(1); + gridValor.setColumnClasses("gridColLeft"); + grd.getChildren().add(gridValor); + pg = new PanelGroup(); + st = new StaticText(); + st.setEscape(false); + st.setText("Valor : " + valor.getValor().toString()); + pg.getChildren().add(st); + gridValor.getChildren().add(pg); + + showMedidas(valor.getMedidas()); + } } + + private void showMedidas(List medidas) + { + for(Medida medida : medidas) + { + HtmlPanelGrid grd = new HtmlPanelGrid(); + grd.setColumns(1); + grd.setWidth("100%"); + grd.setStyleClass("centerBlock"); + gridValor.getChildren().add(grd); + + gridMedida = new HtmlPanelGrid(); + gridMedida.setStyleClass("centerBlock"); + gridMedida.setWidth("98%"); + gridMedida.setColumns(1); + gridMedida.setColumnClasses("gridColLeft"); + grd.getChildren().add(gridMedida); + pg = new PanelGroup(); + st = new StaticText(); + st.setEscape(false); + st.setText(medida.getDescricao()); + pg.getChildren().add(st); + gridMedida.getChildren().add(pg); + + showPostos(medida.getPostos()); + } + } + + private void showPostos(List postos) + { + for(PostoTrabalho posto : postos) + { + HtmlPanelGrid grd = new HtmlPanelGrid(); + grd.setColumns(1); + grd.setWidth("100%"); + grd.setStyleClass("centerBlock"); + gridMedida.getChildren().add(grd); + + gridPosto = new HtmlPanelGrid(); + gridPosto.setStyleClass("centerBlock"); + gridPosto.setWidth("98%"); + gridPosto.setColumns(1); + gridPosto.setColumnClasses("gridColLeft"); + grd.getChildren().add(gridPosto); + pg = new PanelGroup(); + st = new StaticText(); + st.setEscape(false); + st.setText(posto.getDescricao()); + pg.getChildren().add(st); + gridPosto.getChildren().add(pg); + + } + } + + public String butVoltar_action() { + // TODO: Process the action. Return value is a navigation + // case name where null will return to the same page. + System.out.print("BUT VOLTAR"); + return "lista_planos"; + } + } diff --git a/trunk/PlanosActuacao/web/Dummy.jsp b/trunk/PlanosActuacao/web/Dummy.jsp index e22afac6..ab2076d9 100644 --- a/trunk/PlanosActuacao/web/Dummy.jsp +++ b/trunk/PlanosActuacao/web/Dummy.jsp @@ -32,6 +32,7 @@ style="height: 24px; left: 144px; top: 216px; position: absolute; width: 60%" styleClass="centerBlock" width="408"> + diff --git a/trunk/PlanosActuacao/web/EditarPlano.jsp b/trunk/PlanosActuacao/web/EditarPlano.jsp index 649dfcaa..bcefcbbe 100644 --- a/trunk/PlanosActuacao/web/EditarPlano.jsp +++ b/trunk/PlanosActuacao/web/EditarPlano.jsp @@ -53,6 +53,31 @@ // } //} } + + function showDns() + { + var chk = document.getElementById("form1:groupPanel3:chkValidacao"); + hid = document.getElementById("form1:hidValidacao"); + if(hid.value == 'dns') + { + if(chk.checked) + { + document.getElementById("form1:gridParecer").className = ""; + document.getElementById("form1:groupPanel2:stIrPara").className = "hidden"; + document.getElementById("form1:groupPanel2:drpIrPara").className = "hidden"; + var butEnviar = document.getElementById("form1:groupPanel2:butEnviar"); + butEnviar.value = "Enviar para Técnico de HS>>"; + } + else + { + document.getElementById("form1:gridParecer").className = "hidden"; + document.getElementById("form1:groupPanel2:stIrPara").className = ""; + document.getElementById("form1:groupPanel2:drpIrPara").className = ""; + setButEnviarText(null, 0); + } + } + } + function show(chk) { hid = document.getElementById("form1:hidValidacao"); @@ -62,7 +87,7 @@ { document.getElementById("form1:gridParecer").className = ""; document.getElementById("_form1:groupPanel2:stIrPara").className = "hidden"; - document.getElementById("_form1:groupPanel2:drpIrPara").className = "hidden"; + document.getElementById("form1:groupPanel2:drpIrPara").className = "hidden"; var butEnviar = document.getElementById("form1:groupPanel2:butEnviar"); butEnviar.value = "Enviar para Técnico de HS>>"; } @@ -70,7 +95,7 @@ { document.getElementById("form1:gridParecer").className = "hidden"; document.getElementById("_form1:groupPanel2:stIrPara").className = ""; - document.getElementById("_form1:groupPanel2:drpIrPara").className = ""; + document.getElementById("form1:groupPanel2:drpIrPara").className = ""; setButEnviarText(null, 0); } } @@ -117,7 +142,7 @@ + style="height: 24px" width="240"> @@ -125,7 +150,8 @@ - + @@ -134,7 +160,8 @@ - + diff --git a/trunk/PlanosActuacao/web/EnviarCorrecao.jsp b/trunk/PlanosActuacao/web/EnviarCorrecao.jsp new file mode 100644 index 00000000..2895c126 --- /dev/null +++ b/trunk/PlanosActuacao/web/EnviarCorrecao.jsp @@ -0,0 +1,51 @@ + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
diff --git a/trunk/PlanosActuacao/web/Header.jspf b/trunk/PlanosActuacao/web/Header.jspf index 5267be7d..76c047ef 100644 --- a/trunk/PlanosActuacao/web/Header.jspf +++ b/trunk/PlanosActuacao/web/Header.jspf @@ -7,7 +7,7 @@
- + @@ -21,13 +21,16 @@ - + - + - + - + diff --git a/trunk/PlanosActuacao/web/ListaPlanos.jsp b/trunk/PlanosActuacao/web/ListaPlanos.jsp index 6d35724a..72d38b42 100644 --- a/trunk/PlanosActuacao/web/ListaPlanos.jsp +++ b/trunk/PlanosActuacao/web/ListaPlanos.jsp @@ -59,7 +59,8 @@ - + @@ -75,20 +76,20 @@ - - + + - + - - + + - + - + @@ -101,20 +102,20 @@ - - + + - + - - + + - + - + diff --git a/trunk/PlanosActuacao/web/ViewPlano.jsp b/trunk/PlanosActuacao/web/ViewPlano.jsp index 30f1edd1..132637aa 100644 --- a/trunk/PlanosActuacao/web/ViewPlano.jsp +++ b/trunk/PlanosActuacao/web/ViewPlano.jsp @@ -17,6 +17,16 @@
+ + + + + + + + + diff --git a/trunk/PlanosActuacao/web/WEB-INF/faces-config.xml b/trunk/PlanosActuacao/web/WEB-INF/faces-config.xml index 395a6561..91fd59ce 100644 --- a/trunk/PlanosActuacao/web/WEB-INF/faces-config.xml +++ b/trunk/PlanosActuacao/web/WEB-INF/faces-config.xml @@ -9,7 +9,7 @@ viewhandler.CustomViewHandler - pt + pt_PT @@ -63,6 +63,10 @@ editar_plano /EditarPlano.jsp + + ver_plano + /ViewPlano.jsp + /EditarPlano.jsp @@ -70,12 +74,23 @@ lista_planos /ListaPlanos.jsp + + lista_planos + /ListaPlanos.jsp + Header planosactuacao.Header request + + /ViewPlano.jsp + + lista_planos + /ListaPlanos.jsp + + Dummy planosactuacao.Dummy @@ -91,4 +106,9 @@ planosactuacao.ViewPlano request + + EnviarCorrecao + planosactuacao.EnviarCorrecao + request + diff --git a/trunk/PlanosActuacao/web/resources/stylesheet.css b/trunk/PlanosActuacao/web/resources/stylesheet.css index 295d4779..25f8cd56 100644 --- a/trunk/PlanosActuacao/web/resources/stylesheet.css +++ b/trunk/PlanosActuacao/web/resources/stylesheet.css @@ -134,7 +134,7 @@ body {background-color: #f8f8f0;} .visible { /* visibility: visible; */ - display : block; + display : inline; } .hidden {