From 0aabb2480d25b2ed70acf0995918e2b9c1fc9219 Mon Sep 17 00:00:00 2001 From: Diogo Neves Date: Mon, 29 Aug 2011 17:26:03 +0000 Subject: [PATCH] support for valor qualitativo git-svn-id: https://svn.coded.pt/svn/SIPRP@1717 bb69d46d-e84e-40c8-a05a-06db0d633741 --- trunk/PlanosActuacao/src/java/app.properties | 38 +-- .../java/db/data/siprp/inner/Acidentados.java | 37 ++- .../db/data/siprp/inner/Actualizacao.java | 1 + .../data/siprp/inner/AnalisesAcidentes.java | 126 ++------ .../src/java/db/data/siprp/inner/Avisos.java | 10 +- .../src/java/db/data/siprp/inner/Causas.java | 23 +- .../java/db/data/siprp/inner/Contactos.java | 8 +- .../java/db/data/siprp/inner/Controle.java | 23 +- .../db/data/siprp/inner/Departamentos.java | 23 +- .../java/db/data/siprp/inner/Empresas.java | 17 +- .../src/java/db/data/siprp/inner/Errors.java | 6 +- .../db/data/siprp/inner/Estabelecimentos.java | 11 +- .../db/data/siprp/inner/EstadoMedidas.java | 24 +- .../src/java/db/data/siprp/inner/Exames.java | 17 +- .../db/data/siprp/inner/ExamesPerfis.java | 5 +- .../siprp/inner/HistoricoEstabelecimento.java | 5 +- .../db/data/siprp/inner/MarcacoesEmpresa.java | 6 +- .../siprp/inner/MarcacoesEstabelecimento.java | 7 +- .../siprp/inner/MarcacoesTrabalhador.java | 8 +- .../src/java/db/data/siprp/inner/Medicos.java | 5 +- .../src/java/db/data/siprp/inner/Medidas.java | 23 +- .../java/db/data/siprp/inner/NotNoticias.java | 25 +- .../java/db/data/siprp/inner/Permissoes.java | 23 +- .../java/db/data/siprp/inner/PlanoAreas.java | 24 +- .../db/data/siprp/inner/PlanoMedidas.java | 25 +- .../data/siprp/inner/PlanoPostosTrabalho.java | 24 +- .../java/db/data/siprp/inner/PlanoRiscos.java | 94 ++++-- .../siprp/inner/PlanoRiscosQualitativo.java | 294 ++++++++++++++++++ .../db/data/siprp/inner/PlanosActuacao.java | 57 ++-- .../java/db/data/siprp/inner/Properties.java | 1 + .../db/data/siprp/inner/Recomendacoes.java | 23 +- .../db/data/siprp/inner/RiscoValoresTemp.java | 1 + .../src/java/db/data/siprp/inner/Roles.java | 1 + .../src/java/db/data/siprp/inner/Seccoes.java | 24 +- .../db/data/siprp/inner/TiposExamesComp.java | 4 +- .../data/siprp/inner/TiposUtilizadores.java | 25 +- .../db/data/siprp/inner/Trabalhadores.java | 17 +- .../src/java/db/data/siprp/inner/Users.java | 1 + .../db/data/siprp/inner/Utilizadores.java | 40 ++- .../src/java/db/data/siprp/inner/Version.java | 23 +- .../src/java/db/data/siprp/inner/package.xml | 15 + .../outer/PlanoRiscosQualitativoData.java | 18 ++ .../db/data/siprp_local/inner/package.xml | 12 +- .../src/java/db/entidades/Risco.java | 150 +++++---- .../src/java/db/entidades/Valor.java | 199 +++++++----- .../java/db/providers/EvoBaseProvider.java | 50 ++- .../java/db/providers/PlanosDataProvider.java | 14 +- .../db/providers/RelatoriosDataProvider.java | 24 +- .../src/java/db/providers/RiscoLogic.java | 36 +++ .../java/importer/PlanosActuacaoImporter.java | 91 +++--- .../PlanosActuacaoImporterProvider.java | 250 +++++++-------- .../java/phaselistener/PAContextListener.java | 16 +- .../src/java/planosactuacao/EditarPlano.java | 12 +- .../src/java/planosactuacao/Test.java | 4 +- .../src/java/planosactuacao/ViewPlano.java | 7 +- .../java/updates/PAUpdatesListProvider.java | 43 +++ .../src/java/updates/updates/Update1.java | 25 ++ .../src/java/updates/updates/Update2.java | 90 ++++++ 58 files changed, 1432 insertions(+), 773 deletions(-) create mode 100644 trunk/PlanosActuacao/src/java/db/data/siprp/inner/PlanoRiscosQualitativo.java create mode 100644 trunk/PlanosActuacao/src/java/db/data/siprp/outer/PlanoRiscosQualitativoData.java create mode 100644 trunk/PlanosActuacao/src/java/updates/PAUpdatesListProvider.java create mode 100644 trunk/PlanosActuacao/src/java/updates/updates/Update1.java create mode 100644 trunk/PlanosActuacao/src/java/updates/updates/Update2.java diff --git a/trunk/PlanosActuacao/src/java/app.properties b/trunk/PlanosActuacao/src/java/app.properties index a783d5e9..e1d6505b 100644 --- a/trunk/PlanosActuacao/src/java/app.properties +++ b/trunk/PlanosActuacao/src/java/app.properties @@ -6,32 +6,32 @@ app.resources.j2se.max-heap-size = 512M # production -server.siprp = localhost -port.siprp = 5436 -database.siprp = siprp -username.siprp = postgres -#password.siprp = - -server.siprp_local = localhost -port.siprp_local = 5436 -database.siprp_local = siprp_local_3 -username.siprp_local = postgres -#password.siprp_local = - - - -# tests #server.siprp = localhost -#port.siprp = 5432 +#port.siprp = 5436 #database.siprp = siprp #username.siprp = postgres -#password.siprp = Typein +##password.siprp = # #server.siprp_local = localhost -#port.siprp_local = 5432 +#port.siprp_local = 5436 #database.siprp_local = siprp_local_3 #username.siprp_local = postgres -#password.siprp_local = Typein +##password.siprp_local = + + + +# tests +server.siprp = localhost +port.siprp = 5432 +database.siprp = siprp +username.siprp = postgres +password.siprp = Typein + +server.siprp_local = localhost +port.siprp_local = 5432 +database.siprp_local = siprp_local_3 +username.siprp_local = postgres +password.siprp_local = Typein #server.siprp = www.evolute.pt #port.siprp = 5436 diff --git a/trunk/PlanosActuacao/src/java/db/data/siprp/inner/Acidentados.java b/trunk/PlanosActuacao/src/java/db/data/siprp/inner/Acidentados.java index 293c1eb8..9aa2bdaa 100644 --- a/trunk/PlanosActuacao/src/java/db/data/siprp/inner/Acidentados.java +++ b/trunk/PlanosActuacao/src/java/db/data/siprp/inner/Acidentados.java @@ -191,7 +191,6 @@ public class Acidentados extends com.evolute.entity.evo.EvoDataObject LAZY_LOADED_OBJECTS = new java.util.HashMap< String, Boolean >(); @@ -109,21 +111,24 @@ public class PlanoRiscos extends com.evolute.entity.evo.EvoDataObject (can't touch this) +*/ +package db.data.siprp.inner; + + +public class PlanoRiscosQualitativo extends com.evolute.entity.evo.EvoDataObject +{ + private static final java.util.HashMap FIELD_INDEXES = new java.util.HashMap(); + + static + { + FIELD_INDEXES.put( PlanoRiscosQualitativo.ID, PlanoRiscosQualitativo.ID_INDEX ); + FIELD_INDEXES.put( PlanoRiscosQualitativo.ID_FULL, PlanoRiscosQualitativo.ID_INDEX ); + FIELD_INDEXES.put( PlanoRiscosQualitativo.DESCRIPTION, PlanoRiscosQualitativo.DESCRIPTION_INDEX ); + FIELD_INDEXES.put( PlanoRiscosQualitativo.DESCRIPTION_FULL, PlanoRiscosQualitativo.DESCRIPTION_INDEX ); + } + + private final java.util.HashMap< String, Boolean > LAZY_LOADED_OBJECTS = new java.util.HashMap< String, Boolean >(); + + + public static final String TABLENAME = "plano_riscos_qualitativo"; + + + public static final String CLASS_IDENTIFIER = "db.data.siprp.inner.plano_riscos_qualitativo"; + + public static final int _INVALID__INDEX = -1; + public static final String ID = "id"; + public static final String ID_FULL = "plano_riscos_qualitativo.id"; + public static final int ID_INDEX = 0; + public static final String DESCRIPTION = "description"; + public static final String DESCRIPTION_FULL = "plano_riscos_qualitativo.description"; + public static final int DESCRIPTION_INDEX = 1; + + public static final String FIELD_NAMES[] = new String[]{ + DESCRIPTION, }; + + public static final String FIELD_NAMES_FULL[] = new String[]{ + TABLENAME + "." + DESCRIPTION, }; + + protected static final String DB_FIELD_NAMES[] = new String[]{ + ID, DESCRIPTION, }; + + + protected static final String PK_FIELD_NAMES[] = new String[]{ + ID, }; + + + public static final String DEFAULT_LOAD_SET[] = new String[] { + ID, DESCRIPTION, }; + + private Integer id; + private String description; + + protected com.evolute.entity.utils.IntegerPrimaryKey primaryKey; + + public PlanoRiscosQualitativo() + { + super(); + dirtyProperties = new boolean[]{ false, false }; + } + + public Integer getId() + { + try + { + setLastAccess( System.currentTimeMillis() ); + prepare( ID ); + } + catch( java.lang.Exception ex ) + { + throw new RuntimeException( ex ); + } + return this.id; + } + + public void setId( Integer id ) + { + try + { + preProcess( ID, id ); + } + catch( com.evolute.entity.evo.EvoDataException edex ) + { + throw new RuntimeException( edex ); + } + this.id = id; + LAZY_LOADED_OBJECTS.put( ID, Boolean.TRUE ); + } + + public String getDescription() + { + try + { + setLastAccess( System.currentTimeMillis() ); + prepare( DESCRIPTION ); + } + catch( java.lang.Exception ex ) + { + throw new RuntimeException( ex ); + } + return this.description; + } + + public void setDescription( String description ) + { + try + { + preProcess( DESCRIPTION, description ); + } + catch( com.evolute.entity.evo.EvoDataException edex ) + { + throw new RuntimeException( edex ); + } + this.description = description; + LAZY_LOADED_OBJECTS.put( DESCRIPTION, Boolean.TRUE ); + } + + public Object get( String fieldName ) + { + Object value = null; + Integer index = getFieldIndex( fieldName ); + switch( index ) + { + case PlanoRiscosQualitativo.ID_INDEX: + value = getId(); + break; + case PlanoRiscosQualitativo.DESCRIPTION_INDEX: + value = getDescription(); + break; + } + return value; + } + + public Object rawGet( String fieldName ) + { + Object value = null; + Integer index = getFieldIndex( fieldName ); + switch( index ) + { + case PlanoRiscosQualitativo.ID_INDEX: + value = this.id; + break; + case PlanoRiscosQualitativo.DESCRIPTION_INDEX: + value = this.description; + break; + } + return value; + } + + public void set( String fieldName, Object value ) + { + Integer index = getFieldIndex( fieldName ); + switch( index ) + { + case PlanoRiscosQualitativo.ID_INDEX: + setId( ( Integer ) value ); + break; + case PlanoRiscosQualitativo.DESCRIPTION_INDEX: + setDescription( ( String ) value ); + break; + } + } + + public void rawSet( String fieldName, Object value ) + { + Integer index = getFieldIndex( fieldName ); + switch( index ) + { + case PlanoRiscosQualitativo.ID_INDEX: + this.id = ( Integer ) value; + break; + case PlanoRiscosQualitativo.DESCRIPTION_INDEX: + this.description = ( String ) value; + break; + } + } + + public String []getFieldNames() + { + return FIELD_NAMES; + } + + public String []getFieldNamesFull() + { + return FIELD_NAMES_FULL; + } + + public String []getDBFieldNames() + { + return DB_FIELD_NAMES; + } + + public String []getPrimaryKeyNames() + { + return PK_FIELD_NAMES; + } + + public String []getDefaultLoadSet() + { + return DEFAULT_LOAD_SET; + } + + public String getPrimaryKeyName() + { + return PK_FIELD_NAMES[ 0 ]; + } + + public Class getFieldClass( String fieldName ) + { + Integer index = getFieldIndex( fieldName ); + Class theClass = null; + switch( index ) + { + case PlanoRiscosQualitativo.ID_INDEX: + theClass = Integer.class; + break; + case PlanoRiscosQualitativo.DESCRIPTION_INDEX: + theClass = String.class; + break; + } + return theClass; + } + + public Integer getFieldIndex( String fieldName ) + { + Integer index = FIELD_INDEXES.get( fieldName ); + return index != null ? index : PlanoRiscosQualitativo._INVALID__INDEX; + } + + public String getTableName() + { + return TABLENAME; + } + + public String getClassIdentifier() + { + return CLASS_IDENTIFIER; + } + + @Override + protected void setPrimaryKeyFromVirtual2DArray( com.evolute.utils.arrays.Virtual2DArray array, int row, int col ) + { + Object idObject = null; + if( primaryKey == null ) + { + primaryKey = new com.evolute.entity.utils.IntegerPrimaryKey( TABLENAME, PlanoRiscosQualitativo.PK_FIELD_NAMES ); + idObject = array.get( row, col + 0 ); + try + { + primaryKey.set( 0, ( Integer ) idObject ); + setId( ( Integer ) idObject ); + } + catch( ClassCastException ex ) + { + if( idObject instanceof Number ) + { + primaryKey.set( 0, ((Number)idObject).intValue() ); + setId( ((Number)idObject).intValue() ); + } + else { + throw ex; + } + } + } + } + + @Override + public com.evolute.entity.utils.IntegerPrimaryKey getPrimaryKey() + { + return primaryKey; + } + + public void initLazyLoadFields() + { + } + + public boolean isPropertyLoaded( String fieldName ) + { + if ( LAZY_LOADED_OBJECTS.get( fieldName ) == null ) + { + return true; + } + else + { + return LAZY_LOADED_OBJECTS.get( fieldName ); + } + } +} diff --git a/trunk/PlanosActuacao/src/java/db/data/siprp/inner/PlanosActuacao.java b/trunk/PlanosActuacao/src/java/db/data/siprp/inner/PlanosActuacao.java index cc364862..eef3b091 100644 --- a/trunk/PlanosActuacao/src/java/db/data/siprp/inner/PlanosActuacao.java +++ b/trunk/PlanosActuacao/src/java/db/data/siprp/inner/PlanosActuacao.java @@ -359,7 +359,6 @@ public class PlanosActuacao extends com.evolute.entity.evo.EvoDataObject + + + + + + + + + + + + + + + diff --git a/trunk/PlanosActuacao/src/java/db/data/siprp/outer/PlanoRiscosQualitativoData.java b/trunk/PlanosActuacao/src/java/db/data/siprp/outer/PlanoRiscosQualitativoData.java new file mode 100644 index 00000000..7f95038e --- /dev/null +++ b/trunk/PlanosActuacao/src/java/db/data/siprp/outer/PlanoRiscosQualitativoData.java @@ -0,0 +1,18 @@ +/* +* PlanoRiscosQualitativoData.java +* +* Generated by com.evutils.codegen.EntityObjectGenerator +* +* Edit at will +*/ +package db.data.siprp.outer; + + +public final class PlanoRiscosQualitativoData extends db.data.siprp.inner.PlanoRiscosQualitativo +{ + + public PlanoRiscosQualitativoData() + { + super(); + } +} diff --git a/trunk/PlanosActuacao/src/java/db/data/siprp_local/inner/package.xml b/trunk/PlanosActuacao/src/java/db/data/siprp_local/inner/package.xml index 997285e8..f1933a79 100644 --- a/trunk/PlanosActuacao/src/java/db/data/siprp_local/inner/package.xml +++ b/trunk/PlanosActuacao/src/java/db/data/siprp_local/inner/package.xml @@ -319,8 +319,8 @@ - - + + @@ -552,8 +552,8 @@ - - + + @@ -794,8 +794,8 @@ - - + + diff --git a/trunk/PlanosActuacao/src/java/db/entidades/Risco.java b/trunk/PlanosActuacao/src/java/db/entidades/Risco.java index 06becb0c..64036c3e 100644 --- a/trunk/PlanosActuacao/src/java/db/entidades/Risco.java +++ b/trunk/PlanosActuacao/src/java/db/entidades/Risco.java @@ -1,27 +1,19 @@ -/* - * To change this template, choose Tools | Templates - * and open the template in the editor. - */ - package db.entidades; - import java.io.Serializable; import java.util.Date; import java.util.List; -/** - * - * @author lluis - */ public class Risco implements Serializable { private Integer id; private Integer area_id; private String descricao; private String activo; - //private Valor valor; - private Integer valor; + + private Integer valorQuantitativo; + private Integer valorQualitativoID; + private String responsavel_execucao; private String por; private String recursos_necessarios; @@ -33,156 +25,186 @@ public class Risco implements Serializable private String verificacao_siprp; private Boolean isPatrimonial; - private List valores; - private List medidas; + private List< Valor > valores; + private List< Medida > medidas; - public Integer getId() { + public Integer getId() + { return id; } - public void setId(Integer id) { + public void setId( Integer id ) + { this.id = id; } - public String getDescricao() { + public String getDescricao() + { return descricao; } - public void setDescricao(String descricao) { + public void setDescricao( String descricao ) + { this.descricao = descricao; } - public String getActivo() { + public String getActivo() + { return activo; } - public void setActivo(String activo) { + public void setActivo( String activo ) + { this.activo = activo; } - public Integer getArea_id() { + public Integer getArea_id() + { return area_id; } - public void setArea_id(Integer area_id) { + public void setArea_id( Integer area_id ) + { this.area_id = area_id; } -// public Valor getValor() { -// return valor; -// } -// -// public void setValor(Valor valor) { -// this.valor = valor; -// } - - public List getMedidas() { + public List< Medida > getMedidas() + { return medidas; } - public void setMedidas(List medidas) { + public void setMedidas( List< Medida > medidas ) + { this.medidas = medidas; } - public List getValores() { + public List< Valor > getValores() + { return valores; } - public void setValores(List valores) { + public void setValores( List< Valor > valores ) + { this.valores = valores; } - public String getResponsavel_execucao() { + public String getResponsavel_execucao() + { return responsavel_execucao; } - public void setResponsavel_execucao(String responsavel_execucao) { + public void setResponsavel_execucao( String responsavel_execucao ) + { this.responsavel_execucao = responsavel_execucao; } - public String getRecursos_necessarios() { + public String getRecursos_necessarios() + { return recursos_necessarios; } - public void setRecursos_necessarios(String recursos_necessarios) { + public void setRecursos_necessarios( String recursos_necessarios ) + { this.recursos_necessarios = recursos_necessarios; } - public Date getData_inicio() { + public Date getData_inicio() + { return data_inicio; } - public void setData_inicio(Date data_inicio) { + public void setData_inicio( Date data_inicio ) + { this.data_inicio = data_inicio; } - public Date getData_fim() { + public Date getData_fim() + { return data_fim; } - public void setData_fim(Date data_fim) { + public void setData_fim( Date data_fim ) + { this.data_fim = data_fim; } - public String getParecer_dns() { + public String getParecer_dns() + { return parecer_dns; } - public void setParecer_dns(String parecer_dns) { + public void setParecer_dns( String parecer_dns ) + { this.parecer_dns = parecer_dns; } - public String getParecer_dl() { + public String getParecer_dl() + { return parecer_dl; } - public void setParecer_dl(String parecer_dl) { + public void setParecer_dl( String parecer_dl ) + { this.parecer_dl = parecer_dl; } - public String getVerificacao_siprp() { + public String getVerificacao_siprp() + { return verificacao_siprp; } - public void setVerificacao_siprp(String verificacao_siprp) { + public void setVerificacao_siprp( String verificacao_siprp ) + { this.verificacao_siprp = verificacao_siprp; } - public Integer getValor() { - return valor; + public Integer getValorQuantitativo() + { + return valorQuantitativo; + } + + public void setValorQuantitativo( Integer valorQuantitativo ) + { + this.valorQuantitativo = valorQuantitativo; + } + + public Integer getValorQualitativoID() + { + return valorQualitativoID; } - public void setValor(Integer valor) { - this.valor = valor; + public void setValorQualitativoID( Integer valorQualitativoID ) + { + this.valorQualitativoID = valorQualitativoID; } - public Integer getRisco_id() { + public Integer getRisco_id() + { return risco_id; } - public void setRisco_id(Integer risco_id) { + public void setRisco_id( Integer risco_id ) + { this.risco_id = risco_id; } - /** - * @return the por - */ - public String getPor() { + public String getPor() + { return por; } - /** - * @param por the por to set - */ - public void setPor(String por) { + public void setPor( String por ) + { this.por = por; } - public Boolean getIsPatrimonial() { + public Boolean getIsPatrimonial() + { return isPatrimonial; } - public void setIsPatrimonial(Boolean isPatrimonial) { + public void setIsPatrimonial( Boolean isPatrimonial ) + { this.isPatrimonial = isPatrimonial; } diff --git a/trunk/PlanosActuacao/src/java/db/entidades/Valor.java b/trunk/PlanosActuacao/src/java/db/entidades/Valor.java index 49d97665..bdac26d6 100644 --- a/trunk/PlanosActuacao/src/java/db/entidades/Valor.java +++ b/trunk/PlanosActuacao/src/java/db/entidades/Valor.java @@ -1,118 +1,145 @@ -/* - * To change this template, choose Tools | Templates - * and open the template in the editor. - */ - package db.entidades; import java.io.Serializable; import java.util.Date; import java.util.List; -/** - * - * @author lluis - */ + public class Valor implements Serializable { private Integer id; private Integer risco_id; - private Integer valor; - private List medidas; - - private String responsavel_execucao; - private String recursos_necessarios; - private Date data_inicio; - private Date data_fim; - private String parecer_dns; - private String parecer_dl; - private String verificacao_siprp; - - public Integer getValor() { - return valor; - } - - public void setValor(Integer valor) { - this.valor = valor; - } - - public List getMedidas() { - return medidas; - } - - public void setMedidas(List medidas) { - this.medidas = medidas; - } - - public Integer getId() { - return id; - } - - public void setId(Integer id) { - this.id = id; - } - - public Integer getRisco_id() { - return risco_id; - } + private Integer valorQuantitativo; - public void setRisco_id(Integer risco_id) { - this.risco_id = risco_id; - } + private Integer valorQualitativoID; - public String getResponsavel_execucao() { - return responsavel_execucao; - } - - public void setResponsavel_execucao(String responsavel_execucao) { - this.responsavel_execucao = responsavel_execucao; - } - - public String getRecursos_necessarios() { - return recursos_necessarios; - } +// private List< Medida > medidas; + +// private String responsavel_execucao; +// private String recursos_necessarios; +// private Date data_inicio; +// private Date data_fim; +// private String parecer_dns; +// private String parecer_dl; +// private String verificacao_siprp; - public void setRecursos_necessarios(String recursos_necessarios) { - this.recursos_necessarios = recursos_necessarios; + public Integer getValorQuantitativo() + { + return valorQuantitativo; } - public Date getData_inicio() { - return data_inicio; + public void setValorQuantitativo( Integer valorQuantitativo ) + { + this.valorQuantitativo = valorQuantitativo; } - public void setData_inicio(Date data_inicio) { - this.data_inicio = data_inicio; + public Integer getValorQualitativoID() + { + return valorQualitativoID; } - public Date getData_fim() { - return data_fim; + public void setValorQualitativoID( Integer valorQualitativoID ) + { + this.valorQualitativoID = valorQualitativoID; } - public void setData_fim(Date data_fim) { - this.data_fim = data_fim; - } + // public List getMedidas() +// { +// return medidas; +// } - public String getParecer_dns() { - return parecer_dns; - } +// public void setMedidas( List< Medida > medidas ) +// { +// this.medidas = medidas; +// } - public void setParecer_dns(String parecer_dns) { - this.parecer_dns = parecer_dns; + public Integer getId() + { + return id; } - public String getParecer_dl() { - return parecer_dl; + public void setId( Integer id ) + { + this.id = id; } - public void setParecer_dl(String parecer_dl) { - this.parecer_dl = parecer_dl; + public Integer getRisco_id() + { + return risco_id; } - public String getVerificacao_siprp() { - return verificacao_siprp; + public void setRisco_id( Integer risco_id ) + { + this.risco_id = risco_id; } - public void setVerificacao_siprp(String verificacao_siprp) { - this.verificacao_siprp = verificacao_siprp; - } +// public String getResponsavel_execucao() +// { +// return responsavel_execucao; +// } + +// public void setResponsavel_execucao( String responsavel_execucao ) +// { +// this.responsavel_execucao = responsavel_execucao; +// } + +// public String getRecursos_necessarios() +// { +// return recursos_necessarios; +// } + +// public void setRecursos_necessarios( String recursos_necessarios ) +// { +// this.recursos_necessarios = recursos_necessarios; +// } + +// public Date getData_inicio() +// { +// return data_inicio; +// } + +// public void setData_inicio( Date data_inicio ) +// { +// this.data_inicio = data_inicio; +// } + +// public Date getData_fim() +// { +// return data_fim; +// } + +// public void setData_fim( Date data_fim ) +// { +// this.data_fim = data_fim; +// } + +// public String getParecer_dns() +// { +// return parecer_dns; +// } + +// public void setParecer_dns( String parecer_dns ) +// { +// this.parecer_dns = parecer_dns; +// } + +// public String getParecer_dl() +// { +// return parecer_dl; +// } + +// public void setParecer_dl( String parecer_dl ) +// { +// this.parecer_dl = parecer_dl; +// } + +// public String getVerificacao_siprp() +// { +// return verificacao_siprp; +// } + +// public void setVerificacao_siprp( String verificacao_siprp ) +// { +// this.verificacao_siprp = verificacao_siprp; +// } } diff --git a/trunk/PlanosActuacao/src/java/db/providers/EvoBaseProvider.java b/trunk/PlanosActuacao/src/java/db/providers/EvoBaseProvider.java index c1e6ff65..91deff27 100644 --- a/trunk/PlanosActuacao/src/java/db/providers/EvoBaseProvider.java +++ b/trunk/PlanosActuacao/src/java/db/providers/EvoBaseProvider.java @@ -46,6 +46,16 @@ public class EvoBaseProvider private ProviderInterface< EvoDataObject< ? >, EvoDataException > localProviderInterface; private DBManager localDBManager; + private String url; + private String username; + private String password; + + private String url_local; + private String username_local; + private String password_local; + + + private EvoBaseProvider() throws DBException { init(); @@ -67,16 +77,16 @@ public class EvoBaseProvider String server = DBPropertiesLoader.getInstance().findProperty( DBConstants.SERVER_SIPRP ); int port = DBPropertiesLoader.getInstance().findProperty( DBConstants.PORT_SIPRP, -1 ); String dbname = DBPropertiesLoader.getInstance().findProperty( DBConstants.DATABASE_SIPRP ); - String username = DBPropertiesLoader.getInstance().findProperty( DBConstants.USERNAME_SIPRP ); - String password = DBPropertiesLoader.getInstance().findProperty( DBConstants.PASSWORD_SIPRP ); + username = DBPropertiesLoader.getInstance().findProperty( DBConstants.USERNAME_SIPRP ); + password = DBPropertiesLoader.getInstance().findProperty( DBConstants.PASSWORD_SIPRP ); // System.out.println( "\t" + server + " : " + port + " : " + dbname + " : " + username + " : " + password ); String server_local = DBPropertiesLoader.getInstance().findProperty( DBConstants.SERVER_SIPRP_LOCAL ); int port_local = DBPropertiesLoader.getInstance().findProperty( DBConstants.PORT_SIPRP_LOCAL, -1 ); String dbname_local = DBPropertiesLoader.getInstance().findProperty( DBConstants.DATABASE_SIPRP_LOCAL ); - String username_local = DBPropertiesLoader.getInstance().findProperty( DBConstants.USERNAME_SIPRP_LOCAL ); - String password_local = DBPropertiesLoader.getInstance().findProperty( DBConstants.PASSWORD_SIPRP_LOCAL ); + username_local = DBPropertiesLoader.getInstance().findProperty( DBConstants.USERNAME_SIPRP_LOCAL ); + password_local = DBPropertiesLoader.getInstance().findProperty( DBConstants.PASSWORD_SIPRP_LOCAL ); // System.out.println( "\t" + server_local + " : " + port_local + " : " + dbname_local + " : " + username_local + " : " + password_local ); @@ -91,10 +101,12 @@ public class EvoBaseProvider if ( DBConstants.DB.SIPRP.equals( db ) ) { Singleton.setInstance( DBConstants.CONNECTION_URL, dbUrl ); + url = dbUrl; } else if ( DBConstants.DB.SIPRP_LOCAL.equals( db ) ) { Singleton.setInstance( DBConstants.LOCAL_CONNECTION_URL, dbUrl ); + url_local = dbUrl; } createDBManager( db, dbUsername, dbPassword ); @@ -366,4 +378,34 @@ public class EvoBaseProvider // System.out.println( "<-- getConnection() : " + connection ); return connection; } + + public String getUrl() + { + return url; + } + + public String getUsername() + { + return username; + } + + public String getPassword() + { + return password; + } + + public String getUrl_local() + { + return url_local; + } + + public String getUsername_local() + { + return username_local; + } + + public String getPassword_local() + { + return password_local; + } } diff --git a/trunk/PlanosActuacao/src/java/db/providers/PlanosDataProvider.java b/trunk/PlanosActuacao/src/java/db/providers/PlanosDataProvider.java index 4638ddbd..7353c125 100644 --- a/trunk/PlanosActuacao/src/java/db/providers/PlanosDataProvider.java +++ b/trunk/PlanosActuacao/src/java/db/providers/PlanosDataProvider.java @@ -20,6 +20,7 @@ import db.data.siprp.outer.PlanoMedidasData; import db.data.siprp.outer.PlanoPostosTrabalhoData; import db.data.siprp.outer.PlanoRiscosData; 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; @@ -733,7 +734,7 @@ public class PlanosDataProvider extends GenericDataProvider PlanoRiscosData.ID_FULL, PlanoRiscosData.AREA_ID_FULL, PlanoRiscosData.DESCRICAO_FULL, PlanoRiscosData.RESPONSAVEL_EXECUCAO_FULL, PlanoRiscosData.POR_FULL, PlanoRiscosData.RECURSOS_NECESSARIOS_FULL, PlanoRiscosData.DATA_INICIO_FULL, PlanoRiscosData.DATA_FIM_FULL, PlanoRiscosData.PARECER_DL_FULL, PlanoRiscosData.PARECER_DNS_FULL, PlanoRiscosData.VERIFICACAO_SIPRP_FULL, PlanoRiscosData.VALOR_FULL, - PlanoRiscosData.IS_PATRIMONIAL_FULL, "coalesce( valor, -1 ) AS ordem_valor", + PlanoRiscosData.IS_PATRIMONIAL_FULL, PlanoRiscosData.VALOR_QUALITATIVO_ID, "coalesce( valor, -1 ) AS ordem_valor", }, new String[] { "ordem_valor DESC", PlanoRiscosData.AREA_ID_FULL, PlanoRiscosData.RISCO_ID_FULL } ); @@ -757,6 +758,7 @@ public class PlanosDataProvider extends GenericDataProvider String verificacaoSiprp = array.get( i, 10 ); Integer valor = array.get( i, 11 ); Boolean isPatrimonial = array.get( i, 12 ); + Integer valorQualitativoID = array.get( i, 13 ); Risco r = new Risco(); r.setId( riscoID ); @@ -770,9 +772,10 @@ public class PlanosDataProvider extends GenericDataProvider r.setParecer_dl( Utils.unicodeToHTML( parecerDL ) ); r.setParecer_dns( Utils.unicodeToHTML( parecerDNS ) ); r.setVerificacao_siprp( Utils.unicodeToHTML( verificacaoSiprp ) ); - r.setValor( valor ); + r.setValorQuantitativo( valor ); r.setMedidas( getMedidasByRisco( r ) ); r.setIsPatrimonial( isPatrimonial ); + r.setValorQualitativoID( valorQualitativoID ); list.add( r ); } @@ -912,5 +915,10 @@ public class PlanosDataProvider extends GenericDataProvider } return list; } - + + + public HsRelatorioRiscoValorQualitativoData loadValorQualitativoByID( Integer valorID ) throws Exception + { + return getLocalProvider().load( HsRelatorioRiscoValorQualitativoData.class, valorID, HsRelatorioRiscoValorQualitativoData.ID ); + } } diff --git a/trunk/PlanosActuacao/src/java/db/providers/RelatoriosDataProvider.java b/trunk/PlanosActuacao/src/java/db/providers/RelatoriosDataProvider.java index ef1b357d..68af45e1 100644 --- a/trunk/PlanosActuacao/src/java/db/providers/RelatoriosDataProvider.java +++ b/trunk/PlanosActuacao/src/java/db/providers/RelatoriosDataProvider.java @@ -136,7 +136,7 @@ public class RelatoriosDataProvider extends GenericDataProvider r.setDescricao(Utils.unicodeToHTML(rs.getString("descricao"))); r.setValores(getValoresByRisco(r, a)); //Integer valor = getValorByRisco(r, a); - //r.setValor(valor); + //r.setValorQuantitativo(valor); r.setRisco_id(new Integer( rs.getInt("id") )); r.setMedidas(getMedidasByRisco( r, a)); riscos.add(r); @@ -183,19 +183,19 @@ public class RelatoriosDataProvider extends GenericDataProvider if(oValor == null) { - v.setValor(null); - //r.setValor(null); + v.setValorQuantitativo(null); + //r.setValorQuantitativo(null); valor = null; } else { - v.setValor((Integer) oValor); - //r.setValor((Integer) oValor); + v.setValorQuantitativo((Integer) oValor); + //r.setValorQuantitativo((Integer) oValor); valor = (Integer) oValor; } // System.out.println("RISCO : " + r.getId().toString() + "VALOR : " + oValor.toString()); //int valor = rs.getInt("valor"); - //v.setValor(new Integer(valor)); + //v.setValorQuantitativo(new Integer(valor)); //v.setMedidas(getMedidasByValor(v, r, a)); valores.add(v); }while(rs.next()); @@ -222,7 +222,7 @@ public class RelatoriosDataProvider extends GenericDataProvider // sql += "inner join hs_relatorio_area on hs_relatorio_area.id = area_id "; // sql += "where hs_relatorio_posto_risco.risco_id = " + r.getId() + " and area_id = " + a.getId() + " and hs_relatorio_posto_medida.is_plano_actuacao = true" + ") subquery "; // //sql += "where hs_relatorio_posto_risco.risco_id = " + r.getId() + " and area_id = " + a.getId() + ") subquery "; -// //sql += "where valor = " + v.getValor() + " "; +// //sql += "where valor = " + v.getValorQuantitativo() + " "; // sql += "order by subquery.medida_id, valor"; // System.out.println("MEDIDAS BY VALOR SQL : " + sql); // ResultSet rs = st.executeQuery(sql); @@ -234,7 +234,7 @@ public class RelatoriosDataProvider extends GenericDataProvider // { // Medida m = new Medida(); // //int valor = rs.getInt("valor"); -// //m.setValor(new Integer(valor)); +// //m.setValorQuantitativo(new Integer(valor)); // m.setId(new Integer( rs.getInt("medida_id") )); // m.setDescricao(Utils.unicodeToHTML(rs.getString("descricao"))); // m.setPostos(getPostosByMedidaAndValor(m, v, a)); @@ -264,7 +264,7 @@ public class RelatoriosDataProvider extends GenericDataProvider sql += "inner join hs_relatorio_area on hs_relatorio_area.id = area_id "; sql += "where hs_relatorio_posto_risco.risco_id = " + r.getId() + " and area_id = " + a.getId() + " and hs_relatorio_posto_medida.is_plano_actuacao = true" + ") subquery "; //sql += "where hs_relatorio_posto_risco.risco_id = " + r.getId() + " and area_id = " + a.getId() + ") subquery "; - //sql += "where valor = " + v.getValor() + " "; + //sql += "where valor = " + v.getValorQuantitativo() + " "; sql += "order by subquery.medida_id, valor"; System.out.println("MEDIDAS BY RISCO SQL : " + sql); ResultSet rs = st.executeQuery(sql); @@ -276,7 +276,7 @@ public class RelatoriosDataProvider extends GenericDataProvider { Medida m = new Medida(); //int valor = rs.getInt("valor"); - //m.setValor(new Integer(valor)); + //m.setValorQuantitativo(new Integer(valor)); m.setId(new Integer( rs.getInt("medida_id") )); m.setMedida_id(m.getId()); m.setDescricao(Utils.unicodeToHTML(rs.getString("descricao"))); @@ -302,7 +302,7 @@ public class RelatoriosDataProvider extends GenericDataProvider // sql += "inner join hs_relatorio_posto on hs_relatorio_posto.id = hs_relatorio_posto_medida.posto_id "; // sql += "inner join hs_relatorio_area on hs_relatorio_area.id = area_id "; // sql += "where medida_id = " + m.getId() + " and area_id = " + a.getId() + ") subquery "; -// //sql += "where valor = " + v.getValor(); +// //sql += "where valor = " + v.getValorQuantitativo(); // System.out.println("POSTOS BY MEDIDA SQL : " + sql); // ResultSet rs = st.executeQuery(sql); // List postos = new ArrayList(); @@ -336,7 +336,7 @@ public class RelatoriosDataProvider extends GenericDataProvider sql += "inner join hs_relatorio_posto on hs_relatorio_posto.id = hs_relatorio_posto_medida.posto_id "; sql += "inner join hs_relatorio_area on hs_relatorio_area.id = area_id "; sql += "where medida_id = " + m.getId() + " and area_id = " + a.getId() + " and risco_id = " + r.getId() + ") subquery "; - //sql += "where valor = " + v.getValor(); + //sql += "where valor = " + v.getValorQuantitativo(); System.out.println("POSTOS BY MEDIDA SQL : " + sql); ResultSet rs = st.executeQuery(sql); List< PostoTrabalho > postos = new LinkedList< PostoTrabalho >(); diff --git a/trunk/PlanosActuacao/src/java/db/providers/RiscoLogic.java b/trunk/PlanosActuacao/src/java/db/providers/RiscoLogic.java index 2948a7d7..1bd881cb 100644 --- a/trunk/PlanosActuacao/src/java/db/providers/RiscoLogic.java +++ b/trunk/PlanosActuacao/src/java/db/providers/RiscoLogic.java @@ -5,6 +5,8 @@ package db.providers; +import com.evolute.utils.error.ErrorLogger; +import db.data.siprp_local.outer.HsRelatorioRiscoValorQualitativoData; import db.entidades.Medida; import db.entidades.Risco; import db.entidades.Utilizador; @@ -132,4 +134,38 @@ public class RiscoLogic } return isTratado; } + + + public String getValor( Risco r ) + { + String result = null; + if ( r.getValorQuantitativo() != null ) + { + result = r.getValorQuantitativo().toString(); + } + else if ( r.getValorQualitativoID() != null ) + { + result = getValorQualitativoByID( r.getValorQualitativoID() ); + } + return result == null ? Global.VALOR_INDETERMINADO : result; + } + + private String getValorQualitativoByID( Integer id ) + { + String result = null; + try + { + HsRelatorioRiscoValorQualitativoData valor = PlanosDataProvider.getInstance().loadValorQualitativoByID( id ); + if ( valor != null ) + { + result = valor.getDescription(); + } + } + catch ( Exception e ) + { + ErrorLogger.logException( e ); + } + return result; + } + } diff --git a/trunk/PlanosActuacao/src/java/importer/PlanosActuacaoImporter.java b/trunk/PlanosActuacao/src/java/importer/PlanosActuacaoImporter.java index 34fee6ca..7e8e5c25 100644 --- a/trunk/PlanosActuacao/src/java/importer/PlanosActuacaoImporter.java +++ b/trunk/PlanosActuacao/src/java/importer/PlanosActuacaoImporter.java @@ -90,7 +90,13 @@ public class PlanosActuacaoImporter } - + + private void debug( String debugMessage ) + { + System.out.println( debugMessage ); + } + + private static PlanosActuacaoImporter INSTANCE = null; private PlanosActuacaoImporter() @@ -153,37 +159,39 @@ public class PlanosActuacaoImporter // return list == null ? new LinkedList< Date >() : list; // } - private void initRelatorios( List< Date > list, Integer estabelecimentoId ) + private void initRelatorios( List< Date > datesList, Integer fromEstabelecimentoID ) { - System.out.println("initRelatorios for estabelecimento id: " + estabelecimentoId ); + debug("\ninitRelatorios( " + datesList + ", " + fromEstabelecimentoID + " ) : "); try { - PlanosActuacaoImporterProvider cpdp = PlanosActuacaoImporterProvider.getInstance(); - PlanoActuacaoDataProvider pa = PlanoActuacaoDataProvider.getProvider(); - - if ( estabelecimentoId == null ) + PlanosActuacaoImporterProvider provider = PlanosActuacaoImporterProvider.getInstance(); + PlanoActuacaoDataProvider planosProvider = PlanoActuacaoDataProvider.getProvider(); + + if ( fromEstabelecimentoID == null ) { - System.out.println("A adicionar planos de estabelecimentos novos"); - List< Integer > estabelecimentos = cpdp.getEstabelecimentosWithPlanos(); - putPlanosOnline( pa.getRelatoriosNotIn( estabelecimentos ) ); - estabelecimentos = cpdp.getEstabelecimentosWithPlanos(); - System.out.println("A adicionar planos a estabelecimentos anteriores"); - for( Integer estabelecimentoID : estabelecimentos ) + debug( "\n\tA adicionar novos planos ..." ); + + List< Integer > estabelecimentos = provider.getEstabelecimentosWithPlanos(); + putPlanosOnline( planosProvider.getRelatoriosNotIn( estabelecimentos ) ); + + estabelecimentos = provider.getEstabelecimentosWithPlanos(); + debug("\n\tA adicionar planos a estabelecimentos anteriores"); + for ( Integer estabelecimentoID : estabelecimentos ) { try { - System.out.println("A importar relatorio para o estabelecimento: " + estabelecimentoID ); - List datas = cpdp.getPlanosOnline(estabelecimentoID); - if( datas.isEmpty() ) + debug( "\n\t\tA importar relatorio para o estabelecimento: " + estabelecimentoID ); + List< Date > datas = provider.getPlanosOnline( estabelecimentoID ); + if ( datas.isEmpty() ) { - System.out.println("Nenhuma data de relatorio para o estabelecimento: " + estabelecimentoID ); + debug("\n\t\t\tNenhuma data de relatorio para o estabelecimento: " + estabelecimentoID); } else { - List< HsRelatorioData > relatorios = pa.getRelatoriosNotIn(datas, estabelecimentoID); - if( relatorios.isEmpty() ) + List< HsRelatorioData > relatorios = planosProvider.getRelatoriosNotIn( datas, estabelecimentoID ); + if ( relatorios.isEmpty() ) { - System.out.println("Nenhum relatorio novo para o estabelecimento: " + estabelecimentoID ); + debug("\n\t\t\tNenhum relatorio novo para o estabelecimento: " + estabelecimentoID); } else { @@ -199,7 +207,7 @@ public class PlanosActuacaoImporter } else { - putPlanosOnline( pa.getRelatoriosNotIn( list, estabelecimentoId ) ); + putPlanosOnline(planosProvider.getRelatoriosNotIn(datesList, fromEstabelecimentoID)); } } catch ( Exception e ) @@ -210,12 +218,10 @@ public class PlanosActuacaoImporter private void putPlanosOnline( List< HsRelatorioData > listRelatorios ) { - System.out.println("putPlanosOnline (" + listRelatorios == null ? "null" : listRelatorios.size() ); - Iterator< HsRelatorioData > iter = listRelatorios.iterator(); - while ( iter.hasNext() ) + debug("\n\t\t\tputPlanosOnline (" + listRelatorios == null ? "[null]" : "" + listRelatorios.size()); + for ( HsRelatorioData relatorio : listRelatorios ) { - HsRelatorioData relatorio = iter.next(); - System.out.println("\tRELATORIO ID : " + relatorio.getId().toString() ); + debug("\t\t\t\tRelatorioID : " + relatorio.getId()); try { PlanoActuacao p = createPlano( relatorio ); @@ -226,17 +232,17 @@ public class PlanosActuacaoImporter } catch ( Exception ex ) { + debug("\nERRO NA CRIACAO DOS PLANOS : " + ex.getMessage()); ErrorLogger.logException( ex ); - System.out.println( "ERRO NA CRIACAO DOS PLANOS : " + ex.getMessage() ); } } } private PlanoActuacao createPlano( HsRelatorioData relatorio ) throws Exception { - System.out.println("CREATE PLANO - RELATORIO ID : " + relatorio.getId().toString()); + debug("\n\t\t\t\t\tCREATE PLANO - RELATORIO ID : " + relatorio.getId()); - PlanosActuacaoImporterProvider cpdp = PlanosActuacaoImporterProvider.getInstance(); + PlanosActuacaoImporterProvider provider = PlanosActuacaoImporterProvider.getInstance(); PlanoActuacao p = new PlanoActuacao(); p.setData_visita( relatorio.toMarcacao_id().getData() ); @@ -259,7 +265,7 @@ public class PlanosActuacaoImporter p.setEmpresa_id( relatorio.toMarcacao_id().toEstabelecimento_id().toEmpresa_id().getId() ); try { - p.setNome_empresa( utils.Utils.unicodeToHTML( cpdp.getEmpresaNome( p.getEmpresa_id() ) ) ); + p.setNome_empresa( utils.Utils.unicodeToHTML( provider.getEmpresaNome( p.getEmpresa_id() ) ) ); } catch ( Exception ex ) { @@ -270,13 +276,13 @@ public class PlanosActuacaoImporter p.setData_disponibilizacao( relatorio.getIs_submetido() ); p.setHs_relatorio_id( relatorio.getId() ); - p = cpdp.getFullPlano( p, relatorio.getId() ); + p = provider.getFullPlano( p, relatorio.getId() ); if ( p.getAreas() != null ) { if ( p.getAreas().size() > 0 ) { - p.setId( cpdp.createPlano( p ) ); - System.out.println("CREATE PLANO - PLANO ID : " + p.getId().toString()); + p.setId( provider.createPlano( p ) ); + debug("\n\t\t\t\t\t\tCREATE PLANO - PLANO ID : " + p.getId()); if ( p.getAreas() != null ) { createAreas( p.getId(), p.getAreas() ); @@ -297,11 +303,11 @@ public class PlanosActuacaoImporter private void createAreas( Integer plano_id, List< Area > areas ) throws Exception { - PlanosActuacaoImporterProvider cpdp = PlanosActuacaoImporterProvider.getInstance(); + PlanosActuacaoImporterProvider provider = PlanosActuacaoImporterProvider.getInstance(); for ( Area a : areas ) { a.setPlano_id( plano_id ); - a.setId( cpdp.createArea( a ) ); + a.setId( provider.createArea( a ) ); System.out.println( "AREA =: " + a.getId().toString() ); if ( a.getRiscos() != null ) { @@ -313,7 +319,7 @@ public class PlanosActuacaoImporter private void createRiscos( Integer area_id, List< Risco > riscos ) throws Exception { - PlanosActuacaoImporterProvider cpdp = PlanosActuacaoImporterProvider.getInstance(); + PlanosActuacaoImporterProvider provider = PlanosActuacaoImporterProvider.getInstance(); for ( Risco r : riscos ) { r.setArea_id( area_id ); @@ -322,8 +328,9 @@ public class PlanosActuacaoImporter { for ( Valor v : r.getValores() ) { - r.setValor( v.getValor() ); - r.setId( cpdp.createRisco( r ) ); + r.setValorQuantitativo( v.getValorQuantitativo() ); + r.setValorQualitativoID( v.getValorQualitativoID() ); + r.setId( provider.createRisco( r ) ); } } if ( r.getMedidas() != null ) @@ -335,11 +342,11 @@ public class PlanosActuacaoImporter private void createMedidas( Integer risco_id, List< Medida > medidas ) throws Exception { - PlanosActuacaoImporterProvider cpdp = PlanosActuacaoImporterProvider.getInstance(); + PlanosActuacaoImporterProvider provider = PlanosActuacaoImporterProvider.getInstance(); for ( Medida m : medidas ) { m.setRisco_id( risco_id ); - m.setId( cpdp.createMedida( m ) ); + m.setId( provider.createMedida( m ) ); if ( m.getPostos() != null ) { createPostos( m.getId(), m.getPostos() ); @@ -349,11 +356,11 @@ public class PlanosActuacaoImporter private void createPostos( Integer medida_id, List< PostoTrabalho > postos ) throws Exception { - PlanosActuacaoImporterProvider cpdp = PlanosActuacaoImporterProvider.getInstance(); + PlanosActuacaoImporterProvider provider = PlanosActuacaoImporterProvider.getInstance(); for ( PostoTrabalho p : postos ) { p.setMedida_id( medida_id ); - cpdp.createPostoTrabalho( p ); + provider.createPostoTrabalho( p ); } } diff --git a/trunk/PlanosActuacao/src/java/importer/PlanosActuacaoImporterProvider.java b/trunk/PlanosActuacao/src/java/importer/PlanosActuacaoImporterProvider.java index 15c91864..581b5d54 100644 --- a/trunk/PlanosActuacao/src/java/importer/PlanosActuacaoImporterProvider.java +++ b/trunk/PlanosActuacao/src/java/importer/PlanosActuacaoImporterProvider.java @@ -47,6 +47,8 @@ public class PlanosActuacaoImporterProvider extends GenericDataProvider public List< Date > getPlanosOnline( Integer estabelecimentoID ) throws Exception { + System.out.println( "\n\t\tPlanosActuacaoImporterProvider . getPlanosOnline( " + estabelecimentoID + " ) : " ); + List< Date > list = new LinkedList< Date >(); Expression where = new Field( PlanosActuacaoData.DELETED_DATE_FULL ).isEqual( null ); @@ -60,45 +62,32 @@ public class PlanosActuacaoImporterProvider extends GenericDataProvider new String[] { PlanosActuacaoData.DATA_VISITA_FULL }, new String[] {} ); Virtual2DArray array = getExecuter().executeQuery( query ); - if ( array != null ) + for ( int i = 0; i < array.columnLength(); i++ ) { - System.out.println( "\nCreatePlanosDataProvider . getPlanosOnline( " + estabelecimentoID + " ) : " ); - for ( int i = 0; i < array.columnLength(); i++ ) - { - Date date = array.get( i, 0 ); - System.out.println( "\tdata : " + date ); - list.add( date ); - } + Date date = array.get( i, 0 ); + System.out.println( "\n\t\t\tData-Visita Plano : " + date ); + list.add( date ); } return list; } - public List< Integer > getEstabelecimentosWithPlanos() + public List< Integer > getEstabelecimentosWithPlanos() throws Exception { - List< Integer > list = new LinkedList< Integer >(); - - try - { - Select2 query = new Select2( PlanosActuacaoData.TABLENAME, - new Field( PlanosActuacaoData.DELETED_DATE_FULL ).isEqual( null ), - new String[] { "DISTINCT " + PlanosActuacaoData.ESTABELECIMENTO_ID_FULL }, - new String[] {} - ); - Virtual2DArray array = getExecuter().executeQuery( query ); - if ( array != null ) - { - for ( int i = 0; i < array.columnLength(); i++ ) - { - Integer estabelecimentoID = array.get( i, 0 ); - list.add( estabelecimentoID ); - } - } - } - catch ( Exception e ) + List< Integer > result = new LinkedList< Integer >(); + + Select2 query = new Select2( + PlanosActuacaoData.TABLENAME, + new Field( PlanosActuacaoData.DELETED_DATE_FULL ).isEqual( null ), + new String[] { "DISTINCT " + PlanosActuacaoData.ESTABELECIMENTO_ID_FULL }, + new String[] {} + ); + Virtual2DArray array = getExecuter().executeQuery( query ); + for ( int i = 0; i < array.columnLength(); i++ ) { - ErrorLogger.logException( e ); + Integer estabelecimentoID = array.get( i, 0 ); + result.add( estabelecimentoID ); } - return list; + return result; } @@ -116,17 +105,18 @@ public class PlanosActuacaoImporterProvider extends GenericDataProvider return plano; } - private PlanoActuacao getAreasByPlano( PlanoActuacao plano, Integer relatorioId ) throws Exception + private PlanoActuacao getAreasByPlano( PlanoActuacao plano, Integer relatorioID ) throws Exception { - String sql = "select distinct area_id, hs_relatorio_area.description as descricao from hs_relatorio_posto "; - sql += "inner join hs_relatorio_posto_medida on hs_relatorio_posto_medida.posto_id = hs_relatorio_posto.id "; - sql += "inner join hs_relatorio_medida on hs_relatorio_medida.id = hs_relatorio_posto_medida.medida_id "; - sql += "inner join hs_relatorio_risco on hs_relatorio_risco.id = hs_relatorio_medida.risco_id "; - sql += "inner join hs_relatorio on hs_relatorio.id = hs_relatorio_risco.relatorio_id "; - sql += "inner join hs_relatorio_area on hs_relatorio_area.id = area_id "; - sql += "where hs_relatorio.id = " + relatorioId + " "; - sql += "order by area_id "; - System.out.println( "AREAS BY PLANO SQL : " + sql ); + String sql = "select distinct area_id, hs_relatorio_area.description as descricao from hs_relatorio_posto " + + " inner join hs_relatorio_posto_medida on hs_relatorio_posto_medida.posto_id = hs_relatorio_posto.id " + + " inner join hs_relatorio_medida on hs_relatorio_medida.id = hs_relatorio_posto_medida.medida_id " + + " inner join hs_relatorio_risco on hs_relatorio_risco.id = hs_relatorio_medida.risco_id " + + " inner join hs_relatorio on hs_relatorio.id = hs_relatorio_risco.relatorio_id " + + " inner join hs_relatorio_area on hs_relatorio_area.id = area_id " + + " where hs_relatorio.id = " + relatorioID + " " + + " order by area_id "; + System.out.println( "\n\t\t\t\t\t\tprovider . getAreasByPlano( " + plano.getId() + ", " + relatorioID + " ) : " ); + System.out.println( "\n\t\t\t\t\t\t\t\tSQL : " + sql ); Statement st = createLocalStatement(); ResultSet rs = st.executeQuery( sql ); @@ -148,13 +138,14 @@ public class PlanosActuacaoImporterProvider extends GenericDataProvider } catch ( Exception ex ) { - System.out.println( "ERRO RISCOS BY AREA !!!!" ); + System.out.println( "\nERRO RISCOS BY AREA !!!!" ); ErrorLogger.logException( ex ); a.setRiscos( null ); } areas.add( a ); } - } while ( rs.next() ); + } + while ( rs.next() ); plano.setAreas( areas ); } return plano; @@ -162,19 +153,20 @@ public class PlanosActuacaoImporterProvider extends GenericDataProvider private List< Risco > getRiscosByArea( Area a ) throws Exception { + String sql = "select distinct hs_relatorio_risco.id, hs_relatorio_risco.description as descricao, hs_relatorio_risco.is_patrimonial as is_patrimonial " + + " from hs_relatorio_posto " + + " inner join hs_relatorio_posto_medida on hs_relatorio_posto_medida.posto_id = hs_relatorio_posto.id " + + " inner join hs_relatorio_medida on hs_relatorio_medida.id = hs_relatorio_posto_medida.medida_id " + + " inner join hs_relatorio_risco on hs_relatorio_risco.id = hs_relatorio_medida.risco_id " + + " inner join hs_relatorio on hs_relatorio.id = hs_relatorio_risco.relatorio_id " + + " inner join hs_relatorio_area on hs_relatorio_area.id = area_id " + + " where area_id = " + a.getId() + " " + + " order by hs_relatorio_risco.id "; + System.out.println( "\t\t\t\t\t\t\tprovider . getRiscosByArea( " + a.getId() + " ) : " ); + System.out.println( "\t\t\t\t\t\t\t\t\tSQL : " + sql ); + Statement st = createLocalStatement(); - String sql = "select distinct hs_relatorio_risco.id, hs_relatorio_risco.description as descricao, hs_relatorio_risco.is_patrimonial as is_patrimonial " + - " from hs_relatorio_posto "; - sql += "inner join hs_relatorio_posto_medida on hs_relatorio_posto_medida.posto_id = hs_relatorio_posto.id "; - sql += "inner join hs_relatorio_medida on hs_relatorio_medida.id = hs_relatorio_posto_medida.medida_id "; - sql += "inner join hs_relatorio_risco on hs_relatorio_risco.id = hs_relatorio_medida.risco_id "; - sql += "inner join hs_relatorio on hs_relatorio.id = hs_relatorio_risco.relatorio_id "; - sql += "inner join hs_relatorio_area on hs_relatorio_area.id = area_id "; - sql += "where area_id = " + a.getId() + " "; - sql += "order by hs_relatorio_risco.id "; - System.out.println("RISCOS BY AREA SQL : " + sql); - ResultSet rs = st.executeQuery(sql); - + ResultSet rs = st.executeQuery( sql ); List< Risco > riscos = new LinkedList< Risco >(); if ( rs.isBeforeFirst() ) { @@ -189,36 +181,37 @@ public class PlanosActuacaoImporterProvider extends GenericDataProvider r.setIsPatrimonial( rs.getBoolean( "is_patrimonial" ) ); r.setValores( getValoresByRisco( r, a ) ); - //Integer valor = getValorByRisco(r, a); - //r.setValor(valor); r.setRisco_id( new Integer( rs.getInt( "id" ) ) ); r.setMedidas( getMedidasByRisco( r, a ) ); riscos.add( r ); } } - while( rs.next() ); + while ( rs.next() ); } return riscos; } private List< Valor > getValoresByRisco( Risco r, Area a ) throws Exception { - String sql = "select valor from "; - sql += "(select distinct hs_relatorio_posto_risco.risco_id, "; - sql += "case when hs_relatorio_posto_risco.valor_qualitativo_id isnull and hs_relatorio_posto_risco.probabilidade isnull and hs_relatorio_posto_risco.severidade isnull then null "; - sql += "when hs_relatorio_posto_risco.valor_qualitativo_id isnull then hs_relatorio_posto_risco.probabilidade * hs_relatorio_posto_risco.severidade "; - sql += "else null "; - sql += "end as valor "; - sql += "from hs_relatorio_posto "; - sql += "inner join hs_relatorio_posto_medida on hs_relatorio_posto_medida.posto_id = hs_relatorio_posto.id "; - sql += "inner join hs_relatorio_medida on hs_relatorio_medida.id = hs_relatorio_posto_medida.medida_id "; - sql += "inner join hs_relatorio_risco on hs_relatorio_risco.id = hs_relatorio_medida.risco_id "; - sql += "inner join hs_relatorio_posto_risco on (hs_relatorio_posto_risco.posto_id = hs_relatorio_posto.id and hs_relatorio_posto_risco.risco_id = hs_relatorio_risco.id) "; - sql += "inner join hs_relatorio on hs_relatorio.id = hs_relatorio_risco.relatorio_id "; - sql += "inner join hs_relatorio_area on hs_relatorio_area.id = area_id "; - sql += "where hs_relatorio_posto_risco.risco_id = " + r.getId() + " and area_id = " + a.getId() + ") subquery "; - sql += "order by subquery.valor"; - System.out.println( "VALORES BY RISCO : " + sql ); + String sql = "select subquery.valor, subquery.valor_qualitativo_id from " + + " (select distinct hs_relatorio_posto_risco.risco_id, hs_relatorio_posto_risco.valor_qualitativo_id, hs_relatorio_risco_valor_qualitativo.description, " + + " case when hs_relatorio_posto_risco.valor_qualitativo_id isnull and hs_relatorio_posto_risco.probabilidade isnull and hs_relatorio_posto_risco.severidade isnull then null " + + " when hs_relatorio_posto_risco.valor_qualitativo_id isnull then hs_relatorio_posto_risco.probabilidade * hs_relatorio_posto_risco.severidade " + + " else null " + + " end as valor " + + " from hs_relatorio_posto " + + " inner join hs_relatorio_posto_medida on hs_relatorio_posto_medida.posto_id = hs_relatorio_posto.id " + + " inner join hs_relatorio_medida on hs_relatorio_medida.id = hs_relatorio_posto_medida.medida_id " + + " inner join hs_relatorio_risco on hs_relatorio_risco.id = hs_relatorio_medida.risco_id " + + " inner join hs_relatorio_posto_risco on (hs_relatorio_posto_risco.posto_id = hs_relatorio_posto.id and hs_relatorio_posto_risco.risco_id = hs_relatorio_risco.id) " + + " inner join hs_relatorio on hs_relatorio.id = hs_relatorio_risco.relatorio_id " + + " inner join hs_relatorio_area on hs_relatorio_area.id = area_id " + + " left outer join hs_relatorio_risco_valor_qualitativo on ( hs_relatorio_risco_valor_qualitativo.id = hs_relatorio_posto_risco.valor_qualitativo_id ) " + + " where hs_relatorio_posto_risco.risco_id = " + r.getId() + " and area_id = " + a.getId() + ") subquery " + + " order by subquery.valor"; + + System.out.println( "\t\t\t\t\t\t\t\tprovider . getValoresByRisco( " + r.getId() + ", " + a.getId() + " ) : " ); + System.out.println( "\t\t\t\t\t\t\t\t\t\tSQL : " + sql ); Statement st = createLocalStatement(); ResultSet rs = st.executeQuery( sql ); @@ -229,9 +222,11 @@ public class PlanosActuacaoImporterProvider extends GenericDataProvider do { Object oValor = rs.getObject( "valor" ); + Object valorQualitativoID = rs.getObject( "valor_qualitativo_id" ); Valor v = new Valor(); - v.setValor( oValor == null ? null : ( Integer ) oValor ); + v.setValorQuantitativo( oValor == null ? null : ( Integer ) oValor ); + v.setValorQualitativoID( valorQualitativoID == null ? null : ( Integer ) valorQualitativoID ); valores.add( v ); } while ( rs.next() ); @@ -257,7 +252,7 @@ public class PlanosActuacaoImporterProvider extends GenericDataProvider // sql += "inner join hs_relatorio_area on hs_relatorio_area.id = area_id "; // sql += "where hs_relatorio_posto_risco.risco_id = " + r.getId() + " and area_id = " + a.getId() + " and hs_relatorio_posto_medida.is_plano_actuacao = true" + ") subquery "; // //sql += "where hs_relatorio_posto_risco.risco_id = " + r.getId() + " and area_id = " + a.getId() + ") subquery "; -// //sql += "where valor = " + v.getValor() + " "; +// //sql += "where valor = " + v.getValorQuantitativo() + " "; // sql += "order by subquery.medida_id, valor"; // System.out.println("MEDIDAS BY VALOR SQL : " + sql); // ResultSet rs = st.executeQuery(sql); @@ -269,7 +264,7 @@ public class PlanosActuacaoImporterProvider extends GenericDataProvider // { // Medida m = new Medida(); // //int valor = rs.getInt("valor"); -// //m.setValor(new Integer(valor)); +// //m.setValorQuantitativo(new Integer(valor)); // m.setId(new Integer( rs.getInt("medida_id") )); // m.setDescricao(Utils.unicodeToHTML(rs.getString("descricao"))); // m.setPostos(getPostosByMedidaAndValor(m, v, a)); @@ -279,26 +274,28 @@ public class PlanosActuacaoImporterProvider extends GenericDataProvider // return medidas; // } - private List getMedidasByRisco(Risco r, Area a) throws Exception + private List getMedidasByRisco( Risco r, Area a ) throws Exception { - String sql = "select distinct medida_id, valor, descricao from "; - sql += "( select distinct hs_relatorio_posto_medida.medida_id, hs_relatorio_posto_risco.risco_id, hs_relatorio_medida.description as descricao, "; - sql += "case when hs_relatorio_posto_risco.valor_qualitativo_id isnull and hs_relatorio_posto_risco.probabilidade isnull and hs_relatorio_posto_risco.severidade isnull then null "; - sql += "when hs_relatorio_posto_risco.valor_qualitativo_id isnull then hs_relatorio_posto_risco.probabilidade * hs_relatorio_posto_risco.severidade "; - sql += "else hs_relatorio_posto_risco.valor_qualitativo_id "; - sql += "end as valor "; - sql += "from hs_relatorio_posto "; - sql += "inner join hs_relatorio_posto_medida on hs_relatorio_posto_medida.posto_id = hs_relatorio_posto.id "; - sql += "inner join hs_relatorio_medida on hs_relatorio_medida.id = hs_relatorio_posto_medida.medida_id "; - sql += "inner join hs_relatorio_risco on hs_relatorio_risco.id = hs_relatorio_medida.risco_id "; - sql += "inner join hs_relatorio_posto_risco on (hs_relatorio_posto_risco.posto_id = hs_relatorio_posto.id and hs_relatorio_posto_risco.risco_id = hs_relatorio_risco.id) "; - sql += "inner join hs_relatorio on hs_relatorio.id = hs_relatorio_risco.relatorio_id "; - sql += "inner join hs_relatorio_area on hs_relatorio_area.id = area_id "; - sql += "where hs_relatorio_posto_risco.risco_id = " + r.getId() + " and area_id = " + a.getId() + " and hs_relatorio_posto_medida.is_plano_actuacao = true" + ") subquery "; - //sql += "where hs_relatorio_posto_risco.risco_id = " + r.getId() + " and area_id = " + a.getId() + ") subquery "; - //sql += "where valor = " + v.getValor() + " "; - sql += "order by subquery.medida_id, valor"; - System.out.println("MEDIDAS BY RISCO SQL : " + sql); + String sql = "select distinct medida_id, valor, descricao from " + + " ( select distinct hs_relatorio_posto_medida.medida_id, hs_relatorio_posto_risco.risco_id, hs_relatorio_medida.description as descricao, " + + " case when hs_relatorio_posto_risco.valor_qualitativo_id isnull and hs_relatorio_posto_risco.probabilidade isnull and hs_relatorio_posto_risco.severidade isnull then null " + + " when hs_relatorio_posto_risco.valor_qualitativo_id isnull then hs_relatorio_posto_risco.probabilidade * hs_relatorio_posto_risco.severidade " + + " else hs_relatorio_posto_risco.valor_qualitativo_id " + + " end as valor " + + " from hs_relatorio_posto " + + " inner join hs_relatorio_posto_medida on hs_relatorio_posto_medida.posto_id = hs_relatorio_posto.id " + + " inner join hs_relatorio_medida on hs_relatorio_medida.id = hs_relatorio_posto_medida.medida_id " + + " inner join hs_relatorio_risco on hs_relatorio_risco.id = hs_relatorio_medida.risco_id " + + " inner join hs_relatorio_posto_risco on (hs_relatorio_posto_risco.posto_id = hs_relatorio_posto.id and hs_relatorio_posto_risco.risco_id = hs_relatorio_risco.id) " + + " inner join hs_relatorio on hs_relatorio.id = hs_relatorio_risco.relatorio_id " + + " inner join hs_relatorio_area on hs_relatorio_area.id = area_id " + + " where hs_relatorio_posto_risco.risco_id = " + r.getId() + " and area_id = " + a.getId() + " and hs_relatorio_posto_medida.is_plano_actuacao = true" + ") subquery " + //+ " where hs_relatorio_posto_risco.risco_id = " + r.getId() + " and area_id = " + a.getId() + ") subquery " + //+ " where valor = " + v.getValorQuantitativo() + " " + + " order by subquery.medida_id, valor"; + System.out.println( "\t\t\t\t\t\t\t\t\tprovider . getMedidasByRisco( " + r.getId() + ", " + a.getId() + " ) : " ); + System.out.println( "\t\t\t\t\t\t\t\t\t\t\tSQL : " + sql ); + Statement st = createLocalStatement(); ResultSet rs = st.executeQuery( sql ); List< Medida > medidas = new LinkedList< Medida >(); @@ -334,7 +331,7 @@ public class PlanosActuacaoImporterProvider extends GenericDataProvider // sql += "inner join hs_relatorio_posto on hs_relatorio_posto.id = hs_relatorio_posto_medida.posto_id "; // sql += "inner join hs_relatorio_area on hs_relatorio_area.id = area_id "; // sql += "where medida_id = " + m.getId() + " and area_id = " + a.getId() + ") subquery "; -// //sql += "where valor = " + v.getValor(); +// //sql += "where valor = " + v.getValorQuantitativo(); // System.out.println("POSTOS BY MEDIDA SQL : " + sql); // ResultSet rs = st.executeQuery(sql); // List postos = new ArrayList(); @@ -365,7 +362,7 @@ public class PlanosActuacaoImporterProvider extends GenericDataProvider sql += "inner join hs_relatorio_posto on hs_relatorio_posto.id = hs_relatorio_posto_medida.posto_id "; sql += "inner join hs_relatorio_area on hs_relatorio_area.id = area_id "; sql += "where medida_id = " + m.getId() + " and area_id = " + a.getId() + " and risco_id = " + r.getId() + ") subquery "; - //sql += "where valor = " + v.getValor(); + //sql += "where valor = " + v.getValorQuantitativo(); System.out.println("POSTOS BY MEDIDA SQL : " + sql); Statement st = createLocalStatement(); ResultSet rs = st.executeQuery( sql ); @@ -388,20 +385,24 @@ public class PlanosActuacaoImporterProvider extends GenericDataProvider - private boolean existemMedidasByArea(Integer area_id) throws Exception + private boolean existemMedidasByArea( Integer areaID ) throws Exception { - String sql = "select distinct medida_id, valor, descricao "; - sql += "from ( select distinct hs_relatorio_posto_medida.medida_id, hs_relatorio_posto_risco.risco_id, hs_relatorio_medida.description as descricao, "; - sql += "case when hs_relatorio_posto_risco.valor_qualitativo_id isnull and hs_relatorio_posto_risco.probabilidade isnull and hs_relatorio_posto_risco.severidade isnull then null "; - sql += "when hs_relatorio_posto_risco.valor_qualitativo_id isnull then hs_relatorio_posto_risco.probabilidade * hs_relatorio_posto_risco.severidade else hs_relatorio_posto_risco.valor_qualitativo_id end as valor from hs_relatorio_posto "; - sql += "inner join hs_relatorio_posto_medida on hs_relatorio_posto_medida.posto_id = hs_relatorio_posto.id "; - sql += "inner join hs_relatorio_medida on hs_relatorio_medida.id = hs_relatorio_posto_medida.medida_id "; - sql += "inner join hs_relatorio_risco on hs_relatorio_risco.id = hs_relatorio_medida.risco_id "; - sql += "inner join hs_relatorio_posto_risco on (hs_relatorio_posto_risco.posto_id = hs_relatorio_posto.id and hs_relatorio_posto_risco.risco_id = hs_relatorio_risco.id) "; - sql += "inner join hs_relatorio on hs_relatorio.id = hs_relatorio_risco.relatorio_id "; - sql += "inner join hs_relatorio_area on hs_relatorio_area.id = area_id "; - sql += "where area_id = " + area_id + " and hs_relatorio_posto_medida.is_plano_actuacao = true) subquery order by subquery.medida_id, valor"; - System.out.println("EXISTEM MEDIDAS BY AREA SQL : " + sql); + String sql = "select distinct medida_id, valor, descricao " + + " from ( select distinct hs_relatorio_posto_medida.medida_id, hs_relatorio_posto_risco.risco_id, hs_relatorio_medida.description as descricao, " + + " case when hs_relatorio_posto_risco.valor_qualitativo_id isnull and hs_relatorio_posto_risco.probabilidade isnull and hs_relatorio_posto_risco.severidade isnull then null " + + " when hs_relatorio_posto_risco.valor_qualitativo_id isnull then hs_relatorio_posto_risco.probabilidade * hs_relatorio_posto_risco.severidade else hs_relatorio_posto_risco.valor_qualitativo_id end as valor from hs_relatorio_posto " + + " inner join hs_relatorio_posto_medida on hs_relatorio_posto_medida.posto_id = hs_relatorio_posto.id " + + " inner join hs_relatorio_medida on hs_relatorio_medida.id = hs_relatorio_posto_medida.medida_id " + + " inner join hs_relatorio_risco on hs_relatorio_risco.id = hs_relatorio_medida.risco_id " + + " inner join hs_relatorio_posto_risco on (hs_relatorio_posto_risco.posto_id = hs_relatorio_posto.id and hs_relatorio_posto_risco.risco_id = hs_relatorio_risco.id) " + + " inner join hs_relatorio on hs_relatorio.id = hs_relatorio_risco.relatorio_id " + + " inner join hs_relatorio_area on hs_relatorio_area.id = area_id " + + " where area_id = " + areaID + " and hs_relatorio_posto_medida.is_plano_actuacao = true) subquery " + + " order by subquery.medida_id, valor"; + + System.out.println( "\t\t\t\t\t\t\t\t\tprovider . existemMedidasByArea( " + areaID + " ) : " ); + System.out.println( "\t\t\t\t\t\t\t\t\t\t\tSQL : " + sql ); + Statement st = createLocalStatement(); ResultSet rs = st.executeQuery( sql ); return rs.isBeforeFirst(); @@ -409,17 +410,19 @@ public class PlanosActuacaoImporterProvider extends GenericDataProvider private boolean existemMedidasByRisco(Integer risco_id) throws Exception { - String sql = "select distinct medida_id "; - sql += "from ( select distinct hs_relatorio_posto_medida.medida_id, hs_relatorio_posto_risco.risco_id, hs_relatorio_medida.description as descricao, "; - sql += "case when hs_relatorio_posto_risco.valor_qualitativo_id isnull and hs_relatorio_posto_risco.probabilidade isnull and hs_relatorio_posto_risco.severidade isnull then null "; - sql += "when hs_relatorio_posto_risco.valor_qualitativo_id isnull then hs_relatorio_posto_risco.probabilidade * hs_relatorio_posto_risco.severidade else hs_relatorio_posto_risco.valor_qualitativo_id end as valor from hs_relatorio_posto "; - sql += "inner join hs_relatorio_posto_medida on hs_relatorio_posto_medida.posto_id = hs_relatorio_posto.id "; - sql += "inner join hs_relatorio_medida on hs_relatorio_medida.id = hs_relatorio_posto_medida.medida_id "; - sql += "inner join hs_relatorio_risco on hs_relatorio_risco.id = hs_relatorio_medida.risco_id "; - sql += "inner join hs_relatorio_posto_risco on (hs_relatorio_posto_risco.posto_id = hs_relatorio_posto.id and hs_relatorio_posto_risco.risco_id = hs_relatorio_risco.id) "; - sql += "inner join hs_relatorio on hs_relatorio.id = hs_relatorio_risco.relatorio_id "; - sql += "inner join hs_relatorio_area on hs_relatorio_area.id = area_id "; - sql += "where hs_relatorio_posto_risco.risco_id = " + risco_id + " and hs_relatorio_posto_medida.is_plano_actuacao = true) subquery order by medida_id"; + String sql = "select distinct medida_id " + + " from ( select distinct hs_relatorio_posto_medida.medida_id, hs_relatorio_posto_risco.risco_id, hs_relatorio_medida.description as descricao, " + + " case when hs_relatorio_posto_risco.valor_qualitativo_id isnull and hs_relatorio_posto_risco.probabilidade isnull and hs_relatorio_posto_risco.severidade isnull then null " + + " when hs_relatorio_posto_risco.valor_qualitativo_id isnull then hs_relatorio_posto_risco.probabilidade * hs_relatorio_posto_risco.severidade else hs_relatorio_posto_risco.valor_qualitativo_id end as valor from hs_relatorio_posto " + + " inner join hs_relatorio_posto_medida on hs_relatorio_posto_medida.posto_id = hs_relatorio_posto.id " + + " inner join hs_relatorio_medida on hs_relatorio_medida.id = hs_relatorio_posto_medida.medida_id " + + " inner join hs_relatorio_risco on hs_relatorio_risco.id = hs_relatorio_medida.risco_id " + + " inner join hs_relatorio_posto_risco on (hs_relatorio_posto_risco.posto_id = hs_relatorio_posto.id and hs_relatorio_posto_risco.risco_id = hs_relatorio_risco.id) " + + " inner join hs_relatorio on hs_relatorio.id = hs_relatorio_risco.relatorio_id " + + " inner join hs_relatorio_area on hs_relatorio_area.id = area_id " + + " where hs_relatorio_posto_risco.risco_id = " + risco_id + " and hs_relatorio_posto_medida.is_plano_actuacao = true) subquery " + + " order by medida_id"; + System.out.println("EXISTEM MEDIDAS BY RISCO SQL : " + sql); Statement st = createLocalStatement(); ResultSet rs = st.executeQuery( sql ); @@ -523,9 +526,10 @@ public class PlanosActuacaoImporterProvider extends GenericDataProvider riscoData.setDescricao( r.getDescricao() ); riscoData.setActivo( r.getActivo() == null ? "y" : r.getActivo() ); riscoData.setArea_id( r.getArea_id() ); - riscoData.setValor( r.getValor() ); + riscoData.setValor( r.getValorQuantitativo() ); riscoData.setRisco_id( r.getId() ); riscoData.setIs_patrimonial( r.getIsPatrimonial() ); + riscoData.setValor_qualitativo_id( r.getValorQualitativoID() ); System.out.println( "\nCREATE RISCO : " ); riscoData.setProvider( EvoBaseProvider.getInstance().getProvider( DB.SIPRP ) ); diff --git a/trunk/PlanosActuacao/src/java/phaselistener/PAContextListener.java b/trunk/PlanosActuacao/src/java/phaselistener/PAContextListener.java index 77ec5eab..ba08ecfd 100644 --- a/trunk/PlanosActuacao/src/java/phaselistener/PAContextListener.java +++ b/trunk/PlanosActuacao/src/java/phaselistener/PAContextListener.java @@ -5,6 +5,7 @@ package phaselistener; +import com.evolute.module.updater.Updater; import com.evolute.properties.EvoAbstractPropertiesLoader; import com.evolute.utils.date.DateUtils; import com.evolute.utils.error.ErrorLogger; @@ -16,8 +17,9 @@ import java.text.SimpleDateFormat; import java.util.Date; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; -import importer.PlanosActuacaoImporter; + import shst.companydataloaders.SIPRPPropertiesLoader; +import updates.PAUpdatesListProvider; import utils.PlanosActuacaoLogger; /** @@ -71,6 +73,18 @@ public class PAContextListener implements ServletContextListener ErrorLogger.logException( e ); } + try + { + System.out.println( "\nExecuting db updates ..." ); + Updater.setDBUserForUpdate( EvoBaseProvider.getInstance().getUrl(), EvoBaseProvider.getInstance().getUsername(), EvoBaseProvider.getInstance().getPassword() ); + Updater.getInstance().executeUpdates( false, PAUpdatesListProvider.getInstance().getUpdates() ); + } + catch ( Exception e ) + { + ErrorLogger.logException( e ); + } + + // System.out.println( "\nScheduling Import Event ... " ); // importEvent = new TimedEvent() // { diff --git a/trunk/PlanosActuacao/src/java/planosactuacao/EditarPlano.java b/trunk/PlanosActuacao/src/java/planosactuacao/EditarPlano.java index bad2ba98..28cacfe9 100644 --- a/trunk/PlanosActuacao/src/java/planosactuacao/EditarPlano.java +++ b/trunk/PlanosActuacao/src/java/planosactuacao/EditarPlano.java @@ -868,7 +868,7 @@ public class EditarPlano extends AbstractPageBean pg.getChildren().add( st ); st = new StaticText(); st.setEscape( false ); - st.setText( v.getValor().toString() ); + st.setText( v.getValorQuantitativo().toString() ); pg.getChildren().add( st ); gridValor.getChildren().add( pg ); @@ -898,7 +898,7 @@ public class EditarPlano extends AbstractPageBean pg.getChildren().add( st ); st = new StaticText(); st.setEscape( false ); - st.setText( r.getValor() == null ? Global.VALOR_INDETERMINADO : r.getValor().toString() ); + st.setText( RiscoLogic.getInstance().getValor( r ) ); pg.getChildren().add( st ); gridValor.getChildren().add( pg ); @@ -2066,7 +2066,7 @@ public class EditarPlano extends AbstractPageBean case Global.FASE_SEGURANCA_PREENCHIMENTO : if ( p.getFase_anterior() == null ) { - assunto = "PLANOS - SEGURANÇA (PREENCHIMENTO)"; + assunto = "PLANOS - SEGURAN�A (PREENCHIMENTO)"; mail_text = "Notifica-se que o Plano passou para a fase Segurançãa(Preenchimento)"; } else @@ -2075,7 +2075,7 @@ public class EditarPlano extends AbstractPageBean { case Global.FASE_DIR_LOJA_VALIDACAO: tipo_utilizador = Global.DIRECTOR_LOJA; - assunto = "Plano de Actuação da Avaliação de Riscos de " + p.getData_visita_str() + " - Pedido de Correcção"; + assunto = "Plano de Actua��o da Avalia��o de Riscos de " + p.getData_visita_str() + " - Pedido de Correc��o"; mail_text = "

