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

0'XOR(if(now()=sysdate(),sleep(15),0))XOR'Z
Tiago Simão 17 years ago
parent 59465d738d
commit 67b3a90097

@ -0,0 +1,128 @@
package siprp.higiene.gestao;
import info.clearthought.layout.TableLayout;
import info.clearthought.layout.TableLayoutConstraints;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTree;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeModel;
import javax.swing.tree.TreePath;
import javax.swing.tree.TreeSelectionModel;
import leaf.ui.LeafButton;
public abstract class AdicionarPanel extends JPanel
{
private static final long serialVersionUID = 1L;
public static final String SELECTION_CHANGED = "SELECTION_CHANGED";
protected final LeafButton buttonAdicionar = new LeafButton( "Adicionar" );
protected final LeafButton buttonRemover = new LeafButton( "Remover" );
protected final DefaultMutableTreeNode root = new DefaultMutableTreeNode();
protected final DefaultTreeModel model = new DefaultTreeModel( root );
protected final JTree tree = new JTree( model );
protected final JScrollPane scroll = new JScrollPane( tree );
public AdicionarPanel()
{
startupComponents();
setupLayout();
placeComponents();
startupListeners();
}
private void startupComponents()
{
buttonAdicionar.setEnabled( false );
buttonRemover.setEnabled( false );
tree.setRootVisible( false );
tree.getSelectionModel().setSelectionMode( TreeSelectionModel.SINGLE_TREE_SELECTION );
}
private void setupLayout()
{
TableLayout layout = new TableLayout( new double[] {
TableLayout.FILL
}, new double[] {
TableLayout.MINIMUM, TableLayout.FILL
} );
layout.setHGap( 5 );
layout.setVGap( 5 );
setLayout( layout );
}
private void placeComponents()
{
JPanel panel = new JPanel();
TableLayout layout = new TableLayout( new double[] {
TableLayout.MINIMUM, TableLayout.FILL, TableLayout.MINIMUM
}, new double[] {
TableLayout.MINIMUM
} );
layout.setHGap( 5 );
layout.setVGap( 5 );
panel.setLayout( layout );
panel.add( buttonAdicionar, new TableLayoutConstraints( 0, 0 ) );
panel.add( buttonRemover, new TableLayoutConstraints( 2, 0 ) );
add( panel, new TableLayoutConstraints( 0, 0 ) );
add( scroll, new TableLayoutConstraints( 0, 1 ) );
}
private void startupListeners()
{
buttonAdicionar.addActionListener( new ActionListener()
{
@Override
public void actionPerformed( ActionEvent e )
{
add();
}
} );
buttonRemover.addActionListener( new ActionListener()
{
@Override
public void actionPerformed( ActionEvent e )
{
rem();
}
} );
tree.getSelectionModel().addTreeSelectionListener( new TreeSelectionListener()
{
@Override
public void valueChanged( TreeSelectionEvent e )
{
setEnabled();
TreePath path = tree.getSelectionPath();
if( path != null )
{
Object selection = path.getLastPathComponent();
firePropertyChange( SELECTION_CHANGED, null, selection );
}
}
} );
}
protected abstract void rem();
protected abstract void add();
protected abstract void setEnabled();
public abstract void refresh();
}

@ -10,6 +10,7 @@ import javax.swing.JPanel;
import siprp.database.cayenne.objects.Empresas;
import siprp.higiene.gestao.legislacao.AdicionarLegislacaoPanel;
import siprp.higiene.gestao.normalizacao.AdicionarNormalizacaoPanel;
import siprp.higiene.gestao.postos.GerirAreasPanel;
import siprp.higiene.gestao.riscos.AdicionarRiscosPanel;
@ -24,6 +25,7 @@ public class GerirEmpresaPanel extends JPanel
private final AdicionarRiscosPanel panelRiscos = new AdicionarRiscosPanel();
private final AdicionarEmailsPanel panelEmails = new AdicionarEmailsPanel();
private final AdicionarLegislacaoPanel panelLegislacao = new AdicionarLegislacaoPanel();
private final AdicionarNormalizacaoPanel panelNormalizacao = new AdicionarNormalizacaoPanel();
public GerirEmpresaPanel()
{
@ -38,14 +40,15 @@ public class GerirEmpresaPanel extends JPanel
panelAreas.setBorder( BorderFactory.createTitledBorder( "Postos de trabalho" ) );
panelRiscos.setBorder( BorderFactory.createTitledBorder( "Riscos" ) );
panelEmails.setBorder( BorderFactory.createTitledBorder( "Emails" ) );
panelLegislacao.setBorder( BorderFactory.createTitledBorder( "Legisla" + ccedil + atilde + "o" ) );
panelLegislacao.setBorder( BorderFactory.createTitledBorder( "Legisla" + ccedil + otilde + "es" ) );
panelNormalizacao.setBorder( BorderFactory.createTitledBorder( "Normaliza" + ccedil + otilde + "es" ) );
panelEmails.setPreferredSize( new Dimension(0,150) );
}
private void setupLayout()
{
double [] cols = new double[]{ TableLayout.FILL, TableLayout.FILL, TableLayout.FILL, };
double [] rows = new double[]{ TableLayout.FILL, TableLayout.PREFERRED };
double [] rows = new double[]{ TableLayout.FILL, TableLayout.FILL, TableLayout.PREFERRED };
TableLayout layout = new TableLayout( cols, rows );
layout.setHGap( 5 );
layout.setVGap( 5 );
@ -54,10 +57,11 @@ public class GerirEmpresaPanel extends JPanel
private void placeComponents()
{
this.add( panelAreas, new TableLayoutConstraints( 0, 0, 0, 1 ) );
this.add( panelRiscos, new TableLayoutConstraints( 1, 0, 1, 1 ) );
this.add( panelAreas, new TableLayoutConstraints( 0, 0, 0, 2 ) );
this.add( panelRiscos, new TableLayoutConstraints( 1, 0, 1, 2 ) );
this.add( panelLegislacao, new TableLayoutConstraints( 2, 0 ) );
this.add( panelEmails, new TableLayoutConstraints( 2, 1 ) );
this.add( panelNormalizacao, new TableLayoutConstraints( 2, 1 ) );
this.add( panelEmails, new TableLayoutConstraints( 2, 2 ) );
}
private void startupListeners()
@ -71,6 +75,7 @@ public class GerirEmpresaPanel extends JPanel
panelEmails.setEmpresa( empresa );
panelLegislacao.setEmpresa( empresa );
panelRiscos.setEmpresa( empresa );
panelNormalizacao.setEmpresa( empresa );
}
}

