fixed data ocorrencia verification

git-svn-id: https://svn.coded.pt/svn/SIPRP@1761 bb69d46d-e84e-40c8-a05a-06db0d633741
lxbfYeaa
Frederico Palma 14 years ago
parent c2cb232238
commit 8fbad306cb

@ -12,7 +12,7 @@ import java.util.List;
* *
* @author lluis * @author lluis
*/ */
public class Area implements Serializable public class Area implements Serializable, Comparable< Area >
{ {
private Integer id; private Integer id;
private Integer area_id; //from relatorios private Integer area_id; //from relatorios
@ -81,4 +81,22 @@ public class Area implements Serializable
{ {
return is_principal; return is_principal;
} }
@Override
public int compareTo( Area o )
{
if( is_principal && !( ( Area ) o ).is_principal )
{
return -1;
}
else if( !is_principal && ( ( Area ) o ).is_principal )
{
return 1;
}
if( ordem != null )
{
return ( ( ( Area ) o ).ordem == null ) ? -1 : ordem.compareTo( ( ( Area ) o ).ordem );
}
return 0;
}
} }

@ -13,7 +13,7 @@ public class Risco implements Serializable
private Integer valorQuantitativo; private Integer valorQuantitativo;
private Integer valorQualitativoID; private Integer valorQualitativoID;
private String valorQualitativo;
private String responsavel_execucao; private String responsavel_execucao;
private String por; private String por;
private String recursos_necessarios; private String recursos_necessarios;
@ -207,5 +207,14 @@ public class Risco implements Serializable
{ {
this.isPatrimonial = isPatrimonial; this.isPatrimonial = isPatrimonial;
} }
public String getValorQualitativo()
{
return valorQualitativo;
}
public void setValorQualitativo( String valorQualitativo )
{
this.valorQualitativo = valorQualitativo;
}
} }

