|
|
|
|
@ -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()
|
|
|
|
|
|