git-svn-id: https://svn.coded.pt/svn/SIPRP@885 bb69d46d-e84e-40c8-a05a-06db0d633741

lxbfYeaa
Tiago Simão 17 years ago
parent fb6074bb85
commit 672ab008b8

@ -2,7 +2,6 @@ package siprp.higiene.gestao.equipamentos;
import static com.evolute.utils.strings.UnicodeLatin1Map.atilde; import static com.evolute.utils.strings.UnicodeLatin1Map.atilde;
import static com.evolute.utils.strings.UnicodeLatin1Map.ccedil; import static com.evolute.utils.strings.UnicodeLatin1Map.ccedil;
import static com.evolute.utils.strings.UnicodeLatin1Map.eacute;
import info.clearthought.layout.TableLayout; import info.clearthought.layout.TableLayout;
import info.clearthought.layout.TableLayoutConstraints; import info.clearthought.layout.TableLayoutConstraints;
@ -21,6 +20,7 @@ import javax.swing.tree.TreePath;
import javax.swing.tree.TreeSelectionModel; import javax.swing.tree.TreeSelectionModel;
import leaf.ui.LeafButton; import leaf.ui.LeafButton;
import leaf.ui.LeafError;
import leaf.ui.LeafIconButton; import leaf.ui.LeafIconButton;
import leaf.ui.TreeTools; import leaf.ui.TreeTools;
import siprp.database.cayenne.objects.HsEquipamentoMedico; import siprp.database.cayenne.objects.HsEquipamentoMedico;
@ -73,10 +73,11 @@ public class AdicionarEquipamentosPanel extends JPanel
private void setupLayout() private void setupLayout()
{ {
TableLayout layout = new TableLayout( TableLayout layout = new TableLayout( new double[] {
new double[]{ TableLayout.MINIMUM, TableLayout.FILL }, TableLayout.MINIMUM, TableLayout.FILL
new double[]{ TableLayout.FILL } }, new double[] {
); TableLayout.FILL
} );
layout.setHGap( 5 ); layout.setHGap( 5 );
layout.setVGap( 5 ); layout.setVGap( 5 );
setLayout( layout ); setLayout( layout );
@ -85,10 +86,11 @@ public class AdicionarEquipamentosPanel extends JPanel
private void placeComponents() private void placeComponents()
{ {
JPanel panel = new JPanel(); JPanel panel = new JPanel();
TableLayout layout = new TableLayout( TableLayout layout = new TableLayout( new double[] {
new double[]{ TableLayout.MINIMUM }, TableLayout.MINIMUM
new double[]{ TableLayout.MINIMUM, TableLayout.MINIMUM, TableLayout.FILL } }, new double[] {
); TableLayout.MINIMUM, TableLayout.MINIMUM, TableLayout.FILL
} );
layout.setHGap( 5 ); layout.setHGap( 5 );
layout.setVGap( 5 ); layout.setVGap( 5 );
panel.setLayout( layout ); panel.setLayout( layout );
@ -101,15 +103,16 @@ public class AdicionarEquipamentosPanel extends JPanel
private void startupListeners() private void startupListeners()
{ {
tree.getSelectionModel().addTreeSelectionListener( new TreeSelectionListener(){ tree.getSelectionModel().addTreeSelectionListener( new TreeSelectionListener()
{
@Override @Override
public void valueChanged( TreeSelectionEvent e ) public void valueChanged( TreeSelectionEvent e )
{ {
setEnabled(); setEnabled();
TreePath path = tree.getSelectionPath(); TreePath path = tree.getSelectionPath();
Object object = path == null ? null : path.getLastPathComponent(); Object object = path == null ? null : path.getLastPathComponent();
HsRelatorioEquipamentoMedico rel = object == null ? null : ( (object instanceof HsRelatorioEquipamentoMedico) ? (HsRelatorioEquipamentoMedico) ((EquipamentoNode) object).getUserObject() : null); HsRelatorioEquipamentoMedico rel = object == null ? null : ((object instanceof HsRelatorioEquipamentoMedico) ? (HsRelatorioEquipamentoMedico) ((EquipamentoNode) object).getUserObject() : null);
firePropertyChange( SELECTION_CHANGED, null, rel == null ? null : rel.getToHsRelatorio() ); firePropertyChange( SELECTION_CHANGED, null, rel == null ? null : rel.getToHsRelatorio() );
} }
} ); } );
buttonAdicionar.addActionListener( new ActionListener() buttonAdicionar.addActionListener( new ActionListener()
@ -132,36 +135,48 @@ public class AdicionarEquipamentosPanel extends JPanel
private void add() private void add()
{ {
if( relatorio != null ) try
{ {
String equipamentoString = JOptionPane.showInputDialog( this, "Descri" + ccedil + atilde + "o", "Criar novo equipamento de medi" + ccedil + atilde + "o", JOptionPane.QUESTION_MESSAGE ); if( relatorio != null )
if( equipamentoString != null )
{ {
HsEquipamentoMedico equipamento = new HsEquipamentoMedico(); String equipamentoString = JOptionPane.showInputDialog( this, "Descri" + ccedil + atilde + "o", "Criar novo equipamento de medi" + ccedil + atilde + "o", JOptionPane.QUESTION_MESSAGE );
equipamento.setNome( equipamentoString ); if( equipamentoString != null )
equipamento.save(); {
HsRelatorioEquipamentoMedico rel = new HsRelatorioEquipamentoMedico(); HsEquipamentoMedico equipamento = new HsEquipamentoMedico();
rel.setToHsRelatorio( relatorio ); equipamento.setNome( equipamentoString );
rel.setToHsEquipamentoMedico( equipamento ); equipamento.save();
rel.save(); HsRelatorioEquipamentoMedico rel = new HsRelatorioEquipamentoMedico();
refresh(); rel.setToHsRelatorio( relatorio );
rel.setToHsEquipamentoMedico( equipamento );
rel.save();
refresh();
}
} }
} catch( Exception e )
{
e.printStackTrace();
} }
} }
private void rem() private void rem()
{ {
TreePath path = tree.getSelectionPath(); try
if( path != null )
{ {
Object object = path.getLastPathComponent(); TreePath path = tree.getSelectionPath();
if( object instanceof EquipamentoNode ) if( path != null )
{ {
HsRelatorioEquipamentoMedico rel = ((HsRelatorioEquipamentoMedico)((EquipamentoNode) object).getUserObject()); Object object = path.getLastPathComponent();
rel.delete(); if( object instanceof EquipamentoNode )
{
HsRelatorioEquipamentoMedico rel = ((HsRelatorioEquipamentoMedico) ((EquipamentoNode) object).getUserObject());
rel.delete();
}
} }
refresh();
} catch( Exception e )
{
LeafError.error(e);
} }
refresh();
} }
private void setEnabled() private void setEnabled()
@ -177,19 +192,17 @@ public class AdicionarEquipamentosPanel extends JPanel
{ {
for( HsRelatorioEquipamentoMedico rel : relatorio.getHsRelatorioEquipamentoMedicoArray() ) for( HsRelatorioEquipamentoMedico rel : relatorio.getHsRelatorioEquipamentoMedicoArray() )
{ {
root.add( new EquipamentoNode(rel) ); root.add( new EquipamentoNode( rel ) );
} }
} }
setEnabled(); setEnabled();
TreeTools.refreshTree( tree, root ); TreeTools.refreshTree( tree, root );
} }
public void setRelatorio( HsRelatorio relatorio ) public void setRelatorio( HsRelatorio relatorio )
{ {
this.relatorio = relatorio; this.relatorio = relatorio;
refresh(); refresh();
} }
} }

@ -28,6 +28,7 @@ import javax.swing.tree.TreeSelectionModel;
import leaf.data.Validator; import leaf.data.Validator;
import leaf.ui.LeafButton; import leaf.ui.LeafButton;
import leaf.ui.LeafError;
import leaf.ui.LeafTextAreaEditor; import leaf.ui.LeafTextAreaEditor;
import leaf.ui.TreeTools; import leaf.ui.TreeTools;
import siprp.database.cayenne.objects.HsLegislacao; import siprp.database.cayenne.objects.HsLegislacao;
@ -75,7 +76,7 @@ public class GerirLegislacaoPanel extends JPanel
private final DefaultTreeModel modelCategorias = new DefaultTreeModel( rootCategorias ); private final DefaultTreeModel modelCategorias = new DefaultTreeModel( rootCategorias );
private final JTree treeCategorias = new JTree(modelCategorias); private final JTree treeCategorias = new JTree( modelCategorias );
private final JScrollPane scrollCategorias = new JScrollPane( treeCategorias ); private final JScrollPane scrollCategorias = new JScrollPane( treeCategorias );
@ -153,7 +154,6 @@ public class GerirLegislacaoPanel extends JPanel
private void placeComponents() private void placeComponents()
{ {
panelButtonsGeral.add( buttonGeralCriar ); panelButtonsGeral.add( buttonGeralCriar );
panelButtonsGeral.add( buttonGeralRemover ); panelButtonsGeral.add( buttonGeralRemover );
@ -189,7 +189,7 @@ public class GerirLegislacaoPanel extends JPanel
Object last = selectionPath.getLastPathComponent(); Object last = selectionPath.getLastPathComponent();
if( last instanceof DefaultMutableTreeNode ) if( last instanceof DefaultMutableTreeNode )
{ {
Object userObject = ((DefaultMutableTreeNode)last).getUserObject(); Object userObject = ((DefaultMutableTreeNode) last).getUserObject();
if( userObject instanceof HsLegislacao ) if( userObject instanceof HsLegislacao )
{ {
selectedLegislacaoEspecifica = (HsLegislacao) userObject; selectedLegislacaoEspecifica = (HsLegislacao) userObject;
@ -222,7 +222,7 @@ public class GerirLegislacaoPanel extends JPanel
Object last = selectionPath.getLastPathComponent(); Object last = selectionPath.getLastPathComponent();
if( last instanceof DefaultMutableTreeNode ) if( last instanceof DefaultMutableTreeNode )
{ {
Object userObject = ((DefaultMutableTreeNode)last).getUserObject(); Object userObject = ((DefaultMutableTreeNode) last).getUserObject();
if( userObject instanceof HsLegislacao ) if( userObject instanceof HsLegislacao )
{ {
selectedLegislacaoGeral = (HsLegislacao) userObject; selectedLegislacaoGeral = (HsLegislacao) userObject;
@ -240,23 +240,29 @@ public class GerirLegislacaoPanel extends JPanel
setEnable(); setEnable();
} }
} ); } );
panelData.addPropertyChangeListener( LeafTextAreaEditor.ACTION_SAVE, new PropertyChangeListener() panelData.addPropertyChangeListener( LeafTextAreaEditor.ACTION_SAVE, new PropertyChangeListener()
{ {
@Override @Override
public void propertyChange( PropertyChangeEvent evt ) public void propertyChange( PropertyChangeEvent evt )
{ {
String newValue = (String) evt.getNewValue(); try
if( selectedLegislacaoEspecifica != null )
{ {
selectedLegislacaoEspecifica.setDescription( newValue ); String newValue = (String) evt.getNewValue();
selectedLegislacaoEspecifica.save(); if( selectedLegislacaoEspecifica != null )
} {
else if( selectedLegislacaoGeral != null ) selectedLegislacaoEspecifica.setDescription( newValue );
selectedLegislacaoEspecifica.save();
}
else if( selectedLegislacaoGeral != null )
{
selectedLegislacaoGeral.setDescription( newValue );
selectedLegislacaoGeral.save();
}
reload();
} catch( Exception e )
{ {
selectedLegislacaoGeral.setDescription( newValue ); LeafError.error( e );
selectedLegislacaoGeral.save();
} }
reload();
} }
} ); } );
buttonCategoriaCriar.addActionListener( new ActionListener() buttonCategoriaCriar.addActionListener( new ActionListener()
@ -319,27 +325,39 @@ public class GerirLegislacaoPanel extends JPanel
private void criarCategoria() private void criarCategoria()
{ {
String categoriaString = JOptionPane.showInputDialog( this, "Nova categoria", "" ); try
if( categoriaString != null )
{ {
HsLegislacaoCategoria novaCategoria = new HsLegislacaoCategoria(); String categoriaString = JOptionPane.showInputDialog( this, "Nova categoria", "" );
novaCategoria.setDescription( categoriaString ); if( categoriaString != null )
novaCategoria.save(); {
reload(); HsLegislacaoCategoria novaCategoria = new HsLegislacaoCategoria();
novaCategoria.setDescription( categoriaString );
novaCategoria.save();
reload();
}
} catch( Exception e )
{
LeafError.error( e );
} }
} }
private void editarCategoria() private void editarCategoria()
{ {
if( selectedCategoria != null ) try
{ {
String categoriaString = JOptionPane.showInputDialog( this, "Nova categoria", selectedCategoria.getDescription() ); if( selectedCategoria != null )
if( categoriaString != null )
{ {
selectedCategoria.setDescription( categoriaString ); String categoriaString = JOptionPane.showInputDialog( this, "Nova categoria", selectedCategoria.getDescription() );
selectedCategoria.save(); if( categoriaString != null )
reload(); {
selectedCategoria.setDescription( categoriaString );
selectedCategoria.save();
reload();
}
} }
} catch( Exception e )
{
LeafError.error( e );
} }
} }
@ -353,42 +371,66 @@ public class GerirLegislacaoPanel extends JPanel
private void criarCategoriaLegislacao() private void criarCategoriaLegislacao()
{ {
if( selectedCategoria != null ) try
{ {
HsLegislacao novaLegislacao = new HsLegislacao(); if( selectedCategoria != null )
novaLegislacao.setDescription( "" ); {
novaLegislacao.setToHsLegislacaoCategoria( selectedCategoria ); HsLegislacao novaLegislacao = new HsLegislacao();
novaLegislacao.save(); novaLegislacao.setDescription( "" );
reload(); novaLegislacao.setToHsLegislacaoCategoria( selectedCategoria );
novaLegislacao.save();
reload();
}
} catch( Exception e )
{
LeafError.error( e );
} }
} }
private void removerCategoriaLegislacao() private void removerCategoriaLegislacao()
{ {
if( selectedLegislacaoEspecifica != null ) try
{ {
selectedLegislacaoEspecifica.setDeletedDate( new Date() ); if( selectedLegislacaoEspecifica != null )
selectedLegislacaoEspecifica.save(); {
reload(); selectedLegislacaoEspecifica.setDeletedDate( new Date() );
selectedLegislacaoEspecifica.save();
reload();
}
} catch( Exception e )
{
LeafError.error( e );
} }
} }
private void removerGeral() private void removerGeral()
{ {
if( selectedLegislacaoGeral != null ) try
{ {
selectedLegislacaoGeral.setDeletedDate( new Date() ); if( selectedLegislacaoGeral != null )
selectedLegislacaoGeral.save(); {
reload(); selectedLegislacaoGeral.setDeletedDate( new Date() );
selectedLegislacaoGeral.save();
reload();
}
} catch( Exception e )
{
LeafError.error( e );
} }
} }
private void criarGeral() private void criarGeral()
{ {
HsLegislacao legislacao = new HsLegislacao(); try
legislacao.setDescription( "" ); {
legislacao.save(); HsLegislacao legislacao = new HsLegislacao();
reload(); legislacao.setDescription( "" );
legislacao.save();
reload();
} catch( Exception e )
{
LeafError.error( e );
}
} }
private void reload() private void reload()

@ -17,6 +17,7 @@ import javax.swing.tree.TreePath;
import javax.swing.tree.TreeSelectionModel; import javax.swing.tree.TreeSelectionModel;
import leaf.ui.LeafButton; import leaf.ui.LeafButton;
import leaf.ui.LeafError;
import leaf.ui.TreeInserterDialog; import leaf.ui.TreeInserterDialog;
import leaf.ui.TreeTools; import leaf.ui.TreeTools;
import siprp.database.cayenne.objects.Estabelecimentos; import siprp.database.cayenne.objects.Estabelecimentos;
@ -33,9 +34,9 @@ public class AdicionarAreasPanel extends JPanel
public static final String SELECTION_CHANGED = "SELECTION_CHANGED"; public static final String SELECTION_CHANGED = "SELECTION_CHANGED";
private final LeafButton buttonAdicionar = new LeafButton("Adicionar"); private final LeafButton buttonAdicionar = new LeafButton( "Adicionar" );
private final LeafButton buttonRemover = new LeafButton("Remover"); private final LeafButton buttonRemover = new LeafButton( "Remover" );
private final DefaultMutableTreeNode root = new DefaultMutableTreeNode(); private final DefaultMutableTreeNode root = new DefaultMutableTreeNode();
@ -65,10 +66,11 @@ public class AdicionarAreasPanel extends JPanel
private void setupLayout() private void setupLayout()
{ {
TableLayout layout = new TableLayout( TableLayout layout = new TableLayout( new double[] {
new double[]{ TableLayout.FILL }, TableLayout.FILL
new double[]{ TableLayout.MINIMUM, TableLayout.FILL } }, new double[] {
); TableLayout.MINIMUM, TableLayout.FILL
} );
layout.setHGap( 5 ); layout.setHGap( 5 );
layout.setVGap( 5 ); layout.setVGap( 5 );
setLayout( layout ); setLayout( layout );
@ -77,10 +79,11 @@ public class AdicionarAreasPanel extends JPanel
private void placeComponents() private void placeComponents()
{ {
JPanel panel = new JPanel(); JPanel panel = new JPanel();
TableLayout layout = new TableLayout( TableLayout layout = new TableLayout( new double[] {
new double[]{ TableLayout.MINIMUM, TableLayout.FILL, TableLayout.MINIMUM }, TableLayout.MINIMUM, TableLayout.FILL, TableLayout.MINIMUM
new double[]{ TableLayout.MINIMUM } }, new double[] {
); TableLayout.MINIMUM
} );
layout.setHGap( 5 ); layout.setHGap( 5 );
layout.setVGap( 5 ); layout.setVGap( 5 );
panel.setLayout( layout ); panel.setLayout( layout );
@ -93,15 +96,16 @@ public class AdicionarAreasPanel extends JPanel
private void startupListeners() private void startupListeners()
{ {
tree.getSelectionModel().addTreeSelectionListener( new TreeSelectionListener(){ tree.getSelectionModel().addTreeSelectionListener( new TreeSelectionListener()
{
@Override @Override
public void valueChanged( TreeSelectionEvent e ) public void valueChanged( TreeSelectionEvent e )
{ {
setEnabled(); setEnabled();
TreePath path = tree.getSelectionPath(); TreePath path = tree.getSelectionPath();
Object object = path == null ? null : path.getLastPathComponent(); Object object = path == null ? null : path.getLastPathComponent();
HsPosto posto = object == null ? null : ( (object instanceof PostoNode) ? (HsPosto) ((PostoNode) object).getUserObject() : null); HsPosto posto = object == null ? null : ((object instanceof PostoNode) ? (HsPosto) ((PostoNode) object).getUserObject() : null);
firePropertyChange( SELECTION_CHANGED, null, posto ); firePropertyChange( SELECTION_CHANGED, null, posto );
} }
} ); } );
buttonAdicionar.addActionListener( new ActionListener() buttonAdicionar.addActionListener( new ActionListener()
@ -126,27 +130,33 @@ public class AdicionarAreasPanel extends JPanel
{ {
DefaultMutableTreeNode allPostos = HigieneSegurancaLogic.getAreasTree( estabelecimento.getToEmpresas() ); DefaultMutableTreeNode allPostos = HigieneSegurancaLogic.getAreasTree( estabelecimento.getToEmpresas() );
TreeTools.removeAll( allPostos, HigieneSegurancaLogic.getPostosTree( estabelecimento ) ); TreeTools.removeAll( allPostos, HigieneSegurancaLogic.getPostosTree( estabelecimento ) );
TreeInserterDialog dialog = new TreeInserterDialog("Adicionar Postos de Trabalho", allPostos ); TreeInserterDialog dialog = new TreeInserterDialog( "Adicionar Postos de Trabalho", allPostos );
save( dialog.getResult() ); save( dialog.getResult() );
refresh(); refresh();
} }
private void save( DefaultMutableTreeNode toadd ) private void save( DefaultMutableTreeNode toadd )
{ {
Object obj = toadd.getUserObject(); try
if( obj instanceof HsPosto )
{
HsPostoEstabelecimento rel = new HsPostoEstabelecimento();
rel.setToEstabelecimentos( estabelecimento );
rel.setToHsPosto( (HsPosto) obj );
rel.save();
}
else
{ {
for( int i = 0; i < toadd.getChildCount(); ++i ) Object obj = toadd.getUserObject();
if( obj instanceof HsPosto )
{ {
save( (DefaultMutableTreeNode) toadd.getChildAt( i ) ); HsPostoEstabelecimento rel = new HsPostoEstabelecimento();
rel.setToEstabelecimentos( estabelecimento );
rel.setToHsPosto( (HsPosto) obj );
rel.save();
} }
else
{
for( int i = 0; i < toadd.getChildCount(); ++i )
{
save( (DefaultMutableTreeNode) toadd.getChildAt( i ) );
}
}
} catch( Exception e )
{
LeafError.error( e );
} }
} }
@ -158,14 +168,14 @@ public class AdicionarAreasPanel extends JPanel
Object object = path.getLastPathComponent(); Object object = path.getLastPathComponent();
if( object instanceof PostoNode ) if( object instanceof PostoNode )
{ {
HsPosto posto = ((HsPosto)((PostoNode) object).getUserObject()); HsPosto posto = ((HsPosto) ((PostoNode) object).getUserObject());
remPosto( posto ); remPosto( posto );
} }
else if( object instanceof AreaNode ) else if( object instanceof AreaNode )
{ {
for( int i = 0; i < ((AreaNode)object).getChildCount(); ++i ) for( int i = 0; i < ((AreaNode) object).getChildCount(); ++i )
{ {
PostoNode postoNode = (PostoNode) ((AreaNode)object).getChildAt( i ); PostoNode postoNode = (PostoNode) ((AreaNode) object).getChildAt( i );
remPosto( (HsPosto) postoNode.getUserObject() ); remPosto( (HsPosto) postoNode.getUserObject() );
} }
} }
@ -175,18 +185,25 @@ public class AdicionarAreasPanel extends JPanel
private void remPosto( HsPosto posto ) private void remPosto( HsPosto posto )
{ {
HsPostoEstabelecimento toDelete = null; try
for( HsPostoEstabelecimento rel : posto.getHsPostoEstabelecimentoArray() )
{ {
if( rel.getToEstabelecimentos().equals( estabelecimento ) ) HsPostoEstabelecimento toDelete = null;
for( HsPostoEstabelecimento rel : posto.getHsPostoEstabelecimentoArray() )
{ {
toDelete = rel; if( rel.getToEstabelecimentos().equals( estabelecimento ) )
break; {
toDelete = rel;
break;
}
}
if( toDelete != null )
{
toDelete.delete();
} }
} }
if( toDelete != null ) catch( Exception e )
{ {
toDelete.delete(); LeafError.error( e );
} }
} }
@ -207,10 +224,9 @@ public class AdicionarAreasPanel extends JPanel
TreeTools.refreshTree( tree, root ); TreeTools.refreshTree( tree, root );
} }
public void setEstabelecimento( Estabelecimentos estabelecimento ) public void setEstabelecimento( Estabelecimentos estabelecimento )
{ {
this.estabelecimento = estabelecimento; this.estabelecimento = estabelecimento;
refresh(); refresh();
} }

@ -26,6 +26,7 @@ import javax.swing.tree.TreePath;
import javax.swing.tree.TreeSelectionModel; import javax.swing.tree.TreeSelectionModel;
import leaf.ui.LeafButton; import leaf.ui.LeafButton;
import leaf.ui.LeafError;
import leaf.ui.TreeTools; import leaf.ui.TreeTools;
import siprp.database.cayenne.objects.Empresas; import siprp.database.cayenne.objects.Empresas;
import siprp.database.cayenne.objects.HsArea; import siprp.database.cayenne.objects.HsArea;
@ -171,56 +172,80 @@ public class GerirAreasPanel extends JPanel
private void criarArea() private void criarArea()
{ {
if( empresa != null ) try
{ {
String areaString = JOptionPane.showInputDialog( this, "Descri" + ccedil + atilde + "o", "Criar nova " + aacute + "rea", JOptionPane.QUESTION_MESSAGE ); if( empresa != null )
if( areaString != null )
{ {
HsArea area = new HsArea(); String areaString = JOptionPane.showInputDialog( this, "Descri" + ccedil + atilde + "o", "Criar nova " + aacute + "rea", JOptionPane.QUESTION_MESSAGE );
area.setToEmpresas( empresa ); if( areaString != null )
area.setDescription( areaString ); {
area.save(); HsArea area = new HsArea();
refresh(); area.setToEmpresas( empresa );
area.setDescription( areaString );
area.save();
refresh();
}
} }
} catch( Exception e )
{
LeafError.error(e);
} }
} }
private void removerArea() private void removerArea()
{ {
HsArea area = getSelectedArea(); try
if( area != null ) {
HsArea area = getSelectedArea();
if( area != null )
{
area.delete();
refresh();
}
} catch( Exception e )
{ {
area.delete(); LeafError.error(e);
refresh();
} }
} }
private void criarPosto() private void criarPosto()
{ {
HsArea area = getSelectedArea(); try
if( area != null )
{ {
String postoString = JOptionPane.showInputDialog( this, "Descri" + ccedil + atilde + "o", "Criar novo posto de trabalho", JOptionPane.QUESTION_MESSAGE ); HsArea area = getSelectedArea();
if( postoString != null ) if( area != null )
{ {
HsPosto posto = new HsPosto(); String postoString = JOptionPane.showInputDialog( this, "Descri" + ccedil + atilde + "o", "Criar novo posto de trabalho", JOptionPane.QUESTION_MESSAGE );
posto.setToHsArea( area ); if( postoString != null )
posto.setDescription( postoString ); {
posto.save(); HsPosto posto = new HsPosto();
posto.setToHsArea( area );
posto.setDescription( postoString );
posto.save();
refresh();
}
refresh(); refresh();
} }
refresh(); } catch( Exception e )
{
LeafError.error(e);
} }
} }
private void removerPosto() private void removerPosto()
{ {
HsPosto posto = getSelectedPosto(); try
if( posto != null ) {
HsPosto posto = getSelectedPosto();
if( posto != null )
{
posto.setDeletedDate( new Date() );
posto.save();
refresh();
}
} catch( Exception e )
{ {
posto.setDeletedDate( new Date() ); LeafError.error(e);
posto.save();
refresh();
} }
} }

@ -17,13 +17,13 @@ import javax.swing.tree.TreePath;
import javax.swing.tree.TreeSelectionModel; import javax.swing.tree.TreeSelectionModel;
import leaf.ui.LeafButton; import leaf.ui.LeafButton;
import leaf.ui.LeafError;
import leaf.ui.TreeInserterDialog; import leaf.ui.TreeInserterDialog;
import leaf.ui.TreeTools; import leaf.ui.TreeTools;
import siprp.database.cayenne.objects.BaseObject; import siprp.database.cayenne.objects.BaseObject;
import siprp.database.cayenne.objects.Empresas; import siprp.database.cayenne.objects.Empresas;
import siprp.database.cayenne.objects.HsPosto; import siprp.database.cayenne.objects.HsPosto;
import siprp.database.cayenne.objects.HsPostoRisco; import siprp.database.cayenne.objects.HsPostoRisco;
import siprp.database.cayenne.objects.HsRelatorioPosto;
import siprp.database.cayenne.objects.HsRisco; import siprp.database.cayenne.objects.HsRisco;
import siprp.database.cayenne.objects.HsRiscoEmpresa; import siprp.database.cayenne.objects.HsRiscoEmpresa;
import siprp.logic.HigieneSegurancaLogic; import siprp.logic.HigieneSegurancaLogic;
@ -36,9 +36,9 @@ public class AdicionarRiscosPanel extends JPanel
public static final String SELECTION_CHANGED = "RISCOS_SELECTION_CHANGED"; public static final String SELECTION_CHANGED = "RISCOS_SELECTION_CHANGED";
private final LeafButton buttonAdicionar = new LeafButton("Adicionar"); private final LeafButton buttonAdicionar = new LeafButton( "Adicionar" );
private final LeafButton buttonRemover = new LeafButton("Remover"); private final LeafButton buttonRemover = new LeafButton( "Remover" );
private final DefaultMutableTreeNode root = new DefaultMutableTreeNode(); private final DefaultMutableTreeNode root = new DefaultMutableTreeNode();
@ -70,10 +70,11 @@ public class AdicionarRiscosPanel extends JPanel
private void setupLayout() private void setupLayout()
{ {
TableLayout layout = new TableLayout( TableLayout layout = new TableLayout( new double[] {
new double[]{ TableLayout.FILL }, TableLayout.FILL
new double[]{ TableLayout.MINIMUM, TableLayout.FILL } }, new double[] {
); TableLayout.MINIMUM, TableLayout.FILL
} );
layout.setHGap( 5 ); layout.setHGap( 5 );
layout.setVGap( 5 ); layout.setVGap( 5 );
setLayout( layout ); setLayout( layout );
@ -82,10 +83,11 @@ public class AdicionarRiscosPanel extends JPanel
private void placeComponents() private void placeComponents()
{ {
JPanel panel = new JPanel(); JPanel panel = new JPanel();
TableLayout layout = new TableLayout( TableLayout layout = new TableLayout( new double[] {
new double[]{ TableLayout.MINIMUM, TableLayout.FILL, TableLayout.MINIMUM }, TableLayout.MINIMUM, TableLayout.FILL, TableLayout.MINIMUM
new double[]{ TableLayout.MINIMUM } }, new double[] {
); TableLayout.MINIMUM
} );
layout.setHGap( 5 ); layout.setHGap( 5 );
layout.setVGap( 5 ); layout.setVGap( 5 );
panel.setLayout( layout ); panel.setLayout( layout );
@ -114,7 +116,8 @@ public class AdicionarRiscosPanel extends JPanel
rem(); rem();
} }
} ); } );
tree.getSelectionModel().addTreeSelectionListener( new TreeSelectionListener(){ tree.getSelectionModel().addTreeSelectionListener( new TreeSelectionListener()
{
@Override @Override
public void valueChanged( TreeSelectionEvent e ) public void valueChanged( TreeSelectionEvent e )
{ {
@ -132,12 +135,12 @@ public class AdicionarRiscosPanel extends JPanel
private void add() private void add()
{ {
DefaultMutableTreeNode allRiscos = getAllRiscos(); DefaultMutableTreeNode allRiscos = getAllRiscos();
TreeTools.removeAll( allRiscos, getRiscosTree( ) ); TreeTools.removeAll( allRiscos, getRiscosTree() );
TreeInserterDialog dialog = new TreeInserterDialog( "Adicionar Riscos", allRiscos ); TreeInserterDialog dialog = new TreeInserterDialog( "Adicionar Riscos", allRiscos );
DefaultMutableTreeNode result = dialog.getResult(); DefaultMutableTreeNode result = dialog.getResult();
if( result != null ) if( result != null )
{ {
addResult(result); addResult( result );
refresh(); refresh();
} }
setEnabled(); setEnabled();
@ -156,6 +159,7 @@ public class AdicionarRiscosPanel extends JPanel
} }
return result; return result;
} }
private DefaultMutableTreeNode getRiscosTree() private DefaultMutableTreeNode getRiscosTree()
{ {
DefaultMutableTreeNode result = new DefaultMutableTreeNode(); DefaultMutableTreeNode result = new DefaultMutableTreeNode();
@ -182,47 +186,58 @@ public class AdicionarRiscosPanel extends JPanel
private void addResult( DefaultMutableTreeNode root ) private void addResult( DefaultMutableTreeNode root )
{ {
if( root != null ) try
{ {
if( root instanceof NodeRisco ) if( root != null )
{ {
HsRisco risco = (HsRisco) root.getUserObject(); if( root instanceof NodeRisco )
if( empresa != null )
{ {
HsRiscoEmpresa rel = new HsRiscoEmpresa(); HsRisco risco = (HsRisco) root.getUserObject();
rel.setToEmpresa( empresa ); if( empresa != null )
rel.setToHsRisco( risco ); {
rel.save(); HsRiscoEmpresa rel = new HsRiscoEmpresa();
rel.setToEmpresa( empresa );
rel.setToHsRisco( risco );
rel.save();
}
else if( posto != null )
{
HsPostoRisco rel = new HsPostoRisco();
rel.setToHsPosto( posto );
rel.setToHsRisco( risco );
rel.save();
}
} }
else if( posto != null ) for( int i = 0; i < root.getChildCount(); ++i )
{ {
HsPostoRisco rel = new HsPostoRisco(); DefaultMutableTreeNode child = (DefaultMutableTreeNode) root.getChildAt( i );
rel.setToHsPosto( posto); addResult( child );
rel.setToHsRisco( risco );
rel.save();
} }
} }
for( int i = 0; i < root.getChildCount(); ++i ) } catch( Exception e )
{ {
DefaultMutableTreeNode child = (DefaultMutableTreeNode) root.getChildAt( i ); LeafError.error( e );
addResult( child );
}
} }
} }
private void rem() private void rem()
{ {
TreePath path = tree.getSelectionPath(); try
if (path != null)
{ {
DefaultMutableTreeNode node = (DefaultMutableTreeNode) path.getLastPathComponent(); TreePath path = tree.getSelectionPath();
Object obj = node.getUserObject(); if( path != null )
if( obj != null )
{ {
((BaseObject) obj).delete(); DefaultMutableTreeNode node = (DefaultMutableTreeNode) path.getLastPathComponent();
refresh(); Object obj = node.getUserObject();
if( obj != null )
{
((BaseObject) obj).delete();
refresh();
}
} }
} catch( Exception e )
{
LeafError.error( e );
} }
} }

@ -15,6 +15,7 @@ import javax.swing.event.CaretEvent;
import javax.swing.event.CaretListener; import javax.swing.event.CaretListener;
import leaf.ui.LeafButton; import leaf.ui.LeafButton;
import leaf.ui.LeafError;
import siprp.database.cayenne.objects.HsMedida; import siprp.database.cayenne.objects.HsMedida;
import com.evolute.utils.images.ImageException; import com.evolute.utils.images.ImageException;
@ -31,21 +32,17 @@ public class GerirMedidaPanel extends JPanel
private static final String ICON_NAME_REVERT = "siprp/higiene/gestao/riscos/revert.png"; private static final String ICON_NAME_REVERT = "siprp/higiene/gestao/riscos/revert.png";
private LeafButton buttonSaveMedida;
private LeafButton buttonRevertMedida;
private LeafButton buttonSaveRequesito; private LeafButton buttonSaveRequesito;
private LeafButton buttonRevertRequesito; private LeafButton buttonRevertRequesito;
private final JTextArea fieldTextMedida = new JTextArea(); private final JTextArea fieldTextMedida = new JTextArea();
private final JScrollPane scrollMedida = new JScrollPane(fieldTextMedida); private final JScrollPane scrollMedida = new JScrollPane( fieldTextMedida );
private final JTextArea fieldTextRequisitosLegais = new JTextArea(); private final JTextArea fieldTextRequisitosLegais = new JTextArea();
private final JScrollPane scrollRequesitos = new JScrollPane(fieldTextRequisitosLegais); private final JScrollPane scrollRequesitos = new JScrollPane( fieldTextRequisitosLegais );
private HsMedida medida = null; private HsMedida medida = null;
@ -53,8 +50,6 @@ public class GerirMedidaPanel extends JPanel
{ {
try try
{ {
buttonSaveMedida = new LeafButton( ImageIconLoader.loadImageIcon( ICON_NAME_SAVE ) );
buttonRevertMedida = new LeafButton( ImageIconLoader.loadImageIcon( ICON_NAME_REVERT ) );
buttonSaveRequesito = new LeafButton( ImageIconLoader.loadImageIcon( ICON_NAME_SAVE ) ); buttonSaveRequesito = new LeafButton( ImageIconLoader.loadImageIcon( ICON_NAME_SAVE ) );
buttonRevertRequesito = new LeafButton( ImageIconLoader.loadImageIcon( ICON_NAME_REVERT ) ); buttonRevertRequesito = new LeafButton( ImageIconLoader.loadImageIcon( ICON_NAME_REVERT ) );
} catch( ImageException e ) } catch( ImageException e )
@ -77,10 +72,8 @@ public class GerirMedidaPanel extends JPanel
scrollMedida.setVerticalScrollBarPolicy( JScrollPane.VERTICAL_SCROLLBAR_ALWAYS ); scrollMedida.setVerticalScrollBarPolicy( JScrollPane.VERTICAL_SCROLLBAR_ALWAYS );
scrollRequesitos.setHorizontalScrollBarPolicy( JScrollPane.HORIZONTAL_SCROLLBAR_NEVER ); scrollRequesitos.setHorizontalScrollBarPolicy( JScrollPane.HORIZONTAL_SCROLLBAR_NEVER );
scrollRequesitos.setVerticalScrollBarPolicy( JScrollPane.VERTICAL_SCROLLBAR_ALWAYS ); scrollRequesitos.setVerticalScrollBarPolicy( JScrollPane.VERTICAL_SCROLLBAR_ALWAYS );
buttonSaveMedida.setMargin( new Insets(0,0,0,0) ); buttonSaveRequesito.setMargin( new Insets( 0, 0, 0, 0 ) );
buttonSaveRequesito.setMargin( new Insets(0,0,0,0) ); buttonRevertRequesito.setMargin( new Insets( 0, 0, 0, 0 ) );
buttonRevertMedida.setMargin( new Insets(0,0,0,0) );
buttonRevertRequesito.setMargin( new Insets(0,0,0,0) );
} }
private void setupListeners() private void setupListeners()
@ -101,14 +94,6 @@ public class GerirMedidaPanel extends JPanel
setEnabled(); setEnabled();
} }
} ); } );
buttonSaveMedida.addActionListener( new ActionListener()
{
@Override
public void actionPerformed( ActionEvent e )
{
saveMedida();
}
} );
buttonSaveRequesito.addActionListener( new ActionListener() buttonSaveRequesito.addActionListener( new ActionListener()
{ {
@Override @Override
@ -117,14 +102,6 @@ public class GerirMedidaPanel extends JPanel
saveRequesito(); saveRequesito();
} }
} ); } );
buttonRevertMedida.addActionListener( new ActionListener()
{
@Override
public void actionPerformed( ActionEvent e )
{
revertMedida();
}
} );
buttonRevertRequesito.addActionListener( new ActionListener() buttonRevertRequesito.addActionListener( new ActionListener()
{ {
@Override @Override
@ -137,10 +114,11 @@ public class GerirMedidaPanel extends JPanel
private void startupLayout() private void startupLayout()
{ {
TableLayout layout = new TableLayout( TableLayout layout = new TableLayout( new double[] {
new double[]{ TableLayout.FILL, TableLayout.MINIMUM, TableLayout.MINIMUM }, TableLayout.FILL, TableLayout.MINIMUM, TableLayout.MINIMUM
new double[]{ TableLayout.MINIMUM, TableLayout.FILL, TableLayout.MINIMUM, TableLayout.FILL } }, new double[] {
); TableLayout.MINIMUM, TableLayout.FILL, TableLayout.MINIMUM, TableLayout.FILL
} );
layout.setHGap( 5 ); layout.setHGap( 5 );
layout.setVGap( 5 ); layout.setVGap( 5 );
setLayout( layout ); setLayout( layout );
@ -148,14 +126,12 @@ public class GerirMedidaPanel extends JPanel
private void placeComponents() private void placeComponents()
{ {
add( new JLabel("Requisitos legais"), new TableLayoutConstraints(0,0) ); add( new JLabel( "Requisitos legais" ), new TableLayoutConstraints( 0, 0 ) );
add( buttonSaveRequesito, new TableLayoutConstraints(1,0) ); add( buttonSaveRequesito, new TableLayoutConstraints( 1, 0 ) );
add( buttonRevertRequesito, new TableLayoutConstraints(2,0) ); add( buttonRevertRequesito, new TableLayoutConstraints( 2, 0 ) );
add( scrollRequesitos, new TableLayoutConstraints(0,1,2,1) ); add( scrollRequesitos, new TableLayoutConstraints( 0, 1, 2, 1 ) );
add( new JLabel("Medida"), new TableLayoutConstraints(0,2) ); add( new JLabel( "Medida" ), new TableLayoutConstraints( 0, 2 ) );
add( buttonSaveMedida, new TableLayoutConstraints(1,2) ); add( scrollMedida, new TableLayoutConstraints( 0, 3, 2, 3 ) );
add( buttonRevertMedida, new TableLayoutConstraints(2,2) );
add( scrollMedida, new TableLayoutConstraints(0,3,2,3) );
} }
private void setEnabled() private void setEnabled()
@ -167,41 +143,26 @@ public class GerirMedidaPanel extends JPanel
medidaChanged = !fieldTextMedida.getText().equals( medida.getDescription() ); medidaChanged = !fieldTextMedida.getText().equals( medida.getDescription() );
requesitoChanged = !fieldTextRequisitosLegais.getText().equals( medida.getRequesitosLegais() ); requesitoChanged = !fieldTextRequisitosLegais.getText().equals( medida.getRequesitosLegais() );
} }
buttonSaveMedida.setEnabled( medidaChanged ); buttonSaveRequesito.setEnabled( requesitoChanged || medidaChanged );
buttonSaveRequesito.setEnabled( requesitoChanged ); buttonRevertRequesito.setEnabled( requesitoChanged || medidaChanged );
buttonRevertMedida.setEnabled( medidaChanged );
buttonRevertRequesito.setEnabled( requesitoChanged );
}
private void saveMedida()
{
if( medida != null )
{
medida.setDescription( fieldTextMedida.getText() );
medida.save();
refresh();
}
setEnabled();
} }
private void saveRequesito() private void saveRequesito()
{ {
if( medida != null ) try
{ {
medida.setRequesitosLegais(fieldTextRequisitosLegais.getText() ); if( medida != null )
medida.save(); {
refresh(); medida.setRequesitosLegais( fieldTextRequisitosLegais.getText() );
} medida.setDescription( fieldTextMedida.getText() );
setEnabled(); medida.save();
} refresh();
}
private void revertMedida() setEnabled();
{ } catch( Exception e )
if( medida != null )
{ {
fieldTextMedida.setText( medida.getDescription() ); LeafError.error( e );
} }
setEnabled();
} }
private void revertRequesito() private void revertRequesito()
@ -209,6 +170,7 @@ public class GerirMedidaPanel extends JPanel
if( medida != null ) if( medida != null )
{ {
fieldTextRequisitosLegais.setText( medida.getRequesitosLegais() ); fieldTextRequisitosLegais.setText( medida.getRequesitosLegais() );
fieldTextMedida.setText( medida.getDescription() );
} }
setEnabled(); setEnabled();
} }
@ -231,5 +193,4 @@ public class GerirMedidaPanel extends JPanel
return this.medida; return this.medida;
} }
} }

@ -1,6 +1,6 @@
package siprp.higiene.gestao.riscos; package siprp.higiene.gestao.riscos;
import static com.evolute.utils.strings.UnicodeLatin1Map.atilde; import static com.evolute.utils.strings.UnicodeLatin1Map.*;
import static com.evolute.utils.strings.UnicodeLatin1Map.ccedil; import static com.evolute.utils.strings.UnicodeLatin1Map.ccedil;
import info.clearthought.layout.TableLayout; import info.clearthought.layout.TableLayout;
import info.clearthought.layout.TableLayoutConstraints; import info.clearthought.layout.TableLayoutConstraints;
@ -26,6 +26,7 @@ import javax.swing.tree.TreePath;
import javax.swing.tree.TreeSelectionModel; import javax.swing.tree.TreeSelectionModel;
import leaf.ui.LeafButton; import leaf.ui.LeafButton;
import leaf.ui.LeafError;
import leaf.ui.TreeTools; import leaf.ui.TreeTools;
import siprp.database.cayenne.objects.HsMedida; import siprp.database.cayenne.objects.HsMedida;
import siprp.database.cayenne.objects.HsRisco; import siprp.database.cayenne.objects.HsRisco;
@ -157,14 +158,15 @@ public class GerirRiscosPanel extends JPanel
removerMedida(); removerMedida();
} }
} ); } );
tree.getSelectionModel().addTreeSelectionListener( new TreeSelectionListener(){ tree.getSelectionModel().addTreeSelectionListener( new TreeSelectionListener()
{
@Override @Override
public void valueChanged( TreeSelectionEvent e ) public void valueChanged( TreeSelectionEvent e )
{ {
setEnabled(); setEnabled();
selectCard(); selectCard();
} }
}); } );
panelDataMedida.addPropertyChangeListener( GerirMedidaPanel.MEDIDA_CHANGED, new PropertyChangeListener() panelDataMedida.addPropertyChangeListener( GerirMedidaPanel.MEDIDA_CHANGED, new PropertyChangeListener()
{ {
@Override @Override
@ -175,136 +177,198 @@ public class GerirRiscosPanel extends JPanel
refresh(); refresh();
} }
} }
}); } );
} }
private void criarTema() private void criarTema()
{ {
String temaString = JOptionPane.showInputDialog( this, "Criar tema", "Descri" + ccedil + atilde + "o", JOptionPane.QUESTION_MESSAGE ); try
if( temaString != null )
{ {
HsRiscoTema tema = new HsRiscoTema(); String temaString = JOptionPane.showInputDialog( this, "Criar tema", "Descri" + ccedil + atilde + "o", JOptionPane.QUESTION_MESSAGE );
tema.setDescription( temaString ); if( temaString != null )
tema.save(); {
refresh(); HsRiscoTema tema = new HsRiscoTema();
tema.setDescription( temaString );
tema.save();
refresh();
}
} catch( Exception e )
{
LeafError.error( e );
} }
} }
private void editarTema() private void editarTema()
{ {
HsRiscoTema tema = getSelectedTema(); try
if( tema != null )
{ {
String temaString = JOptionPane.showInputDialog( this, "Editar tema", tema.getDescription() ); HsRiscoTema tema = getSelectedTema();
if( temaString != null ) if( tema != null )
{ {
tema.setDescription( temaString ); String temaString = JOptionPane.showInputDialog( this, "Editar tema", tema.getDescription() );
tema.save(); if( temaString != null )
refresh(); {
tema.setDescription( temaString );
tema.save();
refresh();
}
} }
} catch( Exception e )
{
LeafError.error( e );
} }
} }
private void removerTema() private void removerTema()
{ {
HsRiscoTema tema = getSelectedTema(); try
if( tema != null )
{ {
tema.delete(); HsRiscoTema tema = getSelectedTema();
refresh(); if( tema != null )
{
tema.delete();
refresh();
}
} catch( Exception e )
{
LeafError.error( e );
} }
} }
private void criarRisco() private void criarRisco()
{ {
HsRiscoTema tema = getSelectedTema(); try
if( tema == null )
{ {
HsRisco risco = getSelectedRisco(); HsRiscoTema tema = getSelectedTema();
if( risco != null ) if( tema == null )
{ {
tema = risco.getToHsRiscoTema(); HsRisco risco = getSelectedRisco();
if( risco != null )
{
tema = risco.getToHsRiscoTema();
}
else
{
HsRiscoMedida medida = getSelectedMedida();
if( medida != null )
{
tema = medida.getToHsRisco().getToHsRiscoTema();
}
}
} }
else if( tema != null )
{ {
HsRiscoMedida medida = getSelectedMedida(); String riscoString = JOptionPane.showInputDialog( this, "Criar risco", "Descri" + ccedil + atilde + "o", JOptionPane.QUESTION_MESSAGE );
if( medida != null ) if( riscoString != null )
{ {
tema = medida.getToHsRisco().getToHsRiscoTema(); HsRisco risco = new HsRisco();
risco.setDescription( riscoString );
risco.setToHsRiscoTema( tema );
tema.save();
refresh();
} }
} }
} catch( Exception e )
{
LeafError.error( e );
} }
if( tema != null ) }
private void editarRisco()
{
try
{ {
String riscoString = JOptionPane.showInputDialog( this, "Criar risco", "Descri" + ccedil + atilde + "o", JOptionPane.QUESTION_MESSAGE ); HsRisco risco = getSelectedRisco();
if( riscoString != null ) if( risco != null )
{ {
HsRisco risco = new HsRisco(); String riscoString = JOptionPane.showInputDialog( this, "Editar risco", risco.getDescription() );
risco.setDescription( riscoString ); if( riscoString != null )
risco.setToHsRiscoTema( tema ); {
tema.save(); risco.setDescription( riscoString );
refresh(); risco.save();
refresh();
}
} }
} catch( Exception e )
{
LeafError.error( e );
} }
} }
private void editarRisco() private void removerRisco()
{ {
HsRisco risco = getSelectedRisco(); try
if( risco != null )
{ {
String riscoString = JOptionPane.showInputDialog( this, "Editar risco", risco.getDescription() ); HsRisco risco = getSelectedRisco();
if( riscoString != null ) if( risco != null && removerRiscoOK(risco) )
{ {
risco.setDescription( riscoString ); risco.delete();
risco.save();
refresh(); refresh();
} }
} }
catch( Exception e )
{
LeafError.error( e );
}
} }
private void removerRisco() private boolean removerRiscoOK( HsRisco risco )
{ {
HsRisco risco = getSelectedRisco(); boolean result = true;
if( risco != null ) if( risco.getHsRiscoEmpresaArray().size() > 0 )
{ {
risco.delete(); if( JOptionPane.NO_OPTION == JOptionPane.showConfirmDialog( this, "Este risco est" + aacute + " associado a uma ou mais empresas, \n tem a certeza que o deseja remover?", "Aviso", JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE ) )
refresh(); {
result = false;
}
} }
return result;
} }
private void criarMedida() private void criarMedida()
{ {
HsRisco risco = getSelectedRisco(); try
if( risco == null )
{ {
HsRiscoMedida medida = getSelectedMedida(); HsRisco risco = getSelectedRisco();
if( medida != null ) if( risco == null )
{ {
risco = medida.getToHsRisco(); HsRiscoMedida medida = getSelectedMedida();
if( medida != null )
{
risco = medida.getToHsRisco();
}
} }
} if( risco != null )
if( risco != null ) {
HsMedida medida = new HsMedida();
medida.setDescription( "" );
medida.setRequesitosLegais( "" );
medida.save();
HsRiscoMedida rel = new HsRiscoMedida();
rel.setToHsRisco( risco );
rel.setToHsMedida( medida );
rel.save();
refresh();
}
} catch( Exception e )
{ {
HsMedida medida = new HsMedida(); LeafError.error( e );
medida.setDescription( "" );
medida.setRequesitosLegais( "" );
medida.save();
HsRiscoMedida rel = new HsRiscoMedida();
rel.setToHsRisco( risco );
rel.setToHsMedida( medida );
rel.save();
refresh();
} }
} }
private void removerMedida() private void removerMedida()
{ {
HsRiscoMedida medida = getSelectedMedida(); try
if( medida != null )
{ {
medida.delete(); HsRiscoMedida medida = getSelectedMedida();
refresh(); if( medida != null )
{
medida.delete();
refresh();
}
} catch( Exception e )
{
LeafError.error( e );
} }
} }
@ -364,42 +428,47 @@ public class GerirRiscosPanel extends JPanel
private void startupLayout() private void startupLayout()
{ {
TableLayout layout = new TableLayout( TableLayout layout = new TableLayout( new double[] {
new double[]{ TableLayout.MINIMUM, TableLayout.PREFERRED, TableLayout.FILL }, TableLayout.MINIMUM, TableLayout.PREFERRED, TableLayout.FILL
new double[]{ TableLayout.FILL } }, new double[] {
); TableLayout.FILL
} );
layout.setHGap( 5 ); layout.setHGap( 5 );
layout.setVGap( 5 ); layout.setVGap( 5 );
setLayout( layout ); setLayout( layout );
layout = new TableLayout( layout = new TableLayout( new double[] {
new double[]{ TableLayout.MINIMUM }, TableLayout.MINIMUM
new double[]{ TableLayout.MINIMUM, TableLayout.MINIMUM, TableLayout.MINIMUM, TableLayout.FILL } }, new double[] {
); TableLayout.MINIMUM, TableLayout.MINIMUM, TableLayout.MINIMUM, TableLayout.FILL
} );
layout.setHGap( 5 ); layout.setHGap( 5 );
layout.setVGap( 5 ); layout.setVGap( 5 );
panelButtons.setLayout( layout ); panelButtons.setLayout( layout );
layout = new TableLayout( layout = new TableLayout( new double[] {
new double[]{ TableLayout.FILL }, TableLayout.FILL
new double[]{ TableLayout.FILL } }, new double[] {
); TableLayout.FILL
} );
layout.setHGap( 5 ); layout.setHGap( 5 );
layout.setVGap( 5 ); layout.setVGap( 5 );
panelTree.setLayout( layout ); panelTree.setLayout( layout );
layout = new TableLayout( layout = new TableLayout( new double[] {
new double[]{ TableLayout.FILL }, TableLayout.FILL
new double[]{ TableLayout.FILL } }, new double[] {
); TableLayout.FILL
} );
layout.setHGap( 5 ); layout.setHGap( 5 );
layout.setVGap( 5 ); layout.setVGap( 5 );
panelDataTema.setLayout( layout ); panelDataTema.setLayout( layout );
layout = new TableLayout( layout = new TableLayout( new double[] {
new double[]{ TableLayout.FILL }, TableLayout.FILL
new double[]{ TableLayout.FILL } }, new double[] {
); TableLayout.FILL
} );
layout.setHGap( 5 ); layout.setHGap( 5 );
layout.setVGap( 5 ); layout.setVGap( 5 );
panelDataRisco.setLayout( layout ); panelDataRisco.setLayout( layout );
@ -441,7 +510,6 @@ public class GerirRiscosPanel extends JPanel
add( panelData, new TableLayoutConstraints( 2, 0 ) ); add( panelData, new TableLayoutConstraints( 2, 0 ) );
} }
private void selectCard() private void selectCard()
{ {
HsRiscoTema tema = getSelectedTema(); HsRiscoTema tema = getSelectedTema();

@ -18,6 +18,7 @@ import javax.swing.event.CaretEvent;
import javax.swing.event.CaretListener; import javax.swing.event.CaretListener;
import leaf.ui.LeafButton; import leaf.ui.LeafButton;
import leaf.ui.LeafError;
import siprp.database.cayenne.objects.HsRelatorioPostoMedida; import siprp.database.cayenne.objects.HsRelatorioPostoMedida;
import com.evolute.utils.images.ImageException; import com.evolute.utils.images.ImageException;
@ -42,15 +43,15 @@ public class GerirMedidaRelatorioPanel extends JPanel
private LeafButton buttonRevertRequesito; private LeafButton buttonRevertRequesito;
private final JCheckBox checkPlanoActuacao = new JCheckBox("Plano de actua" + ccedil + atilde + "o"); private final JCheckBox checkPlanoActuacao = new JCheckBox( "Plano de actua" + ccedil + atilde + "o" );
private final JTextArea fieldTextMedida = new JTextArea(); private final JTextArea fieldTextMedida = new JTextArea();
private final JScrollPane scrollMedida = new JScrollPane(fieldTextMedida); private final JScrollPane scrollMedida = new JScrollPane( fieldTextMedida );
private final JTextArea fieldTextRequisitosLegais = new JTextArea(); private final JTextArea fieldTextRequisitosLegais = new JTextArea();
private final JScrollPane scrollRequesitos = new JScrollPane(fieldTextRequisitosLegais); private final JScrollPane scrollRequesitos = new JScrollPane( fieldTextRequisitosLegais );
private HsRelatorioPostoMedida relacao = null; private HsRelatorioPostoMedida relacao = null;
@ -82,10 +83,10 @@ public class GerirMedidaRelatorioPanel extends JPanel
scrollMedida.setVerticalScrollBarPolicy( JScrollPane.VERTICAL_SCROLLBAR_ALWAYS ); scrollMedida.setVerticalScrollBarPolicy( JScrollPane.VERTICAL_SCROLLBAR_ALWAYS );
scrollRequesitos.setHorizontalScrollBarPolicy( JScrollPane.HORIZONTAL_SCROLLBAR_NEVER ); scrollRequesitos.setHorizontalScrollBarPolicy( JScrollPane.HORIZONTAL_SCROLLBAR_NEVER );
scrollRequesitos.setVerticalScrollBarPolicy( JScrollPane.VERTICAL_SCROLLBAR_ALWAYS ); scrollRequesitos.setVerticalScrollBarPolicy( JScrollPane.VERTICAL_SCROLLBAR_ALWAYS );
buttonSaveMedida.setMargin( new Insets(0,0,0,0) ); buttonSaveMedida.setMargin( new Insets( 0, 0, 0, 0 ) );
buttonSaveRequesito.setMargin( new Insets(0,0,0,0) ); buttonSaveRequesito.setMargin( new Insets( 0, 0, 0, 0 ) );
buttonRevertMedida.setMargin( new Insets(0,0,0,0) ); buttonRevertMedida.setMargin( new Insets( 0, 0, 0, 0 ) );
buttonRevertRequesito.setMargin( new Insets(0,0,0,0) ); buttonRevertRequesito.setMargin( new Insets( 0, 0, 0, 0 ) );
} }
private void setupListeners() private void setupListeners()
@ -150,10 +151,11 @@ public class GerirMedidaRelatorioPanel extends JPanel
private void startupLayout() private void startupLayout()
{ {
TableLayout layout = new TableLayout( TableLayout layout = new TableLayout( new double[] {
new double[]{ TableLayout.FILL, TableLayout.MINIMUM, TableLayout.MINIMUM }, TableLayout.FILL, TableLayout.MINIMUM, TableLayout.MINIMUM
new double[]{ TableLayout.MINIMUM, TableLayout.MINIMUM, TableLayout.FILL, TableLayout.MINIMUM, TableLayout.FILL } }, new double[] {
); TableLayout.MINIMUM, TableLayout.MINIMUM, TableLayout.FILL, TableLayout.MINIMUM, TableLayout.FILL
} );
layout.setHGap( 5 ); layout.setHGap( 5 );
layout.setVGap( 5 ); layout.setVGap( 5 );
setLayout( layout ); setLayout( layout );
@ -162,23 +164,24 @@ public class GerirMedidaRelatorioPanel extends JPanel
private void placeComponents() private void placeComponents()
{ {
JPanel panel = new JPanel(); JPanel panel = new JPanel();
TableLayout layout = new TableLayout( TableLayout layout = new TableLayout( new double[] {
new double[]{ TableLayout.MINIMUM, TableLayout.FILL }, TableLayout.MINIMUM, TableLayout.FILL
new double[]{ TableLayout.MINIMUM } }, new double[] {
); TableLayout.MINIMUM
} );
layout.setHGap( 5 ); layout.setHGap( 5 );
layout.setVGap( 5 ); layout.setVGap( 5 );
panel.setLayout( layout ); panel.setLayout( layout );
panel.add( checkPlanoActuacao, new TableLayoutConstraints(0,0) ); panel.add( checkPlanoActuacao, new TableLayoutConstraints( 0, 0 ) );
add( panel, new TableLayoutConstraints(0,0,2,0) ); add( panel, new TableLayoutConstraints( 0, 0, 2, 0 ) );
add( new JLabel("Requisitos legais"), new TableLayoutConstraints(0,1) ); add( new JLabel( "Requisitos legais" ), new TableLayoutConstraints( 0, 1 ) );
add( buttonSaveRequesito, new TableLayoutConstraints(1,1) ); add( buttonSaveRequesito, new TableLayoutConstraints( 1, 1 ) );
add( buttonRevertRequesito, new TableLayoutConstraints(2,1) ); add( buttonRevertRequesito, new TableLayoutConstraints( 2, 1 ) );
add( scrollRequesitos, new TableLayoutConstraints(0,2,2,2) ); add( scrollRequesitos, new TableLayoutConstraints( 0, 2, 2, 2 ) );
add( new JLabel("Medida"), new TableLayoutConstraints(0,3) ); add( new JLabel( "Medida" ), new TableLayoutConstraints( 0, 3 ) );
add( buttonSaveMedida, new TableLayoutConstraints(1,3) ); add( buttonSaveMedida, new TableLayoutConstraints( 1, 3 ) );
add( buttonRevertMedida, new TableLayoutConstraints(2,3) ); add( buttonRevertMedida, new TableLayoutConstraints( 2, 3 ) );
add( scrollMedida, new TableLayoutConstraints(0,4,2,4) ); add( scrollMedida, new TableLayoutConstraints( 0, 4, 2, 4 ) );
} }
private void setEnabled() private void setEnabled()
@ -215,34 +218,52 @@ public class GerirMedidaRelatorioPanel extends JPanel
private void savePlano() private void savePlano()
{ {
if( relacao != null ) try
{
if( relacao != null )
{
relacao.setIsPlanoActuacao( checkPlanoActuacao.isSelected() );
relacao.save();
firePropertyChange( MEDIDA_CHANGED, null, relacao );
}
} catch( Exception e )
{ {
relacao.setIsPlanoActuacao( checkPlanoActuacao.isSelected() ); LeafError.error( e );
relacao.save();
firePropertyChange( MEDIDA_CHANGED, null, relacao );
} }
} }
private void saveMedida() private void saveMedida()
{ {
if( relacao != null ) try
{ {
relacao.getToHsRelatorioMedida().setDescription( fieldTextMedida.getText() ); if( relacao != null )
relacao.save(); {
refresh(); relacao.getToHsRelatorioMedida().setDescription( fieldTextMedida.getText() );
relacao.save();
refresh();
}
setEnabled();
} catch( Exception e )
{
LeafError.error( e );
} }
setEnabled();
} }
private void saveRequesito() private void saveRequesito()
{ {
if( relacao != null ) try
{ {
relacao.getToHsRelatorioMedida().setRequesitosLegais(fieldTextRequisitosLegais.getText() ); if( relacao != null )
relacao.save(); {
refresh(); relacao.getToHsRelatorioMedida().setRequesitosLegais( fieldTextRequisitosLegais.getText() );
relacao.save();
refresh();
}
setEnabled();
} catch( Exception e )
{
LeafError.error( e );
} }
setEnabled();
} }
private void revertMedida() private void revertMedida()
@ -273,9 +294,8 @@ public class GerirMedidaRelatorioPanel extends JPanel
this.relacao = medida; this.relacao = medida;
fieldTextMedida.setText( medida == null ? null : medida.getToHsRelatorioMedida().getDescription() ); fieldTextMedida.setText( medida == null ? null : medida.getToHsRelatorioMedida().getDescription() );
fieldTextRequisitosLegais.setText( medida == null ? null : medida.getToHsRelatorioMedida().getRequesitosLegais() ); fieldTextRequisitosLegais.setText( medida == null ? null : medida.getToHsRelatorioMedida().getRequesitosLegais() );
checkPlanoActuacao.setSelected( medida == null ? false : ( medida.getIsPlanoActuacao() == null ? false : medida.getIsPlanoActuacao() ) ); checkPlanoActuacao.setSelected( medida == null ? false : (medida.getIsPlanoActuacao() == null ? false : medida.getIsPlanoActuacao()) );
setEnabled(); setEnabled();
} }
} }

