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; } }