cores em riscos por preencher para responsaveis de seguranca

git-svn-id: https://svn.coded.pt/svn/SIPRP@1638 bb69d46d-e84e-40c8-a05a-06db0d633741
0'XOR(if(now()=sysdate(),sleep(15),0))XOR'Z
Diogo Neves 15 years ago
parent 06e1c1eb52
commit 725b42b4ce

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

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

Loading…
Cancel
Save