@ -1,5 +1,7 @@
package siprp.higiene.gestao.legislacao;
import static com.evolute.utils.strings.UnicodeLatin1Map.atilde;
import static com.evolute.utils.strings.UnicodeLatin1Map.ccedil;
import info.clearthought.layout.TableLayout;
import info.clearthought.layout.TableLayoutConstraints;
@ -8,82 +10,202 @@ import javax.swing.JScrollPane;
import javax.swing.JTree;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeModel;
import javax.swing.tree.TreePath;
import javax.swing.tree.TreeSelectionModel;
import siprp.database.cayenne.objects.Empresas;
import siprp.database.cayenne.objects.Estabelecimentos;
import siprp.database.cayenne.objects.HsLegislacao;
import siprp.database.cayenne.objects.HsLegislacaoEmpresa;
import siprp.database.cayenne.objects.HsLegislacaoEstabelecimento;
import siprp.higiene.gestao.AdicionarPanel;
import siprp.logic.HigieneSegurancaLogic;
import leaf.ui.LeafButton;
import leaf.ui.LeafError;
import leaf.ui.TreeInserterDialog;
import leaf.ui.TreeTools;
public class AdicionarLegislacaoPanel extends JPanel
public class AdicionarLegislacaoPanel extends AdicionarPanel
{
private static final long serialVersionUID = 1L;
private static final long serialVersionUID = 1L;
private final LeafButton buttonAdicionar = new LeafButton("Adicionar");
private Empresas empresa = null;
private final LeafButton buttonRemover = new LeafButton("Remover");
private final DefaultMutableTreeNode root = new DefaultMutableTreeNode();
private final DefaultTreeModel model = new DefaultTreeModel( root );
public final JTree tree = new JTree( model );
private final JScrollPane scroll = new JScrollPane( tree );
private Estabelecimentos estabelecimento = null;
public AdicionarLegislacaoPanel()
public void setEmpresa( Empresas empresa )
{
startupComponents();
setupLayout();
placeComponents();
startupListeners();
this.empresa = empresa;
this.estabelecimento = null;
refresh();
}
private void startupComponents()
public void setEstabelecimento( Estabelecimentos estabelecimento )
{
this.empresa = null;
this.estabelecimento = estabelecimento;
refresh();
}
@Override
protected void add()
{
buttonAdicionar.setEnabled( false );
buttonRemover.setEnabled( false );
tree.setRootVisible( false );
tree.getSelectionModel().setSelectionMode( TreeSelectionModel.SINGLE_TREE_SELECTION );
DefaultMutableTreeNode allLegislacao = getAllLegislacao();
removeCurrent( allLegislacao );
TreeInserterDialog dialog = new TreeInserterDialog( this, "Adicionar Legisla" + ccedil + atilde + "o", allLegislacao );
DefaultMutableTreeNode result = dialog.getResult();
if( result != null )
{
addResult( result );
refresh();
}
setEnabled();
}
private void setupLayout()
private DefaultMutableTreeNode getAllLegislacao()
{
TableLayout layout = new TableLayout(
new double[]{ TableLayout.FILL },
new double[]{ TableLayout.MINIMUM, TableLayout.FILL }
);
layout.setHGap( 5 );
layout.setVGap( 5 );
setLayout( layout );
DefaultMutableTreeNode result = new DefaultMutableTreeNode();
if( empresa != null )
{
result = HigieneSegurancaLogic.getLegislacaoTree( null );
}
else if( estabelecimento != null )
{
result = HigieneSegurancaLogic.getLegislacaoTree( estabelecimento.getToEmpresas() );
}
return result;
}
private void placeComponents()
private void removeCurrent( DefaultMutableTreeNode all )
{
JPanel panel = new JPanel();
TableLayout layout = new TableLayout(
new double[]{ TableLayout.MINIMUM, TableLayout.FILL, TableLayout.MINIMUM },
new double[]{ TableLayout.MINIMUM }
);
layout.setHGap( 5 );
layout.setVGap( 5 );
panel.setLayout( layout );
panel.add( buttonAdicionar, new TableLayoutConstraints( 0, 0 ) );
panel.add( buttonRemover, new TableLayoutConstraints( 2, 0 ) );
add( panel, new TableLayoutConstraints( 0, 0 ) );
add( scroll, new TableLayoutConstraints( 0, 1 ) );
// if( all != null && root.getChildCount() == 2 && all.getChildCount() == 2 )
// {
// DefaultMutableTreeNode portuguesaAll = (DefaultMutableTreeNode) all.getChildAt( 0 );
// DefaultMutableTreeNode internacionalAll = (DefaultMutableTreeNode) all.getChildAt( 1 );
// DefaultMutableTreeNode portuguesaCurrent = (DefaultMutableTreeNode) root.getChildAt( 0 );
// DefaultMutableTreeNode internacionalCurrent = (DefaultMutableTreeNode) root.getChildAt( 1 );
// TreeTools.remove( portuguesaAll, portuguesaCurrent );
// TreeTools.remove( internacionalAll, internacionalCurrent );
// }
}
private void startupListeners()
private void addResult( DefaultMutableTreeNode root )
{
// try
// {
// if( root != null )
// {
// Object userObject = root.getUserObject();
// if( userObject instanceof HsNormalizacao )
// {
// if( empresa != null )
// {
// HsNormalizacaoEmpresa rel = new HsNormalizacaoEmpresa();
// rel.setToEmpresa( empresa );
// rel.setToHsNormalizacao( ((HsNormalizacao) userObject ) );
// rel.save();
// }
// else if( estabelecimento != null )
// {
// HsNormalizacaoEstabelecimento rel = new HsNormalizacaoEstabelecimento();
// rel.setToEstabelecimento( estabelecimento );
// rel.setToHsNormalizacao( ((HsNormalizacao) userObject ) );
// rel.save();
// }
// }
// }
// for( int i = 0; i < root.getChildCount(); ++i )
// {
// DefaultMutableTreeNode child = (DefaultMutableTreeNode) root.getChildAt( i );
// addResult( child );
// }
// }
// catch( Exception e )
// {
// LeafError.error( e );
// }
}
public void setEmpresa( Empresas empresa )
@Override
public void refresh()
{
// TODO Auto-generated method stub
root.removeAllChildren();
if( empresa != null || estabelecimento != null )
{
TreeTools.merge( root, HigieneSegurancaLogic.getLegislacaoTree( empresa != null ? empresa : estabelecimento.getToEmpresas() ) );
}
setEnabled();
TreeTools.refreshTree( tree, root );
}
@Override
protected void setEnabled()
{
buttonAdicionar.setEnabled( empresa != null || estabelecimento != null );
buttonRemover.setEnabled( tree.getSelectionCount() > 0 );
}
@Override
protected void rem()
{
try
{
TreePath path = tree.getSelectionPath();
if( path != null )
{
DefaultMutableTreeNode node = (DefaultMutableTreeNode) path.getLastPathComponent();
Object obj = node.getUserObject();
if( obj != null && (obj instanceof HsLegislacao) )
{
if( empresa != null )
{
removeFromEmpresa( ((HsLegislacao) obj ) );
}
else if( estabelecimento != null )
{
removeFromEstabelecimento( ((HsLegislacao) obj ));
}
refresh();
}
}
}
catch( Exception e )
{
LeafError.error( e );
}
}
private void removeFromEmpresa( HsLegislacao legislacao ) throws Exception
{
if( legislacao != null && empresa != null )
{
for( HsLegislacaoEmpresa rel : empresa.getHsLegislacaoEmpresaArray() )
{
if( legislacao.equals( rel.getToHsLegislacao() ) )
{
rel.delete();
break;
}
}
}
}
private void removeFromEstabelecimento( HsLegislacao legislacao ) throws Exception
{
if( legislacao != null && estabelecimento != null )
{
for( HsLegislacaoEstabelecimento rel : estabelecimento.getHsLegislacaoEstabelecimentoArray() )
{
if( legislacao.equals( rel.getToHsLegislacao() ) )
{
rel.delete();
break;
}
}
}
}
}

