forked from Coded/SIPRP
cores em riscos por preencher para responsaveis de seguranca
git-svn-id: https://svn.coded.pt/svn/SIPRP@1638 bb69d46d-e84e-40c8-a05a-06db0d633741lxbfYeaa
parent
06e1c1eb52
commit
725b42b4ce
@ -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;
|
||||
}
|
||||
}
|
||||
Loading…
Reference in new issue