@ -19,8 +19,8 @@ import db.data.siprp.outer.PlanoAreasData;
import db.data.siprp.outer.PlanoMedidasData; import db.data.siprp.outer.PlanoMedidasData;
import db.data.siprp.outer.PlanoPostosTrabalhoData; import db.data.siprp.outer.PlanoPostosTrabalhoData;
import db.data.siprp.outer.PlanoRiscosData; import db.data.siprp.outer.PlanoRiscosData;
import db.data.siprp.outer.PlanoValoresQualitativosData;
import db.data.siprp.outer.PlanosActuacaoData; import db.data.siprp.outer.PlanosActuacaoData;
import db.data.siprp_local.outer.HsRelatorioRiscoValorQualitativoData;
import db.entidades.Area; import db.entidades.Area;
import db.entidades.EstadoMedida; import db.entidades.EstadoMedida;
import db.entidades.Medida; import db.entidades.Medida;
@ -29,8 +29,11 @@ import db.entidades.PostoTrabalho;
import db.entidades.Risco; import db.entidades.Risco;
import db.entidades.Utilizador; import db.entidades.Utilizador;
import java.sql.Timestamp; import java.sql.Timestamp;
import java.util.Collections;
import java.util.Comparator;
import utils.Global; import utils.Global;
import java.util.Date; import java.util.Date;
import java.util.HashMap;
import java.util.LinkedList; import java.util.LinkedList;
import java.util.List; import java.util.List;
import utils.Utils; import utils.Utils;
@ -39,6 +42,17 @@ import utils.Utils;
public class PlanosDataProvider extends GenericDataProvider public class PlanosDataProvider extends GenericDataProvider
{ {
private static PlanosDataProvider INSTANCE = null; private static PlanosDataProvider INSTANCE = null;
protected static final String UNCONTROLLED = "Incontrolado";
protected static final String CONTROLLED = "Controlado";
protected static final String INDETERMINATE = "Indeterminado";
protected static final String NAO_VALORAVEL = "N\u00E3o Valor\u00E1vel";
protected static final String NAO_VALORAVEL_SHORT = "N/V";
protected static final String MUITO_ALTO = "Muito Alto";
protected static final String ALTO = "Alto";
protected static final String MEDIO = "M\u00e9dio";
protected static final String BAIXO = "Baixo";
protected HashMap<Integer, PlanoValoresQualitativosData> VALORES_QUALITATIVOS_BY_ID = new HashMap<Integer, PlanoValoresQualitativosData>();
private PlanosDataProvider() throws Exception private PlanosDataProvider() throws Exception
{ {
@ -726,7 +740,8 @@ public class PlanosDataProvider extends GenericDataProvider
{ {
Select2 query = new Select2( PlanoAreasData.TABLENAME, Select2 query = new Select2( PlanoAreasData.TABLENAME,
new Field( PlanoAreasData.PLANO_ID_FULL ).isEqual( planoID ), new Field( PlanoAreasData.PLANO_ID_FULL ).isEqual( planoID ),
new String[] { PlanoAreasData.ID_FULL, PlanoAreasData.PLANO_ID_FULL, PlanoAreasData.DESCRICAO_FULL }, new String[] { PlanoAreasData.ID_FULL, PlanoAreasData.PLANO_ID_FULL, PlanoAreasData.DESCRICAO_FULL,
PlanoAreasData.ORDEM_FULL, PlanoAreasData.IS_PRINCIPAL_FULL },
new String[] { PlanoAreasData.DESCRICAO_FULL } new String[] { PlanoAreasData.DESCRICAO_FULL }
); );
Virtual2DArray array = getExecuter().executeQuery( query ); Virtual2DArray array = getExecuter().executeQuery( query );
@ -737,11 +752,15 @@ public class PlanosDataProvider extends GenericDataProvider
Integer areaID = array.get( i, 0 ); Integer areaID = array.get( i, 0 );
Integer pID = array.get( i, 1 ); Integer pID = array.get( i, 1 );
String descricao = array.get( i, 2 ); String descricao = array.get( i, 2 );
Integer ordem = array.get( i, 3 );
Boolean isPrincipal = array.get( i, 4 );
Area area = new Area(); Area area = new Area();
area.setId( areaID ); area.setId( areaID );
area.setPlano_id( pID ); area.setPlano_id( pID );
area.setDescricao( Utils.unicodeToHTML( descricao ) ); area.setDescricao( Utils.unicodeToHTML( descricao ) );
area.setOrdem( ordem );
area.setIs_principal( isPrincipal );
area.setRiscos( getRiscosByArea( area ) ); area.setRiscos( getRiscosByArea( area ) );
list.add( area ); list.add( area );
} }
@ -751,6 +770,7 @@ public class PlanosDataProvider extends GenericDataProvider
{ {
ErrorLogger.logException( e ); ErrorLogger.logException( e );
} }
Collections.sort( list );
return list; return list;
} }
@ -814,11 +834,72 @@ public class PlanosDataProvider extends GenericDataProvider
r.setMedidas( getMedidasByRisco( r ) ); r.setMedidas( getMedidasByRisco( r ) );
r.setIsPatrimonial( isPatrimonial ); r.setIsPatrimonial( isPatrimonial );
r.setValorQualitativoID( valorQualitativoID ); r.setValorQualitativoID( valorQualitativoID );
if( valorQualitativoID != null )
{
r.setValorQualitativo( loadValorQualitativoByID( valorQualitativoID ).getDescricao() );
}
list.add( r ); list.add( r );
} }
} }
Collections.sort( list, new Comparator<Risco>(){
@Override
public int compare( Risco o1, Risco o2 )
{
Integer o1Value = 1000;
Integer o2Value = 1000;
if( o1.getValorQuantitativo() != null )
{
o1Value = -o1.getValorQuantitativo();
}
else if(o1.getValorQualitativo() == null)
{
o1Value = 300;
}
else if(o1.getValorQualitativo().equals(UNCONTROLLED) || o1.getValorQualitativo().equals(MUITO_ALTO))
{
o1Value = 100;
}
else if(o1.getValorQualitativo().equals(CONTROLLED) || o1.getValorQualitativo().equals(ALTO))
{
o1Value = 200;
}
else if(o1.getValorQualitativo().equals(INDETERMINATE) || o1.getValorQualitativo().equals(MEDIO))
{
o1Value = 300;
}
else if(o1.getValorQualitativo().equals(BAIXO))
{
o1Value = 400;
}
if( o2.getValorQuantitativo() != null )
{
o2Value = -o2.getValorQuantitativo();
}
else if(o2.getValorQualitativo() == null )
{
o2Value = 300;
}
else if(o2.getValorQualitativo().equals(UNCONTROLLED) || o2.getValorQualitativo().equals(MUITO_ALTO))
{
o2Value = 100;
}
else if(o2.getValorQualitativo().equals(CONTROLLED) || o2.getValorQualitativo().equals(ALTO))
{
o2Value = 200;
}
else if(o2.getValorQualitativo().equals(INDETERMINATE) || o2.getValorQualitativo().equals(MEDIO))
{
o2Value = 300;
}
else if(o2.getValorQualitativo().equals(BAIXO))
{
o2Value = 400;
}
return o1Value.compareTo(o2Value);
}
} );
return list; return list;
} }
@ -862,7 +943,8 @@ public class PlanosDataProvider extends GenericDataProvider
Select2 query = new Select2( PlanoPostosTrabalhoData.TABLENAME, Select2 query = new Select2( PlanoPostosTrabalhoData.TABLENAME,
new Field( PlanoPostosTrabalhoData.MEDIDA_ID_FULL ).isEqual( m.getId() ), new Field( PlanoPostosTrabalhoData.MEDIDA_ID_FULL ).isEqual( m.getId() ),
new String[] { PlanoPostosTrabalhoData.ID_FULL, PlanoPostosTrabalhoData.MEDIDA_ID_FULL, PlanoPostosTrabalhoData.DESCRICAO_FULL }, new String[] { PlanoPostosTrabalhoData.ID_FULL, PlanoPostosTrabalhoData.MEDIDA_ID_FULL,
PlanoPostosTrabalhoData.DESCRICAO_FULL, PlanoPostosTrabalhoData.IS_PRINCIPAL_FULL },
new String[] { PlanoPostosTrabalhoData.ID_FULL } new String[] { PlanoPostosTrabalhoData.ID_FULL }
); );
Virtual2DArray array = getExecuter().executeQuery( query ); Virtual2DArray array = getExecuter().executeQuery( query );
@ -873,12 +955,13 @@ public class PlanosDataProvider extends GenericDataProvider
Integer planoPostoTrabalhoID = array.get( i, 0 ); Integer planoPostoTrabalhoID = array.get( i, 0 );
Integer medidaID = array.get( i, 1 ); Integer medidaID = array.get( i, 1 );
String descricao = array.get( i, 2 ); String descricao = array.get( i, 2 );
Boolean isPrincipal = array.get( i, 3 );
PostoTrabalho p = new PostoTrabalho(); PostoTrabalho p = new PostoTrabalho();
p.setId( planoPostoTrabalhoID ); p.setId( planoPostoTrabalhoID );
p.setMedida_id( medidaID ); p.setMedida_id( medidaID );
p.setDescricao( Utils.unicodeToHTML( descricao ) ); p.setDescricao( Utils.unicodeToHTML( descricao ) );
p.setIs_principal( isPrincipal );
list.add( p ); list.add( p );
} }
} }
@ -954,10 +1037,34 @@ public class PlanosDataProvider extends GenericDataProvider
return list; return list;
} }
// public HsRelatorioRiscoValorQualitativoData loadValorQualitativoByID( Integer valorID ) throws Exception
// {
// return getLocalProvider().load( HsRelatorioRiscoValorQualitativoData.class, valorID, HsRelatorioRiscoValorQualitativoData.ID );
// }
public HsRelatorioRiscoValorQualitativoData loadValorQualitativoByID( Integer valorID ) throws Exception public void loadValoresQualitativos() throws Exception
{
VALORES_QUALITATIVOS_BY_ID.clear();
List<PlanoValoresQualitativosData> valores = getAllValoresQualitativos();
for( PlanoValoresQualitativosData valor : valores )
{
VALORES_QUALITATIVOS_BY_ID.put( valor.getId(), valor);
}
}
public List<PlanoValoresQualitativosData> getAllValoresQualitativos() throws Exception
{
return getProvider().listLoad( PlanoValoresQualitativosData.class, PlanoValoresQualitativosData.ID );
}
public PlanoValoresQualitativosData loadValorQualitativoByID( Integer valorID ) throws Exception
{ {
return getLocalProvider().load( HsRelatorioRiscoValorQualitativoData.class, valorID, HsRelatorioRiscoValorQualitativoData.ID ); // return getProvider().load( PlanoValoresQualitativosData.class, valorID, PlanoValoresQualitativosData.ID );
if( !VALORES_QUALITATIVOS_BY_ID.containsKey( valorID) )
{
loadValoresQualitativos();
}
return VALORES_QUALITATIVOS_BY_ID.get( valorID );
} }
public List<Integer> getDistinctYears( Integer excludeYear ) throws Exception public List<Integer> getDistinctYears( Integer excludeYear ) throws Exception

@ -6,7 +6,7 @@
package db.providers; package db.providers;
import com.evolute.utils.error.ErrorLogger; import com.evolute.utils.error.ErrorLogger;
import db.data.siprp_local.outer.HsRelatorioRiscoValorQualitativoData; import db.data.siprp.outer.PlanoValoresQualitativosData;
import db.entidades.Medida; import db.entidades.Medida;
import db.entidades.Risco; import db.entidades.Risco;
import db.entidades.Utilizador; import db.entidades.Utilizador;
@ -155,10 +155,10 @@ public class RiscoLogic
String result = null; String result = null;
try try
{ {
HsRelatorioRiscoValorQualitativoData valor = PlanosDataProvider.getInstance().loadValorQualitativoByID( id ); PlanoValoresQualitativosData valor = PlanosDataProvider.getInstance().loadValorQualitativoByID( id );
if ( valor != null ) if ( valor != null )
{ {
result = valor.getDescription(); result = valor.getDescricao();
} }
} }
catch ( Exception e ) catch ( Exception e )

Loading…
Cancel
Save