|
|
|
|
@ -19,8 +19,8 @@ import db.data.siprp.outer.PlanoAreasData;
|
|
|
|
|
import db.data.siprp.outer.PlanoMedidasData;
|
|
|
|
|
import db.data.siprp.outer.PlanoPostosTrabalhoData;
|
|
|
|
|
import db.data.siprp.outer.PlanoRiscosData;
|
|
|
|
|
import db.data.siprp.outer.PlanoValoresQualitativosData;
|
|
|
|
|
import db.data.siprp.outer.PlanosActuacaoData;
|
|
|
|
|
import db.data.siprp_local.outer.HsRelatorioRiscoValorQualitativoData;
|
|
|
|
|
import db.entidades.Area;
|
|
|
|
|
import db.entidades.EstadoMedida;
|
|
|
|
|
import db.entidades.Medida;
|
|
|
|
|
@ -29,8 +29,11 @@ import db.entidades.PostoTrabalho;
|
|
|
|
|
import db.entidades.Risco;
|
|
|
|
|
import db.entidades.Utilizador;
|
|
|
|
|
import java.sql.Timestamp;
|
|
|
|
|
import java.util.Collections;
|
|
|
|
|
import java.util.Comparator;
|
|
|
|
|
import utils.Global;
|
|
|
|
|
import java.util.Date;
|
|
|
|
|
import java.util.HashMap;
|
|
|
|
|
import java.util.LinkedList;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import utils.Utils;
|
|
|
|
|
@ -39,6 +42,17 @@ import utils.Utils;
|
|
|
|
|
public class PlanosDataProvider extends GenericDataProvider
|
|
|
|
|
{
|
|
|
|
|
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
|
|
|
|
|
{
|
|
|
|
|
@ -726,7 +740,8 @@ public class PlanosDataProvider extends GenericDataProvider
|
|
|
|
|
{
|
|
|
|
|
Select2 query = new Select2( PlanoAreasData.TABLENAME,
|
|
|
|
|
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 }
|
|
|
|
|
);
|
|
|
|
|
Virtual2DArray array = getExecuter().executeQuery( query );
|
|
|
|
|
@ -737,11 +752,15 @@ public class PlanosDataProvider extends GenericDataProvider
|
|
|
|
|
Integer areaID = array.get( i, 0 );
|
|
|
|
|
Integer pID = array.get( i, 1 );
|
|
|
|
|
String descricao = array.get( i, 2 );
|
|
|
|
|
Integer ordem = array.get( i, 3 );
|
|
|
|
|
Boolean isPrincipal = array.get( i, 4 );
|
|
|
|
|
|
|
|
|
|
Area area = new Area();
|
|
|
|
|
area.setId( areaID );
|
|
|
|
|
area.setPlano_id( pID );
|
|
|
|
|
area.setDescricao( Utils.unicodeToHTML( descricao ) );
|
|
|
|
|
area.setOrdem( ordem );
|
|
|
|
|
area.setIs_principal( isPrincipal );
|
|
|
|
|
area.setRiscos( getRiscosByArea( area ) );
|
|
|
|
|
list.add( area );
|
|
|
|
|
}
|
|
|
|
|
@ -751,6 +770,7 @@ public class PlanosDataProvider extends GenericDataProvider
|
|
|
|
|
{
|
|
|
|
|
ErrorLogger.logException( e );
|
|
|
|
|
}
|
|
|
|
|
Collections.sort( list );
|
|
|
|
|
return list;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -814,11 +834,72 @@ public class PlanosDataProvider extends GenericDataProvider
|
|
|
|
|
r.setMedidas( getMedidasByRisco( r ) );
|
|
|
|
|
r.setIsPatrimonial( isPatrimonial );
|
|
|
|
|
r.setValorQualitativoID( valorQualitativoID );
|
|
|
|
|
|
|
|
|
|
if( valorQualitativoID != null )
|
|
|
|
|
{
|
|
|
|
|
r.setValorQualitativo( loadValorQualitativoByID( valorQualitativoID ).getDescricao() );
|
|
|
|
|
}
|
|
|
|
|
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;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -862,7 +943,8 @@ public class PlanosDataProvider extends GenericDataProvider
|
|
|
|
|
|
|
|
|
|
Select2 query = new Select2( PlanoPostosTrabalhoData.TABLENAME,
|
|
|
|
|
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 }
|
|
|
|
|
);
|
|
|
|
|
Virtual2DArray array = getExecuter().executeQuery( query );
|
|
|
|
|
@ -873,12 +955,13 @@ public class PlanosDataProvider extends GenericDataProvider
|
|
|
|
|
Integer planoPostoTrabalhoID = array.get( i, 0 );
|
|
|
|
|
Integer medidaID = array.get( i, 1 );
|
|
|
|
|
String descricao = array.get( i, 2 );
|
|
|
|
|
Boolean isPrincipal = array.get( i, 3 );
|
|
|
|
|
|
|
|
|
|
PostoTrabalho p = new PostoTrabalho();
|
|
|
|
|
p.setId( planoPostoTrabalhoID );
|
|
|
|
|
p.setMedida_id( medidaID );
|
|
|
|
|
p.setDescricao( Utils.unicodeToHTML( descricao ) );
|
|
|
|
|
|
|
|
|
|
p.setIs_principal( isPrincipal );
|
|
|
|
|
list.add( p );
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
@ -954,10 +1037,34 @@ public class PlanosDataProvider extends GenericDataProvider
|
|
|
|
|
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
|
|
|
|
|
|