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-06db0d6337410'XOR(if(now()=sysdate(),sleep(15),0))XOR'Z
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