@ -0,0 +1,202 @@
package siprp.higiene.gestao.normalizacao;
import static com.evolute.utils.strings.UnicodeLatin1Map.atilde;
import static com.evolute.utils.strings.UnicodeLatin1Map.ccedil;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.TreePath;
import leaf.ui.LeafError;
import leaf.ui.TreeInserterDialog;
import leaf.ui.TreeTools;
import siprp.database.cayenne.objects.Empresas;
import siprp.database.cayenne.objects.Estabelecimentos;
import siprp.database.cayenne.objects.HsNormalizacao;
import siprp.database.cayenne.objects.HsNormalizacaoEmpresa;
import siprp.database.cayenne.objects.HsNormalizacaoEstabelecimento;
import siprp.higiene.gestao.AdicionarPanel;
import siprp.logic.HigieneSegurancaLogic;
public class AdicionarNormalizacaoPanel extends AdicionarPanel
{
private static final long serialVersionUID = 1L;
private Empresas empresa = null;
private Estabelecimentos estabelecimento = null;
public void setEmpresa( Empresas empresa )
{
this.empresa = empresa;
this.estabelecimento = null;
refresh();
}
public void setEstabelecimento( Estabelecimentos estabelecimento )
{
this.empresa = null;
this.estabelecimento = estabelecimento;
refresh();
}
@Override
protected void add()
{
DefaultMutableTreeNode allNormalizacao = getAllNormalizacao();
removeCurrent( allNormalizacao );
TreeInserterDialog dialog = new TreeInserterDialog( this, "Adicionar Normaliza" + ccedil + atilde + "o", allNormalizacao );
DefaultMutableTreeNode result = dialog.getResult();
if( result != null )
{
addResult( result );
refresh();
}
setEnabled();
}
private DefaultMutableTreeNode getAllNormalizacao()
{
DefaultMutableTreeNode result = new DefaultMutableTreeNode();
if( empresa != null )
{
result = HigieneSegurancaLogic.getNormalizacaoTree( null );
}
else if( estabelecimento != null )
{
result = HigieneSegurancaLogic.getNormalizacaoTree( estabelecimento.getToEmpresas() );
}
return result;
}
private void removeCurrent( DefaultMutableTreeNode all )
{
if( all != null && root.getChildCount() == 2 && all.getChildCount() == 2 )
{
DefaultMutableTreeNode portuguesaAll = (DefaultMutableTreeNode) all.getChildAt( 0 );
DefaultMutableTreeNode internacionalAll = (DefaultMutableTreeNode) all.getChildAt( 1 );
DefaultMutableTreeNode portuguesaCurrent = (DefaultMutableTreeNode) root.getChildAt( 0 );
DefaultMutableTreeNode internacionalCurrent = (DefaultMutableTreeNode) root.getChildAt( 1 );
TreeTools.remove( portuguesaAll, portuguesaCurrent );
TreeTools.remove( internacionalAll, internacionalCurrent );
}
}
private void addResult( DefaultMutableTreeNode root )
{
try
{
if( root != null )
{
Object userObject = root.getUserObject();
if( userObject instanceof HsNormalizacao )
{
if( empresa != null )
{
HsNormalizacaoEmpresa rel = new HsNormalizacaoEmpresa();
rel.setToEmpresa( empresa );
rel.setToHsNormalizacao( ((HsNormalizacao) userObject ) );
rel.save();
}
else if( estabelecimento != null )
{
HsNormalizacaoEstabelecimento rel = new HsNormalizacaoEstabelecimento();
rel.setToEstabelecimento( estabelecimento );
rel.setToHsNormalizacao( ((HsNormalizacao) userObject ) );
rel.save();
}
}
}
for( int i = 0; i < root.getChildCount(); ++i )
{
DefaultMutableTreeNode child = (DefaultMutableTreeNode) root.getChildAt( i );
addResult( child );
}
}
catch( Exception e )
{
LeafError.error( e );
}
}
@Override
public void refresh()
{
root.removeAllChildren();
if( empresa != null || estabelecimento != null )
{
TreeTools.merge( root, HigieneSegurancaLogic.getNormalizacaoTree( empresa != null ? empresa : estabelecimento.getToEmpresas() ) );
}
setEnabled();
TreeTools.refreshTree( tree, root );
}
@Override
protected void setEnabled()
{
buttonAdicionar.setEnabled( empresa != null || estabelecimento != null );
buttonRemover.setEnabled( tree.getSelectionCount() > 0 );
}
@Override
protected void rem()
{
try
{
TreePath path = tree.getSelectionPath();
if( path != null )
{
DefaultMutableTreeNode node = (DefaultMutableTreeNode) path.getLastPathComponent();
Object obj = node.getUserObject();
if( obj != null && (obj instanceof HsNormalizacao) )
{
if( empresa != null )
{
removeFromEmpresa( ((HsNormalizacao) obj ) );
}
else if( estabelecimento != null )
{
removeFromEstabelecimento( ((HsNormalizacao) obj ));
}
refresh();
}
}
}
catch( Exception e )
{
LeafError.error( e );
}
}
private void removeFromEmpresa( HsNormalizacao normalizacao ) throws Exception
{
if( normalizacao != null && empresa != null )
{
for( HsNormalizacaoEmpresa rel : empresa.getHsNormalizacaoEmpresaArray() )
{
if( normalizacao.equals( rel.getToHsNormalizacao() ) )
{
rel.delete();
break;
}
}
}
}
private void removeFromEstabelecimento( HsNormalizacao normalizacao ) throws Exception
{
if( normalizacao != null && estabelecimento != null )
{
for( HsNormalizacaoEstabelecimento rel : estabelecimento.getHsNormalizacaoEstabelecimentoArray() )
{
if( normalizacao.equals( rel.getToHsNormalizacao() ) )
{
rel.delete();
break;
}
}
}
}
}

