From 7eba72b07e1c415a02cb871b28451d138e7f4982 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tiago=20Sim=C3=A3o?= Date: Wed, 16 Sep 2009 15:40:28 +0000 Subject: [PATCH] git-svn-id: https://svn.coded.pt/svn/SIPRP@1091 bb69d46d-e84e-40c8-a05a-06db0d633741 --- .../relatorio/GerirMedidasRelatorioPanel.java | 20 ++++--- .../siprp/logic/HigieneSegurancaLogic.java | 55 ++++++++++++------- 2 files changed, 46 insertions(+), 29 deletions(-) diff --git a/trunk/SIPRPSoft/src/siprp/higiene/relatorio/GerirMedidasRelatorioPanel.java b/trunk/SIPRPSoft/src/siprp/higiene/relatorio/GerirMedidasRelatorioPanel.java index dcdfd941..633d1487 100644 --- a/trunk/SIPRPSoft/src/siprp/higiene/relatorio/GerirMedidasRelatorioPanel.java +++ b/trunk/SIPRPSoft/src/siprp/higiene/relatorio/GerirMedidasRelatorioPanel.java @@ -27,15 +27,12 @@ import javax.swing.tree.DefaultTreeModel; import javax.swing.tree.TreePath; import javax.swing.tree.TreeSelectionModel; -import org.apache.cayenne.PersistenceState; - import leaf.ui.LeafButton; import leaf.ui.LeafDialog; import leaf.ui.LeafIconButton; import leaf.ui.LeafTree; import leaf.ui.TreeInserterDialog; import leaf.ui.TreeTools; -import siprp.database.cayenne.objects.BaseObject; import siprp.database.cayenne.objects.HsPostoRisco; import siprp.database.cayenne.objects.HsRelatorioMedida; import siprp.database.cayenne.objects.HsRelatorioPosto; @@ -43,7 +40,6 @@ import siprp.database.cayenne.objects.HsRelatorioPostoMedida; import siprp.database.cayenne.objects.HsRelatorioPostoRisco; import siprp.database.cayenne.objects.HsRelatorioRisco; import siprp.database.cayenne.objects.HsRisco; -import siprp.database.cayenne.objects.HsRiscoEmpresa; import siprp.logic.HigieneSegurancaLogic; import siprp.logic.node.MedidaRelatorioNode; import siprp.logic.node.NodeRisco; @@ -324,12 +320,18 @@ public class GerirMedidasRelatorioPanel extends JPanel private void addRisco( HsRisco risco ) { - List allPostosRiscos = risco.getHsPostoRiscoArray(); - if( !allPostosRiscos.isEmpty() && posto != null ) + if( posto != null ) { - List postosRiscos = new LinkedList(); - postosRiscos.add( allPostosRiscos.get( 0 ) ); - HigieneSegurancaLogic.revertMedidasAndRiscos( postosRiscos, posto ); + Integer order = 0; + List toPostos = risco.getHsPostoRiscoArray(); + if( !toPostos.isEmpty() ) + { + for (HsPostoRisco hsPostoRisco : toPostos) + { + order = Math.max(order, hsPostoRisco.getOrder()); + } + } + HigieneSegurancaLogic.addRiscoToRelatorioPosto( risco, order+1, posto ); } } diff --git a/trunk/common/src/siprp/logic/HigieneSegurancaLogic.java b/trunk/common/src/siprp/logic/HigieneSegurancaLogic.java index c5e5e69a..99ae152b 100644 --- a/trunk/common/src/siprp/logic/HigieneSegurancaLogic.java +++ b/trunk/common/src/siprp/logic/HigieneSegurancaLogic.java @@ -257,34 +257,49 @@ public class HigieneSegurancaLogic areasInserted.put(area,rArea); } rPosto.setToHsRelatorioArea( rArea ); - revertMedidasAndRiscos(posto.getHsPostoRiscoArray(),rPosto); + revertMedidasAndRiscos(posto,rPosto); } } - public static void revertMedidasAndRiscos( List postosRiscos, HsRelatorioPosto rPosto ) + public static void addRiscoToRelatorioPosto( HsRisco risco, Integer order, HsRelatorioPosto rPosto ) + { + HsRelatorioRisco rRelatorioRisco = new HsRelatorioRisco(); + rRelatorioRisco.setToHsRelatorio( rPosto.getToHsRelatorioArea().getToHsRelatorio() ); + rRelatorioRisco.setDescription( risco.getDescription() ); + HsRelatorioPostoRisco rPostoRisco = new HsRelatorioPostoRisco(); + rPostoRisco.setToHsRelatorioPosto( rPosto ); + rPostoRisco.setToHsRelatorioRisco( rRelatorioRisco ); + rPostoRisco.setOrder( order ); + for( HsRiscoMedida riscoMedida : risco.getHsRiscoMedidaArray() ) + { + HsRelatorioMedida rMedida = new HsRelatorioMedida(); + rMedida.setDescription( riscoMedida.getToHsMedida().getDescription() ); + rMedida.setRequesitosLegais( riscoMedida.getToHsMedida().getRequesitosLegais() ); + rMedida.setToHsRelatorioRisco( rRelatorioRisco ); + HsRelatorioPostoMedida rPostoMedida = new HsRelatorioPostoMedida(); + rPostoMedida.setIsPlanoActuacao( false ); + rPostoMedida.setToHsRelatorioMedida( rMedida ); + rPostoMedida.setToHsRelatorioPosto( rPosto ); + } + } + + private static void revertMedidasAndRiscos( HsPostoRisco postoRisco, HsRelatorioPosto rPosto ) + { + addRiscoToRelatorioPosto(postoRisco.getToHsRisco(), postoRisco.getOrder(), rPosto); + } + + private static void revertMedidasAndRiscos( List postosRiscos, HsRelatorioPosto rPosto ) { for( HsPostoRisco postoRisco : postosRiscos ) { - HsRelatorioRisco rRelatorioRisco = new HsRelatorioRisco(); - rRelatorioRisco.setToHsRelatorio( rPosto.getToHsRelatorioArea().getToHsRelatorio() ); - rRelatorioRisco.setDescription( postoRisco.getToHsRisco().getDescription() ); - HsRelatorioPostoRisco rPostoRisco = new HsRelatorioPostoRisco(); - rPostoRisco.setToHsRelatorioPosto( rPosto ); - rPostoRisco.setToHsRelatorioRisco( rRelatorioRisco ); - rPostoRisco.setOrder( postoRisco.getOrder() ); - for( HsRiscoMedida riscoMedida : postoRisco.getToHsRisco().getHsRiscoMedidaArray() ) - { - HsRelatorioMedida rMedida = new HsRelatorioMedida(); - rMedida.setDescription( riscoMedida.getToHsMedida().getDescription() ); - rMedida.setRequesitosLegais( riscoMedida.getToHsMedida().getRequesitosLegais() ); - rMedida.setToHsRelatorioRisco( rRelatorioRisco ); - HsRelatorioPostoMedida rPostoMedida = new HsRelatorioPostoMedida(); - rPostoMedida.setIsPlanoActuacao( false ); - rPostoMedida.setToHsRelatorioMedida( rMedida ); - rPostoMedida.setToHsRelatorioPosto( rPosto ); - } + revertMedidasAndRiscos( postoRisco, rPosto ); } } + + public static void revertMedidasAndRiscos( HsPosto posto, HsRelatorioPosto rPosto ) + { + revertMedidasAndRiscos(posto.getHsPostoRiscoArray(),rPosto); + } private static void reverterLegislacao( HsRelatorio relatorio, Estabelecimentos estabelecimento ) throws Exception {