diff --git a/trunk/SIPRPSoft/src/siprp/higiene/relatorio/GerirMedidasRelatorioPanel.java b/trunk/SIPRPSoft/src/siprp/higiene/relatorio/GerirMedidasRelatorioPanel.java index 4cbfa188..ab6f473b 100644 --- a/trunk/SIPRPSoft/src/siprp/higiene/relatorio/GerirMedidasRelatorioPanel.java +++ b/trunk/SIPRPSoft/src/siprp/higiene/relatorio/GerirMedidasRelatorioPanel.java @@ -12,6 +12,7 @@ import java.awt.event.ActionListener; import java.util.Collections; import java.util.Comparator; import java.util.Date; +import java.util.LinkedList; import java.util.List; import javax.swing.JOptionPane; @@ -308,8 +309,24 @@ public class GerirMedidasRelatorioPanel extends JPanel { if( root instanceof NodeRisco ) { - //TODO + HsRisco risco = (HsRisco) ((NodeRisco)root).getUserObject(); + addRisco( risco ); } + for( int i = 0; i < root.getChildCount(); ++i ) + { + addResult( (DefaultMutableTreeNode) root.getChildAt( i ) ); + } + } + } + + private void addRisco( HsRisco risco ) + { + List allPostosRiscos = risco.getHsPostoRiscoArray(); + if( !allPostosRiscos.isEmpty() && posto != null ) + { + List postosRiscos = new LinkedList(); + postosRiscos.add( allPostosRiscos.get( 0 ) ); + HigieneSegurancaLogic.revertMedidasAndRiscos( postosRiscos, posto ); } } @@ -382,7 +399,7 @@ public class GerirMedidasRelatorioPanel extends JPanel rem = true; } } - buttonAdicionar.setEnabled( add && getSelectedRisco() != null ); + buttonAdicionar.setEnabled( add ); buttonRemover.setEnabled( rem && ( getSelectedMedida() != null || getSelectedRisco() != null ) ); } diff --git a/trunk/common/src/siprp/logic/HigieneSegurancaLogic.java b/trunk/common/src/siprp/logic/HigieneSegurancaLogic.java index e892c8bf..341507d6 100644 --- a/trunk/common/src/siprp/logic/HigieneSegurancaLogic.java +++ b/trunk/common/src/siprp/logic/HigieneSegurancaLogic.java @@ -238,13 +238,13 @@ public class HigieneSegurancaLogic areasInserted.put(area,rArea); } rPosto.setToHsRelatorioArea( rArea ); - addMedidasAndRiscos(posto,rPosto); + revertMedidasAndRiscos(posto.getHsPostoRiscoArray(),rPosto); } } - private static void addMedidasAndRiscos(HsPosto posto, HsRelatorioPosto rPosto) + public static void revertMedidasAndRiscos( List postosRiscos, HsRelatorioPosto rPosto ) { - for( HsPostoRisco postoRisco : posto.getHsPostoRiscoArray() ) + for( HsPostoRisco postoRisco : postosRiscos ) { HsRelatorioRisco rRelatorioRisco = new HsRelatorioRisco(); rRelatorioRisco.setToHsRelatorio( rPosto.getToHsRelatorioArea().getToHsRelatorio() );