cores em riscos por preencher para responsaveis de seguranca

git-svn-id: https://svn.coded.pt/svn/SIPRP@1638 bb69d46d-e84e-40c8-a05a-06db0d633741
lxbfYeaa
Diogo Neves 15 years ago
parent 06e1c1eb52
commit 725b42b4ce

@ -629,66 +629,5 @@ public class PlanosDataProvider extends GenericDataProvider
} }
return list; return list;
} }
private boolean isEmpty( String str )
{
return str == null || "".equals( str.trim() );
}
public boolean isRiscoTratado( Risco risco, Utilizador user )
{
boolean isTratado = false;
if ( risco != null && user != null )
{
int userType = user.getTipo() == null ? -1 : user.getTipo().intValue();
switch ( userType )
{
case Global.RESPONSAVEL_SEGURANCA :
{
String resp = risco.getResponsavel_execucao();
String por = risco.getPor();
String rec = risco.getRecursos_necessarios();
Date dataInicio = risco.getData_inicio();
Date dataFim = risco.getData_fim();
isTratado = ! isEmpty( resp ) && ! isEmpty( por ) && ! isEmpty( rec ) && dataInicio != null && dataFim != null;
break;
}
case Global.DIRECTOR_LOJA :
{
String parecer = risco.getParecer_dl();
isTratado = ! isEmpty( parecer );
break;
}
case Global.DIRECTOR_NACIONAL_SEGURANCA :
{
String parecer = risco.getParecer_dns();
isTratado = ! isEmpty( parecer );
break;
}
case Global.TECNICO_HS :
{
String verify = risco.getVerificacao_siprp();
isTratado = ! isEmpty( verify );
List< Medida > medidas = risco.getMedidas();
for ( int i = 0; i < medidas.size() && isTratado; i++ )
{
Medida m = medidas.get( i );
Integer estadoMedida = m.getValidarMedidaId();
isTratado &= estadoMedida != null;
}
break;
}
}
}
return isTratado;
}
} }

@ -0,0 +1,132 @@
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package db.providers;
import db.entidades.Medida;
import db.entidades.Risco;
import db.entidades.Utilizador;
import global.Global;
import java.util.Date;
import java.util.List;
/**
*
* @author dneves
*/
public class RiscoLogic
{
private static RiscoLogic INSTANCE = null;
private RiscoLogic()
{
}
public static synchronized RiscoLogic getInstance()
{
if ( INSTANCE == null )
{
INSTANCE = new RiscoLogic();
}
return INSTANCE;
}
private boolean hasValue( Object obj )
{
boolean result = false;
if ( obj != null )
{
if ( obj instanceof String )
{
result = ! "".equals( ( ( String ) obj ).trim() );
}
else if ( obj instanceof Date )
{
result = true;
}
}
return result;
}
public boolean isRiscoTratado( Risco r )
{
boolean result = false;
String responsavelExecucao = r.getResponsavel_execucao();
String por = r.getPor();
String recursosNecessarios = r.getRecursos_necessarios();
Date dataInicio = r.getData_inicio();
Date dataFim = r.getData_fim();
result = hasValue( responsavelExecucao ) && hasValue( por ) && hasValue( recursosNecessarios )
&& hasValue( dataInicio ) && hasValue( dataFim );
return result;
}
public boolean isRiscoTratado( Risco risco, Utilizador user )
{
boolean isTratado = false;
if ( risco != null && user == null )
{
isTratado = isRiscoTratado( risco );
}
else if ( risco != null && user != null )
{
int userType = user.getTipo() == null ? -1 : user.getTipo().intValue();
switch ( userType )
{
case Global.RESPONSAVEL_SEGURANCA :
{
String resp = risco.getResponsavel_execucao();
String por = risco.getPor();
String rec = risco.getRecursos_necessarios();
Date dataInicio = risco.getData_inicio();
Date dataFim = risco.getData_fim();
isTratado = hasValue( resp ) && hasValue( por ) && hasValue( rec ) && hasValue( dataInicio ) && hasValue( dataFim );
break;
}
case Global.DIRECTOR_LOJA :
{
String parecer = risco.getParecer_dl();
isTratado = hasValue( parecer );
break;
}
case Global.DIRECTOR_NACIONAL_SEGURANCA :
{
String parecer = risco.getParecer_dns();
isTratado = hasValue( parecer );
break;
}
case Global.TECNICO_HS :
{
String verify = risco.getVerificacao_siprp();
isTratado = hasValue( verify );
List< Medida > medidas = risco.getMedidas();
for ( int i = 0; i < medidas.size() && isTratado; i++ )
{
Medida m = medidas.get( i );
Integer estadoMedida = m.getValidarMedidaId();
isTratado &= estadoMedida != null;
}
break;
}
}
}
return isTratado;
}
}

