From f298d61fb84c49d4ecd49ebeb3827ed48e1e12c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tiago=20Sim=C3=A3o?= Date: Thu, 22 Jul 2010 15:48:09 +0000 Subject: [PATCH] git-svn-id: https://svn.coded.pt/svn/SIPRP@1338 bb69d46d-e84e-40c8-a05a-06db0d633741 --- trunk/SIPRPSoft/properties/version.properties | 4 +- .../provider/PlanoActuacaoDataProvider.java | 34 ++++++++++-- .../higiene/gestao/SIPRPLazyLoadedPanel.java | 11 ++-- .../relatorio/GerirMedidasRelatorioPanel.java | 53 +++++++++++++------ .../siprp/logic/HigieneSegurancaLogic.java | 7 ++- 5 files changed, 79 insertions(+), 30 deletions(-) diff --git a/trunk/SIPRPSoft/properties/version.properties b/trunk/SIPRPSoft/properties/version.properties index 5430bdbd..4db680c2 100644 --- a/trunk/SIPRPSoft/properties/version.properties +++ b/trunk/SIPRPSoft/properties/version.properties @@ -1,6 +1,6 @@ #siprpsoft versioning file -#Thu Jul 22 01:17:36 WEST 2010 +#Thu Jul 22 16:28:34 WEST 2010 major=12 name=siprpsoft minor=1 -build=5 +build=7 diff --git a/trunk/SIPRPSoft/src/siprp/data/provider/PlanoActuacaoDataProvider.java b/trunk/SIPRPSoft/src/siprp/data/provider/PlanoActuacaoDataProvider.java index 6ef67835..ef6fdc6d 100644 --- a/trunk/SIPRPSoft/src/siprp/data/provider/PlanoActuacaoDataProvider.java +++ b/trunk/SIPRPSoft/src/siprp/data/provider/PlanoActuacaoDataProvider.java @@ -5,6 +5,7 @@ import java.util.Date; import java.util.LinkedList; import java.util.List; +import shst.data.inner.HsRelatorioMedida; import siprp.data.outer.EmailPlanoDeActuacaoData; import siprp.data.outer.EmpresasData; import siprp.data.outer.EstabelecimentosData; @@ -19,6 +20,10 @@ import siprp.data.outer.HsNormalizacaoEstabelecimentoData; import siprp.data.outer.HsPostoData; import siprp.data.outer.HsPostoRiscoData; import siprp.data.outer.HsRelatorioData; +import siprp.data.outer.HsRelatorioMedidaData; +import siprp.data.outer.HsRelatorioPostoData; +import siprp.data.outer.HsRelatorioPostoMedidaData; +import siprp.data.outer.HsRelatorioPostoRiscoData; import siprp.data.outer.HsRelatorioRiscoData; import siprp.data.outer.HsRelatorioRiscoValorQualitativoData; import siprp.data.outer.HsRiscoData; @@ -27,9 +32,10 @@ import siprp.data.outer.MarcacoesEstabelecimentoData; import com.evolute.entity.ForeignKey; import com.evolute.entity.ProviderInterface; +import com.evolute.entity.evo.EvoDataProvider; +import com.evolute.entity.evo.EvoJoinObject; import com.evolute.utils.Singleton; import com.evolute.utils.arrays.Virtual2DArray; -import com.evolute.utils.dataedition.persistence.Persistent; import com.evolute.utils.db.DBManager; import com.evolute.utils.db.Executer; import com.evolute.utils.error.ErrorLogger; @@ -41,7 +47,7 @@ public class PlanoActuacaoDataProvider { private static PlanoActuacaoDataProvider INSTANCE = null; - private ProviderInterface< Persistent< ? >, Exception > ENTITY_PROVIDER; + private ProviderInterface ENTITY_PROVIDER; private Executer executer; private static final Integer ID_COMPANHIA_HIPERMERCADOS = 32; @@ -50,7 +56,7 @@ public class PlanoActuacaoDataProvider { DBManager manager = ( DBManager ) Singleton.getInstance( Singleton.DEFAULT_DBMANAGER ); executer = manager.getSharedExecuter( this ); - ENTITY_PROVIDER = ( ProviderInterface< Persistent< ? >, Exception > ) Singleton.getInstance( Singleton.DEFAULT_EVO_DATA_PROVIDER ); + ENTITY_PROVIDER = ( ProviderInterface ) Singleton.getInstance( Singleton.DEFAULT_EVO_DATA_PROVIDER ); } public static synchronized PlanoActuacaoDataProvider getProvider() throws Exception @@ -68,7 +74,7 @@ public class PlanoActuacaoDataProvider EstabelecimentosData result = null; try { - result = ENTITY_PROVIDER.load( EstabelecimentosData.class, id ); + result = (EstabelecimentosData) ENTITY_PROVIDER.load( EstabelecimentosData.class, id ); } catch ( Exception e ) { @@ -420,6 +426,24 @@ public class PlanoActuacaoDataProvider public HsRiscoData loadHsRiscoDataByID( Integer id ) throws Exception { - return ENTITY_PROVIDER.load( HsRiscoData.class, id ); + return (HsRiscoData) ENTITY_PROVIDER.load( HsRiscoData.class, id ); + } + + public List getRelatorioMedidasForPosto( HsRelatorioPostoData posto ) throws Exception + { + List result = null; + List fks = new LinkedList(); + fks.add( new ForeignKey( HsRelatorioPostoMedidaData.class, HsRelatorioPostoMedidaData.MEDIDA_ID_FULL, HsRelatorioMedidaData.class, HsRelatorioMedidaData.ID_FULL ) ); + fks.add( new ForeignKey( HsRelatorioMedidaData.class, HsRelatorioMedidaData.RISCO_ID_FULL, HsRelatorioRiscoData.class, HsRelatorioRiscoData.ID_FULL ) ); + fks.add( new ForeignKey( HsRelatorioRiscoData.class, HsRelatorioRiscoData.ID_FULL, HsRelatorioPostoRiscoData.class, HsRelatorioPostoRiscoData.RISCO_ID_FULL ) ); + + Expression where = new Field( HsRelatorioPostoMedidaData.POSTO_ID_FULL ).isEqual( posto.getId() ).and( + new Field( HsRelatorioMedidaData.DELETED_DATE_FULL ).isEqual( null ).and( + new Field( HsRelatorioRiscoData.DELETED_DATE_FULL ).isEqual( null ) + ) + ); + + result = ((EvoDataProvider)ENTITY_PROVIDER).listLoad( fks, where, HsRelatorioRiscoData.DESCRIPTION_FULL, HsRelatorioMedida.DESCRIPTION_FULL, HsRelatorioMedida.REQUESITOS_LEGAIS_FULL ); + return result; } } diff --git a/trunk/SIPRPSoft/src/siprp/higiene/gestao/SIPRPLazyLoadedPanel.java b/trunk/SIPRPSoft/src/siprp/higiene/gestao/SIPRPLazyLoadedPanel.java index bef89651..6aec8d4f 100644 --- a/trunk/SIPRPSoft/src/siprp/higiene/gestao/SIPRPLazyLoadedPanel.java +++ b/trunk/SIPRPSoft/src/siprp/higiene/gestao/SIPRPLazyLoadedPanel.java @@ -1,14 +1,11 @@ package siprp.higiene.gestao; import java.awt.Cursor; -import java.util.Date; import javax.swing.JPanel; import javax.swing.SwingUtilities; -import siprp.SIPRPTracker; - -import com.evolute.utils.Singleton; +import com.evolute.swing.frame.EvoFrame; import com.evolute.utils.error.ErrorLogger; @@ -29,10 +26,9 @@ public abstract class SIPRPLazyLoadedPanel extends JPanel try { inited = true; - SIPRPTracker tracker = (SIPRPTracker) Singleton.getInstance( Singleton.TRACKER ); - if( tracker != null ) + EvoFrame window = EvoFrame.findParentEvoFrame( SIPRPLazyLoadedPanel.this ); + if( window != null ) { - GestaoRelatorioWindow window = (GestaoRelatorioWindow)tracker.getWindow( GestaoRelatorioWindow.TITLE ); window.runAsynchronously( new Runnable() { @@ -63,6 +59,7 @@ public abstract class SIPRPLazyLoadedPanel extends JPanel ErrorLogger.logException( e ); } } + }; SwingUtilities.invokeLater( run ); } diff --git a/trunk/SIPRPSoft/src/siprp/higiene/relatorio/GerirMedidasRelatorioPanel.java b/trunk/SIPRPSoft/src/siprp/higiene/relatorio/GerirMedidasRelatorioPanel.java index b6a66f20..73a117fb 100644 --- a/trunk/SIPRPSoft/src/siprp/higiene/relatorio/GerirMedidasRelatorioPanel.java +++ b/trunk/SIPRPSoft/src/siprp/higiene/relatorio/GerirMedidasRelatorioPanel.java @@ -43,6 +43,7 @@ import siprp.logic.node.MedidaRelatorioNode; import siprp.logic.node.NodeRisco; import siprp.logic.node.RiscoRelatorioNode; +import com.evolute.entity.evo.EvoJoinObject; import com.evolute.utils.error.ErrorLogger; import com.evolute.utils.ui.trees.TreeTools; @@ -433,33 +434,55 @@ public class GerirMedidasRelatorioPanel extends SIPRPLazyLoadedPanel buttonRemover.setEnabled( rem && ( getSelectedMedida() != null || getSelectedRisco() != null ) ); } + @Override public void refresh() { root.removeAllChildren(); if( posto != null ) { - List list = posto.fromHsRelatorioPostoRisco_posto_id(); - Collections.sort( list ); - - for( HsRelatorioPostoRiscoData rel : list ) + try { - RiscoRelatorioNode node = new RiscoRelatorioNode( rel ); - HsRelatorioRiscoData risco = rel.toRisco_id(); - if( risco.getDeleted_date() == null ) + List objects = HigieneSegurancaLogic.getRelatorioMedidasForPosto( posto ); + RiscoRelatorioNode riscoNode = null; + for( EvoJoinObject evoJoinObject : objects ) { - List< HsRelatorioMedidaData > listMedidas = risco.fromHsRelatorioMedida_risco_id(); - for( HsRelatorioMedidaData medida : listMedidas ) + HsRelatorioPostoRiscoData postoRisco = evoJoinObject.getObject( HsRelatorioPostoRiscoData.class ); + HsRelatorioPostoMedidaData postoMedida = evoJoinObject.getObject( HsRelatorioPostoMedidaData.class ); + if( riscoNode == null || !postoRisco.equals( riscoNode.getUserObject() ) ) { - List< HsRelatorioPostoMedidaData > listRels = medida.fromHsRelatorioPostoMedida_medida_id(); - for( HsRelatorioPostoMedidaData medidaRel : listRels ) - { - node.add( new MedidaRelatorioNode( medidaRel ) ); - } + riscoNode = new RiscoRelatorioNode( postoRisco ); + root.add( riscoNode ); } - root.add( node ); + riscoNode.add( new MedidaRelatorioNode( postoMedida ) ); } } + catch (Exception e) + { + ErrorLogger.logExceptionAndShow( e ); + } + +// List list = posto.fromHsRelatorioPostoRisco_posto_id(); +// Collections.sort( list ); +// +// for( HsRelatorioPostoRiscoData rel : list ) +// { +// RiscoRelatorioNode node = new RiscoRelatorioNode( rel ); +// HsRelatorioRiscoData risco = rel.toRisco_id(); +// if( risco.getDeleted_date() == null ) +// { +// List< HsRelatorioMedidaData > listMedidas = risco.fromHsRelatorioMedida_risco_id(); +// for( HsRelatorioMedidaData medida : listMedidas ) +// { +// List< HsRelatorioPostoMedidaData > listRels = medida.fromHsRelatorioPostoMedida_medida_id(); +// for( HsRelatorioPostoMedidaData medidaRel : listRels ) +// { +// node.add( new MedidaRelatorioNode( medidaRel ) ); +// } +// } +// root.add( node ); +// } +// } } setEnabled(); diff --git a/trunk/SIPRPSoft/src/siprp/logic/HigieneSegurancaLogic.java b/trunk/SIPRPSoft/src/siprp/logic/HigieneSegurancaLogic.java index f0473e17..fb345422 100644 --- a/trunk/SIPRPSoft/src/siprp/logic/HigieneSegurancaLogic.java +++ b/trunk/SIPRPSoft/src/siprp/logic/HigieneSegurancaLogic.java @@ -20,7 +20,6 @@ import siprp.data.outer.HsLegislacaoCategoriaData; import siprp.data.outer.HsLegislacaoData; import siprp.data.outer.HsLegislacaoEstabelecimentoData; import siprp.data.outer.HsNormalizacaoData; -import siprp.data.outer.HsNormalizacaoEmpresaData; import siprp.data.outer.HsNormalizacaoEstabelecimentoData; import siprp.data.outer.HsPostoData; import siprp.data.outer.HsPostoEstabelecimentoData; @@ -49,6 +48,7 @@ import siprp.logic.node.NodeRiscoTema; import siprp.logic.node.PostoNode; import siprp.logic.node.PostoRelatorioNode; +import com.evolute.entity.evo.EvoJoinObject; import com.evolute.utils.error.ErrorLogger; import com.evolute.utils.ui.trees.TreeTools; @@ -654,5 +654,10 @@ public class HigieneSegurancaLogic return risco; } + public static List getRelatorioMedidasForPosto( HsRelatorioPostoData posto ) throws Exception + { + return planoProvider.getRelatorioMedidasForPosto( posto ); + } + }