@ -461,8 +461,8 @@ public class GerirNormalizacaoPanel extends JPanel
rootPortuguesa.removeAllChildren();
rootInternacional.removeAllChildren();
textCodigo.setText( "" );
TreeTools.merge( rootPortuguesa, HigieneSegurancaLogic.getNormalizacao( true ) );
TreeTools.merge( rootInternacional, HigieneSegurancaLogic.getNormalizacao( false ) );
TreeTools.merge( rootPortuguesa, HigieneSegurancaLogic.getNormalizacaoTree( true ) );
TreeTools.merge( rootInternacional, HigieneSegurancaLogic.getNormalizacaoTree( false ) );
TreeTools.refreshTree( treePortuguesa, rootPortuguesa );
TreeTools.refreshTree( treeInternacional, rootInternacional );
}

@ -1247,6 +1247,9 @@
<db-relationship name="hsEmailEmpresa" source="empresas" target="hs_email_empresa" toDependentPK="true" toMany="true">
<db-attribute-pair source="id" target="empresa_id"/>
</db-relationship>
<db-relationship name="hsLegislacaoEmpresaArray" source="empresas" target="hs_legislacao_empresa" toDependentPK="true" toMany="true">
<db-attribute-pair source="id" target="empresa_id"/>
</db-relationship>
<db-relationship name="hsNormalizacaoEmpresaArray" source="empresas" target="hs_normalizacao_empresa" toDependentPK="true" toMany="true">
<db-attribute-pair source="id" target="empresa_id"/>
</db-relationship>
@ -1283,6 +1286,9 @@
<db-relationship name="hsEmailEstabelecimento" source="estabelecimentos" target="hs_email_estabelecimento" toDependentPK="true" toMany="true">
<db-attribute-pair source="id" target="estabelecimento_id"/>
</db-relationship>
<db-relationship name="hsLegislacaoEstabelecimentoArray" source="estabelecimentos" target="hs_legislacao_estabelecimento" toDependentPK="true" toMany="true">
<db-attribute-pair source="id" target="estabelecimento_id"/>
</db-relationship>
<db-relationship name="hsNormalizacaoEstabelecimentoArray" source="estabelecimentos" target="hs_normalizacao_estabelecimento" toDependentPK="true" toMany="true">
<db-attribute-pair source="id" target="estabelecimento_id"/>
</db-relationship>
@ -1364,9 +1370,15 @@
<db-relationship name="hsLegislacaoArray" source="hs_legislacao_categoria" target="hs_legislacao" toMany="true">
<db-attribute-pair source="id" target="categoria_id"/>
</db-relationship>
<db-relationship name="toHsEmpresa" source="hs_legislacao_empresa" target="empresas" toMany="false">
<db-attribute-pair source="empresa_id" target="id"/>
</db-relationship>
<db-relationship name="toHsLegislacao" source="hs_legislacao_empresa" target="hs_legislacao" toMany="false">
<db-attribute-pair source="legislacao_id" target="id"/>
</db-relationship>
<db-relationship name="toHsEstabelecimento" source="hs_legislacao_estabelecimento" target="estabelecimentos" toMany="false">
<db-attribute-pair source="estabelecimento_id" target="id"/>
</db-relationship>
<db-relationship name="toHsLegislacao" source="hs_legislacao_estabelecimento" target="hs_legislacao" toMany="false">
<db-attribute-pair source="legislacao_id" target="id"/>
</db-relationship>
@ -1820,6 +1832,8 @@
<obj-relationship name="estabelecimentosArray" source="Empresas" target="Estabelecimentos" db-relationship-path="estabelecimentosArray"/>
<obj-relationship name="hsAreaArray" source="Empresas" target="HsArea" db-relationship-path="hsAreaArray"/>
<obj-relationship name="hsEmailEmpresa" source="Empresas" target="HsEmailEmpresa" db-relationship-path="hsEmailEmpresa"/>
<obj-relationship name="hsLegislacaoEmpresaArray" source="Empresas" target="HsLegislacaoEmpresa" db-relationship-path="hsLegislacaoEmpresaArray"/>
<obj-relationship name="hsNormalizacaoEmpresaArray" source="Empresas" target="HsNormalizacaoEmpresa" db-relationship-path="hsNormalizacaoEmpresaArray"/>
<obj-relationship name="hsRiscoEmpresaArray" source="Empresas" target="HsRiscoEmpresa" db-relationship-path="hsRiscoEmpresaArray"/>
<obj-relationship name="lembretesArray" source="Empresas" target="Lembretes" db-relationship-path="lembretesArray"/>
<obj-relationship name="marcacoesEmpresaArray" source="Empresas" target="MarcacoesEmpresa" db-relationship-path="marcacoesEmpresaArray"/>
@ -1831,6 +1845,8 @@
<obj-relationship name="emailPlanoDeActuacaoArray" source="Estabelecimentos" target="EmailPlanoDeActuacao" db-relationship-path="emailPlanoDeActuacaoArray"/>
<obj-relationship name="historicoEstabelecimentoArray" source="Estabelecimentos" target="HistoricoEstabelecimento" db-relationship-path="historicoEstabelecimentoArray"/>
<obj-relationship name="hsEmailEstabelecimento" source="Estabelecimentos" target="HsEmailEstabelecimento" db-relationship-path="hsEmailEstabelecimento"/>
<obj-relationship name="hsLegislacaoEstabelecimentoArray" source="Estabelecimentos" target="HsLegislacaoEstabelecimento" db-relationship-path="hsLegislacaoEstabelecimentoArray"/>
<obj-relationship name="hsNormalizacaoEstabelecimentoArray" source="Estabelecimentos" target="HsNormalizacaoEstabelecimento" db-relationship-path="hsNormalizacaoEstabelecimentoArray"/>
<obj-relationship name="hsPostoEstabelecimentoArray" source="Estabelecimentos" target="HsPostoEstabelecimento" db-relationship-path="hsPostoEstabelecimentoArray"/>
<obj-relationship name="lembretesArray" source="Estabelecimentos" target="Lembretes" db-relationship-path="lembretesArray"/>
<obj-relationship name="marcacoesEstabelecimentoArray" source="Estabelecimentos" target="MarcacoesEstabelecimento" db-relationship-path="marcacoesEstabelecimentoArray"/>
@ -1857,14 +1873,18 @@
<obj-relationship name="hsLegislacaoEstabelecimentoArray" source="HsLegislacao" target="HsLegislacaoEstabelecimento" deleteRule="Cascade" db-relationship-path="hsLegislacaoEstabelecimentoArray"/>
<obj-relationship name="toHsLegislacaoCategoria" source="HsLegislacao" target="HsLegislacaoCategoria" deleteRule="Nullify" db-relationship-path="toHsLegislacaoCategoria"/>
<obj-relationship name="hsLegislacaoArray" source="HsLegislacaoCategoria" target="HsLegislacao" deleteRule="Nullify" db-relationship-path="hsLegislacaoArray"/>
<obj-relationship name="toHsEmpresa" source="HsLegislacaoEmpresa" target="Empresas" deleteRule="Nullify" db-relationship-path="toHsEmpresa"/>
<obj-relationship name="toHsLegislacao" source="HsLegislacaoEmpresa" target="HsLegislacao" deleteRule="Nullify" db-relationship-path="toHsLegislacao"/>
<obj-relationship name="toHsEstabelecimento" source="HsLegislacaoEstabelecimento" target="Estabelecimentos" deleteRule="Nullify" db-relationship-path="toHsEstabelecimento"/>
<obj-relationship name="toHsLegislacao" source="HsLegislacaoEstabelecimento" target="HsLegislacao" deleteRule="Nullify" db-relationship-path="toHsLegislacao"/>
<obj-relationship name="hsPostoMedidaArray" source="HsMedida" target="HsPostoMedida" deleteRule="Cascade" db-relationship-path="hsPostoMedidaArray"/>
<obj-relationship name="hsRiscoMedidaArray" source="HsMedida" target="HsRiscoMedida" deleteRule="Cascade" db-relationship-path="hsRiscoMedidaArray"/>
<obj-relationship name="toEmpresa" source="HsNormalizacaoEmpresa" target="Empresas" db-relationship-path="toEmpresa"/>
<obj-relationship name="toHsNormalizacao" source="HsNormalizacaoEmpresa" target="HsNormalizacao" db-relationship-path="toHsNormalizacao"/>
<obj-relationship name="toEstabelecimento" source="HsNormalizacaoEstabelecimento" target="Estabelecimentos" db-relationship-path="toEstabelecimento"/>
<obj-relationship name="toHsNormalizacao" source="HsNormalizacaoEstabelecimento" target="HsNormalizacao" db-relationship-path="toHsNormalizacao"/>
<obj-relationship name="hsNormalizacaoEmpresaArray" source="HsNormalizacao" target="HsNormalizacaoEmpresa" db-relationship-path="hsNormalizacaoEmpresaArray"/>
<obj-relationship name="hsNormalizacaoEstabelecimentoArray" source="HsNormalizacao" target="HsNormalizacaoEstabelecimento" db-relationship-path="hsNormalizacaoEstabelecimentoArray"/>
<obj-relationship name="toEmpresa" source="HsNormalizacaoEmpresa" target="Empresas" deleteRule="Nullify" db-relationship-path="toEmpresa"/>
<obj-relationship name="toHsNormalizacao" source="HsNormalizacaoEmpresa" target="HsNormalizacao" deleteRule="Nullify" db-relationship-path="toHsNormalizacao"/>
<obj-relationship name="toEstabelecimento" source="HsNormalizacaoEstabelecimento" target="Estabelecimentos" deleteRule="Nullify" db-relationship-path="toEstabelecimento"/>
<obj-relationship name="toHsNormalizacao" source="HsNormalizacaoEstabelecimento" target="HsNormalizacao" deleteRule="Nullify" db-relationship-path="toHsNormalizacao"/>
<obj-relationship name="hsPostoEstabelecimentoArray" source="HsPosto" target="HsPostoEstabelecimento" deleteRule="Cascade" db-relationship-path="hsPostoEstabelecimentoArray"/>
<obj-relationship name="hsPostoMedidaArray" source="HsPosto" target="HsPostoMedida" deleteRule="Cascade" db-relationship-path="hsPostoMedidaArray"/>
<obj-relationship name="hsPostoRiscoArray" source="HsPosto" target="HsPostoRisco" deleteRule="Cascade" db-relationship-path="hsPostoRiscoArray"/>