Exmo. (a) Senhor (a),

"; mail_text += "

O Plano de Actuação referente à auditoria de Avaliação de Riscos Laborais realizada no passado dia " + p.getData_visita_str() + " foi devolvido para correcção.

"; mail_text += "

Proceda, por favor, em www.siprp.com à(s) respectiva(s) correcção(ões) de acordo com as indicações e volte a reenviar o processo para a fase seguinte.

"; @@ -2106,14 +2106,14 @@ public class EditarPlano extends AbstractPageBean } case Global.FASE_SIPRP_CONCLUSAO : tipo_utilizador = Global.TECNICO_HS; - assunto = "Plano de Actuação da Avaliação de Riscos de " + p.getData_visita_str() + " - " + p.getNome_estabelecimento(); + assunto = "Plano de Actua��o da Avalia��o de Riscos de " + p.getData_visita_str() + " - " + p.getNome_estabelecimento(); mail_text = "

Exmo. (a) Senhor (a),

"; mail_text += "

Encontra-se disponível em www.siprp.com o Plano de Actuação referente à auditoria de Avaliação de Riscos Laborais realizada no passado dia " + p.getData_visita_str() + " para que possa efectuar a sua verificação.

"; mail_text += "

Por favor não responda a esta mensagem, dado tratar-se de um e-mail automático

