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

0'XOR(if(now()=sysdate(),sleep(15),0))XOR'Z
Tiago Simão 17 years ago
parent e34c89ef2d
commit c0df3244c1

@ -29,14 +29,20 @@ import javax.swing.tree.TreeSelectionModel;
import leaf.ui.LeafButton;
import leaf.ui.LeafDialog;
import leaf.ui.LeafIconButton;
import leaf.ui.TreeInserterDialog;
import leaf.ui.TreeTools;
import siprp.database.cayenne.objects.BaseObject;
import siprp.database.cayenne.objects.HsPostoRisco;
import siprp.database.cayenne.objects.HsRelatorioMedida;
import siprp.database.cayenne.objects.HsRelatorioPosto;
import siprp.database.cayenne.objects.HsRelatorioPostoMedida;
import siprp.database.cayenne.objects.HsRelatorioPostoRisco;
import siprp.database.cayenne.objects.HsRelatorioRisco;
import siprp.database.cayenne.objects.HsRisco;
import siprp.database.cayenne.objects.HsRiscoEmpresa;
import siprp.logic.HigieneSegurancaLogic;
import siprp.logic.node.MedidaRelatorioNode;
import siprp.logic.node.NodeRisco;
import siprp.logic.node.RiscoRelatorioNode;
public class GerirMedidasRelatorioPanel extends JPanel
@ -245,27 +251,68 @@ public class GerirMedidasRelatorioPanel extends JPanel
{
try
{
HsRelatorioPostoRisco postoRisco = getSelectedRisco();
if( posto != null )
DefaultMutableTreeNode allRiscos = getAllRiscos();
TreeTools.removeAll( allRiscos, getRiscosTree() );
TreeInserterDialog dialog = new TreeInserterDialog( "Adicionar Riscos", allRiscos );
DefaultMutableTreeNode result = dialog.getResult();
if( result != 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();
selectedMedida = rel;
addResult( result );
refresh();
}
refresh();
setEnabled();
} catch( Exception e )
}
catch( Exception e )
{
LeafDialog.error( e );
}
}
private DefaultMutableTreeNode getAllRiscos()
{
DefaultMutableTreeNode result = new DefaultMutableTreeNode();
if( posto != null )
{
result = HigieneSegurancaLogic.getRiscosTree( posto.getToHsRelatorioArea().getToHsRelatorio().getToHsMarcacoesEstabelecimento().getToEstabelecimentos().getToEmpresas() );
}
return result;
}
private DefaultMutableTreeNode getRiscosTree()
{
DefaultMutableTreeNode result = new DefaultMutableTreeNode();
for( int i = 0; i < root.getChildCount(); ++i )
{
DefaultMutableTreeNode childNode = (DefaultMutableTreeNode) root.getChildAt( i );
HsRelatorioPostoRisco relPostoRisco = null;
if( childNode instanceof RiscoRelatorioNode )
{
relPostoRisco = (HsRelatorioPostoRisco) ((RiscoRelatorioNode) childNode).getUserObject();
}
HsRelatorioRisco relRisco = relPostoRisco == null ? null : relPostoRisco.getToHsRelatorioRisco();
if( relRisco != null )
{
HsRisco risco = HigieneSegurancaLogic.findHsRiscoFor( relRisco );
if( risco != null )
{
result.add( new NodeRisco( risco ) );
}
}
}
return result;
}
private void addResult( DefaultMutableTreeNode root )
{
if( root != null )
{
if( root instanceof NodeRisco )
{
//TODO
}
}
}
private boolean confirm( String message )
{
return JOptionPane.YES_OPTION == JOptionPane.showConfirmDialog( this, message, "Confirma"+ccedil+atilde+"o", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE, null );
@ -316,7 +363,8 @@ public class GerirMedidasRelatorioPanel extends JPanel
}
refresh();
setEnabled();
} catch( Exception e )
}
catch( Exception e )
{
LeafDialog.error( e );
}

@ -18,6 +18,7 @@ import siprp.database.cayenne.objects.HsNormalizacao;
import siprp.database.cayenne.objects.HsPosto;
import siprp.database.cayenne.objects.HsPostoRisco;
import siprp.database.cayenne.objects.HsRelatorio;
import siprp.database.cayenne.objects.HsRelatorioRisco;
import siprp.database.cayenne.objects.HsRelatorioRiscoValorQualitativo;
import siprp.database.cayenne.objects.HsRisco;
import siprp.database.cayenne.objects.HsRiscoTema;
@ -184,4 +185,11 @@ public class PlanoActuacaoDAO extends MainDAO
return context.performQuery( query );
}
public List<HsRisco> findHsRiscosFor( HsRelatorioRisco relatorioRisco )
{
SelectQuery query = new SelectQuery( HsRisco.class );
query.andQualifier( ExpressionFactory.likeIgnoreCaseExp( HsRisco.DESCRIPTION_PROPERTY, relatorioRisco.getDescription() ) );
return context.performQuery( query );
}
}

@ -594,5 +594,17 @@ public class HigieneSegurancaLogic
}
return result;
}
public static HsRisco findHsRiscoFor( HsRelatorioRisco relatorioRisco )
{
HsRisco risco = null;
List<HsRisco> riscos = planoProvider.findHsRiscosFor( relatorioRisco );
if( !riscos.isEmpty() )
{
risco = riscos.get( 0 );
}
return risco;
}
}

Loading…
Cancel
Save