diff --git a/trunk/SIPRPSoft/src/siprp/higiene/gestao/postos/GerirAreasPanel.java b/trunk/SIPRPSoft/src/siprp/higiene/gestao/postos/GerirAreasPanel.java index 364b6e2d..8072b14c 100644 --- a/trunk/SIPRPSoft/src/siprp/higiene/gestao/postos/GerirAreasPanel.java +++ b/trunk/SIPRPSoft/src/siprp/higiene/gestao/postos/GerirAreasPanel.java @@ -272,17 +272,28 @@ public class GerirAreasPanel extends JPanel implements LeafUIConstants private void removerArea() { - try + HsAreaData area = getSelectedArea(); + if( area != null ) { - HsAreaData area = getSelectedArea(); - if( area != null && LeafDialog.confirmDelete( false, false, aacute + "rea") ) + List< HsPostoData > listPostos = area.fromHsPosto_area_id(); + if ( listPostos != null && listPostos.size() > 0 ) { - area.delete(); - refresh(); + JOptionPane.showMessageDialog( this, "Tem de remover todos os postos primeiro.", "Erro", JOptionPane.ERROR_MESSAGE ); + } + else if ( LeafDialog.confirmDelete( false, false, aacute + "rea") ) + { + try + { + area.setDeleted_date( new java.sql.Timestamp( new Date().getTime() ) ); + area.save(); +// area.delete(); + refresh(); + } + catch ( Exception e ) + { + LeafDialog.error( e ); + } } - } catch( Exception e ) - { - LeafDialog.error( e ); } } diff --git a/trunk/SIPRPSoft/src/siprp/higiene/gestao/riscos/GerirRiscosPanel.java b/trunk/SIPRPSoft/src/siprp/higiene/gestao/riscos/GerirRiscosPanel.java index 90c6041f..120aeea6 100644 --- a/trunk/SIPRPSoft/src/siprp/higiene/gestao/riscos/GerirRiscosPanel.java +++ b/trunk/SIPRPSoft/src/siprp/higiene/gestao/riscos/GerirRiscosPanel.java @@ -269,7 +269,7 @@ public class GerirRiscosPanel extends JPanel implements LeafUIConstants HsRiscoData risco = new HsRiscoData(); risco.setDescription( riscoString ); risco.setToTema_id( tema ); - tema.save(); + risco.save(); refresh(); } } diff --git a/trunk/SIPRPSoft/src/siprp/higiene/relatorio/GerirMedidasRelatorioPanel.java b/trunk/SIPRPSoft/src/siprp/higiene/relatorio/GerirMedidasRelatorioPanel.java index 7ba165d6..0f8e55d0 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.utils.error.ErrorLogger; import com.evolute.utils.ui.trees.TreeTools; public class GerirMedidasRelatorioPanel extends JPanel @@ -333,7 +334,14 @@ public class GerirMedidasRelatorioPanel extends JPanel order = Math.max(order, hsPostoRisco.getOrdem() == null ? 0 : hsPostoRisco.getOrdem() ); } } - HigieneSegurancaLogic.addRiscoToRelatorioPosto( risco, order+1, posto ); + try + { + HigieneSegurancaLogic.addRiscoToRelatorioPosto( risco, order+1, posto ); + } + catch ( Exception e ) + { + ErrorLogger.logExceptionAndShow( e ); + } } } diff --git a/trunk/SIPRPSoft/src/siprp/logic/HigieneSegurancaLogic.java b/trunk/SIPRPSoft/src/siprp/logic/HigieneSegurancaLogic.java index f1b47bf7..1167d164 100644 --- a/trunk/SIPRPSoft/src/siprp/logic/HigieneSegurancaLogic.java +++ b/trunk/SIPRPSoft/src/siprp/logic/HigieneSegurancaLogic.java @@ -295,7 +295,7 @@ public class HigieneSegurancaLogic rPosto.save(); } - public static void addRiscoToRelatorioPosto( HsRiscoData risco, Integer order, HsRelatorioPostoData rPosto ) + public static void addRiscoToRelatorioPosto( HsRiscoData risco, Integer order, HsRelatorioPostoData rPosto ) throws Exception { HsRelatorioRiscoData rRelatorioRisco = new HsRelatorioRiscoData(); rRelatorioRisco.setToRelatorio_id( rPosto.toArea_id().toRelatorio_id() ); @@ -314,15 +314,19 @@ public class HigieneSegurancaLogic rPostoMedida.setIs_plano_actuacao( false ); rPostoMedida.setToMedida_id( rMedida ); rPostoMedida.setToPosto_id( rPosto ); + rPostoMedida.save(); + rMedida.save(); } + rPostoRisco.save(); + rRelatorioRisco.save(); } - private static void revertMedidasAndRiscos( HsPostoRiscoData postoRisco, HsRelatorioPostoData rPosto ) + private static void revertMedidasAndRiscos( HsPostoRiscoData postoRisco, HsRelatorioPostoData rPosto ) throws Exception { addRiscoToRelatorioPosto(postoRisco.toRisco_id(), postoRisco.getOrdem(), rPosto); } - private static void revertMedidasAndRiscos( List postosRiscos, HsRelatorioPostoData rPosto ) + private static void revertMedidasAndRiscos( List postosRiscos, HsRelatorioPostoData rPosto ) throws Exception { for( HsPostoRiscoData postoRisco : postosRiscos ) { @@ -330,7 +334,7 @@ public class HigieneSegurancaLogic } } - private static void revertMedidasAndRiscos( HsPostoData posto, HsRelatorioPostoData rPosto ) + private static void revertMedidasAndRiscos( HsPostoData posto, HsRelatorioPostoData rPosto ) throws Exception { revertMedidasAndRiscos(posto.fromHsPostoRisco_posto_id(),rPosto); }