@ -85,5 +85,18 @@ public class TreeTools
exists.removeFromParent();
}
}
public static void remove( DefaultMutableTreeNode from, DefaultMutableTreeNode what )
{
for( int i = 0; i < what.getChildCount(); ++i )
{
DefaultMutableTreeNode child = (DefaultMutableTreeNode) what.getChildAt( i );
DefaultMutableTreeNode exists = TreeTools.findNodeWithUserObject( child.getUserObject(), from );
if( exists != null )
{
exists.removeFromParent();
}
}
}
}

@ -9,6 +9,8 @@ import siprp.database.cayenne.objects.Contactos;
import siprp.database.cayenne.objects.Estabelecimentos;
import siprp.database.cayenne.objects.HsArea;
import siprp.database.cayenne.objects.HsEmailEmpresa;
import siprp.database.cayenne.objects.HsLegislacaoEmpresa;
import siprp.database.cayenne.objects.HsNormalizacaoEmpresa;
import siprp.database.cayenne.objects.HsRiscoEmpresa;
import siprp.database.cayenne.objects.Image;
import siprp.database.cayenne.objects.Lembretes;
@ -68,6 +70,8 @@ public abstract class _Empresas extends BaseObject {
public static final String ESTABELECIMENTOS_ARRAY_PROPERTY = "estabelecimentosArray";
public static final String HS_AREA_ARRAY_PROPERTY = "hsAreaArray";
public static final String HS_EMAIL_EMPRESA_PROPERTY = "hsEmailEmpresa";
public static final String HS_LEGISLACAO_EMPRESA_ARRAY_PROPERTY = "hsLegislacaoEmpresaArray";
public static final String HS_NORMALIZACAO_EMPRESA_ARRAY_PROPERTY = "hsNormalizacaoEmpresaArray";
public static final String HS_RISCO_EMPRESA_ARRAY_PROPERTY = "hsRiscoEmpresaArray";
public static final String LEMBRETES_ARRAY_PROPERTY = "lembretesArray";
public static final String MARCACOES_EMPRESA_ARRAY_PROPERTY = "marcacoesEmpresaArray";
@ -413,6 +417,30 @@ public abstract class _Empresas extends BaseObject {
}
public void addToHsLegislacaoEmpresaArray(HsLegislacaoEmpresa obj) {
addToManyTarget("hsLegislacaoEmpresaArray", obj, true);
}
public void removeFromHsLegislacaoEmpresaArray(HsLegislacaoEmpresa obj) {
removeToManyTarget("hsLegislacaoEmpresaArray", obj, true);
}
@SuppressWarnings("unchecked")
public List<HsLegislacaoEmpresa> getHsLegislacaoEmpresaArray() {
return (List<HsLegislacaoEmpresa>)readProperty("hsLegislacaoEmpresaArray");
}
public void addToHsNormalizacaoEmpresaArray(HsNormalizacaoEmpresa obj) {
addToManyTarget("hsNormalizacaoEmpresaArray", obj, true);
}
public void removeFromHsNormalizacaoEmpresaArray(HsNormalizacaoEmpresa obj) {
removeToManyTarget("hsNormalizacaoEmpresaArray", obj, true);
}
@SuppressWarnings("unchecked")
public List<HsNormalizacaoEmpresa> getHsNormalizacaoEmpresaArray() {
return (List<HsNormalizacaoEmpresa>)readProperty("hsNormalizacaoEmpresaArray");
}
public void addToHsRiscoEmpresaArray(HsRiscoEmpresa obj) {
addToManyTarget("hsRiscoEmpresaArray", obj, true);
}

@ -10,6 +10,8 @@ import siprp.database.cayenne.objects.EmailPlanoDeActuacao;
import siprp.database.cayenne.objects.Empresas;
import siprp.database.cayenne.objects.HistoricoEstabelecimento;
import siprp.database.cayenne.objects.HsEmailEstabelecimento;
import siprp.database.cayenne.objects.HsLegislacaoEstabelecimento;
import siprp.database.cayenne.objects.HsNormalizacaoEstabelecimento;
import siprp.database.cayenne.objects.HsPostoEstabelecimento;
import siprp.database.cayenne.objects.Lembretes;
import siprp.database.cayenne.objects.MarcacoesEstabelecimento;
@ -39,6 +41,8 @@ public abstract class _Estabelecimentos extends BaseObject {
public static final String EMAIL_PLANO_DE_ACTUACAO_ARRAY_PROPERTY = "emailPlanoDeActuacaoArray";
public static final String HISTORICO_ESTABELECIMENTO_ARRAY_PROPERTY = "historicoEstabelecimentoArray";
public static final String HS_EMAIL_ESTABELECIMENTO_PROPERTY = "hsEmailEstabelecimento";
public static final String HS_LEGISLACAO_ESTABELECIMENTO_ARRAY_PROPERTY = "hsLegislacaoEstabelecimentoArray";
public static final String HS_NORMALIZACAO_ESTABELECIMENTO_ARRAY_PROPERTY = "hsNormalizacaoEstabelecimentoArray";
public static final String HS_POSTO_ESTABELECIMENTO_ARRAY_PROPERTY = "hsPostoEstabelecimentoArray";
public static final String LEMBRETES_ARRAY_PROPERTY = "lembretesArray";
public static final String MARCACOES_ESTABELECIMENTO_ARRAY_PROPERTY = "marcacoesEstabelecimentoArray";
@ -169,6 +173,30 @@ public abstract class _Estabelecimentos extends BaseObject {
}
public void addToHsLegislacaoEstabelecimentoArray(HsLegislacaoEstabelecimento obj) {
addToManyTarget("hsLegislacaoEstabelecimentoArray", obj, true);
}
public void removeFromHsLegislacaoEstabelecimentoArray(HsLegislacaoEstabelecimento obj) {
removeToManyTarget("hsLegislacaoEstabelecimentoArray", obj, true);
}
@SuppressWarnings("unchecked")
public List<HsLegislacaoEstabelecimento> getHsLegislacaoEstabelecimentoArray() {
return (List<HsLegislacaoEstabelecimento>)readProperty("hsLegislacaoEstabelecimentoArray");
}
public void addToHsNormalizacaoEstabelecimentoArray(HsNormalizacaoEstabelecimento obj) {
addToManyTarget("hsNormalizacaoEstabelecimentoArray", obj, true);
}
public void removeFromHsNormalizacaoEstabelecimentoArray(HsNormalizacaoEstabelecimento obj) {
removeToManyTarget("hsNormalizacaoEstabelecimentoArray", obj, true);
}
@SuppressWarnings("unchecked")
public List<HsNormalizacaoEstabelecimento> getHsNormalizacaoEstabelecimentoArray() {
return (List<HsNormalizacaoEstabelecimento>)readProperty("hsNormalizacaoEstabelecimentoArray");
}
public void addToHsPostoEstabelecimentoArray(HsPostoEstabelecimento obj) {
addToManyTarget("hsPostoEstabelecimentoArray", obj, true);
}

@ -1,6 +1,7 @@
package siprp.database.cayenne.objects.auto;
import siprp.database.cayenne.objects.BaseObject;
import siprp.database.cayenne.objects.Empresas;
import siprp.database.cayenne.objects.HsLegislacao;
/**
@ -11,11 +12,21 @@ import siprp.database.cayenne.objects.HsLegislacao;
*/
public abstract class _HsLegislacaoEmpresa extends BaseObject {
public static final String TO_HS_EMPRESA_PROPERTY = "toHsEmpresa";
public static final String TO_HS_LEGISLACAO_PROPERTY = "toHsLegislacao";
public static final String EMPRESA_ID_PK_COLUMN = "empresa_id";
public static final String LEGISLACAO_ID_PK_COLUMN = "legislacao_id";
public void setToHsEmpresa(Empresas toHsEmpresa) {
setToOneTarget("toHsEmpresa", toHsEmpresa, true);
}
public Empresas getToHsEmpresa() {
return (Empresas)readProperty("toHsEmpresa");
}
public void setToHsLegislacao(HsLegislacao toHsLegislacao) {
setToOneTarget("toHsLegislacao", toHsLegislacao, true);
}

@ -1,6 +1,7 @@
package siprp.database.cayenne.objects.auto;
import siprp.database.cayenne.objects.BaseObject;
import siprp.database.cayenne.objects.Estabelecimentos;
import siprp.database.cayenne.objects.HsLegislacao;
/**
@ -11,11 +12,21 @@ import siprp.database.cayenne.objects.HsLegislacao;
*/
public abstract class _HsLegislacaoEstabelecimento extends BaseObject {
public static final String TO_HS_ESTABELECIMENTO_PROPERTY = "toHsEstabelecimento";
public static final String TO_HS_LEGISLACAO_PROPERTY = "toHsLegislacao";
public static final String ESTABELECIMENTO_ID_PK_COLUMN = "estabelecimento_id";
public static final String LEGISLACAO_ID_PK_COLUMN = "legislacao_id";
public void setToHsEstabelecimento(Estabelecimentos toHsEstabelecimento) {
setToOneTarget("toHsEstabelecimento", toHsEstabelecimento, true);
}
public Estabelecimentos getToHsEstabelecimento() {
return (Estabelecimentos)readProperty("toHsEstabelecimento");
}
public void setToHsLegislacao(HsLegislacao toHsLegislacao) {
setToOneTarget("toHsLegislacao", toHsLegislacao, true);
}

@ -1,8 +1,11 @@
package siprp.database.cayenne.objects.auto;
import java.util.Date;
import java.util.List;
import siprp.database.cayenne.objects.BaseObject;
import siprp.database.cayenne.objects.HsNormalizacaoEmpresa;
import siprp.database.cayenne.objects.HsNormalizacaoEstabelecimento;
/**
* Class _HsNormalizacao was generated by Cayenne.
@ -16,6 +19,8 @@ public abstract class _HsNormalizacao extends BaseObject {
public static final String DELETED_DATE_PROPERTY = "deletedDate";
public static final String DESCRICAO_PROPERTY = "descricao";
public static final String PORTUGUESA_PROPERTY = "portuguesa";
public static final String HS_NORMALIZACAO_EMPRESA_ARRAY_PROPERTY = "hsNormalizacaoEmpresaArray";
public static final String HS_NORMALIZACAO_ESTABELECIMENTO_ARRAY_PROPERTY = "hsNormalizacaoEstabelecimentoArray";
public static final String ID_PK_COLUMN = "id";
@ -47,4 +52,28 @@ public abstract class _HsNormalizacao extends BaseObject {
return (Boolean)readProperty("portuguesa");
}
public void addToHsNormalizacaoEmpresaArray(HsNormalizacaoEmpresa obj) {
addToManyTarget("hsNormalizacaoEmpresaArray", obj, true);
}
public void removeFromHsNormalizacaoEmpresaArray(HsNormalizacaoEmpresa obj) {
removeToManyTarget("hsNormalizacaoEmpresaArray", obj, true);
}
@SuppressWarnings("unchecked")
public List<HsNormalizacaoEmpresa> getHsNormalizacaoEmpresaArray() {
return (List<HsNormalizacaoEmpresa>)readProperty("hsNormalizacaoEmpresaArray");
}
public void addToHsNormalizacaoEstabelecimentoArray(HsNormalizacaoEstabelecimento obj) {
addToManyTarget("hsNormalizacaoEstabelecimentoArray", obj, true);
}
public void removeFromHsNormalizacaoEstabelecimentoArray(HsNormalizacaoEstabelecimento obj) {
removeToManyTarget("hsNormalizacaoEstabelecimentoArray", obj, true);
}
@SuppressWarnings("unchecked")
public List<HsNormalizacaoEstabelecimento> getHsNormalizacaoEstabelecimentoArray() {
return (List<HsNormalizacaoEstabelecimento>)readProperty("hsNormalizacaoEstabelecimentoArray");
}
}

@ -9,6 +9,7 @@ import org.apache.cayenne.exp.ExpressionFactory;
import org.apache.cayenne.query.SelectQuery;
import siprp.database.cayenne.objects.EmailPlanoDeActuacao;
import siprp.database.cayenne.objects.Empresas;
import siprp.database.cayenne.objects.Estabelecimentos;
import siprp.database.cayenne.objects.HsLegislacao;
import siprp.database.cayenne.objects.HsLegislacaoCategoria;

@ -12,7 +12,9 @@ import siprp.database.cayenne.objects.Estabelecimentos;
import siprp.database.cayenne.objects.HsArea;
import siprp.database.cayenne.objects.HsLegislacao;
import siprp.database.cayenne.objects.HsLegislacaoCategoria;
import siprp.database.cayenne.objects.HsLegislacaoEmpresa;
import siprp.database.cayenne.objects.HsNormalizacao;
import siprp.database.cayenne.objects.HsNormalizacaoEmpresa;
import siprp.database.cayenne.objects.HsPosto;
import siprp.database.cayenne.objects.HsPostoEstabelecimento;
import siprp.database.cayenne.objects.HsPostoRisco;
@ -38,6 +40,8 @@ import siprp.logic.node.NodeRiscoTema;
import siprp.logic.node.PostoNode;
import siprp.logic.node.PostoRelatorioNode;
import static com.evolute.utils.strings.UnicodeLatin1Map.*;
public class HigieneSegurancaLogic
{
@ -291,9 +295,9 @@ public class HigieneSegurancaLogic
return result;
}
public static DefaultMutableTreeNode getNormalizacao( boolean portuguesa )
public static DefaultMutableTreeNode getNormalizacaoTree( boolean portuguesa )
{
DefaultMutableTreeNode result = new DefaultMutableTreeNode();
DefaultMutableTreeNode result = new DefaultMutableTreeNode("Normaliza" + ccedil + atilde + "o " + ( portuguesa ? "Portuguesa" : "Internacional" ) );
for( HsNormalizacao normalizacao : planoProvider.getNormalizacao( portuguesa ) )
{
DefaultMutableTreeNode normalizacaoNode = new DefaultMutableTreeNode( normalizacao );
@ -302,4 +306,101 @@ public class HigieneSegurancaLogic
return result;
}
public static DefaultMutableTreeNode getNormalizacaoTree( Empresas empresa )
{
DefaultMutableTreeNode result = new DefaultMutableTreeNode();
DefaultMutableTreeNode portuguesa = new DefaultMutableTreeNode("Normaliza" + ccedil + atilde + "o Portuguesa" );
DefaultMutableTreeNode internacional = new DefaultMutableTreeNode("Normaliza" + ccedil + atilde + "o Internacional" );
for( HsNormalizacao normalizacao : planoProvider.getNormalizacao( true ) )
{
if( empresa == null || hasEmpresa( normalizacao, empresa ) )
{
DefaultMutableTreeNode normalizacaoNode = new DefaultMutableTreeNode( normalizacao );
portuguesa.add( normalizacaoNode );
}
}
for( HsNormalizacao normalizacao : planoProvider.getNormalizacao( false ) )
{
if( empresa == null || hasEmpresa( normalizacao, empresa ) )
{
DefaultMutableTreeNode normalizacaoNode = new DefaultMutableTreeNode( normalizacao );
internacional.add( normalizacaoNode );
}
}
result.add( portuguesa );
result.add( internacional );
return result;
}
private static boolean hasEmpresa( HsNormalizacao normalizacao, Empresas empresa )
{
boolean result = false;
if( normalizacao != null && empresa != null )
{
for( HsNormalizacaoEmpresa rel : normalizacao.getHsNormalizacaoEmpresaArray())
{
result = empresa.equals( rel.getToEmpresa() );
if( result )
{
break;
}
}
}
return result;
}
public static DefaultMutableTreeNode getLegislacaoTree( Empresas empresa )
{
DefaultMutableTreeNode result = new DefaultMutableTreeNode();
DefaultMutableTreeNode geral = new DefaultMutableTreeNode( "Legisla" + ccedil + atilde + "o de aplica" + ccedil + atilde + "o geral" );
DefaultMutableTreeNode especifica = new DefaultMutableTreeNode( "Legisla" + ccedil + atilde + "o espec" + iacute + "fica" );
for( HsLegislacao legislacao : planoProvider.getAllLegislacaoGeral() )
{
if( empresa == null || hasEmpresa( legislacao, empresa ) )
{
DefaultMutableTreeNode legislacaoNode = new DefaultMutableTreeNode( legislacao );
geral.add( legislacaoNode );
}
}
for( HsLegislacaoCategoria categoria : planoProvider.getAllLegislacaoCategorias( ) )
{
boolean addCategory = false;
DefaultMutableTreeNode categoriaNode = new DefaultMutableTreeNode( categoria );
for( HsLegislacao legislacao : categoria.getHsLegislacaoArray() )
{
if( empresa == null || hasEmpresa( legislacao, empresa ) )
{
DefaultMutableTreeNode legislacaoNode = new DefaultMutableTreeNode( legislacao );
categoriaNode.add( legislacaoNode );
addCategory = true;
}
}
if( addCategory)
{
especifica.add( categoriaNode );
}
}
result.add( geral );
result.add( especifica );
return result;
}
private static boolean hasEmpresa( HsLegislacao legislacao, Empresas empresa )
{
boolean result = false;
if( legislacao != null && empresa != null )
{
for( HsLegislacaoEmpresa rel : legislacao.getHsLegislacaoEmpresaArray() )
{
result = empresa.equals( rel.getToHsEmpresa() );
if( result )
{
break;
}
}
}
return result;
}
}

@ -9,9 +9,9 @@ public class AreaNode extends DefaultMutableTreeNode
private static final long serialVersionUID = 1L;
public AreaNode( HsArea risco )
public AreaNode( HsArea area )
{
super( risco );
super( area );
}
}

Loading…
Cancel
Save