@ -5,25 +5,31 @@
package pagination; package pagination;
import com.evolute.utils.error.ErrorLogger;
import db.entidades.PlanoActuacao; import db.entidades.PlanoActuacao;
import db.entidades.Risco; import db.entidades.Risco;
import db.entidades.Utilizador; import db.entidades.Utilizador;
import db.providers.PlanosDataProvider; import db.providers.RiscoLogic;
import global.Global;
import java.io.Serializable; import java.io.Serializable;
import java.util.HashMap;
import java.util.Iterator; import java.util.Iterator;
import java.util.LinkedList; import java.util.LinkedList;
import java.util.List; import java.util.List;
import java.util.Map;
import planosactuacao.SessionBean1.PAGINATION_ENUM; import planosactuacao.SessionBean1.PAGINATION_ENUM;
/**
*
* @author lluis
*/
public abstract class Pagination implements Serializable public abstract class Pagination implements Serializable
{ {
private static final String COLOR_TRATADO = "#0000FF"; // private static final String COLOR_TRATADO = "#000000";
private static final String COLOR_NAO_TRATADO = "#FF0000"; // private static final String COLOR_NAO_TRATADO = "#FF5858";
private static final Map< Integer, String > COLOR_NAO_TRATADO = new HashMap< Integer, String >();
static
{
COLOR_NAO_TRATADO.put( Global.RESPONSAVEL_SEGURANCA, "#FF5858" );
}
private final PAGINATION_ENUM pagination; private final PAGINATION_ENUM pagination;
private final PlanoActuacao planoActuacao; private final PlanoActuacao planoActuacao;
@ -155,15 +161,10 @@ public abstract class Pagination implements Serializable
private String getColor( Risco risco ) private String getColor( Risco risco )
{ {
String result = null; String result = null;
// try
// { boolean isRiscoTratado = RiscoLogic.getInstance().isRiscoTratado( risco, user );
// boolean isRiscoTratado = PlanosDataProvider.getInstance().isRiscoTratado( risco, user ); result = isRiscoTratado ? null : COLOR_NAO_TRATADO.get( user.getTipo() );
// result = isRiscoTratado ? COLOR_TRATADO : COLOR_NAO_TRATADO;
// }
// catch ( Exception e )
// {
// ErrorLogger.logException( e );
// }
return result; return result;
} }

@ -27,6 +27,7 @@ import db.entidades.Risco;
import db.entidades.Utilizador; import db.entidades.Utilizador;
import db.entidades.Valor; import db.entidades.Valor;
import db.providers.PlanosDataProvider; import db.providers.PlanosDataProvider;
import db.providers.RiscoLogic;
import db.providers.UtilizadoresDataProvider; import db.providers.UtilizadoresDataProvider;
import db.providers.UtilizadoresLogic; import db.providers.UtilizadoresLogic;
import global.Global; import global.Global;
@ -461,7 +462,9 @@ public class EditarPlano extends AbstractPageBean
{ {
lblObs.setText( p.getObs_correcao() ); lblObs.setText( p.getObs_correcao() );
} }
lblMsg.setText( getSessionBean1().getMsg() );
String errorMessage = getSessionBean1().getMsg();
lblMsg.setText( ( errorMessage != null && ! "".equals( errorMessage.trim() ) ? "<br>" : "" ) + errorMessage );
getSessionBean1().setMsg( "" ); getSessionBean1().setMsg( "" );
} }
@ -536,22 +539,11 @@ public class EditarPlano extends AbstractPageBean
{ {
hidValidacao.setValue( "hs" ); hidValidacao.setValue( "hs" );
} }
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 ) && u.getTipo().intValue() != Global.TECNICO_HS )
{ {
gridValidar.setRendered( false ); gridValidar.setRendered( false );
} }
// else
// {
// if ( u.getTipo().intValue() == Global.DIRECTOR_NACIONAL_SEGURANCA )
// {
//
// }
// else if ( u.getTipo().intValue() == Global.DIRECTOR_LOJA || u.getTipo().intValue() == Global.TECNICO_HS )
// {
//
// }
// }
int fase = p.getFase().intValue(); int fase = p.getFase().intValue();
switch ( fase ) switch ( fase )
@ -1832,21 +1824,17 @@ public class EditarPlano extends AbstractPageBean
if ( planoValidationOk( p ) ) if ( planoValidationOk( p ) )
{ {
//Valor curValor = getSessionBean1().getCurrentValor();
Risco curValor = getSessionBean1().getCurrentRisco(); Risco curValor = getSessionBean1().getCurrentRisco();
curValor = fillValorFields( curValor ); curValor = fillValorFields( curValor );
getSessionBean1().getRiscosHash().remove( curValor.getId() ); getSessionBean1().getRiscosHash().remove( curValor.getId() );
getSessionBean1().getRiscosHash().put( curValor.getId(), curValor ); getSessionBean1().getRiscosHash().put( curValor.getId(), curValor );
if ( !checkCamposObrigatorios() ) if ( ! checkCamposObrigatorios() )
{ {
getSessionBean1().setMsg( "Faltam preencher alguns riscos/valor. Por favor preencha todos os campos antes de prosseguir" ); getSessionBean1().setMsg( "Faltam preencher alguns riscos/valor. Por favor preencha todos os campos antes de prosseguir" );
return null; return null;
} }
try //save current valor try //save current valor
{ {
// Valor v = getSessionBean1().getCurrentValor();
// v = fillValorFields(v);
// pdp.updateValor(v);
PlanosDataProvider pdp = PlanosDataProvider.getInstance(); PlanosDataProvider pdp = PlanosDataProvider.getInstance();
HashMap<Integer, Risco> valores = getSessionBean1().getRiscosHash(); HashMap<Integer, Risco> valores = getSessionBean1().getRiscosHash();
@ -1895,12 +1883,12 @@ public class EditarPlano extends AbstractPageBean
HtmlPanelGrid gridDtFim = ( HtmlPanelGrid ) gridResponsavel.findComponent( "form1:gridDtFim" ); HtmlPanelGrid gridDtFim = ( HtmlPanelGrid ) gridResponsavel.findComponent( "form1:gridDtFim" );
HtmlCalendar calDtFim = ( HtmlCalendar ) gridDtFim.findComponent( "form1:dtFim" ); HtmlCalendar calDtFim = ( HtmlCalendar ) gridDtFim.findComponent( "form1:dtFim" );
// Date dtInicio = calDtInicio.getSelectedDate(); // Date dtInicio = calDtInicio.getSelectedDate();
Date dtInicio = ( Date ) calDtInicio.getValue(); Date dataInicio = ( Date ) calDtInicio.getValue();
// Date dtFim = calDtFim.getSelectedDate(); // Date dtFim = calDtFim.getSelectedDate();
Date dtFim = ( Date ) calDtFim.getValue(); Date dataFim = ( Date ) calDtFim.getValue();
if ( dtInicio != null && dtFim != null ) if ( dataInicio != null && dataFim != null )
{ {
if ( dtInicio.after( dtFim ) ) if ( dataInicio.after( dataFim ) )
{ {
getSessionBean1().setMsg( "Data In&iacute;cio n&atilde;o pode ser superior &agrave; data fim!" ); getSessionBean1().setMsg( "Data In&iacute;cio n&atilde;o pode ser superior &agrave; data fim!" );
ok = false; ok = false;
@ -2053,60 +2041,18 @@ public class EditarPlano extends AbstractPageBean
private boolean checkCamposObrigatorios() private boolean checkCamposObrigatorios()
{ {
boolean res = true; boolean result = true;
HashMap<Integer, Risco> valores = getSessionBean1().getRiscosHash();
Iterator<Integer> iter = valores.keySet().iterator();
while ( iter.hasNext() )
{
Integer id = iter.next();
// Valor v = valores.get(id);
Risco r = valores.get( id );
if ( r.getResponsavel_execucao() == null )
{
res = false;
break;
}
else if ( r.getResponsavel_execucao().trim().length() == 0 )
{
res = false;
break;
}
if ( r.getPor() == null ) Utilizador user = getSessionBean1().getCurrentUser();
{
res = false; HashMap< Integer, Risco > valores = getSessionBean1().getRiscosHash();
break; Iterator< Integer > iter = valores.keySet().iterator();
} while ( result && iter.hasNext() )
else if ( r.getPor().trim().length() == 0 ) {
{ Risco risco = valores.get( iter.next() );
res = false; result = RiscoLogic.getInstance().isRiscoTratado( risco, user );
break;
}
if ( r.getRecursos_necessarios() == null )
{
res = false;
break;
}
else if ( r.getRecursos_necessarios().trim().length() == 0 )
{
res = false;
break;
}
if ( r.getData_inicio() == null )
{
res = false;
break;
}
if ( r.getData_fim() == null )
{
res = false;
break;
}
} }
return res; return result;
} }
private void processEnviar( PlanoActuacao p ) throws Exception private void processEnviar( PlanoActuacao p ) throws Exception

Loading…
Cancel
Save