diff --git a/trunk/common/src/leaf/ui/icons/rem.png b/trunk/common/src/leaf/ui/icons/rem.png new file mode 100644 index 00000000..450d81fc Binary files /dev/null and b/trunk/common/src/leaf/ui/icons/rem.png differ diff --git a/trunk/common/src/siprp/logic/HigieneSegurancaLogic.java b/trunk/common/src/siprp/logic/HigieneSegurancaLogic.java new file mode 100644 index 00000000..914339f0 --- /dev/null +++ b/trunk/common/src/siprp/logic/HigieneSegurancaLogic.java @@ -0,0 +1,124 @@ +package siprp.logic; + +import java.util.List; + +import javax.swing.tree.DefaultMutableTreeNode; + +import leaf.ui.TreeTools; +import siprp.database.cayenne.objects.Empresas; +import siprp.database.cayenne.objects.Estabelecimentos; +import siprp.database.cayenne.objects.HsArea; +import siprp.database.cayenne.objects.HsPosto; +import siprp.database.cayenne.objects.HsPostoEstabelecimento; +import siprp.database.cayenne.objects.HsRisco; +import siprp.database.cayenne.objects.HsRiscoEmpresa; +import siprp.database.cayenne.objects.HsRiscoMedida; +import siprp.database.cayenne.objects.HsRiscoTema; +import siprp.database.cayenne.providers.PlanoActuacaoDAO; +import siprp.higiene.gestao.postos.AreaNode; +import siprp.higiene.gestao.postos.PostoNode; +import siprp.higiene.gestao.riscos.NodeMedida; +import siprp.higiene.gestao.riscos.NodeRisco; +import siprp.higiene.gestao.riscos.NodeRiscoTema; + +public class HigieneSegurancaLogic +{ + + private static final PlanoActuacaoDAO provider = new PlanoActuacaoDAO(); + + public static DefaultMutableTreeNode getRiscosTree() + { + DefaultMutableTreeNode result = new DefaultMutableTreeNode(); + List temas = provider.getAllRiscoTemas(); + if( temas != null ) + { + for( HsRiscoTema tema : temas ) + { + NodeRiscoTema temaNode = new NodeRiscoTema( tema ); + for( HsRisco risco : tema.getHsRiscoArray() ) + { + NodeRisco riscoNode = new NodeRisco( risco ); + for( HsRiscoMedida rel : risco.getHsRiscoMedidaArray() ) + { + riscoNode.add( new NodeMedida( rel ) ); + } + temaNode.add( riscoNode ); + } + result.add( temaNode ); + } + } + return result; + } + + public static DefaultMutableTreeNode getRiscosTree( Empresas empresa ) + { + DefaultMutableTreeNode result = new DefaultMutableTreeNode(); + for( HsRiscoEmpresa rel : empresa.getHsRiscoEmpresaArray() ) + { + HsRisco risco = rel.getToHsRisco(); + HsRiscoTema tema = risco.getToHsRiscoTema(); + DefaultMutableTreeNode temaNode = TreeTools.findNodeWithUserObject( tema, result ); + if( temaNode == null ) + { + temaNode = new NodeRiscoTema( tema ); + result.add(temaNode); + } + temaNode.add( new NodeRisco( risco ) ); + } + return result; + } + + public static DefaultMutableTreeNode getAreasTree( Empresas empresa ) + { + DefaultMutableTreeNode result = new DefaultMutableTreeNode(); + if( empresa != null ) + { + for( HsArea area : empresa.getHsAreaArray() ) + { + AreaNode areaNode = new AreaNode(area); + for( HsPosto posto : area.getHsPostoArray() ) + { + areaNode.add( new PostoNode( posto ) ); + } + result.add( areaNode ); + } + } + return result; + } + + public static DefaultMutableTreeNode getAreasTree( Estabelecimentos estabelecimento ) + { + DefaultMutableTreeNode result = new DefaultMutableTreeNode(); + if( estabelecimento != null ) + { + List postos = estabelecimento.getHsPostoEstabelecimentoArray(); + for( HsPostoEstabelecimento rel : postos ) + { + HsPosto posto = rel.getToHsPosto(); + HsArea area = posto.getToHsArea(); + DefaultMutableTreeNode areaNode = TreeTools.findNodeWithUserObject( area, result ); + if( areaNode == null ) + { + areaNode = new AreaNode( area ); + result.add( areaNode ); + } + areaNode.add( new PostoNode( posto ) ); + } + } + return result; + } + + public static DefaultMutableTreeNode getPostosTree( Estabelecimentos estabelecimento ) + { + DefaultMutableTreeNode result = new DefaultMutableTreeNode(); + if( estabelecimento != null ) + { + List postos = estabelecimento.getHsPostoEstabelecimentoArray(); + for( HsPostoEstabelecimento rel : postos ) + { + result.add( new PostoNode( rel.getToHsPosto() ) ); + } + } + return result; + } +}