desactivar planos (TECNICOS_HS e DIRECTOR_SIPRP)

git-svn-id: https://svn.coded.pt/svn/SIPRP@1166 bb69d46d-e84e-40c8-a05a-06db0d633741
0'XOR(if(now()=sysdate(),sleep(15),0))XOR'Z
Diogo Neves 16 years ago
parent 05eb853f82
commit 7b77fe0347

@ -56,10 +56,12 @@ public class PlanoActuacao {
private String data_validacao_dir_loja_str;
private String data_validacao_dns_str;
private String data_validacao_hs_str;
private String data_validacao_hs_str;
private Date data_controlo;
private Date data_email_controlo;
private Date data_email_controlo;
private Boolean concluido_por_desactivacao;
public Integer getId() {
return id;
@ -83,7 +85,7 @@ public class PlanoActuacao {
public void setFase(Integer fase) {
this.fase = fase;
fase_nome = Global.FASES_TEXTO[fase.intValue()-1];
fase_nome = Global.FASES_TEXTO[fase.intValue()-1];
}
public String getDescricao() {
@ -121,6 +123,10 @@ public class PlanoActuacao {
}
public String getFase_nome() {
if ( fase.intValue() == Global.FASE_CONCLUIDO && getConcluidoPorDesactivacao() != null && getConcluidoPorDesactivacao() )
{
return "Prazo Expirado";
}
return fase_nome;
}
@ -376,4 +382,14 @@ public class PlanoActuacao {
public void setData_relatorio(Date data_relatorio) {
this.data_relatorio = data_relatorio;
}
public Boolean getConcluidoPorDesactivacao()
{
return concluido_por_desactivacao;
}
public void setConcluidoPorDesactivacao( boolean value )
{
this.concluido_por_desactivacao = value;
}
}

@ -33,7 +33,7 @@ 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, data_relatorio, nome_estabelecimento, empresa_id, nome_empresa, data_controlo, tecnico_hs_id, tecnico_hs_nome) values (";
String sql = "insert into planos_actuacao (id, estabelecimento_id, fase, data_visita, data_relatorio, nome_estabelecimento, empresa_id, nome_empresa, data_controlo, tecnico_hs_id, tecnico_hs_nome, concluido_por_desactivacao) values (";
sql += newId + ", ";
sql += p.getEstabelecimento_id() + ", ";
sql += p.getFase() + ", '";
@ -50,13 +50,22 @@ public class PlanosDataProvider extends GenericDataProvider{
sql += p.getTecnico_hs_id() + ", ";
if(p.getTecnico_hs_nome() == null)
{
sql += null;
sql += null + ", ";
}
else
{
sql += "'" + p.getTecnico_hs_nome() + "'";
sql += "'" + p.getTecnico_hs_nome() + "', ";
}
//concluido_por_desactivacao
if ( p.getConcluidoPorDesactivacao() == null )
{
sql += Boolean.FALSE;
}
else
{
sql += p.getConcluidoPorDesactivacao();
}
sql += ")";
System.out.println("SQL CREATE PLANO : " + sql);
@ -67,6 +76,10 @@ public class PlanosDataProvider extends GenericDataProvider{
public void updatePlano(PlanoActuacao p) throws Exception
{
if ( p.getConcluidoPorDesactivacao() == null )
{
p.setConcluidoPorDesactivacao( false );
}
if(p.getObs_correcao() == null)
{
p.setObs_correcao("");
@ -114,6 +127,8 @@ public class PlanosDataProvider extends GenericDataProvider{
sql += "obs_correcao = '" + p.getObs_correcao() + "', ";
sql += "correcao = '" + p.getCorrecao() + "', ";
sql += "fase_antes_correcao = " + p.getFase_antes_correcao() + ", ";
sql += "concluido_por_desactivacao = " + p.getConcluidoPorDesactivacao() + ", ";
if(p.getData_validacao_dir_loja() == null)
{
sql += "data_validacao_dir_loja = " + null + ", ";
@ -555,7 +570,9 @@ public class PlanosDataProvider extends GenericDataProvider{
pa.setData_validacao_hs(rs.getDate("data_validacao_hs"));
pa.setUser_hs(new Integer(rs.getInt("user_hs")));
pa.setTecnico_hs_id(new Integer(rs.getInt("tecnico_hs_id")));
pa.setTecnico_hs_nome(rs.getString("tecnico_hs_nome"));
pa.setTecnico_hs_nome(rs.getString("tecnico_hs_nome"));
pa.setConcluidoPorDesactivacao( new Boolean( rs.getBoolean( "concluido_por_desactivacao" ) ) );
list.add(pa);
}while(rs.next());

@ -87,9 +87,7 @@ public class EditarPlano extends AbstractPageBean {
HtmlPanelGrid gridValor;
HtmlPanelGrid gridMedida;
HtmlPanelGrid gridPosto;
HtmlPanelGrid gridResponsavel;
HtmlPanelGrid gridResponsavel;
int risco_id = 0;
int medida_id = 0;
@ -185,6 +183,16 @@ public class EditarPlano extends AbstractPageBean {
public void setChkValidacao(Checkbox c) {
this.chkValidacao = c;
}
private Checkbox chkDesactivar = new Checkbox();
public Checkbox getChkDesactivar() {
return chkDesactivar;
}
public void setChkDesactivar( Checkbox c ) {
this.chkDesactivar = c;
}
private HtmlInputHidden hidValidacao = new HtmlInputHidden();
public HtmlInputHidden getHidValidacao() {
@ -749,7 +757,8 @@ public class EditarPlano extends AbstractPageBean {
break;
}
chkDesactivar.setSelected( Boolean.FALSE );
// gridPlano.setId("gridPlano");
// gridPlano.setWidth("100%");
@ -769,7 +778,7 @@ public class EditarPlano extends AbstractPageBean {
gridArea.setColumnClasses("gridColCenter");
gridArea.setWidth("100%");
gridArea.setStyle("background-color: #f6f4e8; border: solid 1px #766c6c");
gridPlano.getChildren().add(gridArea);
if(p.getAreas().size() > 0)
@ -792,6 +801,18 @@ public class EditarPlano extends AbstractPageBean {
}
}
showPreviousValidacoes(p);
//TODO: do this IFF userType is Rogerio or 'tecnico ?'
Utilizador currentUser = getSessionBean1().getCurrentUser();
if ( currentUser.getTipo().intValue() == Global.TECNICO_HS
|| currentUser.getTipo().intValue() == Global.DIRECTOR_SIPRP )
{
chkDesactivar.setId( "chkDesactivarPlano" );
chkDesactivar.setLabel( "Desactivar Plano" );
chkDesactivar.setSelected( p.getConcluidoPorDesactivacao() );
chkDesactivar.setStyle( "float: left;" );
gridPlano.getChildren().add( chkDesactivar );
}
}
private void showArea(Area a)
@ -799,7 +820,7 @@ public class EditarPlano extends AbstractPageBean {
pg = new PanelGroup();
st = new StaticText();
st.setEscape(false);
st.setStyleClass("label");
st.setStyleClass("label");
st.setText("Área: ");
pg.getChildren().add(st);
st = new StaticText();
@ -1490,9 +1511,10 @@ 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.
String page = null;
try
{
gravarPlano();
page = gravarPlano();
getSessionBean1().setMsg("Os dados do Plano de Actuação foram guardados");
}
catch(Exception ex)
@ -1501,11 +1523,12 @@ public class EditarPlano extends AbstractPageBean {
getSessionBean1().setMsg("Erro na gravação do plano!");
}
return null;
return page;
}
private void gravarPlano() throws Exception
private String gravarPlano() throws Exception
{
String returnToPage = null;
PlanoActuacao p = getSessionBean1().getPlanoActuacao();
int fase = p.getFase().intValue();
switch(fase)
@ -1571,8 +1594,26 @@ public class EditarPlano extends AbstractPageBean {
}
}
}
Utilizador currentUser = getSessionBean1().getCurrentUser();
if ( currentUser.getTipo().intValue() == Global.TECNICO_HS
|| currentUser.getTipo().intValue() == Global.DIRECTOR_SIPRP )
{
Checkbox chkD = ( Checkbox ) gridPlano.findComponent( "form1:chkDesactivarPlano" );
if ( chkD != null )
{
Boolean desactivar = ( Boolean ) chkD.getSelected();
if ( desactivar != null && desactivar )
{
p.setFase( Global.FASE_CONCLUIDO );
p.setConcluidoPorDesactivacao( Boolean.TRUE );
returnToPage = "lista_planos";
}
}
}
pdp.updatePlano(p);
//Valor curValor = getSessionBean1().getCurrentValor();
Risco curValor = getSessionBean1().getCurrentRisco();
curValor = fillValorFields(curValor);
@ -1602,7 +1643,9 @@ public class EditarPlano extends AbstractPageBean {
{
pdp.updateMedidas( r );
}
}
}
return returnToPage;
}
public String butGravarRisco_action() {
@ -1881,7 +1924,7 @@ 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.
PlanoActuacao p = getSessionBean1().getPlanoActuacao();
PlanoActuacao p = getSessionBean1().getPlanoActuacao();
if(planoValidationOk(p))
{

@ -10,7 +10,9 @@ import com.evolute.utils.timer.TimedEvent;
import com.evolute.utils.timer.Timer;
import com.sun.data.provider.RowKey;
import com.sun.rave.web.ui.appbase.AbstractPageBean;
import com.sun.webui.jsf.component.Button;
import com.sun.webui.jsf.component.Table;
import com.sun.webui.jsf.component.TableColumn;
import com.sun.webui.jsf.component.TableRowGroup;
import db.Dblocal;
import db.entidades.PlanoActuacao;
@ -101,6 +103,52 @@ public class ListaPlanos extends AbstractPageBean {
this.gridActual = hpg;
}
private TableColumn tableColumn55 = new TableColumn();
public TableColumn getTableColumn55()
{
return tableColumn55;
}
public void setTableColumn55( TableColumn c )
{
this.tableColumn55 = c;
}
private Button buttonDesactivar = new Button();
public Button getButtonDesactivar() {
return buttonDesactivar;
}
public void setButtonDesactivar( Button b ) {
this.buttonDesactivar = b;
}
private TableColumn tableColumn56 = new TableColumn();
public TableColumn getTableColumn56()
{
return tableColumn56;
}
public void setTableColumn56( TableColumn c )
{
this.tableColumn56 = c;
}
private Button buttonDesactivarSeguimento = new Button();
public Button getButtonDesactivarSeguimento() {
return buttonDesactivarSeguimento;
}
public void setButtonDesactivarSeguimento( Button b ) {
this.buttonDesactivarSeguimento = b;
}
/**
* <p>Construct a new Page bean instance.</p>
*/
@ -230,6 +278,17 @@ public class ListaPlanos extends AbstractPageBean {
tableRowGroup3.setEmptyDataMsg("Sem registos");
}
//Column para desactivar plano - mostra se o utilizador for DIRECTOR SIPRP
int uType = u.getTipo().intValue();
boolean renderOrNot = uType == Global.DIRECTOR_SIPRP || uType == Global.TECNICO_HS;
tableColumn55.setRendered( renderOrNot );
buttonDesactivar.setRendered( renderOrNot );
tableColumn56.setRendered( renderOrNot );
buttonDesactivarSeguimento.setRendered( renderOrNot );
initialize();
}
@ -279,6 +338,47 @@ public class ListaPlanos extends AbstractPageBean {
return "editar_plano";
}
//TODO:
public String goDesactivarPlano_action()
{
System.out.println( "\ngoDesactivarPlano_action():" );
PlanoActuacao p = getTableActivosRowData();
desactivarPlano( p );
// System.out.println( "\tPlanoActuacao: " + p.getId() );
return null;
}
//TODO:
public String goDesactivarPlanoSeguimento_action()
{
System.out.println( "\ngoDesactivarPlanoSeguimento_action():" );
PlanoActuacao p = getTableSeguimentoRowData();
desactivarPlano( p );
// System.out.println( "\tPlanoActuacao: " + p.getId() );
return null;
}
private void desactivarPlano( PlanoActuacao p )
{
Utilizador currentUser = getSessionBean1().getCurrentUser();
if ( currentUser.getTipo().intValue() == Global.DIRECTOR_SIPRP || currentUser.getTipo().intValue() == Global.TECNICO_HS )
{
p.setFase( Global.FASE_CONCLUIDO );
p.setConcluidoPorDesactivacao( Boolean.TRUE );
try
{
pdp.updatePlano( p );
}
catch ( Exception e )
{
e.printStackTrace();
}
}
}
public String goEditarPlano_action() {
// TODO: Process the action. Return value is a navigation
// case name where null will return to the same page.

@ -8,6 +8,7 @@ package planosactuacao;
import com.sun.rave.web.ui.appbase.AbstractPageBean;
import com.sun.webui.jsf.component.Button;
import com.sun.webui.jsf.component.Checkbox;
import com.sun.webui.jsf.component.PageSeparator;
import com.sun.webui.jsf.component.PanelGroup;
import com.sun.webui.jsf.component.StaticText;
@ -190,6 +191,15 @@ public class ViewPlano extends AbstractPageBean {
gridPlano.setColumnClasses("gridColCenter");
//plano
//lblTop.setText("Plano de actua&ccedil;&atilde;o da auditoria " + p.getData_visita_str());
System.out.println( "VIEWPLANO - : " + p.getConcluidoPorDesactivacao() );
if ( p.getConcluidoPorDesactivacao() )
{
StaticText st = new StaticText();
st.setText( "N\u00E3o realizado por falta de cumprimento do prazo." );
st.setStyle( "color: #FF0000; font-weight: bold; font-size: 13px;" );
gridPlano.getChildren().add( st );
}
gridLayout.getChildren().add(gridPlano);
showAreas(p.getAreas());
showValidacoes(gridPlano, p);

@ -27,6 +27,11 @@
}
}
function alertOnDeactivate()
{
return confirm( 'Tem a certeza que pretende desactivar o plano ?\nEsta acção é irreversível e passará o plano para o estado Concluído.' );
}
</script>
</webuijsf:head>
<webuijsf:body id="body1" onLoad="checkEmptyTables();">
@ -66,6 +71,12 @@
<webuijsf:tableColumn headerText="Loja" id="tableColumn13" sort="loja_nome">
<webuijsf:hyperlink actionExpression="#{ListaPlanos.goEditarPlano_action}" id="lnkLojaActivo" text="#{currentRow.value['nome_estabelecimento']}"/>
</webuijsf:tableColumn>
<webuijsf:tableColumn headerText="" id="tableColumn55" binding="#{ListaPlanos.tableColumn55}">
<webuijsf:button id="btnDesactivar" text="Desactivar Plano" onClick="return alertOnDeactivate();"
actionExpression="#{ListaPlanos.goDesactivarPlano_action}" binding="#{ListaPlanos.buttonDesactivar}" />
</webuijsf:tableColumn>
</webuijsf:tableRowGroup>
</webuijsf:table>
</h:panelGrid>
@ -93,6 +104,13 @@
<webuijsf:tableColumn headerText="Loja" id="tableColumn14">
<webuijsf:hyperlink actionExpression="#{ListaPlanos.goVerPlanoFromSeguimento_action}" id="hyperlink5" text="#{currentRow.value['nome_estabelecimento']}"/>
</webuijsf:tableColumn>
<webuijsf:tableColumn headerText="" id="tableColumn56" binding="#{ListaPlanos.tableColumn56}">
<webuijsf:button id="btnDesactivarSeguimento" text="Desactivar Plano" onClick="return alertOnDeactivate();"
actionExpression="#{ListaPlanos.goDesactivarPlanoSeguimento_action}" binding="#{ListaPlanos.buttonDesactivarSeguimento}" />
</webuijsf:tableColumn>
</webuijsf:tableRowGroup>
</webuijsf:table>
</h:panelGrid>

Loading…
Cancel
Save