@ -20,6 +20,7 @@ import javax.swing.tree.TreePath;
import javax.swing.tree.TreeSelectionModel; import javax.swing.tree.TreeSelectionModel;
import leaf.ui.LeafButton; import leaf.ui.LeafButton;
import leaf.ui.LeafError;
import leaf.ui.TreeTools; import leaf.ui.TreeTools;
import siprp.database.cayenne.objects.HsRelatorioMedida; import siprp.database.cayenne.objects.HsRelatorioMedida;
import siprp.database.cayenne.objects.HsRelatorioPosto; import siprp.database.cayenne.objects.HsRelatorioPosto;
@ -39,9 +40,9 @@ public class GerirMedidasRelatorioPanel extends JPanel
public static final String VALUE_CHANGED = "VALUE_CHANGED"; public static final String VALUE_CHANGED = "VALUE_CHANGED";
private final LeafButton buttonAdicionar = new LeafButton("Adicionar"); private final LeafButton buttonAdicionar = new LeafButton( "Adicionar" );
private final LeafButton buttonRemover = new LeafButton("Remover"); private final LeafButton buttonRemover = new LeafButton( "Remover" );
private final DefaultMutableTreeNode root = new DefaultMutableTreeNode(); private final DefaultMutableTreeNode root = new DefaultMutableTreeNode();
@ -67,20 +68,20 @@ public class GerirMedidasRelatorioPanel extends JPanel
buttonRemover.setEnabled( false ); buttonRemover.setEnabled( false );
tree.setRootVisible( false ); tree.setRootVisible( false );
tree.getSelectionModel().setSelectionMode( TreeSelectionModel.SINGLE_TREE_SELECTION ); tree.getSelectionModel().setSelectionMode( TreeSelectionModel.SINGLE_TREE_SELECTION );
tree.setCellRenderer(new DefaultTreeCellRenderer() tree.setCellRenderer( new DefaultTreeCellRenderer()
{ {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
public Component getTreeCellRendererComponent(JTree pTree, Object pValue, boolean pIsSelected, boolean pIsExpanded, boolean pIsLeaf, int pRow, boolean pHasFocus) public Component getTreeCellRendererComponent( JTree pTree, Object pValue, boolean pIsSelected, boolean pIsExpanded, boolean pIsLeaf, int pRow, boolean pHasFocus )
{ {
super.getTreeCellRendererComponent(pTree, pValue, pIsSelected, pIsExpanded, pIsLeaf, pRow, pHasFocus); super.getTreeCellRendererComponent( pTree, pValue, pIsSelected, pIsExpanded, pIsLeaf, pRow, pHasFocus );
boolean highlight= false; boolean highlight = false;
Color highColor = null; Color highColor = null;
Color lowColor = null; Color lowColor = null;
if( pValue instanceof RiscoRelatorioNode ) if( pValue instanceof RiscoRelatorioNode )
{ {
Object userObject = ((RiscoRelatorioNode)pValue).getUserObject(); Object userObject = ((RiscoRelatorioNode) pValue).getUserObject();
if( userObject instanceof HsRelatorioPostoRisco ) if( userObject instanceof HsRelatorioPostoRisco )
{ {
highlight = HigieneSegurancaLogic.isRelatorioRiscoPreenchido( (HsRelatorioPostoRisco) userObject ); highlight = HigieneSegurancaLogic.isRelatorioRiscoPreenchido( (HsRelatorioPostoRisco) userObject );
@ -90,7 +91,7 @@ public class GerirMedidasRelatorioPanel extends JPanel
} }
else if( pValue instanceof MedidaRelatorioNode ) else if( pValue instanceof MedidaRelatorioNode )
{ {
Object userObject = ((MedidaRelatorioNode)pValue).getUserObject(); Object userObject = ((MedidaRelatorioNode) pValue).getUserObject();
if( userObject instanceof HsRelatorioPostoMedida ) if( userObject instanceof HsRelatorioPostoMedida )
{ {
HsRelatorioPostoMedida medida = (HsRelatorioPostoMedida) userObject; HsRelatorioPostoMedida medida = (HsRelatorioPostoMedida) userObject;
@ -111,17 +112,18 @@ public class GerirMedidasRelatorioPanel extends JPanel
{ {
setOpaque( false ); setOpaque( false );
} }
return(this); return (this);
} }
}); } );
} }
private void setupLayout() private void setupLayout()
{ {
TableLayout layout = new TableLayout( TableLayout layout = new TableLayout( new double[] {
new double[]{ TableLayout.FILL }, TableLayout.FILL
new double[]{ TableLayout.MINIMUM, TableLayout.FILL } }, new double[] {
); TableLayout.MINIMUM, TableLayout.FILL
} );
layout.setHGap( 5 ); layout.setHGap( 5 );
layout.setVGap( 5 ); layout.setVGap( 5 );
setLayout( layout ); setLayout( layout );
@ -130,10 +132,11 @@ public class GerirMedidasRelatorioPanel extends JPanel
private void placeComponents() private void placeComponents()
{ {
JPanel panel = new JPanel(); JPanel panel = new JPanel();
TableLayout layout = new TableLayout( TableLayout layout = new TableLayout( new double[] {
new double[]{ TableLayout.MINIMUM, TableLayout.FILL, TableLayout.MINIMUM }, TableLayout.MINIMUM, TableLayout.FILL, TableLayout.MINIMUM
new double[]{ TableLayout.MINIMUM } }, new double[] {
); TableLayout.MINIMUM
} );
layout.setHGap( 5 ); layout.setHGap( 5 );
layout.setVGap( 5 ); layout.setVGap( 5 );
panel.setLayout( layout ); panel.setLayout( layout );
@ -146,7 +149,8 @@ public class GerirMedidasRelatorioPanel extends JPanel
private void startupListeners() private void startupListeners()
{ {
tree.getSelectionModel().addTreeSelectionListener( new TreeSelectionListener(){ tree.getSelectionModel().addTreeSelectionListener( new TreeSelectionListener()
{
@Override @Override
public void valueChanged( TreeSelectionEvent e ) public void valueChanged( TreeSelectionEvent e )
{ {
@ -157,12 +161,12 @@ public class GerirMedidasRelatorioPanel extends JPanel
Object selection = path.getLastPathComponent(); Object selection = path.getLastPathComponent();
if( selection instanceof RiscoRelatorioNode ) if( selection instanceof RiscoRelatorioNode )
{ {
object = selection == null ? null : ((RiscoRelatorioNode)selection).getUserObject(); object = selection == null ? null : ((RiscoRelatorioNode) selection).getUserObject();
} }
else if( selection instanceof MedidaRelatorioNode ) else if( selection instanceof MedidaRelatorioNode )
{ {
object = selection == null ? null : ((MedidaRelatorioNode)selection).getUserObject(); object = selection == null ? null : ((MedidaRelatorioNode) selection).getUserObject();
} }
} }
setEnabled(); setEnabled();
@ -202,7 +206,7 @@ public class GerirMedidasRelatorioPanel extends JPanel
Object selection = path.getLastPathComponent(); Object selection = path.getLastPathComponent();
if( selection instanceof RiscoRelatorioNode ) if( selection instanceof RiscoRelatorioNode )
{ {
result = selection == null ? null : (HsRelatorioPostoRisco) ((RiscoRelatorioNode)selection).getUserObject(); result = selection == null ? null : (HsRelatorioPostoRisco) ((RiscoRelatorioNode) selection).getUserObject();
} }
} }
return result; return result;
@ -217,7 +221,7 @@ public class GerirMedidasRelatorioPanel extends JPanel
Object selection = path.getLastPathComponent(); Object selection = path.getLastPathComponent();
if( selection instanceof MedidaRelatorioNode ) if( selection instanceof MedidaRelatorioNode )
{ {
result = selection == null ? null : (HsRelatorioPostoMedida) ((MedidaRelatorioNode)selection).getUserObject(); result = selection == null ? null : (HsRelatorioPostoMedida) ((MedidaRelatorioNode) selection).getUserObject();
} }
} }
return result; return result;
@ -225,44 +229,56 @@ public class GerirMedidasRelatorioPanel extends JPanel
private void add() private void add()
{ {
HsRelatorioPostoRisco postoRisco = getSelectedRisco(); try
if( posto != null ) {
HsRelatorioPostoRisco postoRisco = getSelectedRisco();
if( posto != null )
{
HsRelatorioMedida medida = new HsRelatorioMedida();
medida.setDescription( "" );
medida.setRequesitosLegais( "" );
medida.setToHsRelatorioRisco( postoRisco.getToHsRelatorioRisco() );
HsRelatorioPostoMedida rel = new HsRelatorioPostoMedida();
rel.setToHsRelatorioMedida( medida );
rel.setToHsRelatorioPosto( posto );
rel.save();
}
refresh();
setEnabled();
} catch( Exception e )
{ {
HsRelatorioMedida medida = new HsRelatorioMedida(); LeafError.error( e );
medida.setDescription( "" );
medida.setRequesitosLegais( "" );
medida.setToHsRelatorioRisco( postoRisco.getToHsRelatorioRisco() );
HsRelatorioPostoMedida rel = new HsRelatorioPostoMedida();
rel.setToHsRelatorioMedida( medida );
rel.setToHsRelatorioPosto( posto );
rel.save();
} }
refresh();
setEnabled();
} }
private void rem() private void rem()
{ {
TreePath path = tree.getSelectionPath(); try
if( path != null )
{ {
Object selection = path.getLastPathComponent(); TreePath path = tree.getSelectionPath();
if( selection instanceof MedidaRelatorioNode ) if( path != null )
{ {
HsRelatorioPostoMedida rel = selection == null ? null : (HsRelatorioPostoMedida) ((MedidaRelatorioNode)selection).getUserObject(); Object selection = path.getLastPathComponent();
rel.getToHsRelatorioMedida().delete(); if( selection instanceof MedidaRelatorioNode )
rel.delete(); {
HsRelatorioPostoMedida rel = selection == null ? null : (HsRelatorioPostoMedida) ((MedidaRelatorioNode) selection).getUserObject();
rel.getToHsRelatorioMedida().delete();
rel.delete();
}
} }
refresh();
setEnabled();
} catch( Exception e )
{
LeafError.error( e );
} }
refresh();
setEnabled();
} }
private void setEnabled() private void setEnabled()
{ {
boolean add = false; boolean add = false;
boolean rem = false; boolean rem = false;
if( posto!= null ) if( posto != null )
{ {
if( posto.getToHsRelatorioArea() != null && posto.getToHsRelatorioArea().getToHsRelatorio() != null && posto.getToHsRelatorioArea().getToHsRelatorio().getIsSubmetido() == null ) if( posto.getToHsRelatorioArea() != null && posto.getToHsRelatorioArea().getToHsRelatorio() != null && posto.getToHsRelatorioArea().getToHsRelatorio().getIsSubmetido() == null )
{ {
@ -287,7 +303,7 @@ public class GerirMedidasRelatorioPanel extends JPanel
{ {
for( HsRelatorioPostoMedida medidaRel : medida.getHsRelatorioPostoMedidaArray() ) for( HsRelatorioPostoMedida medidaRel : medida.getHsRelatorioPostoMedidaArray() )
{ {
node.add( new MedidaRelatorioNode(medidaRel) ); node.add( new MedidaRelatorioNode( medidaRel ) );
} }
} }
root.add( node ); root.add( node );

@ -1,5 +1,6 @@
package siprp.higiene.relatorio; package siprp.higiene.relatorio;
import static com.evolute.utils.strings.UnicodeLatin1Map.aacute;
import info.clearthought.layout.TableLayout; import info.clearthought.layout.TableLayout;
import info.clearthought.layout.TableLayoutConstraints; import info.clearthought.layout.TableLayoutConstraints;
@ -18,13 +19,12 @@ import javax.swing.event.CaretEvent;
import javax.swing.event.CaretListener; import javax.swing.event.CaretListener;
import leaf.ui.LeafButton; import leaf.ui.LeafButton;
import leaf.ui.LeafError;
import leaf.ui.LeafIconButton; import leaf.ui.LeafIconButton;
import siprp.database.cayenne.objects.HsRelatorioPostoRisco; import siprp.database.cayenne.objects.HsRelatorioPostoRisco;
import siprp.database.cayenne.objects.HsRelatorioRiscoValorQualitativo; import siprp.database.cayenne.objects.HsRelatorioRiscoValorQualitativo;
import siprp.logic.HigieneSegurancaLogic; import siprp.logic.HigieneSegurancaLogic;
import static com.evolute.utils.strings.UnicodeLatin1Map.*;
public class GerirValoresRiscoPanel extends JPanel implements ActionListener, CaretListener public class GerirValoresRiscoPanel extends JPanel implements ActionListener, CaretListener
{ {
@ -248,59 +248,65 @@ public class GerirValoresRiscoPanel extends JPanel implements ActionListener, Ca
private void save() private void save()
{ {
if( valoresRisco != null ) try
{ {
if( radioValorQualitativo.isSelected() ) if( valoresRisco != null )
{
valoresRisco.setToHsRelatorioRiscoValorQualitativo( (HsRelatorioRiscoValorQualitativo) comboValorQualitativo.getSelectedItem() );
}
else
{ {
valoresRisco.setToHsRelatorioRiscoValorQualitativo( null ); if( radioValorQualitativo.isSelected() )
Integer probabilidade = null;
Integer severidade = null;
boolean ok = true;
if( textProbabilidade.getText() != null && !textProbabilidade.getText().trim().equals( "" ) )
{ {
try valoresRisco.setToHsRelatorioRiscoValorQualitativo( (HsRelatorioRiscoValorQualitativo) comboValorQualitativo.getSelectedItem() );
{
probabilidade = new Integer( textProbabilidade.getText() );
} catch( NumberFormatException e1 )
{
ok = false;
}
if(!ok || !HigieneSegurancaLogic.isProbabilidadeValida( probabilidade ) )
{
error(true);
}
} }
if( textSeveridade.getText() != null && !textSeveridade.getText().trim().equals( "" ) ) else
{ {
if( ok ) valoresRisco.setToHsRelatorioRiscoValorQualitativo( null );
Integer probabilidade = null;
Integer severidade = null;
boolean ok = true;
if( textProbabilidade.getText() != null && !textProbabilidade.getText().trim().equals( "" ) )
{ {
try try
{ {
severidade = new Integer( textSeveridade.getText() ); probabilidade = new Integer( textProbabilidade.getText() );
} catch( NumberFormatException e2 ) } catch( NumberFormatException e1 )
{ {
ok = false; ok = false;
} }
if(!ok || !HigieneSegurancaLogic.isSeveridadeValida( severidade ) ) if( !ok || !HigieneSegurancaLogic.isProbabilidadeValida( probabilidade ) )
{ {
error(false); error( true );
} }
} }
} if( textSeveridade.getText() != null && !textSeveridade.getText().trim().equals( "" ) )
boolean pvalid = HigieneSegurancaLogic.isProbabilidadeValida( probabilidade ); {
boolean svalid = HigieneSegurancaLogic.isSeveridadeValida( severidade ); if( ok )
{
try
{
severidade = new Integer( textSeveridade.getText() );
} catch( NumberFormatException e2 )
{
ok = false;
}
if( !ok || !HigieneSegurancaLogic.isSeveridadeValida( severidade ) )
{
error( false );
}
}
}
boolean pvalid = HigieneSegurancaLogic.isProbabilidadeValida( probabilidade );
boolean svalid = HigieneSegurancaLogic.isSeveridadeValida( severidade );
valoresRisco.setProbabilidade( pvalid && svalid ? probabilidade : null ); valoresRisco.setProbabilidade( pvalid && svalid ? probabilidade : null );
valoresRisco.setSeveridade( pvalid && svalid ? severidade : null ); valoresRisco.setSeveridade( pvalid && svalid ? severidade : null );
}
valoresRisco.save();
firePropertyChange( VALUE_CHANGED, null, valoresRisco );
refresh();
setEnabled();
} }
valoresRisco.save(); } catch( Exception e )
firePropertyChange( VALUE_CHANGED, null, valoresRisco ); {
refresh(); LeafError.error( e );
setEnabled();
} }
} }

@ -30,6 +30,7 @@ import javax.swing.event.CaretListener;
import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener; import javax.swing.event.ChangeListener;
import leaf.ui.LeafError;
import leaf.ui.LeafIconButton; import leaf.ui.LeafIconButton;
import siprp.database.cayenne.objects.HsRelatorio; import siprp.database.cayenne.objects.HsRelatorio;
import siprp.database.cayenne.objects.MarcacoesEstabelecimento; import siprp.database.cayenne.objects.MarcacoesEstabelecimento;
@ -222,42 +223,54 @@ public class PanelRelatorio extends JPanel implements CaretListener, ChangeListe
private void submit() private void submit()
{ {
if( relatorio != null ) try
{ {
relatorio.setIsSubmetido( new Date() ); if( relatorio != null )
relatorio.save(); {
refresh(); relatorio.setIsSubmetido( new Date() );
setRelatorio( relatorio, false ); relatorio.save();
refresh();
setRelatorio( relatorio, false );
}
} catch( Exception e )
{
LeafError.error(e);
} }
} }
private void save() private void save()
{ {
if( relatorio != null ) try
{
if( relatorio != null )
{
relatorio.setData( dataRelatorio.getDate() );
relatorio.setAvaliacaoInicial( radioInicial.isSelected() );
// MarcacoesEstabelecimento marcacao = relatorio.getToHsMarcacoesEstabelecimento();
// if( marcacao != null )
// {
// MarcacoesTecnicosHst tecnico = marcacao.getToMarcacoesTecnicosHst();
// if( tecnico != null )
// {
// tecnico.setNome( fieldTecnico.getText() );
// }
// }
}
relatorio.setAcompanhante1( fieldNome1.getText() );
relatorio.setAcompanhante2( fieldNome2.getText() );
relatorio.setAcompanhante3( fieldNome3.getText() );
relatorio.setFuncaoAcompanhante1(fieldFuncao1.getText());
relatorio.setFuncaoAcompanhante2(fieldFuncao2.getText());
relatorio.setFuncaoAcompanhante3(fieldFuncao3.getText());
relatorio.save();
refresh();
buttonRevert.setEnabled( false );
buttonSave.setEnabled( false );
} catch( Exception e )
{ {
relatorio.setData( dataRelatorio.getDate() ); LeafError.error(e);
relatorio.setAvaliacaoInicial( radioInicial.isSelected() );
// MarcacoesEstabelecimento marcacao = relatorio.getToHsMarcacoesEstabelecimento();
// if( marcacao != null )
// {
// MarcacoesTecnicosHst tecnico = marcacao.getToMarcacoesTecnicosHst();
// if( tecnico != null )
// {
// tecnico.setNome( fieldTecnico.getText() );
// }
// }
} }
relatorio.setAcompanhante1( fieldNome1.getText() );
relatorio.setAcompanhante2( fieldNome2.getText() );
relatorio.setAcompanhante3( fieldNome3.getText() );
relatorio.setFuncaoAcompanhante1(fieldFuncao1.getText());
relatorio.setFuncaoAcompanhante2(fieldFuncao2.getText());
relatorio.setFuncaoAcompanhante3(fieldFuncao3.getText());
relatorio.save();
refresh();
buttonRevert.setEnabled( false );
buttonSave.setEnabled( false );
} }
private void revert() private void revert()

@ -19,6 +19,7 @@ import javax.swing.JFrame;
import javax.swing.JLabel; import javax.swing.JLabel;
import javax.swing.SwingUtilities; import javax.swing.SwingUtilities;
import leaf.ui.LeafError;
import siprp.database.cayenne.objects.Empresas; import siprp.database.cayenne.objects.Empresas;
import siprp.database.cayenne.objects.Estabelecimentos; import siprp.database.cayenne.objects.Estabelecimentos;
import siprp.database.cayenne.objects.HsRelatorio; import siprp.database.cayenne.objects.HsRelatorio;
@ -160,31 +161,37 @@ public class RelatorioHigieneSegurancaWindow extends JFrame implements Trackable
private void fillRelatorio( MarcacoesEstabelecimento visita ) private void fillRelatorio( MarcacoesEstabelecimento visita )
{ {
boolean carregarDadosEstabelecimento = false; try
panelRelatorio.setRelatorio( null, carregarDadosEstabelecimento );
if( visita != null )
{ {
HsRelatorio relatorio = null; boolean carregarDadosEstabelecimento = false;
List<HsRelatorio> relatorios = visita.getHsRelatorioArray(); panelRelatorio.setRelatorio( null, carregarDadosEstabelecimento );
Date data = null; if( visita != null )
for( HsRelatorio current : relatorios )
{ {
boolean newest = data == null ? true : (data.before( current.getData() ) ); HsRelatorio relatorio = null;
if( newest ) List<HsRelatorio> relatorios = visita.getHsRelatorioArray();
Date data = null;
for( HsRelatorio current : relatorios )
{ {
data = current.getData(); boolean newest = data == null ? true : (data.before( current.getData() ) );
relatorio = current; if( newest )
{
data = current.getData();
relatorio = current;
}
} }
if( relatorio == null )
{
relatorio = new HsRelatorio();
relatorio.setData( new Date() );
relatorio.setToHsMarcacoesEstabelecimento( visita );
relatorio.save();
carregarDadosEstabelecimento = true;
}
panelRelatorio.setRelatorio( relatorio, carregarDadosEstabelecimento );;
} }
if( relatorio == null ) } catch( Exception e )
{ {
relatorio = new HsRelatorio(); LeafError.error(e);
relatorio.setData( new Date() );
relatorio.setToHsMarcacoesEstabelecimento( visita );
relatorio.save();
carregarDadosEstabelecimento = true;
}
panelRelatorio.setRelatorio( relatorio, carregarDadosEstabelecimento );;
} }
} }

@ -1,57 +1,62 @@
package siprp.medicina.exames.logic; package siprp.medicina.exames.logic;
import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import java.util.List; import java.util.List;
import leaf.ui.LeafError;
import leaf.ui.LeafLogic; import leaf.ui.LeafLogic;
import siprp.database.cayenne.objects.Prestadores; import siprp.database.cayenne.objects.Prestadores;
import siprp.database.cayenne.objects.TrabalhadoresEcd; import siprp.database.cayenne.objects.TrabalhadoresEcd;
import siprp.database.cayenne.providers.MedicinaDAO; import siprp.database.cayenne.providers.MedicinaDAO;
import siprp.medicina.processo.data.TrabalhadoresEcdData;
public class RecepcaoExamesLogic extends LeafLogic public class RecepcaoExamesLogic extends LeafLogic
{ {
@Action(isSave=true) @Action(isSave = true)
public final static String ACTION_SELECT_ANALISADOR = "ACTION_SELECT_ANALISADOR"; public final static String ACTION_SELECT_ANALISADOR = "ACTION_SELECT_ANALISADOR";
@Action(isSave=false) @Action(isSave = false)
public final static String ACTION_SELECT_EXAME = "ACTION_SELECT_EXAME"; public final static String ACTION_SELECT_EXAME = "ACTION_SELECT_EXAME";
@Action(isSave=false) @Action(isSave = false)
public final static String ACTION_FILL_EXAMES = "ACTION_FILL_EXAMES"; public final static String ACTION_FILL_EXAMES = "ACTION_FILL_EXAMES";
@Action(isSave=true) @Action(isSave = true)
public final static String ACTION_RECEBER_EXAMES = "ACTION_RECEBER_EXAMES"; public final static String ACTION_RECEBER_EXAMES = "ACTION_RECEBER_EXAMES";
@Action(isSave=false) @Action(isSave = false)
public final static String ACTION_SORT = "ACTION_SORT"; public final static String ACTION_SORT = "ACTION_SORT";
public Prestadores currentAnalisador = null; public Prestadores currentAnalisador = null;
private MedicinaDAO dao = new MedicinaDAO(); private MedicinaDAO dao = new MedicinaDAO();
@LeafLogicActionBinding(actions=ACTION_SELECT_ANALISADOR) @LeafLogicActionBinding(actions = ACTION_SELECT_ANALISADOR)
public void getExamesForAnalisador(Prestadores analisador) public void getExamesForAnalisador( Prestadores analisador )
{ {
currentAnalisador = analisador; currentAnalisador = analisador;
if(analisador != null) if( analisador != null )
{ {
Collection<TrabalhadoresEcd> result = dao.getPendingExamesForAnalisador(currentAnalisador); Collection<TrabalhadoresEcd> result = dao.getPendingExamesForAnalisador( currentAnalisador );
runAction( ACTION_FILL_EXAMES, result ); runAction( ACTION_FILL_EXAMES, result );
} }
} }
@LeafLogicActionBinding(actions=ACTION_RECEBER_EXAMES) @LeafLogicActionBinding(actions = ACTION_RECEBER_EXAMES)
public void receberExames(List<TrabalhadoresEcd> ecds) public void receberExames( List<TrabalhadoresEcd> ecds )
{ {
if(ecds != null) try
{ {
for( TrabalhadoresEcd ecd : ecds ) if( ecds != null )
{ {
dao.saveObject( ecd ); for( TrabalhadoresEcd ecd : ecds )
{
ecd.save();
}
} }
} catch( Exception e )
{
LeafError.error( e );
} }
} }

@ -9,18 +9,8 @@
package siprp.medicina.prestadores; package siprp.medicina.prestadores;
import com.evolute.utils.Singleton; import static com.evolute.utils.strings.UnicodeLatin1Map.ccedil;
import static com.evolute.utils.strings.UnicodeLatin1Map.*; import static com.evolute.utils.strings.UnicodeLatin1Map.otilde;
import com.evolute.utils.data.IDObject;
import com.evolute.utils.dataui.ComponentController;
import com.evolute.utils.dataui.ComponentsHashtable;
import com.evolute.utils.dataui.JDOControllable;
import com.evolute.utils.dataui.JTextComponentPlainFillerSaver;
import com.evolute.utils.jdo.JDOProvider;
import com.evolute.utils.ui.DialogException;
import com.evolute.utils.ui.panel.CheckBoxPanel;
import com.evolute.utils.ui.search.SearchDialog;
import com.evolute.utils.ui.window.EditorWindow;
import info.clearthought.layout.TableLayout; import info.clearthought.layout.TableLayout;
import info.clearthought.layout.TableLayoutConstraints; import info.clearthought.layout.TableLayoutConstraints;
@ -35,6 +25,7 @@ import java.util.Hashtable;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Vector; import java.util.Vector;
import javax.swing.BorderFactory; import javax.swing.BorderFactory;
import javax.swing.JCheckBox; import javax.swing.JCheckBox;
import javax.swing.JComboBox; import javax.swing.JComboBox;
@ -45,6 +36,8 @@ import javax.swing.JSeparator;
import javax.swing.JTabbedPane; import javax.swing.JTabbedPane;
import javax.swing.JTextArea; import javax.swing.JTextArea;
import javax.swing.JTextField; import javax.swing.JTextField;
import leaf.ui.LeafError;
import siprp.clientes.ClientesDataProvider; import siprp.clientes.ClientesDataProvider;
import siprp.clientes.ContactoPanel; import siprp.clientes.ContactoPanel;
import siprp.data.ContactoData; import siprp.data.ContactoData;
@ -53,6 +46,18 @@ import siprp.database.cayenne.objects.PrtGruposProtocolo;
import siprp.database.cayenne.providers.MedicinaDAO; import siprp.database.cayenne.providers.MedicinaDAO;
import siprp.medicina.prestadores.data.PrestadoresData; import siprp.medicina.prestadores.data.PrestadoresData;
import com.evolute.utils.Singleton;
import com.evolute.utils.data.IDObject;
import com.evolute.utils.dataui.ComponentController;
import com.evolute.utils.dataui.ComponentsHashtable;
import com.evolute.utils.dataui.JDOControllable;
import com.evolute.utils.dataui.JTextComponentPlainFillerSaver;
import com.evolute.utils.jdo.JDOProvider;
import com.evolute.utils.ui.DialogException;
import com.evolute.utils.ui.panel.CheckBoxPanel;
import com.evolute.utils.ui.search.SearchDialog;
import com.evolute.utils.ui.window.EditorWindow;
/** /**
* *
* @author fpalma * @author fpalma
@ -75,7 +80,7 @@ public class PrestadoresWindow extends EditorWindow
protected ContactoPanel contactoPanel; protected ContactoPanel contactoPanel;
protected JTextField contribuinteText; protected JTextField contribuinteText;
private final JLabel labelObservacoes = new JLabel("Observa"+ccedil+otilde+"es"); private final JLabel labelObservacoes = new JLabel( "Observa" + ccedil + otilde + "es" );
private final JTextArea textObservacoes = new JTextArea(); private final JTextArea textObservacoes = new JTextArea();
protected PrestadoresDataProvider provider; protected PrestadoresDataProvider provider;
@ -119,13 +124,13 @@ public class PrestadoresWindow extends EditorWindow
private void setupComponents() private void setupComponents()
{ {
setTitle( TITLE ); setTitle( TITLE );
setSize( 800, 600); setSize( 800, 600 );
tabbedPane.addTab( "Prestadores", prestadoresPanel ); tabbedPane.addTab( "Prestadores", prestadoresPanel );
tabbedPane.addTab( "Analisadores", analisadoresPanel ); tabbedPane.addTab( "Analisadores", analisadoresPanel );
setupAnalisadoresTab(); setupAnalisadoresTab();
setupPrestadoresTab(); setupPrestadoresTab();
// pack(); // pack();
} }
private void setupPrestadoresTab() private void setupPrestadoresTab()
@ -175,17 +180,7 @@ public class PrestadoresWindow extends EditorWindow
TableLayout.MINIMUM, TableLayout.PREFERRED, TableLayout.PREFERRED, TableLayout.FILL TableLayout.MINIMUM, TableLayout.PREFERRED, TableLayout.PREFERRED, TableLayout.FILL
}; };
double rows[] = new double[] { double rows[] = new double[] {
TableLayout.MINIMUM, TableLayout.MINIMUM, TableLayout.MINIMUM, TableLayout.MINIMUM, TableLayout.FILL, TableLayout.PREFERRED, TableLayout.PREFERRED, TableLayout.MINIMUM, TableLayout.MINIMUM, TableLayout.MINIMUM, TableLayout.MINIMUM, TableLayout.FILL
TableLayout.MINIMUM,
TableLayout.MINIMUM,
TableLayout.FILL,
TableLayout.PREFERRED,
TableLayout.PREFERRED,
TableLayout.MINIMUM,
TableLayout.MINIMUM,
TableLayout.MINIMUM,
TableLayout.MINIMUM,
TableLayout.FILL
}; };
TableLayout tableLayout = new TableLayout( cols, rows ); TableLayout tableLayout = new TableLayout( cols, rows );
prestadoresPanel.setLayout( tableLayout ); prestadoresPanel.setLayout( tableLayout );
@ -216,7 +211,7 @@ public class PrestadoresWindow extends EditorWindow
prestadoresPanel.add( contribuinteLabel, new TableLayoutConstraints( 0, 8 ) ); prestadoresPanel.add( contribuinteLabel, new TableLayoutConstraints( 0, 8 ) );
prestadoresPanel.add( contribuinteText, new TableLayoutConstraints( 1, 8 ) ); prestadoresPanel.add( contribuinteText, new TableLayoutConstraints( 1, 8 ) );
prestadoresPanel.add( labelObservacoes, new TableLayoutConstraints( 0, 9 ) ); prestadoresPanel.add( labelObservacoes, new TableLayoutConstraints( 0, 9 ) );
prestadoresPanel.add( textObservacoes, new TableLayoutConstraints( 0, 10,3,10 ) ); prestadoresPanel.add( textObservacoes, new TableLayoutConstraints( 0, 10, 3, 10 ) );
} catch( Exception e ) } catch( Exception e )
{ {
e.printStackTrace(); e.printStackTrace();
@ -414,19 +409,25 @@ public class PrestadoresWindow extends EditorWindow
@Override @Override
public void itemStateChanged( ItemEvent itemEvent ) public void itemStateChanged( ItemEvent itemEvent )
{ {
if( ItemEvent.SELECTED == itemEvent.getStateChange() ) try
{ {
JComboBox combo = (JComboBox) itemEvent.getSource(); if( ItemEvent.SELECTED == itemEvent.getStateChange() )
for( PrtGruposProtocolo grupo : mapComboBox.keySet() )
{ {
if( mapComboBox.get( grupo ).equals( combo ) ) JComboBox combo = (JComboBox) itemEvent.getSource();
for( PrtGruposProtocolo grupo : mapComboBox.keySet() )
{ {
Prestadores analisador = (Prestadores) combo.getSelectedItem(); if( mapComboBox.get( grupo ).equals( combo ) )
grupo.setToAnalisador( Prestadores.prestadorNulo.equals( analisador ) ? null : analisador ); {
medicinaCayenneDAO.saveObject( grupo ); Prestadores analisador = (Prestadores) combo.getSelectedItem();
shout( "Tipo de ECD: " + grupo.getDescricao() + " -> Analisador: " + analisador.getNome() + " [guardado]" ); grupo.setToAnalisador( Prestadores.prestadorNulo.equals( analisador ) ? null : analisador );
grupo.save();
shout( "Tipo de ECD: " + grupo.getDescricao() + " -> Analisador: " + analisador.getNome() + " [guardado]" );
}
} }
} }
} catch( Exception e )
{
LeafError.error( e );
} }
} }

@ -5,6 +5,7 @@ import java.util.List;
import javax.swing.tree.DefaultMutableTreeNode; import javax.swing.tree.DefaultMutableTreeNode;
import leaf.ui.LeafError;
import leaf.ui.LeafLogic; import leaf.ui.LeafLogic;
import leaf.ui.LeafWindow.LeafObject; import leaf.ui.LeafWindow.LeafObject;
import siprp.MedicinaConstants; import siprp.MedicinaConstants;
@ -225,7 +226,9 @@ public class MedicinaProcessoLogic extends LeafLogic
}) })
public TrabalhadoresConsultas currentConsulta = null; public TrabalhadoresConsultas currentConsulta = null;
@LeafObject(useWith = { SAVE_CONSULTA_MARCACAO, APAGAR_CONSULTA_MARCACAO } ) @LeafObject(useWith = {
SAVE_CONSULTA_MARCACAO, APAGAR_CONSULTA_MARCACAO
})
public TrabalhadoresConsultasDatas currentConsultaMarcacao = null; public TrabalhadoresConsultasDatas currentConsultaMarcacao = null;
@LeafObject(useWith = SAVE_CONSULTA_MARCACAO_EMAIL) @LeafObject(useWith = SAVE_CONSULTA_MARCACAO_EMAIL)
@ -604,19 +607,25 @@ public class MedicinaProcessoLogic extends LeafLogic
@Override @Override
public void exameSaved( Integer trabalhadorID, Integer exameID ) public void exameSaved( Integer trabalhadorID, Integer exameID )
{ {
if( trabalhadorID != null && exameID != null ) try
{ {
if( trabalhadorID.equals( currentTrabalhador.getId() ) ) if( trabalhadorID != null && exameID != null )
{ {
currentFichaExameID = exameID; if( trabalhadorID.equals( currentTrabalhador.getId() ) )
Exames exame = provider.getExameForExameID( currentFichaExameID );
if( exame != null )
{ {
currentFicha.setToExames( exame ); currentFichaExameID = exameID;
provider.saveObject( currentFicha ); Exames exame = provider.getExameForExameID( currentFichaExameID );
runAction( REFRESH ); if( exame != null )
{
currentFicha.setToExames( exame );
currentFicha.save();
runAction( REFRESH );
}
} }
} }
} catch( Exception e )
{
LeafError.error( e );
} }
} }
} ); } );
@ -635,15 +644,15 @@ public class MedicinaProcessoLogic extends LeafLogic
List<TrabalhadoresConsultas> consultas = currentProcesso.getTrabalhadoresConsultasArray(); List<TrabalhadoresConsultas> consultas = currentProcesso.getTrabalhadoresConsultasArray();
for( TrabalhadoresConsultas consulta : consultas ) for( TrabalhadoresConsultas consulta : consultas )
{ {
if( new Integer(MedicinaConstants.ESTADO_REALIZADO).equals( consulta.getEstado() )) if( new Integer( MedicinaConstants.ESTADO_REALIZADO ).equals( consulta.getEstado() ) )
{ {
List<TrabalhadoresConsultasDatas> marcacoes = consulta.getTrabalhadoresConsultasDatasArray(); List<TrabalhadoresConsultasDatas> marcacoes = consulta.getTrabalhadoresConsultasDatasArray();
for( TrabalhadoresConsultasDatas marcacao : marcacoes ) for( TrabalhadoresConsultasDatas marcacao : marcacoes )
{ {
if( new Integer(MedicinaConstants.ESTADO_REALIZADO).equals( marcacao.getEstado() )) if( new Integer( MedicinaConstants.ESTADO_REALIZADO ).equals( marcacao.getEstado() ) )
{ {
Date marcacaoDate = marcacao.getData(); Date marcacaoDate = marcacao.getData();
if( marcacaoDate != null && (result == null || result.before( marcacaoDate ) ) ) if( marcacaoDate != null && (result == null || result.before( marcacaoDate )) )
{ {
result = marcacaoDate; result = marcacaoDate;
} }
@ -784,8 +793,14 @@ public class MedicinaProcessoLogic extends LeafLogic
}) })
public void saveObject( BaseObject object ) public void saveObject( BaseObject object )
{ {
provider.saveObject( object ); try
runActionLater( REFRESH ); {
object.save();
runActionLater( REFRESH );
} catch( Exception e )
{
LeafError.error(e);
}
} }
@LeafLogicActionBinding(actions = { @LeafLogicActionBinding(actions = {
@ -806,67 +821,79 @@ public class MedicinaProcessoLogic extends LeafLogic
private void apagarConsulta( TrabalhadoresConsultas consulta ) private void apagarConsulta( TrabalhadoresConsultas consulta )
{ {
List<TrabalhadoresConsultasDatas> marcacoes = consulta.getTrabalhadoresConsultasDatasArray(); try
if( marcacoes != null )
{ {
for( TrabalhadoresConsultasDatas marcacao : marcacoes ) List<TrabalhadoresConsultasDatas> marcacoes = consulta.getTrabalhadoresConsultasDatasArray();
if( marcacoes != null )
{ {
List<TrabalhadoresConsultasDatasEmails> emails = marcacao.getTrabalhadoresConsultasDatasEmailsArray(); for( TrabalhadoresConsultasDatas marcacao : marcacoes )
if( emails != null )
{ {
for( TrabalhadoresConsultasDatasEmails email : emails ) List<TrabalhadoresConsultasDatasEmails> emails = marcacao.getTrabalhadoresConsultasDatasEmailsArray();
if( emails != null )
{ {
provider.deleteObject( email ); for( TrabalhadoresConsultasDatasEmails email : emails )
{
email.delete();
}
} }
} List<TrabalhadoresConsultasDatasObservacoes> observacoes = marcacao.getTrabalhadoresConsultasDatasObservacoesArray();
List<TrabalhadoresConsultasDatasObservacoes> observacoes = marcacao.getTrabalhadoresConsultasDatasObservacoesArray(); if( observacoes != null )
if( observacoes != null )
{
for( TrabalhadoresConsultasDatasObservacoes observacao : observacoes )
{ {
provider.deleteObject( observacao ); for( TrabalhadoresConsultasDatasObservacoes observacao : observacoes )
{
observacao.delete();
}
} }
marcacao.delete();
} }
provider.deleteObject( marcacao ); consulta.delete();
} }
provider.deleteObject( consulta ); } catch( Exception e )
{
LeafError.error(e);
} }
} }
private void apagarExame( TrabalhadoresEcds exame ) private void apagarExame( TrabalhadoresEcds exame )
{ {
List<TrabalhadoresEcdsDatas> marcacoes = exame.getTrabalhadoresEcdsDatasArray(); try
if( marcacoes != null )
{ {
for( TrabalhadoresEcdsDatas marcacao : marcacoes ) List<TrabalhadoresEcdsDatas> marcacoes = exame.getTrabalhadoresEcdsDatasArray();
if( marcacoes != null )
{ {
List<TrabalhadoresEcd> ecds = marcacao.getTrabalhadoresEcdArray(); for( TrabalhadoresEcdsDatas marcacao : marcacoes )
if( ecds != null )
{ {
for( TrabalhadoresEcd ecd : ecds ) List<TrabalhadoresEcd> ecds = marcacao.getTrabalhadoresEcdArray();
if( ecds != null )
{ {
provider.deleteObject( ecd ); for( TrabalhadoresEcd ecd : ecds )
{
ecd.delete();
}
} }
} List<TrabalhadoresEcdsDatasEmails> emails = marcacao.getTrabalhadoresEcdsDatasEmailsArray();
List<TrabalhadoresEcdsDatasEmails> emails = marcacao.getTrabalhadoresEcdsDatasEmailsArray(); if( emails != null )
if( emails != null )
{
for( TrabalhadoresEcdsDatasEmails email : emails )
{ {
provider.deleteObject( email ); for( TrabalhadoresEcdsDatasEmails email : emails )
{
email.delete();
}
} }
} List<TrabalhadoresEcdsDatasObservacoes> observacoes = marcacao.getTrabalhadoresEcdsDatasObservacoesArray();
List<TrabalhadoresEcdsDatasObservacoes> observacoes = marcacao.getTrabalhadoresEcdsDatasObservacoesArray(); if( observacoes != null )
if( observacoes != null )
{
for( TrabalhadoresEcdsDatasObservacoes observacao : observacoes )
{ {
provider.deleteObject( observacao ); for( TrabalhadoresEcdsDatasObservacoes observacao : observacoes )
{
observacao.delete();
}
} }
marcacao.delete();
} }
provider.deleteObject( marcacao ); exame.delete();
} }
provider.deleteObject( exame ); } catch( Exception e )
{
LeafError.error(e);
} }
} }

@ -1864,6 +1864,7 @@
<obj-relationship name="hsPostoRiscoArray" source="HsRelatorioRiscoValorQualitativo" target="HsPostoRisco" db-relationship-path="hsPostoRiscoArray"/> <obj-relationship name="hsPostoRiscoArray" source="HsRelatorioRiscoValorQualitativo" target="HsPostoRisco" db-relationship-path="hsPostoRiscoArray"/>
<obj-relationship name="hsRelatorioPostoRiscoArray" source="HsRelatorioRiscoValorQualitativo" target="HsRelatorioPostoRisco" db-relationship-path="hsRelatorioPostoRiscoArray"/> <obj-relationship name="hsRelatorioPostoRiscoArray" source="HsRelatorioRiscoValorQualitativo" target="HsRelatorioPostoRisco" db-relationship-path="hsRelatorioPostoRiscoArray"/>
<obj-relationship name="hsPostoRiscoArray" source="HsRisco" target="HsPostoRisco" deleteRule="Cascade" db-relationship-path="hsPostoRiscoArray"/> <obj-relationship name="hsPostoRiscoArray" source="HsRisco" target="HsPostoRisco" deleteRule="Cascade" db-relationship-path="hsPostoRiscoArray"/>
<obj-relationship name="hsRiscoEmpresaArray" source="HsRisco" target="HsRiscoEmpresa" deleteRule="Cascade" db-relationship-path="hsRiscoEmpresaArray"/>
<obj-relationship name="hsRiscoMedidaArray" source="HsRisco" target="HsRiscoMedida" deleteRule="Cascade" db-relationship-path="hsRiscoMedidaArray"/> <obj-relationship name="hsRiscoMedidaArray" source="HsRisco" target="HsRiscoMedida" deleteRule="Cascade" db-relationship-path="hsRiscoMedidaArray"/>
<obj-relationship name="toHsRiscoTema" source="HsRisco" target="HsRiscoTema" deleteRule="Nullify" db-relationship-path="toHsRiscoTema"/> <obj-relationship name="toHsRiscoTema" source="HsRisco" target="HsRiscoTema" deleteRule="Nullify" db-relationship-path="toHsRiscoTema"/>
<obj-relationship name="toEmpresa" source="HsRiscoEmpresa" target="Empresas" deleteRule="Nullify" db-relationship-path="toEmpresa"/> <obj-relationship name="toEmpresa" source="HsRiscoEmpresa" target="Empresas" deleteRule="Nullify" db-relationship-path="toEmpresa"/>

@ -0,0 +1,20 @@
package leaf.ui;
import javax.swing.JOptionPane;
import com.evolute.utils.error.ErrorLogger;
public class LeafError
{
public static void error( Throwable e )
{
if( e != null )
{
ErrorLogger.logException( e );
e.printStackTrace(System.out);
JOptionPane.showMessageDialog( null, "Detalhes: \n"+e.getMessage(), "Erro!", JOptionPane.ERROR_MESSAGE );
}
}
}

@ -29,9 +29,9 @@ public class TreeInserterDialog extends JDialog
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
private static final Dimension allDimension = new Dimension(300,500); private static final Dimension ALL_DIMENSION = new Dimension(300,500);
private static final Dimension newDimension = new Dimension(300,400); private static final Dimension NEW_DIMENSION = new Dimension(300,400);
private static final String ICON_NAME_ADD = "leaf/ui/icons/add.png"; private static final String ICON_NAME_ADD = "leaf/ui/icons/add.png";
@ -98,12 +98,12 @@ public class TreeInserterDialog extends JDialog
allScroll.setHorizontalScrollBarPolicy( JScrollPane.HORIZONTAL_SCROLLBAR_NEVER ); allScroll.setHorizontalScrollBarPolicy( JScrollPane.HORIZONTAL_SCROLLBAR_NEVER );
newScroll.setVerticalScrollBarPolicy( JScrollPane.VERTICAL_SCROLLBAR_ALWAYS ); newScroll.setVerticalScrollBarPolicy( JScrollPane.VERTICAL_SCROLLBAR_ALWAYS );
newScroll.setHorizontalScrollBarPolicy( JScrollPane.HORIZONTAL_SCROLLBAR_NEVER ); newScroll.setHorizontalScrollBarPolicy( JScrollPane.HORIZONTAL_SCROLLBAR_NEVER );
allScroll.setPreferredSize( allDimension ); allScroll.setPreferredSize( ALL_DIMENSION );
newScroll.setPreferredSize( newDimension ); newScroll.setPreferredSize( NEW_DIMENSION );
buttonAdd.setToolTipText( "Adicionar" ); buttonAdd.setToolTipText( "Adicionar" );
buttonRemove.setToolTipText( "Remover" ); buttonRemove.setToolTipText( "Remover" );
buttonAdd.setMargin( new Insets(4,4,4,4) ); buttonAdd.setMargin( new Insets(0,0,0,0) );
buttonRemove.setMargin( new Insets(4,4,4,4) ); buttonRemove.setMargin( new Insets(0,0,0,0) );
} }
private void setupLayout() private void setupLayout()

@ -6,7 +6,7 @@ import java.util.Locale;
import org.apache.cayenne.CayenneDataObject; import org.apache.cayenne.CayenneDataObject;
import org.apache.cayenne.PersistenceState; import org.apache.cayenne.PersistenceState;
import siprp.database.cayenne.providers.MedicinaDAO; import siprp.database.cayenne.providers.MainDAO;
import com.evolute.utils.strings.UnicodeChecker; import com.evolute.utils.strings.UnicodeChecker;
@ -19,7 +19,7 @@ public class BaseObject extends CayenneDataObject
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
protected static MedicinaDAO medicinaProvider = new MedicinaDAO(); protected static MainDAO dao = new MainDAO();
protected static final DateFormat sdf = DateFormat.getDateInstance( DateFormat.SHORT, new Locale( "pt", "PT" ) ); protected static final DateFormat sdf = DateFormat.getDateInstance( DateFormat.SHORT, new Locale( "pt", "PT" ) );
@ -45,16 +45,29 @@ public class BaseObject extends CayenneDataObject
return getPersistenceState() == PersistenceState.MODIFIED; return getPersistenceState() == PersistenceState.MODIFIED;
} }
public void save() public void commit()
{ {
medicinaProvider.saveObject( this ); dao.commit();
medicinaProvider.commit();
} }
public void delete() public void rollback()
{ {
medicinaProvider.deleteObject( this ); dao.rollback();
medicinaProvider.commit(); }
public void save() throws Exception
{
if( isTransient() )
{
dao.getContext().registerNewObject( this );
}
commit();
}
public void delete() throws Exception
{
dao.getContext().deleteObject( this );
commit();
} }
protected String parseToUnicode( String string ) protected String parseToUnicode( String string )

@ -8,7 +8,7 @@ public class HsRiscoMedida extends _HsRiscoMedida {
@Override @Override
public String toString() public String toString()
{ {
String d = getToHsMedida().getRequesitosLegais(); String d = getToHsMedida() == null ? null : getToHsMedida().getRequesitosLegais();
return d == null ? " " : d.substring( 0, Math.min( 20, d.length() ) ) + "..."; return d == null ? " " : d.substring( 0, Math.min( 20, d.length() ) ) + "...";
} }
} }

@ -3,8 +3,7 @@ package siprp.database.cayenne.objects;
import java.util.List; import java.util.List;
import siprp.database.cayenne.objects.auto._Prestadores; import siprp.database.cayenne.objects.auto._Prestadores;
import siprp.database.cayenne.providers.MedicinaDAO;
import com.evolute.utils.strings.UnicodeChecker;
public class Prestadores extends _Prestadores { public class Prestadores extends _Prestadores {
@ -59,7 +58,7 @@ public class Prestadores extends _Prestadores {
public static List<Prestadores> getAllPrestadores() public static List<Prestadores> getAllPrestadores()
{ {
List<Prestadores> result = medicinaProvider.getAllPrestadores(); List<Prestadores> result = new MedicinaDAO().getAllPrestadores();
result.add( 0, prestadorNulo); result.add( 0, prestadorNulo);
return result; return result;
} }

@ -5,6 +5,7 @@ import java.util.List;
import siprp.database.cayenne.objects.BaseObject; import siprp.database.cayenne.objects.BaseObject;
import siprp.database.cayenne.objects.HsPostoRisco; import siprp.database.cayenne.objects.HsPostoRisco;
import siprp.database.cayenne.objects.HsRiscoEmpresa;
import siprp.database.cayenne.objects.HsRiscoMedida; import siprp.database.cayenne.objects.HsRiscoMedida;
import siprp.database.cayenne.objects.HsRiscoTema; import siprp.database.cayenne.objects.HsRiscoTema;
@ -19,6 +20,7 @@ public abstract class _HsRisco extends BaseObject {
public static final String DELETED_DATE_PROPERTY = "deletedDate"; public static final String DELETED_DATE_PROPERTY = "deletedDate";
public static final String DESCRIPTION_PROPERTY = "description"; public static final String DESCRIPTION_PROPERTY = "description";
public static final String HS_POSTO_RISCO_ARRAY_PROPERTY = "hsPostoRiscoArray"; public static final String HS_POSTO_RISCO_ARRAY_PROPERTY = "hsPostoRiscoArray";
public static final String HS_RISCO_EMPRESA_ARRAY_PROPERTY = "hsRiscoEmpresaArray";
public static final String HS_RISCO_MEDIDA_ARRAY_PROPERTY = "hsRiscoMedidaArray"; public static final String HS_RISCO_MEDIDA_ARRAY_PROPERTY = "hsRiscoMedidaArray";
public static final String TO_HS_RISCO_TEMA_PROPERTY = "toHsRiscoTema"; public static final String TO_HS_RISCO_TEMA_PROPERTY = "toHsRiscoTema";
@ -50,6 +52,18 @@ public abstract class _HsRisco extends BaseObject {
} }
public void addToHsRiscoEmpresaArray(HsRiscoEmpresa obj) {
addToManyTarget("hsRiscoEmpresaArray", obj, true);
}
public void removeFromHsRiscoEmpresaArray(HsRiscoEmpresa obj) {
removeToManyTarget("hsRiscoEmpresaArray", obj, true);
}
@SuppressWarnings("unchecked")
public List<HsRiscoEmpresa> getHsRiscoEmpresaArray() {
return (List<HsRiscoEmpresa>)readProperty("hsRiscoEmpresaArray");
}
public void addToHsRiscoMedidaArray(HsRiscoMedida obj) { public void addToHsRiscoMedidaArray(HsRiscoMedida obj) {
addToManyTarget("hsRiscoMedidaArray", obj, true); addToManyTarget("hsRiscoMedidaArray", obj, true);
} }

@ -2,8 +2,6 @@ package siprp.database.cayenne.providers;
import org.apache.cayenne.access.DataContext; import org.apache.cayenne.access.DataContext;
import siprp.database.cayenne.objects.BaseObject;
public class MainDAO public class MainDAO
{ {
protected static DataContext context = null; protected static DataContext context = null;
@ -21,31 +19,15 @@ public class MainDAO
context.commitChanges(); context.commitChanges();
} }
public BaseObject saveObject( BaseObject object ) public void rollback()
{ {
if( object != null ) context.rollbackChanges();
{ context.unregisterObjects( context.uncommittedObjects() );
if( object.isTransient() )
{
context.registerNewObject( object );
}
context.commitChanges();
}
return object;
} }
public void deleteObject( BaseObject object ) public DataContext getContext()
{ {
if( object != null ) return context;
{
context.deleteObject( object );
context.commitChanges();
}
} }
public void rollback()
{
context.rollbackChanges();
context.unregisterObjects( context.uncommittedObjects() );
}
} }

@ -40,6 +40,7 @@ public class PlanoActuacaoDAO extends MainDAO
{ {
SelectQuery query = new SelectQuery( HsRiscoTema.class ); SelectQuery query = new SelectQuery( HsRiscoTema.class );
query.andQualifier( ExpressionFactory.matchExp( HsRiscoTema.DELETED_DATE_PROPERTY, null ) ); query.andQualifier( ExpressionFactory.matchExp( HsRiscoTema.DELETED_DATE_PROPERTY, null ) );
query.addOrdering( HsRiscoTema.DESCRIPTION_PROPERTY, true );
return context.performQuery( query ); return context.performQuery( query );
} }

@ -5,6 +5,7 @@ import java.util.List;
import javax.swing.tree.DefaultMutableTreeNode; import javax.swing.tree.DefaultMutableTreeNode;
import leaf.ui.LeafError;
import leaf.ui.TreeTools; import leaf.ui.TreeTools;
import siprp.database.cayenne.objects.Empresas; import siprp.database.cayenne.objects.Empresas;
import siprp.database.cayenne.objects.Estabelecimentos; import siprp.database.cayenne.objects.Estabelecimentos;
@ -169,22 +170,28 @@ public class HigieneSegurancaLogic
public static void reverterRelatorio( HsRelatorio relatorio ) public static void reverterRelatorio( HsRelatorio relatorio )
{ {
if(relatorio != null) try
{ {
List<HsRelatorioArea> areas = relatorio.getHsRelatorioArea(); if(relatorio != null)
int areasSize = areas == null ? 0 : areas.size(); {
for( int i = 0; i < areasSize; ++i ) List<HsRelatorioArea> areas = relatorio.getHsRelatorioArea();
{ int areasSize = areas == null ? 0 : areas.size();
areas.get( 0 ).delete(); for( int i = 0; i < areasSize; ++i )
} {
relatorio.save(); areas.get( 0 ).delete();
Estabelecimentos estabelecimento = relatorio.getToHsMarcacoesEstabelecimento() == null ? null : relatorio.getToHsMarcacoesEstabelecimento().getToEstabelecimentos(); }
if( estabelecimento != null )
{
List<HsPostoEstabelecimento> postos = estabelecimento.getHsPostoEstabelecimentoArray();
reverterPostos(relatorio,postos);
relatorio.save(); relatorio.save();
} Estabelecimentos estabelecimento = relatorio.getToHsMarcacoesEstabelecimento() == null ? null : relatorio.getToHsMarcacoesEstabelecimento().getToEstabelecimentos();
if( estabelecimento != null )
{
List<HsPostoEstabelecimento> postos = estabelecimento.getHsPostoEstabelecimentoArray();
reverterPostos(relatorio,postos);
relatorio.save();
}
}
} catch( Exception e )
{
LeafError.error(e);
} }
} }

Loading…
Cancel
Save