From 69a752776abbf27bcdfdefcf8f26aa2e925c3d46 Mon Sep 17 00:00:00 2001 From: Frederico Palma Date: Mon, 12 Mar 2012 18:56:57 +0000 Subject: [PATCH] git-svn-id: https://svn.coded.pt/svn/SIPRP@1759 bb69d46d-e84e-40c8-a05a-06db0d633741 --- .../siprp/inner/PlanoValoresQualitativos.java | 326 ++++++++++++++++++ .../src/java/db/data/siprp/inner/package.xml | 15 + .../outer/PlanoValoresQualitativosData.java | 18 + .../java/db/entidades/ValorQualitativo.java | 37 ++ .../java/importer/PlanosActuacaoImporter.java | 44 ++- .../PlanosActuacaoImporterProvider.java | 60 +++- 6 files changed, 497 insertions(+), 3 deletions(-) create mode 100644 trunk/PlanosActuacao/src/java/db/data/siprp/inner/PlanoValoresQualitativos.java create mode 100644 trunk/PlanosActuacao/src/java/db/data/siprp/outer/PlanoValoresQualitativosData.java create mode 100644 trunk/PlanosActuacao/src/java/db/entidades/ValorQualitativo.java diff --git a/trunk/PlanosActuacao/src/java/db/data/siprp/inner/PlanoValoresQualitativos.java b/trunk/PlanosActuacao/src/java/db/data/siprp/inner/PlanoValoresQualitativos.java new file mode 100644 index 00000000..6ac78d20 --- /dev/null +++ b/trunk/PlanosActuacao/src/java/db/data/siprp/inner/PlanoValoresQualitativos.java @@ -0,0 +1,326 @@ +/* +* PlanoValoresQualitativos.java +* +* Generated by com.evutils.codegen.EntityObjectGenerator +* +* Use but DON'T TOUCH +* -> (can't touch this) +*/ +package db.data.siprp.inner; + + +public class PlanoValoresQualitativos extends com.evolute.entity.evo.EvoDataObject +{ + private static final java.util.HashMap FIELD_INDEXES = new java.util.HashMap(); + + static + { + FIELD_INDEXES.put( PlanoValoresQualitativos.ID, PlanoValoresQualitativos.ID_INDEX ); + FIELD_INDEXES.put( PlanoValoresQualitativos.ID_FULL, PlanoValoresQualitativos.ID_INDEX ); + FIELD_INDEXES.put( PlanoValoresQualitativos.DESCRICAO, PlanoValoresQualitativos.DESCRICAO_INDEX ); + FIELD_INDEXES.put( PlanoValoresQualitativos.DESCRICAO_FULL, PlanoValoresQualitativos.DESCRICAO_INDEX ); + FIELD_INDEXES.put( PlanoValoresQualitativos.DELETED_STAMP, PlanoValoresQualitativos.DELETED_STAMP_INDEX ); + FIELD_INDEXES.put( PlanoValoresQualitativos.DELETED_STAMP_FULL, PlanoValoresQualitativos.DELETED_STAMP_INDEX ); + } + + private final java.util.HashMap< String, Boolean > LAZY_LOADED_OBJECTS = new java.util.HashMap< String, Boolean >(); + + + public static final String TABLENAME = "plano_valores_qualitativos"; + + + public static final String CLASS_IDENTIFIER = "db.data.siprp.inner.plano_valores_qualitativos"; + + public static final int _INVALID__INDEX = -1; + public static final String ID = "id"; + public static final String ID_FULL = "plano_valores_qualitativos.id"; + public static final int ID_INDEX = 0; + public static final String DESCRICAO = "descricao"; + public static final String DESCRICAO_FULL = "plano_valores_qualitativos.descricao"; + public static final int DESCRICAO_INDEX = 1; + public static final String DELETED_STAMP = "deleted_stamp"; + public static final String DELETED_STAMP_FULL = "plano_valores_qualitativos.deleted_stamp"; + public static final int DELETED_STAMP_INDEX = 2; + + public static final String FIELD_NAMES[] = new String[]{ + DESCRICAO, DELETED_STAMP, }; + + public static final String FIELD_NAMES_FULL[] = new String[]{ + TABLENAME + "." + DESCRICAO, TABLENAME + "." + DELETED_STAMP, }; + + protected static final String DB_FIELD_NAMES[] = new String[]{ + ID, DESCRICAO, DELETED_STAMP, }; + + + protected static final String PK_FIELD_NAMES[] = new String[]{ + ID, }; + + + public static final String DEFAULT_LOAD_SET[] = new String[] { + ID, DESCRICAO, DELETED_STAMP, }; + + private Integer id; + private String descricao; + private java.sql.Timestamp deleted_stamp; + + protected com.evolute.entity.utils.IntegerPrimaryKey primaryKey; + + public PlanoValoresQualitativos() + { + super(); + dirtyProperties = new boolean[]{ false, 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 getDescricao() + { + try + { + setLastAccess( System.currentTimeMillis() ); + prepare( DESCRICAO ); + } + catch( java.lang.Exception ex ) + { + throw new RuntimeException( ex ); + } + return this.descricao; + } + + public void setDescricao( String descricao ) + { + try + { + preProcess( DESCRICAO, descricao ); + } + catch( com.evolute.entity.evo.EvoDataException edex ) + { + throw new RuntimeException( edex ); + } + this.descricao = descricao; + LAZY_LOADED_OBJECTS.put( DESCRICAO, Boolean.TRUE ); + } + + public java.sql.Timestamp getDeleted_stamp() + { + try + { + setLastAccess( System.currentTimeMillis() ); + prepare( DELETED_STAMP ); + } + catch( java.lang.Exception ex ) + { + throw new RuntimeException( ex ); + } + return this.deleted_stamp; + } + + public void setDeleted_stamp( java.sql.Timestamp deleted_stamp ) + { + try + { + preProcess( DELETED_STAMP, deleted_stamp ); + } + catch( com.evolute.entity.evo.EvoDataException edex ) + { + throw new RuntimeException( edex ); + } + this.deleted_stamp = deleted_stamp; + LAZY_LOADED_OBJECTS.put( DELETED_STAMP, Boolean.TRUE ); + } + + public Object get( String fieldName ) + { + Object value = null; + Integer index = getFieldIndex( fieldName ); + switch( index ) + { + case PlanoValoresQualitativos.ID_INDEX: + value = getId(); + break; + case PlanoValoresQualitativos.DESCRICAO_INDEX: + value = getDescricao(); + break; + case PlanoValoresQualitativos.DELETED_STAMP_INDEX: + value = getDeleted_stamp(); + break; + } + return value; + } + + public Object rawGet( String fieldName ) + { + Object value = null; + Integer index = getFieldIndex( fieldName ); + switch( index ) + { + case PlanoValoresQualitativos.ID_INDEX: + value = this.id; + break; + case PlanoValoresQualitativos.DESCRICAO_INDEX: + value = this.descricao; + break; + case PlanoValoresQualitativos.DELETED_STAMP_INDEX: + value = this.deleted_stamp; + break; + } + return value; + } + + public void set( String fieldName, Object value ) + { + Integer index = getFieldIndex( fieldName ); + switch( index ) + { + case PlanoValoresQualitativos.ID_INDEX: + setId( ( Integer ) value ); + break; + case PlanoValoresQualitativos.DESCRICAO_INDEX: + setDescricao( ( String ) value ); + break; + case PlanoValoresQualitativos.DELETED_STAMP_INDEX: + setDeleted_stamp( ( java.sql.Timestamp ) value ); + break; + } + } + + public void rawSet( String fieldName, Object value ) + { + Integer index = getFieldIndex( fieldName ); + switch( index ) + { + case PlanoValoresQualitativos.ID_INDEX: + this.id = ( Integer ) value; + break; + case PlanoValoresQualitativos.DESCRICAO_INDEX: + this.descricao = ( String ) value; + break; + case PlanoValoresQualitativos.DELETED_STAMP_INDEX: + this.deleted_stamp = ( java.sql.Timestamp ) 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 PlanoValoresQualitativos.ID_INDEX: + theClass = Integer.class; + break; + case PlanoValoresQualitativos.DESCRICAO_INDEX: + theClass = String.class; + break; + case PlanoValoresQualitativos.DELETED_STAMP_INDEX: + theClass = java.sql.Timestamp.class; + break; + } + return theClass; + } + + public Integer getFieldIndex( String fieldName ) + { + Integer index = FIELD_INDEXES.get( fieldName ); + return index != null ? index : PlanoValoresQualitativos._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 ) + { + if( primaryKey == null ) + { + primaryKey = new com.evolute.entity.utils.IntegerPrimaryKey( TABLENAME, PlanoValoresQualitativos.PK_FIELD_NAMES ); + primaryKey.set( 0, getId() ); + } + } + + @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/package.xml b/trunk/PlanosActuacao/src/java/db/data/siprp/inner/package.xml index 98c0f094..9e40a437 100644 --- a/trunk/PlanosActuacao/src/java/db/data/siprp/inner/package.xml +++ b/trunk/PlanosActuacao/src/java/db/data/siprp/inner/package.xml @@ -1204,6 +1204,21 @@ + + + + + + + + + + + + + + + diff --git a/trunk/PlanosActuacao/src/java/db/data/siprp/outer/PlanoValoresQualitativosData.java b/trunk/PlanosActuacao/src/java/db/data/siprp/outer/PlanoValoresQualitativosData.java new file mode 100644 index 00000000..014e7762 --- /dev/null +++ b/trunk/PlanosActuacao/src/java/db/data/siprp/outer/PlanoValoresQualitativosData.java @@ -0,0 +1,18 @@ +/* +* PlanoValoresQualitativosData.java +* +* Generated by com.evutils.codegen.EntityObjectGenerator +* +* Edit at will +*/ +package db.data.siprp.outer; + + +public final class PlanoValoresQualitativosData extends db.data.siprp.inner.PlanoValoresQualitativos +{ + + public PlanoValoresQualitativosData() + { + super(); + } +} diff --git a/trunk/PlanosActuacao/src/java/db/entidades/ValorQualitativo.java b/trunk/PlanosActuacao/src/java/db/entidades/ValorQualitativo.java new file mode 100644 index 00000000..57835c31 --- /dev/null +++ b/trunk/PlanosActuacao/src/java/db/entidades/ValorQualitativo.java @@ -0,0 +1,37 @@ +package db.entidades; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + + +public class ValorQualitativo implements Serializable +{ + private Integer id; + private String descricao; + + public ValorQualitativo() + { + + } + + public Integer getId() + { + return id; + } + + public void setId( Integer id ) + { + this.id = id; + } + + public String getDescricao() + { + return descricao; + } + + public void setDescricao( String descricao ) + { + this.descricao = descricao; + } +} \ No newline at end of file diff --git a/trunk/PlanosActuacao/src/java/importer/PlanosActuacaoImporter.java b/trunk/PlanosActuacao/src/java/importer/PlanosActuacaoImporter.java index 5b9128ba..2bb8fb5d 100644 --- a/trunk/PlanosActuacao/src/java/importer/PlanosActuacaoImporter.java +++ b/trunk/PlanosActuacao/src/java/importer/PlanosActuacaoImporter.java @@ -1,6 +1,7 @@ package importer; import com.evolute.utils.error.ErrorLogger; +import db.data.siprp.outer.PlanoValoresQualitativosData; import db.entidades.Area; import db.entidades.Medida; import db.entidades.PlanoActuacao; @@ -8,16 +9,21 @@ import db.entidades.PostoTrabalho; import db.entidades.Risco; import db.entidades.Utilizador; import db.entidades.Valor; +import db.entidades.ValorQualitativo; import db.providers.EvoBaseProvider; import db.providers.UtilizadoresDataProvider; import java.io.File; import java.io.FileInputStream; import utils.Global; import java.util.Date; +import java.util.HashMap; +import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.ListIterator; +import java.util.Map; import java.util.Properties; +import java.util.Set; import mail.Mail; import mail.MailNextPhase; import mail.MailNextPhase.SIPRP_TO_RESPONSAVEL_SEGURANCA; @@ -167,7 +173,12 @@ public class PlanosActuacaoImporter { PlanosActuacaoImporterProvider provider = PlanosActuacaoImporterProvider.getInstance(); PlanoActuacaoDataProvider planosProvider = PlanoActuacaoDataProvider.getProvider(); - + + debug( "\n\tA adicionar novos valores qualitativos" ); + List valoresQualitativos = provider.getValoresQualitativos(); + putValoresQualitativosOnline( valoresQualitativos ); + debug( "\n\tTerminou adicao de novos valores qualitativos" ); + if( true ) System.exit( 0 ); if ( fromEstabelecimentoID == null ) { debug( "\n\tA adicionar novos planos ..." ); @@ -213,6 +224,8 @@ public class PlanosActuacaoImporter } catch ( Exception e ) { + System.out.println( "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! " + e.getMessage() ); + e.printStackTrace(); ErrorLogger.logException( e ); } } @@ -365,6 +378,35 @@ public class PlanosActuacaoImporter } } + private void putValoresQualitativosOnline( List valoresQualitativos ) + throws Exception + { + System.out.println( "putValoresQualitativosOnline: " + valoresQualitativos.size() ); + List valoresOnline = PlanosActuacaoImporterProvider.getInstance().getValoresQualitativosOnline(); + Set valoresOnlineSet = new HashSet(); + Map valoresOnlineIdsSet = new HashMap(); + valoresOnlineSet.addAll( valoresOnline ); + for( PlanoValoresQualitativosData valorOnline : valoresOnlineSet ) + { + valoresOnlineIdsSet.put( valorOnline.getId(), valorOnline ); + } + for( ValorQualitativo valorQualitativo : valoresQualitativos ) + { + if( valoresOnlineIdsSet.containsKey( valorQualitativo.getId() ) ) + { + PlanosActuacaoImporterProvider.getInstance().updateValorQualitativo( valorQualitativo ); + valoresOnlineSet.remove( valoresOnlineIdsSet.get( valorQualitativo.getId() ) ); + } + else + { + PlanosActuacaoImporterProvider.getInstance().createValorQualitativo( valorQualitativo ); + } + } + for( PlanoValoresQualitativosData valorOnline : valoresOnlineSet ) + { + PlanosActuacaoImporterProvider.getInstance().deleteValorQualitativo( valorOnline.getId() ); + } + } private void enviarMail( PlanoActuacao p ) { diff --git a/trunk/PlanosActuacao/src/java/importer/PlanosActuacaoImporterProvider.java b/trunk/PlanosActuacao/src/java/importer/PlanosActuacaoImporterProvider.java index a7b6d592..ade56417 100644 --- a/trunk/PlanosActuacao/src/java/importer/PlanosActuacaoImporterProvider.java +++ b/trunk/PlanosActuacao/src/java/importer/PlanosActuacaoImporterProvider.java @@ -12,6 +12,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.outer.PlanoValoresQualitativosData; import db.data.siprp_local.outer.EmpresasData; import db.entidades.Area; import db.entidades.Medida; @@ -19,6 +20,7 @@ import db.entidades.PlanoActuacao; import db.entidades.PostoTrabalho; import db.entidades.Risco; import db.entidades.Valor; +import db.entidades.ValorQualitativo; import java.sql.ResultSet; import java.sql.Statement; import java.util.Date; @@ -391,8 +393,34 @@ public class PlanosActuacaoImporterProvider extends GenericDataProvider } return postos; } - - + + public List getValoresQualitativos() + throws Exception + { + String sql = "select id, description from hs_relatorio_risco_valor_qualitativo;"; + System.out.println("VALORES QUALITATIVOS SQL : " + sql); + Statement st = createLocalStatement(); + ResultSet rs = st.executeQuery( sql ); + List< ValorQualitativo > valores = new LinkedList< ValorQualitativo >(); + if ( rs.isBeforeFirst() ) + { + rs.first(); + do + { + ValorQualitativo v = new ValorQualitativo(); + v.setId( new Integer( rs.getInt("id") ) ); + v.setDescricao( Utils.unicodeToHTML( rs.getString( "description" ) ) ); + valores.add( v ); + } + while ( rs.next() ); + } + return valores; + } + + public List getValoresQualitativosOnline() throws Exception + { + return getProvider().listLoad( PlanoValoresQualitativosData.class, PlanoValoresQualitativosData.ID_FULL ); + } private boolean existemMedidasByArea( Integer areaID ) throws Exception { @@ -579,8 +607,35 @@ public class PlanosActuacaoImporterProvider extends GenericDataProvider postoData.setProvider( EvoBaseProvider.getInstance().getProvider( DB.SIPRP ) ); postoData.save(); } + + public void createValorQualitativo( ValorQualitativo v ) throws Exception + { + PlanoValoresQualitativosData valor = new PlanoValoresQualitativosData(); + valor.setId( v.getId() ); + valor.setDescricao( Utils.parseToInsert( v.getDescricao() ) ); + System.out.println( "\nCREATE VALOR QUALITATIVO : " ); + valor.setProvider( EvoBaseProvider.getInstance().getProvider( DB.SIPRP ) ); + valor.save(); + } + public void updateValorQualitativo( ValorQualitativo v ) throws Exception + { + PlanoValoresQualitativosData valor = getProvider().load( PlanoValoresQualitativosData.class, v.getId() ); + valor.setDescricao( Utils.parseToInsert( v.getDescricao() ) ); + + System.out.println( "\nUPDATE VALOR QUALITATIVO : " ); + valor.setProvider( EvoBaseProvider.getInstance().getProvider( DB.SIPRP ) ); + valor.save(); + } + + public void deleteValorQualitativo( Integer vId ) throws Exception + { + PlanoValoresQualitativosData valor = getProvider().load( PlanoValoresQualitativosData.class, vId ); + System.out.println( "\nDELETE VALOR QUALITATIVO : " ); + valor.setDeleted_stamp( new java.sql.Timestamp( System.currentTimeMillis() ) ); + valor.save(); + } //==================== public String getEmpresaNome( Integer empresaID ) throws Exception @@ -599,5 +654,6 @@ public class PlanosActuacaoImporterProvider extends GenericDataProvider } return nome; } + }