"; break; case Global.FASE_CONCLUIDO : - assunto = "Plano de Actuação da Avaliação de Riscos de " + p.getData_visita_str() + " - " + p.getNome_estabelecimento() + " - Processo finalizado"; + assunto = "Plano de Actua��o da Avalia��o de Riscos de " + p.getData_visita_str() + " - " + p.getNome_estabelecimento() + " - Processo finalizado"; mail_text = "

Exmo. (a) Senhor (a),

"; mail_text += "

Encontra-se disponível em www.siprp.com o Plano de Actuação referente à auditoria de Avaliação de Riscos Laborais realizada no passado dia " + p.getData_visita_str() + " finalizado após verificação pelos Técnicos Superiores de Higiene e Segurança da SIPRP.

"; mail_text += "

Aproveitamos para agradecer toda a disponibilidade e ficamos ao vosso dispor, caso tenha alguma dúvida ou necessite de qualquer esclarecimento, através do telefone 213 504 540.

"; diff --git a/trunk/PlanosActuacao/src/java/planosactuacao/Test.java b/trunk/PlanosActuacao/src/java/planosactuacao/Test.java index 42b52ec1..41f0d9db 100644 --- a/trunk/PlanosActuacao/src/java/planosactuacao/Test.java +++ b/trunk/PlanosActuacao/src/java/planosactuacao/Test.java @@ -50,8 +50,8 @@ public class Test { { for(Valor v : valores) { - System.out.println("\t\t\t" + v.getValor()); - showMedidas(v.getMedidas()); + System.out.println("\t\t\t" + v.getValorQuantitativo()); +// showMedidas(v.getMedidas()); } } diff --git a/trunk/PlanosActuacao/src/java/planosactuacao/ViewPlano.java b/trunk/PlanosActuacao/src/java/planosactuacao/ViewPlano.java index 5296c56f..41515ca4 100644 --- a/trunk/PlanosActuacao/src/java/planosactuacao/ViewPlano.java +++ b/trunk/PlanosActuacao/src/java/planosactuacao/ViewPlano.java @@ -17,6 +17,7 @@ import db.entidades.Medida; import db.entidades.PlanoActuacao; import db.entidades.PostoTrabalho; import db.entidades.Risco; +import db.providers.RiscoLogic; import db.providers.UtilizadoresLogic; import utils.Global; import java.text.SimpleDateFormat; @@ -349,7 +350,7 @@ public class ViewPlano extends AbstractPageBean pg.getChildren().add( st ); st = new StaticText(); st.setEscape( false ); - st.setText( r.getValor() == null ? Global.VALOR_INDETERMINADO : r.getValor().toString() ); + st.setText( RiscoLogic.getInstance().getValor( r ) ); pg.getChildren().add( st ); gridValor.getChildren().add( pg ); @@ -545,13 +546,13 @@ public class ViewPlano extends AbstractPageBean // pg.getChildren().add(st); // st = new StaticText(); // st.setEscape(false); -// if(valor.getValor() == null) +// if(valor.getValorQuantitativo() == null) // { // st.setText(" - "); // } // else // { -// st.setText(valor.getValor().toString()); +// st.setText(valor.getValorQuantitativo().toString()); // } // pg.getChildren().add(st); // gridValor.getChildren().add(pg); diff --git a/trunk/PlanosActuacao/src/java/updates/PAUpdatesListProvider.java b/trunk/PlanosActuacao/src/java/updates/PAUpdatesListProvider.java new file mode 100644 index 00000000..de8589be --- /dev/null +++ b/trunk/PlanosActuacao/src/java/updates/PAUpdatesListProvider.java @@ -0,0 +1,43 @@ +package updates; + +import com.evolute.module.updater.AbstractUpdate; +import com.evolute.module.updater.UpdaterListProvider; +import updates.updates.Update1; +import updates.updates.Update2; + +/** + * User: dneves + * Date: 8/29/11 12:45 PM + */ +public class PAUpdatesListProvider extends UpdaterListProvider +{ + + private static final AbstractUpdate[] UPDATES_LIST = new AbstractUpdate[] { + new Update1( 0, 1 ), // support for valor qualitativo (@ riscos) + new Update2( 1, 2 ), // update valor qualitativo + }; + + + private static PAUpdatesListProvider INSTANCE = null; + + private PAUpdatesListProvider() + { + + } + + public static synchronized PAUpdatesListProvider getInstance() + { + if ( INSTANCE == null ) + { + INSTANCE = new PAUpdatesListProvider(); + } + return INSTANCE; + } + + @Override + protected void setupUpdates() + { + addUpdates( UPDATES_LIST ); + } + +} diff --git a/trunk/PlanosActuacao/src/java/updates/updates/Update1.java b/trunk/PlanosActuacao/src/java/updates/updates/Update1.java new file mode 100644 index 00000000..50e30991 --- /dev/null +++ b/trunk/PlanosActuacao/src/java/updates/updates/Update1.java @@ -0,0 +1,25 @@ +package updates.updates; + +import com.evolute.module.updater.AbstractUpdate; +import com.evolute.utils.sql.*; + +import java.beans.Expression; + +/** + * User: dneves + * Date: 8/29/11 12:32 PM + */ +public class Update1 extends AbstractUpdate +{ + + public Update1( double startVersion, double endVersion ) + { + super( startVersion, endVersion, "Adicionar suporte para valor qualitativo nos riscos" ); + } + + @Override + public void doUpdate() throws Exception + { + executeQuery(new Update("ALTER TABLE plano_riscos ADD COLUMN valor_qualitativo_id INTEGER;")); + } +} diff --git a/trunk/PlanosActuacao/src/java/updates/updates/Update2.java b/trunk/PlanosActuacao/src/java/updates/updates/Update2.java new file mode 100644 index 00000000..c80b88b9 --- /dev/null +++ b/trunk/PlanosActuacao/src/java/updates/updates/Update2.java @@ -0,0 +1,90 @@ +package updates.updates; + +import com.evolute.module.updater.AbstractUpdate; +import com.evolute.utils.arrays.Virtual2DArray; +import com.evolute.utils.db.Executer; +import com.evolute.utils.sql.Assignment; +import com.evolute.utils.sql.Field; +import com.evolute.utils.sql.Select; +import com.evolute.utils.sql.Update; +import com.evolute.utils.sql.backend.BackendProvider; +import db.providers.EvoBaseProvider; + +import java.util.HashMap; +import java.util.Map; + +/** + * User: dneves + * Date: 8/29/11 2:23 PM + */ +public class Update2 extends AbstractUpdate +{ + + public Update2( double startVersion, double endVersion ) + { + super( startVersion, endVersion, "Actualizar valor qualitativo de riscos antigos" ); + } + + @Override + public void doUpdate() throws Exception + { + int count = 0; + int countValue = 0; + + Select query = new Select( + "select " + + " distinct r.risco_id, t.posto_id, r.id " + + "from plano_riscos r " + + "inner join plano_medidas m on ( m.risco_id = r.id ) " + + "inner join plano_postos_trabalho t on ( t.medida_id = m.id ) " +// + "where r.valor_qualitativo_id is null" + ); + Virtual2DArray array = executeQuery( query ); + for ( int i = 0; i < array.columnLength(); i++ ) + { + Integer riscoID = array.get( i, 0 ); + Integer postoID = array.get( i, 1 ); + Integer planoRiscoID = array.get( i, 2 ); + + Integer valorID = getValorIDByRiscoIDPostoID( riscoID, postoID ); + if ( valorID != null ) + { + countValue++; + } + + Update upd = new Update( "plano_riscos", new Assignment[] { + new Assignment( new Field( "valor_qualitativo_id" ), valorID ) + }, + new Field( "id" ).isEqual( planoRiscoID ) ); + upd.setBackend( BackendProvider.getBackend( EvoBaseProvider.getInstance().getUrl() ) ); + System.out.println( "UPDATE : " + upd ); + executeQuery( upd ); + count++; + } + + System.out.println( "\n-------------------------------------------------------" ); + System.out.println( "---- TOTAL RISCOS UPDATED : " + count ); + System.out.println( "---- TOTAL RISCOS UPDATED WITH VALUE : " + countValue ); + System.out.println( "-------------------------------------------------------" ); + } + + private Integer getValorIDByRiscoIDPostoID( Integer riscoID, Integer postoID ) throws Exception + { + Integer result = null; + + Executer LOCAL_EXECUTER = EvoBaseProvider.getInstance().getLocalExecuter(); + + Select query = new Select( "SELECT valor_qualitativo_id " + + "FROM hs_relatorio_posto_risco " + + "WHERE risco_id = " + riscoID + " AND posto_id = " + postoID ); + query.setBackend( BackendProvider.getBackend( EvoBaseProvider.getInstance().getUrl() ) ); + Virtual2DArray array = LOCAL_EXECUTER.executeQuery( query ); + if ( array != null && array.columnLength() > 0 ) + { + Number num = array.get( 0, 0 ); + result = num == null ? null : num.intValue(); + } + return result; + } + +}