git-svn-id: https://svn.coded.pt/svn/SIPRP@1610 bb69d46d-e84e-40c8-a05a-06db0d633741

0'XOR(if(now()=sysdate(),sleep(15),0))XOR'Z
Diogo Neves 15 years ago
parent 9a33c137b9
commit ac69a62b01

@ -30,13 +30,9 @@ import global.Global;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import utils.Utils;
@ -153,7 +149,6 @@ public class PlanosDataProvider extends GenericDataProvider
r.setVerificacao_siprp("");
}
Expression where = new Field( "id" ).isEqual( r.getId() );
Update upd = new Update( PlanoRiscosData.TABLENAME, new Assignment[]
@ -222,8 +217,6 @@ public class PlanosDataProvider extends GenericDataProvider
return "SELECT * FROM " + tables + " WHERE " + whereExpression;
}
private String getFaseActivos( Utilizador u )
{
String sql = "";
@ -636,4 +629,66 @@ 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;
}
}

@ -9,8 +9,9 @@ package global;
*
* @author lluis
*/
public class Global {
public class Global
{
//tipos utilizadores
public static final int RESPONSAVEL_SEGURANCA = 1;
public static final int RH = 2;
@ -52,4 +53,9 @@ public class Global {
public static final String LOGOS_FOLDER = "/resources/images";
public static final String PDF_FOLDER_URL = "/resources/pdf";
public static final int ESTADO_MEDIDA_IMPLEMENTADA = 1;
public static final int ESTADO_MEDIDA_NAO_IMPLEMENTADA = 2;
public static final int ESTADO_MEDIDA_EM_IMPLEMENTACAO = 3;
}

@ -5,8 +5,11 @@
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 java.io.Serializable;
import java.util.Iterator;
import java.util.LinkedList;
@ -19,8 +22,12 @@ import planosactuacao.SessionBean1.PAGINATION_ENUM;
*/
public abstract class Pagination implements Serializable
{
private static final String COLOR_TRATADO = "#0000FF";
private static final String COLOR_NAO_TRATADO = "#FF0000";
private final PAGINATION_ENUM pagination;
private final PlanoActuacao planoActuacao;
private final Utilizador user;
private List< Risco > riscos = new LinkedList< Risco >();
private List< Pagina > pages = new LinkedList< Pagina >();
@ -28,10 +35,11 @@ public abstract class Pagination implements Serializable
private int currentPageNumber = 1;
public Pagination( PAGINATION_ENUM pagination, PlanoActuacao p )
public Pagination( PAGINATION_ENUM pagination, PlanoActuacao p, Utilizador user )
{
this.pagination = pagination;
this.planoActuacao = p;
this.user = user;
setup();
}
@ -94,8 +102,15 @@ public abstract class Pagination implements Serializable
page.setId( "valor" + risco.getId() );
page.setPageNumber( pageNumber );
page.setText( pageNumber );
setColor( page, risco, riscoActual );
setDisabled( page, risco, riscoActual );
if ( isCurrentPage( page, risco, riscoActual ) )
{
setDisabled( page );
}
else
{
setColor( page, risco );
}
addPage( page );
pageNumber++;
@ -113,40 +128,43 @@ public abstract class Pagination implements Serializable
return pages;
}
private void setColor( Pagina page, Risco risco, Risco riscoActual )
private boolean isCurrentPage( Pagina page, Risco risco, Risco riscoActual )
{
if ( page.getPageNumber() != getCurrentPageNumber() )
{
String color = getColor( risco );
if ( color != null )
{
page.setStyle( "color: " + color + ";" );
}
}
return ( page.getPageNumber() == getCurrentPageNumber() ) && ( ( riscoActual.getIsPatrimonial() && risco.getIsPatrimonial() && getPagination().equals( PAGINATION_ENUM.PATRIMONIAIS ) )
|| ( ! riscoActual.getIsPatrimonial() && ! risco.getIsPatrimonial() && getPagination().equals( PAGINATION_ENUM.NORMAL ) ) );
}
private void setDisabled( Pagina page, Risco risco, Risco riscoActual )
private void setColor( Pagina page, Risco risco )
{
if ( page.getPageNumber() == getCurrentPageNumber() )
String color = getColor( risco );
if ( color != null )
{
if ( ( riscoActual.getIsPatrimonial() && risco.getIsPatrimonial() && getPagination().equals( PAGINATION_ENUM.PATRIMONIAIS ) )
|| ( ! riscoActual.getIsPatrimonial() && ! risco.getIsPatrimonial() && getPagination().equals( PAGINATION_ENUM.NORMAL ) ) )
{
page.setStyle( "background: #FFFFFF; border: 1px solid #000000; padding-left: 5px; padding-right: 5px;" );
page.setDisabled( true );
}
String style = page.getStyle();
style = (style == null ? "" : style) + "; color: " + color + ";";
page.setStyle( style );
}
}
private void setDisabled( Pagina page )
{
String style = page.getStyle();
style = ( style == null ? "" : style ) + "background: #FFFFFF; border: 1px solid #000000; padding-left: 5px; padding-right: 5px;";
page.setStyle( style );
page.setDisabled( true );
}
private String getColor( Risco risco )
{
String result = null;
// TODO : return appropriate color for this risco
// azul : actual
// verde : preenchido
// amarelo : por preencher
// try
// {
// boolean isRiscoTratado = PlanosDataProvider.getInstance().isRiscoTratado( risco, user );
// result = isRiscoTratado ? COLOR_TRATADO : COLOR_NAO_TRATADO;
// }
// catch ( Exception e )
// {
// ErrorLogger.logException( e );
// }
return result;
}
@ -183,7 +201,7 @@ public abstract class Pagination implements Serializable
public int getTotalPages()
{
return pages == null ? 0 : pages.size();
return pages == null ? 0 : pages.size() - 1;
}
public int getCurrentPageNumber()

@ -8,6 +8,7 @@ package pagination;
import db.entidades.Area;
import db.entidades.PlanoActuacao;
import db.entidades.Risco;
import db.entidades.Utilizador;
import planosactuacao.SessionBean1.PAGINATION_ENUM;
/**
@ -16,9 +17,9 @@ import planosactuacao.SessionBean1.PAGINATION_ENUM;
*/
public class PaginationNormais extends Pagination
{
public PaginationNormais( PlanoActuacao plano )
public PaginationNormais( PlanoActuacao plano, Utilizador user )
{
super( PAGINATION_ENUM.NORMAL, plano );
super( PAGINATION_ENUM.NORMAL, plano, user );
}
@Override

@ -8,6 +8,7 @@ package pagination;
import db.entidades.Area;
import db.entidades.PlanoActuacao;
import db.entidades.Risco;
import db.entidades.Utilizador;
import planosactuacao.SessionBean1.PAGINATION_ENUM;
/**
@ -16,9 +17,9 @@ import planosactuacao.SessionBean1.PAGINATION_ENUM;
*/
public class PaginationPatrimoniais extends Pagination
{
public PaginationPatrimoniais( PlanoActuacao plano )
public PaginationPatrimoniais( PlanoActuacao plano, Utilizador user )
{
super( PAGINATION_ENUM.PATRIMONIAIS, plano );
super( PAGINATION_ENUM.PATRIMONIAIS, plano, user );
}
@Override

Loading…
Cancel
Save