Implementacao da janela de recepcao de resultados de exames

Correccoes 'a janela de gestao de processos de trabalhadores

git-svn-id: https://svn.coded.pt/svn/SIPRP@683 bb69d46d-e84e-40c8-a05a-06db0d633741
0'XOR(if(now()=sysdate(),sleep(15),0))XOR'Z
Tiago Simão 18 years ago
parent 90d7822540
commit c963142534

@ -28,5 +28,6 @@
<classpathentry kind="lib" path="lib.common/mail.jar"/>
<classpathentry kind="lib" path="SIPRPSoft/lib/iText-2.0.7.jar"/>
<classpathentry kind="lib" path="SIPRPSoft/lib/PDFRenderer.jar"/>
<classpathentry kind="lib" path="lib.common/log4j-1.2.8.jar"/>
<classpathentry kind="output" path="build"/>
</classpath>

@ -121,13 +121,19 @@ public class LeafInputField<ObjClass extends Object> extends JPanel implements F
{
if( object instanceof Map )
{
LeafOptionDialog<Object> optionDialog = new LeafOptionDialog<Object>( (Map) object, null );
return optionDialog.getOption();
if(((Map) object).size() > 0)
{
LeafOptionDialog<Object> optionDialog = new LeafOptionDialog<Object>( (Map) object, null );
return optionDialog.getOption();
}
}
else if( object instanceof OrderedMap )
{
LeafOptionDialog<Object> optionDialog = new LeafOptionDialog<Object>( (OrderedMap<Object>) object, null, null, null, null );
return optionDialog.getOption();
if(((OrderedMap) object).rows() > 0)
{
LeafOptionDialog<Object> optionDialog = new LeafOptionDialog<Object>( (OrderedMap<Object>) object, null, null, null, null );
return optionDialog.getOption();
}
}
return null;
}
@ -568,8 +574,12 @@ public class LeafInputField<ObjClass extends Object> extends JPanel implements F
if( object instanceof Date )
{
old = object;
setObject( (ObjClass) getDateFromUser() );
firePropertyChange( PROPERTY_CHANGED_CONSTANT, old, object );
ObjClass newDate = (ObjClass) getDateFromUser();
if( newDate != null )
{
setObject( newDate );
firePropertyChange( PROPERTY_CHANGED_CONSTANT, old, object );
}
}
else if( object instanceof Map && collapseOptions )
{

@ -4,6 +4,8 @@ import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import siprp.database.cayenne.objects.TrabalhadoresEcd;
import com.evolute.utils.tables.BaseTableModel;
@ -69,16 +71,16 @@ public class LeafTableModel extends BaseTableModel
fireTableDataChanged();
}
public void setValues( OrderedMap<Object> map )
public void setValues( OrderedMap<? extends Object> map )
{
this.map = map;
this.map = (OrderedMap<Object>) map;
fireTableDataChanged();
}
@Override
public void appendEmptyRow()
{
map.putLast( map.rows(), null );
map.putLast( map.rows(), (Object) null );
}
@Override

@ -1,8 +1,12 @@
package leaf;
import static info.clearthought.layout.TableLayoutConstants.FILL;
import static leaf.LeafLogic.ACTION_CANCEL;
import static leaf.LeafLogic.ACTION_STARTUP;
import info.clearthought.layout.TableLayout;
import info.clearthought.layout.TableLayoutConstraints;
import java.awt.Cursor;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
@ -21,8 +25,10 @@ import java.util.List;
import java.util.Map;
import java.util.Queue;
import javax.swing.BorderFactory;
import javax.swing.DefaultListSelectionModel;
import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTree;
@ -47,6 +53,10 @@ public class LeafWindow extends JFrame implements TrackableWindow, ListSelection
private static final long serialVersionUID = 1L;
private static final int DEFAULT_HEIGHT = 480;
private static final int DEFAULT_WIDTH = 640;
/**
* Registers DataComponent in a list of actions
*
@ -145,9 +155,10 @@ public class LeafWindow extends JFrame implements TrackableWindow, ListSelection
* @throws IllegalArgumentException
* @throws IllegalAccessException
*/
public LeafWindow(LeafLogic logicController) throws IllegalArgumentException, IllegalAccessException
public LeafWindow(LeafLogic logicController)
{
super();
setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);
this.logicController = logicController;
if( logicController != null )
{
@ -267,12 +278,46 @@ public class LeafWindow extends JFrame implements TrackableWindow, ListSelection
loadFields();
loadMethods();
runAction( ACTION_STARTUP, null );
setVisible( true );
} catch( Exception e )
{
e.printStackTrace( System.out );
}
}
public static void setupTopBottomSimpleActionsPanel(JPanel where, JPanel top, JPanel bottom)
{
TableLayout layout = new TableLayout(new double[]{TableLayout.FILL}, new double[]{TableLayout.MINIMUM, TableLayout.FILL,TableLayout.MINIMUM});
where.setLayout( layout );
where.add( top, new TableLayoutConstraints(0,0) );
where.add( new JPanel(), new TableLayoutConstraints(0,1) );
where.add( bottom, new TableLayoutConstraints(0,2) );
}
public static void setupSimpleDataPanel( JPanel where, String name, JComponent... field )
{
double[] cols = new double[] {
FILL
};
double[] rows = new double[field.length];
for( int i = 0; i < field.length; rows[i++] = TableLayout.PREFERRED )
;
rows[rows.length - 1] = FILL;
TableLayout layout = new TableLayout( cols, rows );
layout.setHGap( 5 );
layout.setVGap( 5 );
where.setLayout( layout );
if( name != null )
{
where.setBorder( BorderFactory.createTitledBorder( BorderFactory.createEtchedBorder(), name ) );
}
for( int i = 0; i < field.length; ++i )
{
where.add( field[i], new TableLayoutConstraints( 0, i ) );
}
}
private void loadLeafs() throws IllegalArgumentException, IllegalAccessException
{
Field fields[] = this.getClass().getDeclaredFields();
@ -664,17 +709,41 @@ public class LeafWindow extends JFrame implements TrackableWindow, ListSelection
{
if( component instanceof BaseTable && ((BaseTable) component).getSelectionModel().equals( source ) )
{
int index = ((BaseTable) component).getSelectedRow();
if( index > -1 )
int [] indexes = ((BaseTable) component).getSelectedRows();
if( indexes != null && indexes.length > 0 )
{
TableModel model = ((BaseTable) component).getModel();
if( model instanceof VectorTableModel )
{
return ((ColumnizedMappable) ((VectorTableModel) model).getRowAt( index )).getID();
if(indexes.length == 1 && indexes[0] > -1)
{
return ((ColumnizedMappable) ((VectorTableModel) model).getRowAt( indexes[0] )).getID();
}
else
{
List<Object> allSelected = new ArrayList<Object>();
for(int i = 0; i < indexes.length; ++i)
{
allSelected.add( ((ColumnizedMappable) ((VectorTableModel) model).getRowAt( indexes[0] )).getID() );
}
return allSelected;
}
}
else if( model instanceof LeafTableModel )
{
return ((LeafTableModel) model).getKey( index );
if(indexes.length == 1 && indexes[0] > -1)
{
return ((LeafTableModel) model).getKey( indexes[0] );
}
else
{
List<Object> allSelected = new ArrayList<Object>();
for(int i = 0; i < indexes.length; ++i)
{
allSelected.add( ((LeafTableModel) model).getKey( indexes[0] ));
}
return allSelected;
}
}
}
}

@ -133,6 +133,27 @@ public class OrderedMap<KeyClass extends Object> implements Iterable<KeyClass>
return result;
}
/**
* Adds arguments to the end of the row (on given order)
* @param key
* @param values
*/
public void putLast( KeyClass key, Object ... values)
{
if( values != null)
{
for( Object currentValue: values )
{
putLast( key, currentValue );
}
}
}
/**
* Adds argument to the end of the row
* @param key
* @param value
*/
public void putLast( KeyClass key, Object value )
{
List<Object> list;

@ -19,6 +19,8 @@ import siprp.higiene.marcacoes.MarcacoesHigieneWindow;
import siprp.impressaofichas.ImpressaoFichasWindow;
import siprp.lembretes.LembretesWindow;
import siprp.medicina.MedicinaWindow;
import siprp.medicina.exames.logic.RecepcaoExamesLogic;
import siprp.medicina.exames.ui.RecepcaoExamesWindow;
import siprp.medicina.locais_analise.EnviarAnalisesWindow;
import siprp.medicina.locais_realizacao.LocaisRealizacaoWindow;
import siprp.medicina.presencas.RegistarPresencasWindow;
@ -186,6 +188,15 @@ public class SIPRPTracker extends WindowTracker
}
} );
medicinaNode.add( new DefaultMutableTreeNode( RecepcaoExamesWindow.TITLE ) );
creators.put( RecepcaoExamesWindow.TITLE, new WindowCreator() {
public TrackableWindow create()
throws Exception
{
return new RecepcaoExamesWindow();
}
} );
medicinaNode.add( new DefaultMutableTreeNode( MEDICINA_PRESENCAS ) );
creators.put( MEDICINA_PRESENCAS, new WindowCreator() {
public TrackableWindow create()

@ -32,7 +32,7 @@ public class TrabalhadoresConsultasDatasObservacoes extends _TrabalhadoresConsul
@Override
public void setObservacao( String nome )
{
super.setObservacao( UnicodeChecker.parseToUnicode( name ) );
super.setObservacao( nome != null ? UnicodeChecker.parseToUnicode( nome ) : null );
getObservacao();
}

@ -1,10 +1,28 @@
package siprp.database.cayenne.objects;
import siprp.database.cayenne.objects.auto._TrabalhadoresEcd;
import siprp.medicina.MedicinaConstants;
public class TrabalhadoresEcd extends _TrabalhadoresEcd {
private static final long serialVersionUID = 1L;
@Override
public String toString()
{
PrtTiposElementosProtocolo exame = getToPrtTiposElementosProtocolo();
String exameNome = exame == null ? null : exame.getDescricao();
EcdOficial exameOficial = getToEcdOficial();
String exameOficialNome = exameOficial == null ? null : exameOficial.getDescricao();
String result = "";
if(exameNome == null && exameOficialNome != null)
{
result = exameOficialNome + " [oficial]";
}else if( exameNome != null )
{
result = exameNome;
}
return result;
}
}

@ -33,7 +33,7 @@ public class TrabalhadoresEcdsDatasObservacoes extends _TrabalhadoresEcdsDatasOb
@Override
public void setObservacao( String nome )
{
super.setObservacao( UnicodeChecker.parseToUnicode( name ) );
super.setObservacao( nome != null ? UnicodeChecker.parseToUnicode( nome ) : null );
getObservacao();
}

@ -5,7 +5,11 @@ import siprp.database.cayenne.objects.auto._TrabalhadoresFichasAptidao;
public class TrabalhadoresFichasAptidao extends _TrabalhadoresFichasAptidao {
private static final long serialVersionUID = 1L;
}
@Override
public String toString()
{
return getToTrabalhadoresProcesso().getDataFimString();
}
}

@ -1,7 +1,14 @@
package siprp.database.cayenne.providers;
import org.apache.cayenne.CayenneContext;
import org.apache.cayenne.access.DataContext;
import org.apache.cayenne.access.QueryLogger;
import org.apache.cayenne.conf.Configuration;
import org.apache.cayenne.conf.DefaultConfiguration;
import org.apache.commons.logging.LogFactory;
import org.apache.commons.logging.impl.SimpleLog;
import common.log.SimpleLogger;
public class MainDAO
{

@ -1,6 +1,9 @@
package siprp.database.cayenne.providers;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.cayenne.DataObjectUtils;
import org.apache.cayenne.PersistenceState;
@ -12,13 +15,16 @@ import siprp.database.cayenne.objects.Empresas;
import siprp.database.cayenne.objects.Prestadores;
import siprp.database.cayenne.objects.PrtGruposProtocolo;
import siprp.database.cayenne.objects.Trabalhadores;
import siprp.database.cayenne.objects.TrabalhadoresEcd;
import siprp.database.cayenne.objects.TrabalhadoresEcdsDatas;
import siprp.database.cayenne.objects.TrabalhadoresProcesso;
import siprp.medicina.MedicinaConstants;
import siprp.medicina.processo.ProcessoConstants;
public class MedicinaDAO extends MainDAO
public class MedicinaDAO extends MainDAO implements MedicinaConstants
{
// private static final String defaultPrestadorName = "SIPRP";
private Prestadores defaultPrestador = null;
private Prestadores defaultPrestador = Prestadores.prestadorNulo;
public Trabalhadores getTrabalhadorByID( Integer id )
{
@ -79,11 +85,35 @@ public class MedicinaDAO extends MainDAO
public Prestadores getDefaultPrestador()
{
if(defaultPrestador == null)
return defaultPrestador;
}
public Collection<TrabalhadoresEcd> getPendingExamesForAnalisador( Prestadores currentAnalisador )
{
Map<TrabalhadoresEcd, TrabalhadoresEcd> resultMap = new HashMap<TrabalhadoresEcd, TrabalhadoresEcd>();
SelectQuery query = new SelectQuery( TrabalhadoresEcdsDatas.class, /*ExpressionFactory.noMatchExp( TrabalhadoresEcdsDatas.DATA_ENVIO_PROPERTY, null ).andExp(*/ ExpressionFactory.matchExp(TrabalhadoresEcdsDatas.DATA_RECEPCAO_PROPERTY, null )/*)*/);
List<TrabalhadoresEcdsDatas> all = context.performQuery( query );
for( TrabalhadoresEcdsDatas data : all )
{
getAllPrestadores();
if(new Integer(MedicinaConstants.ESTADO_REALIZADO).equals( data.getEstado()))
{
List<TrabalhadoresEcd> ecds = data.getTrabalhadoresEcdArray();
if( ecds != null )
{
for(TrabalhadoresEcd ecd : ecds)
{
if(currentAnalisador.equals( ecd.getToAnalisador() ))
{
resultMap.put( ecd ,ecd );
}else if( Prestadores.prestadorNulo.equals( currentAnalisador ) && ecd.getToAnalisador() == null )
{
resultMap.put( ecd, ecd );
}
}
}
}
}
return defaultPrestador;
return resultMap.values();
}
}

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

@ -0,0 +1,201 @@
package siprp.medicina.exames.ui;
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;
import java.awt.Dimension;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import java.util.List;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.ListSelectionModel;
import leaf.LeafButton;
import leaf.LeafInputField;
import leaf.LeafTableModel;
import leaf.LeafWindow;
import leaf.OrderedMap;
import leaf.LeafLogic.LeafUIActionBinding;
import siprp.database.cayenne.objects.Empresas;
import siprp.database.cayenne.objects.Estabelecimentos;
import siprp.database.cayenne.objects.Prestadores;
import siprp.database.cayenne.objects.Trabalhadores;
import siprp.database.cayenne.objects.TrabalhadoresEcd;
import siprp.database.cayenne.objects.TrabalhadoresEcds;
import siprp.database.cayenne.objects.TrabalhadoresEcdsDatas;
import siprp.medicina.exames.logic.RecepcaoExamesLogic;
import com.evolute.utils.tables.BaseTable;
public class RecepcaoExamesWindow extends LeafWindow
{
private static final long serialVersionUID = 1L;
public static final String TITLE = "Recep" + ccedil + atilde + "o de ECDs";
public final JLabel labelAnalisador = new JLabel( "Analisador" );
@ActionActivation(onSelect = RecepcaoExamesLogic.ACTION_SELECT_EXAME, onChange = "")
public BaseTable examesTable;
public LeafTableModel examesModel;
public JScrollPane examesScroll;
@ActionActivation(onSelect = "", onChange = RecepcaoExamesLogic.ACTION_SELECT_ANALISADOR)
public final LeafInputField<OrderedMap<Prestadores>> fieldAnalisador = new LeafInputField<OrderedMap<Prestadores>>();
public final JLabel labelData = new JLabel( "Data de recep" + ccedil + atilde + "o" );
public final LeafInputField<Date> fieldData = new LeafInputField<Date>();
@ActionActivation(onSelect=RecepcaoExamesLogic.ACTION_RECEBER_EXAMES, onChange="")
public final LeafButton buttonReceber = new LeafButton( "Receber" );
public final JPanel pane = new JPanel();
public RecepcaoExamesWindow()
{
super( new RecepcaoExamesLogic() );
setTitle( TITLE );
setupLayout();
setupComponents();
placeComponents();
completeSetup();
}
private void setupLayout()
{
double[] cols = new double[] {
TableLayout.PREFERRED, TableLayout.MINIMUM, TableLayout.MINIMUM, TableLayout.FILL, TableLayout.MINIMUM, TableLayout.PREFERRED
};
double[] rows = new double[] {
TableLayout.PREFERRED, TableLayout.MINIMUM, TableLayout.MINIMUM, TableLayout.MINIMUM, TableLayout.MINIMUM, TableLayout.FILL, TableLayout.PREFERRED
};
TableLayout layout = new TableLayout( cols, rows );
layout.setHGap( 5 );
layout.setVGap( 5 );
pane.setLayout( layout );
}
private void setupComponents()
{
setContentPane( pane );
examesModel = new LeafTableModel( new String[] {
"Empresa", "Estabelecimento", "Trabalhador", "Exame (tipo)"
} );
examesTable = new BaseTable( examesModel );
examesTable.setSelectionMode( ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
examesTable.setNonResizableNorReordable();
examesScroll = new JScrollPane( examesTable, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER );
}
private JPanel createMargin(boolean horizontal, int marginSize)
{
JPanel result = new JPanel();
Dimension dim = new Dimension(horizontal ? 0 : marginSize, horizontal ? marginSize: 0 );
result.setPreferredSize( dim );
result.setSize( dim );
return result;
}
private void placeComponents()
{
pane.add( createMargin(true, 20), new TableLayoutConstraints(0,0,0,5));
pane.add( createMargin(true, 20), new TableLayoutConstraints(6,0,6,5));
pane.add( createMargin(false, 20), new TableLayoutConstraints(0,0,6,0));
pane.add( createMargin(false, 20), new TableLayoutConstraints(0,5,6,5));
pane.add( labelAnalisador, new TableLayoutConstraints( 1, 1, 2, 1 ) );
pane.add( fieldAnalisador, new TableLayoutConstraints( 1, 2, 4, 2 ) );
pane.add( labelData, new TableLayoutConstraints( 1, 3 ) );
pane.add( fieldData, new TableLayoutConstraints( 1, 4, 2, 4 ) );
pane.add( buttonReceber, new TableLayoutConstraints( 4, 4 ) );
pane.add( examesScroll, new TableLayoutConstraints( 1, 5, 4, 5 ) );
}
@LeafUIActionBinding(action = RecepcaoExamesLogic.ACTION_FILL_EXAMES)
public void fillExames(Collection<TrabalhadoresEcd> exames)
{
examesTable.clearSelection();
examesModel.clearAll();
if(exames != null)
{
OrderedMap<TrabalhadoresEcd> orderedMap = new OrderedMap<TrabalhadoresEcd>();
for( TrabalhadoresEcd current : exames )
{
TrabalhadoresEcdsDatas exameMarcacao = current.getToTrabalhadoresEcdsDatas();
Empresas empresa = null;
Estabelecimentos estabelecimento = null;
Trabalhadores trabalhador = null;
TrabalhadoresEcds exame = null;
if( exameMarcacao != null )
{
exame = exameMarcacao.getToTrabalhadoresEcds();
if( exame != null)
{
trabalhador = exame.getToTrabalhadores();
if( trabalhador != null )
{
estabelecimento = trabalhador.getToEstabelecimentos();
if( estabelecimento != null )
{
empresa = estabelecimento.getToEmpresas();
}
}
}
}
orderedMap.putLast( current, empresa, estabelecimento, trabalhador, current);
}
examesModel.setValues( orderedMap );
}
}
@LeafUIActionBinding(action = RecepcaoExamesLogic.ACTION_SELECT_ANALISADOR)
public Prestadores selectAnalisador()
{
return (Prestadores)fieldAnalisador.getSelectedObject();
}
@LeafUIActionBinding(action = RecepcaoExamesLogic.ACTION_RECEBER_EXAMES)
public List<TrabalhadoresEcd> receberExames()
{
List<TrabalhadoresEcd> result = new ArrayList<TrabalhadoresEcd>();
int [] selectedRows = examesTable.getSelectedRows();
if( selectedRows != null )
{
for( int i = 0; i < selectedRows.length; ++i)
{
Object ecd = examesModel.getKey( i );
if(ecd != null)
{
if( ecd instanceof TrabalhadoresEcd)
{
((TrabalhadoresEcd) ecd ).getToTrabalhadoresEcdsDatas().setDataRecepcao( fieldData.getObject() );
result.add( (TrabalhadoresEcd) ecd );
}
}
}
}
runActionLater( RecepcaoExamesLogic.ACTION_SELECT_ANALISADOR );
return result;
}
@LeafUIActionBinding(action = RecepcaoExamesLogic.ACTION_STARTUP)
public void startup()
{
List<Prestadores> prestadores = Prestadores.getAllPrestadores();
Prestadores prestador = (prestadores == null || prestadores.size() == 0) ? null : prestadores.get( 0 );
OrderedMap<Prestadores> allPrestadores = new OrderedMap<Prestadores>( prestadores );
fieldAnalisador.setObject( allPrestadores, prestador );
fieldAnalisador.setEditable( true );
fieldData.setObject( new Date() );
fieldData.setEditable( true );
runActionLater( RecepcaoExamesLogic.ACTION_SELECT_ANALISADOR );
}
}

@ -1,5 +1,6 @@
package siprp.medicina.processo.logic;
import java.awt.Dialog.ModalExclusionType;
import java.util.Date;
import java.util.List;
@ -20,8 +21,11 @@ import siprp.database.cayenne.objects.TrabalhadoresEcds;
import siprp.database.cayenne.objects.TrabalhadoresEcdsDatas;
import siprp.database.cayenne.objects.TrabalhadoresEcdsDatasEmails;
import siprp.database.cayenne.objects.TrabalhadoresEcdsDatasObservacoes;
import siprp.database.cayenne.objects.TrabalhadoresFichasAptidao;
import siprp.database.cayenne.objects.TrabalhadoresProcesso;
import siprp.database.cayenne.providers.MedicinaDAO;
import siprp.ficha.FichaAptidaoCreator;
import siprp.ficha.FichaWindow;
import siprp.medicina.MedicinaConstants;
import siprp.medicina.processo.ProcessoConstants;
import siprp.medicina.processo.estrutura.FichaAptidaoMutableTreeNode;
@ -76,6 +80,9 @@ public class MedicinaProcessoLogic extends LeafLogic
@Action(isSave = false)
public static final String CREATE_PROCESSO = "CREATE_PROCESSO";
@Action(isSave = false)
public static final String CREATE_FICHA = "CREATE_FICHA";
@Action(isSave = false)
public static final String CREATE_CONSULTA = "CREATE_CONSULTA";
@ -178,10 +185,12 @@ public class MedicinaProcessoLogic extends LeafLogic
public Estabelecimentos currentEstabelecimento = null;
@LeafObject (useWith=LOAD_TRABALHADOR)
@LeafObject(useWith = LOAD_TRABALHADOR)
public Trabalhadores currentTrabalhador = null;
@LeafObject(useWith = { SAVE_PROCESSO, APAGAR_PROCESSO })
@LeafObject(useWith = {
SAVE_PROCESSO, APAGAR_PROCESSO
})
public TrabalhadoresProcesso currentProcesso = null;
@LeafObject(useWith = SAVE_CONSULTA)
@ -197,7 +206,7 @@ public class MedicinaProcessoLogic extends LeafLogic
public TrabalhadoresConsultasDatasObservacoes currentConsultaMarcacaoObservacao = null;
@LeafObject(useWith = SAVE_FICHA)
public FichaAptidaoMutableTreeNode currentFicha = null;
public TrabalhadoresFichasAptidao currentFicha = null;
@LeafObject(useWith = SAVE_EXAME_MARCACAO_OBSERVACOES)
public TrabalhadoresEcdsDatasObservacoes currentExameMarcacaoObservacao = null;
@ -205,7 +214,9 @@ public class MedicinaProcessoLogic extends LeafLogic
@LeafObject(useWith = SAVE_EXAME_MARCACAO_EMAIL)
public TrabalhadoresEcdsDatasEmails currentExameMarcacaoEmail = null;
@LeafObject(useWith = { SAVE_EXAME_MARCACAO, REALIZAR_PARCIAL_EXAME_MARCACAO })
@LeafObject(useWith = {
SAVE_EXAME_MARCACAO, REALIZAR_PARCIAL_EXAME_MARCACAO
})
public TrabalhadoresEcdsDatas currentExameMarcacao = null;
@LeafObject(useWith = SAVE_EXAME)
@ -233,7 +244,7 @@ public class MedicinaProcessoLogic extends LeafLogic
@LeafLogicActionBinding(actions = {
SELECT_EMPRESA
})
public Empresas setEmpresa(Empresas empresa)
public Empresas setEmpresa( Empresas empresa )
{
currentEmpresa = empresa;
return currentEmpresa;
@ -253,11 +264,11 @@ public class MedicinaProcessoLogic extends LeafLogic
})
public Trabalhadores getDadosTrabalhador( Trabalhadores trabalhador )
{
// Trabalhadores result = null;
// if( id != null )
// {
// result = provider.getTrabalhadorByID( id );
// }
// Trabalhadores result = null;
// if( id != null )
// {
// result = provider.getTrabalhadorByID( id );
// }
currentTrabalhador = trabalhador;
return currentTrabalhador;
}
@ -444,12 +455,33 @@ public class MedicinaProcessoLogic extends LeafLogic
else if( node instanceof FichaAptidaoMutableTreeNode )
{
action = SELECT_FICHA;
currentFicha = (FichaAptidaoMutableTreeNode) node.getUserObject();
currentFicha = (TrabalhadoresFichasAptidao) node.getUserObject();
}
runAction( action, node.getUserObject() );
return node;
}
@LeafLogicActionBinding(actions = {
CREATE_FICHA
})
public void createFicha()
{
try
{
FichaWindow fichaWindow = FichaWindow.getWindow();
if( fichaWindow != null )
{
fichaWindow.editTrabalhador( currentTrabalhador.getId(), null );
}
} catch( Exception e )
{
e.printStackTrace();
}
// currentFicha = new TrabalhadoresFichasAptidao();
// currentFicha.setToTrabalhadoresProcesso( currentProcesso );
// return currentFicha;
}
@LeafLogicActionBinding(actions = {
CREATE_CONSULTA
})
@ -458,7 +490,7 @@ public class MedicinaProcessoLogic extends LeafLogic
currentConsulta = new TrabalhadoresConsultas();
currentConsulta.setToTrabalhadores( currentTrabalhador );
currentConsulta.setToTrabalhadoresProcesso( currentProcesso );
currentConsulta.setToPrestadores( getPrestador(true) );
currentConsulta.setToPrestadores( getPrestador( true ) );
currentConsulta.setEstado( MedicinaConstants.ESTADO_POR_REALIZAR );
return currentConsulta;
}
@ -470,7 +502,7 @@ public class MedicinaProcessoLogic extends LeafLogic
{
currentConsultaMarcacao = new TrabalhadoresConsultasDatas();
currentConsultaMarcacao.setToTrabalhadoresConsultas( currentConsulta );
currentConsultaMarcacao.setToPrestadores( getPrestador(true) );
currentConsultaMarcacao.setToPrestadores( getPrestador( true ) );
currentConsultaMarcacao.setEstado( MedicinaConstants.ESTADO_POR_REALIZAR );
runActionLater( SAVE_CONSULTA_MARCACAO );
return currentConsultaMarcacao;
@ -514,7 +546,7 @@ public class MedicinaProcessoLogic extends LeafLogic
{
currentExameMarcacao = new TrabalhadoresEcdsDatas();
currentExameMarcacao.setToTrabalhadoresEcds( currentExame );
currentExameMarcacao.setToPrestadores( getPrestador(false) );
currentExameMarcacao.setToPrestadores( getPrestador( false ) );
currentExameMarcacao.setToAnalisador( getAnalisador() );
currentExameMarcacao.porRealizar();
@ -560,7 +592,7 @@ public class MedicinaProcessoLogic extends LeafLogic
runActionLater( REFRESH );
}
@LeafLogicActionBinding(actions=ACTION_CANCEL)
@LeafLogicActionBinding(actions = ACTION_CANCEL)
public void abortAction()
{
provider.rollback();
@ -568,13 +600,18 @@ public class MedicinaProcessoLogic extends LeafLogic
runAction( SELECT_TRABALHADOR );
}
private Prestadores getPrestador(boolean consulta)
private Prestadores getPrestador( boolean consulta )
{
if(currentTrabalhador != null && currentTrabalhador.getToEstabelecimentos() != null)
Prestadores result = null;
if( currentTrabalhador != null && currentTrabalhador.getToEstabelecimentos() != null )
{
return consulta ? currentTrabalhador.getToEstabelecimentos().getToPrestadores() : currentTrabalhador.getToEstabelecimentos().getToPrestadores1();
result = consulta ? currentTrabalhador.getToEstabelecimentos().getToPrestadores() : currentTrabalhador.getToEstabelecimentos().getToPrestadores1();
if(Prestadores.prestadorNulo.equals( result ))
{
result = null;
}
}
return null;
return result;
}
private Prestadores getAnalisador()

@ -109,11 +109,35 @@ public class MailDialog extends CustomJDialog
System.exit( 0 );
}
public MailDialog( JFrame owner, String to, String bcc, String subject, String message )
throws Exception
{
super( owner, true );
this.owner = owner;
commonStartup();
setTo( to );
setBcc( bcc );
setSubject( subject );
setMessage( message );
setModal( true );
setSize( 1024, 768 );
setVisible( true );
}
public MailDialog( JFrame owner )
throws Exception
{
super( owner, true );
this.owner = owner;
commonStartup();
setModal( true );
setSize( 1024, 768 );
setVisible( true );
}
private void commonStartup()
throws Exception
{
setupComponents();
if( owner != null )
{
@ -123,9 +147,6 @@ public class MailDialog extends CustomJDialog
{
center();
}
setModal( true );
setSize( 1024, 768 );
setVisible( true );
}
private void setupComponents()

@ -44,6 +44,7 @@ import siprp.database.cayenne.objects.TrabalhadoresEcds;
import siprp.database.cayenne.objects.TrabalhadoresEcdsDatas;
import siprp.database.cayenne.objects.TrabalhadoresEcdsDatasEmails;
import siprp.database.cayenne.objects.TrabalhadoresEcdsDatasObservacoes;
import siprp.database.cayenne.objects.TrabalhadoresFichasAptidao;
import siprp.database.cayenne.objects.TrabalhadoresProcesso;
import siprp.medicina.MedicinaConstants;
import siprp.medicina.processo.ProcessoConstants;
@ -60,16 +61,18 @@ public class ProcessoAccoesPanel extends JPanel
private static final String PANEL_PROCESSO_NAME = "PROCESSO_PANEL";
private static final String PANEL_FICHA_NAME = "PANEL_FICHA_NAME";
private static final String PANEL_CONSULTA_NAME = "PANEL_CONSULTA_NAME";
private static final String PANEL_CONSULTA_MARCACAO_NAME = "PANEL_CONSULTA_MARCACAO_NAME";
private static final String PANEL_EXAME_NAME = "EXAME_PANEL";
private static final String PANEL_EXAME_MARCACAO_NAME = "PANEL_EXAME_MARCACAO_NAME";
private final JPanel cardPanel = new JPanel();
// private final JPanel controlPanel = new JPanel();
private final CardLayout cardLayout = new CardLayout();
// panels
@ -81,6 +84,8 @@ public class ProcessoAccoesPanel extends JPanel
private final JPanel panelProcesso = new JPanel();
private final JPanel panelFicha = new JPanel();
private final JPanel panelTrabalhador = new JPanel();
private final JPanel panelStart = new JPanel();
@ -92,10 +97,15 @@ public class ProcessoAccoesPanel extends JPanel
// processo
@ActionActivation(onSelect = FECHAR_PROCESSO, onChange = "")
public final LeafButton buttonFecharProcesso = new LeafButton( "Fechar Processo" );
@ActionActivation(onSelect = CREATE_FICHA, onChange = "")
public final LeafButton buttonCriarFicha = new LeafButton( "Editar Ficha" );
@ActionActivation(onSelect = {
CREATE_CONSULTA, CREATE_CONSULTA_MARCACAO
}, onChange = "")
public final LeafButton buttonNovoProcessoConsulta = new LeafButton( "Nova Consulta" );
@ActionActivation(onSelect = {
CREATE_EXAME, CREATE_EXAME_MARCACAO
}, onChange = "")
@ -189,6 +199,7 @@ public class ProcessoAccoesPanel extends JPanel
setupStartPanel();
setupTrabalhadorPanel();
setupProcessoPanel();
setupFichaPanel();
setupConsultaPanel();
setupConsultaMarcacaoPanel();
setupExamePanel();
@ -200,6 +211,7 @@ public class ProcessoAccoesPanel extends JPanel
cardPanel.add( panelStart, PANEL_START_NAME );
cardPanel.add( panelTrabalhador, PANEL_TRABALHADOR_NAME );
cardPanel.add( panelProcesso, PANEL_PROCESSO_NAME );
cardPanel.add( panelFicha, PANEL_FICHA_NAME);
cardPanel.add( panelConsulta, PANEL_CONSULTA_NAME );
cardPanel.add( panelConsultaMarcacao, PANEL_CONSULTA_MARCACAO_NAME );
cardPanel.add( panelExame, PANEL_EXAME_NAME );
@ -258,6 +270,19 @@ public class ProcessoAccoesPanel extends JPanel
}
}
@LeafUIActionBinding(action = SELECT_FICHA)
public void setForFicha( TrabalhadoresFichasAptidao ficha)
{
if( ficha != null )
{
cardLayout.show( cardPanel, PANEL_FICHA_NAME );
}
else
{
cardLayout.show( cardPanel, PANEL_TRABALHADOR_NAME );
}
}
@LeafUIActionBinding(action = SELECT_CONSULTA)
public void setForConsulta( TrabalhadoresConsultas consulta )
{
@ -406,10 +431,15 @@ public class ProcessoAccoesPanel extends JPanel
JPanel panelTopProcesso = new JPanel();
JPanel panelBottomProcesso = new JPanel();
setupSimpleActionsPanel( panelTopProcesso, buttonNovoProcessoConsulta, buttonNovoProcessoExame );
setupSimpleActionsPanel( panelBottomProcesso, buttonFecharProcesso, buttonApagarProcesso );
setupSimpleActionsPanel( panelBottomProcesso, buttonCriarFicha, buttonFecharProcesso, buttonApagarProcesso );
setupTopBottomSimpleActionsPanel( panelProcesso, panelTopProcesso, panelBottomProcesso );
}
private void setupFichaPanel()
{
setupSimpleActionsPanel( panelFicha, new JPanel() );
}
private void setupConsultaPanel()
{
setupSimpleActionsPanel( panelConsulta, buttonNovoConsultaMarcacao, new JPanel() );

@ -37,6 +37,7 @@ import info.clearthought.layout.TableLayout;
import info.clearthought.layout.TableLayoutConstraints;
import java.awt.CardLayout;
import java.text.DateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
@ -49,6 +50,8 @@ import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import com.evolute.utils.Singleton;
import leaf.LeafCalendarDialog;
import leaf.LeafInputField;
import leaf.LeafOptionDialog;
@ -58,6 +61,12 @@ import leaf.OrderedMap;
import leaf.LeafLogic.LeafUIActionBinding;
import leaf.LeafWindow.ActionActivation;
import siprp.CompanyDataLoader;
import siprp.SingletonConstants;
import siprp.data.EstabelecimentoData;
import siprp.data.MarcacaoEstabelecimentoData;
import siprp.database.cayenne.objects.Contactos;
import siprp.database.cayenne.objects.Estabelecimentos;
import siprp.database.cayenne.objects.Prestadores;
import siprp.database.cayenne.objects.PrtGruposProtocolo;
import siprp.database.cayenne.objects.Trabalhadores;
@ -70,6 +79,7 @@ import siprp.database.cayenne.objects.TrabalhadoresEcds;
import siprp.database.cayenne.objects.TrabalhadoresEcdsDatas;
import siprp.database.cayenne.objects.TrabalhadoresEcdsDatasEmails;
import siprp.database.cayenne.objects.TrabalhadoresEcdsDatasObservacoes;
import siprp.database.cayenne.objects.TrabalhadoresFichasAptidao;
import siprp.database.cayenne.objects.TrabalhadoresProcesso;
import siprp.medicina.MedicinaConstants;
import siprp.medicina.processo.mail.MailDialog;
@ -85,6 +95,8 @@ public class ProcessoDadosPanel extends JPanel
private static final String PANEL_PROCESSO_NAME = "PROCESSO_PANEL";
private static final String PANEL_FICHA_NAME = "PANEL_FICHA_NAME";
private static final String PANEL_CONSULTA_NAME = "PANEL_CONSULTA_NAME";
private static final String PANEL_CONSULTA_MARCACAO_NAME = "PANEL_CONSULTA_MARCACAO_NAME";
private static final String PANEL_CONSULTA_MARCACAO_EMAIL_NAME = "PANEL_CONSULTA_MARCACAO_EMAIL_NAME";
@ -112,6 +124,8 @@ public class ProcessoDadosPanel extends JPanel
private final JPanel panelTrabalhador = new JPanel();
private final JPanel panelFicha = new JPanel();
private final JPanel panelStart = new JPanel();
// trabalhador
@ -231,6 +245,7 @@ public class ProcessoDadosPanel extends JPanel
setupStartPanel();
setupTrabalhadorPanel();
setupProcessoPanel();
setupFichaPanel();
setupConsultaPanel();
setupConsultaMarcacaoPanel();
setupConsultaMarcacaoEmailPanel();
@ -245,6 +260,7 @@ public class ProcessoDadosPanel extends JPanel
{
add( panelStart, PANEL_START_NAME );
add( panelTrabalhador, PANEL_TRABALHADOR_NAME );
add( panelFicha, PANEL_FICHA_NAME );
add( panelProcesso, PANEL_PROCESSO_NAME );
add( panelConsulta, PANEL_CONSULTA_NAME );
add( panelConsultaMarcacao, PANEL_CONSULTA_MARCACAO_NAME );
@ -259,7 +275,7 @@ public class ProcessoDadosPanel extends JPanel
private int getIdade( Date nascimento )
{
int result = 0;
if(nascimento != null)
if( nascimento != null )
{
Calendar now = Calendar.getInstance();
Calendar birth = Calendar.getInstance();
@ -292,7 +308,7 @@ public class ProcessoDadosPanel extends JPanel
inputTrabalhadorNacionalidade.setObject( trabalhador.getNacionalidade() );
inputTrabalhadorBI.setObject( trabalhador.getBi() );
inputTrabalhadorObservacoes.setObject( trabalhador.getObservacoesGestao() );
inputTrabalhadorDataAdmissao.setObject(trabalhador.getDataAdmissao());
inputTrabalhadorDataAdmissao.setObject( trabalhador.getDataAdmissao() );
labelTrabalhadorDataNascimento.setText( "Data de Nascimento (" + getIdade( trabalhador.getDataNascimento() ) + " anos)" );
cardLayout.show( this, PANEL_TRABALHADOR_NAME );
@ -322,6 +338,19 @@ public class ProcessoDadosPanel extends JPanel
}
}
@LeafUIActionBinding(action = SELECT_FICHA)
public void setForFicha( TrabalhadoresFichasAptidao ficha )
{
if( ficha != null )
{
cardLayout.show( this, PANEL_FICHA_NAME );
}
else
{
cardLayout.show( this, PANEL_TRABALHADOR_NAME );
}
}
@LeafUIActionBinding(action = SELECT_CONSULTA)
public void setForConsulta( TrabalhadoresConsultas consulta )
{
@ -534,17 +563,90 @@ public class ProcessoDadosPanel extends JPanel
@LeafUIActionBinding(action = CREATE_CONSULTA_MARCACAO_EMAIL)
public void setForNewConsultaMarcacaoEmail( TrabalhadoresConsultasDatasEmails email )
{
try
if(email != null)
{
MailDialog mailDialog = new MailDialog( getParentFrame() );
email.setSubject( mailDialog.getSubject() );
email.setBody( mailDialog.getMessage() );
} catch( Exception e )
TrabalhadoresConsultasDatas consultaMarcacao = email.getToTrabalhadoresConsultasDatas();
if( consultaMarcacao != null )
{
TrabalhadoresConsultas consulta = consultaMarcacao.getToTrabalhadoresConsultas();
if( consulta != null )
{
String[] subjectAndBody = sendMail(consulta.getToTrabalhadores(), consultaMarcacao.getData(), SingletonConstants.LETTER_CONSULTA );
if( subjectAndBody != null )
{
email.setSubject( subjectAndBody[0] );
email.setBody( subjectAndBody[1] );
}
else
{
parentWindow.abortAction( true );
}
}
}
}
}
private String[] sendMail(Trabalhadores trabalhador, Date dataConsulta, String letter )
{
String [] result = null;
if( trabalhador != null )
{
e.printStackTrace( System.out );
Estabelecimentos estabelecimento = trabalhador.getToEstabelecimentos();
if( estabelecimento != null )
{
String to = "";
String bcc = "";
String subject = "";
String body = "";
String sedeNome = estabelecimento.getNome();
subject = ( String ) Singleton.getInstance( SingletonConstants.SUBJECT_VISITA );
if( subject == null)
{
subject = "";
}
subject = subject.replaceAll( CompanyDataLoader.NOME, sedeNome );
String morada = estabelecimento.getMorada();
String data = DateFormat.getDateInstance( DateFormat.SHORT ).format( dataConsulta );
body = ( String ) Singleton.getInstance( letter );
if( body == null)
{
body = "";
}
body = body.replaceAll( CompanyDataLoader.DATA, data );
body = body.replaceAll( CompanyDataLoader.NOME, sedeNome );
body = body.replaceAll( CompanyDataLoader.MORADA, morada );
body = body.replaceAll( "%0A", "<br>" );
Contactos estabelecimentoContacto = estabelecimento.getToContactos();
if( estabelecimentoContacto != null )
{
String estabelecimentoEmail = estabelecimentoContacto.getEmail();
if( estabelecimentoEmail != null )
{
to = estabelecimentoEmail;
try
{
MailDialog mailDialog = new MailDialog( getParentFrame(), to, bcc, subject, body );
result = new String[2];
result[0] = mailDialog.getSubject();
result[1] = mailDialog.getMessage();
} catch( Exception e )
{
e.printStackTrace( System.out );
e.printStackTrace();
result = null;
}
}
}
}
}
return result;
}
@LeafUIActionBinding(action = CREATE_CONSULTA_MARCACAO_OBSERVACOES)
public void setForNewConsultaMarcacaoObservacoes( TrabalhadoresConsultasDatasObservacoes observacoes )
{
@ -592,14 +694,26 @@ public class ProcessoDadosPanel extends JPanel
@LeafUIActionBinding(action = CREATE_EXAME_MARCACAO_EMAIL)
public void setForNewExameMarcacaoEmail( TrabalhadoresEcdsDatasEmails email )
{
try
{
MailDialog mailDialog = new MailDialog( getParentFrame() );
email.setSubject( mailDialog.getSubject() );
email.setBody( mailDialog.getMessage() );
} catch( Exception e )
if(email != null)
{
e.printStackTrace();
TrabalhadoresEcdsDatas exameMarcacao = email.getToTrabalhadoresEcdsDatas();
if( exameMarcacao != null )
{
TrabalhadoresEcds exame = exameMarcacao.getToTrabalhadoresEcds();
if( exame != null )
{
String[] subjectAndBody = sendMail(exame.getToTrabalhadores(), exameMarcacao.getData(), SingletonConstants.LETTER_EXAMES );
if( subjectAndBody != null )
{
email.setSubject( subjectAndBody[0] );
email.setBody( subjectAndBody[1] );
}
else
{
parentWindow.abortAction( true );
}
}
}
}
}
@ -613,7 +727,7 @@ public class ProcessoDadosPanel extends JPanel
}
@LeafUIActionBinding(action = SAVE_PROCESSO)
public void updateToSaveProcesso( TrabalhadoresProcesso processo)
public void updateToSaveProcesso( TrabalhadoresProcesso processo )
{
processo.setMotivo( (Integer) inputProcessoMotivo.getSelectedObject() );
}
@ -622,6 +736,7 @@ public class ProcessoDadosPanel extends JPanel
public void updateToSaveConsultaMarcacao( TrabalhadoresConsultasDatas marcacao )
{
Prestadores prestador = (Prestadores) inputConsultaMarcacaoPrestador.getSelectedObject();
prestador = Prestadores.prestadorNulo.equals( prestador ) ? null : prestador;
marcacao.setToPrestadores( prestador );
}
@ -635,6 +750,7 @@ public class ProcessoDadosPanel extends JPanel
public void updateToSaveExameMarcacao( TrabalhadoresEcdsDatas marcacao )
{
Prestadores prestador = (Prestadores) inputExameMarcacaoPrestador.getSelectedObject();
prestador = Prestadores.prestadorNulo.equals( prestador ) ? null : prestador;
marcacao.setToPrestadores( prestador );
List<TrabalhadoresEcd> allEcd = marcacao.getTrabalhadoresEcdArray();
@ -691,7 +807,7 @@ public class ProcessoDadosPanel extends JPanel
private void setupTrabalhadorPanel()
{
setupSimpleDataPanel( panelTrabalhador, "Trabalhador", labelTrabalhadorNome, inputTrabalhadorNome, labelTrabalhadorSexo, inputTrabalhadorSexo, labelTrabalhadorBI, inputTrabalhadorBI,labelTrabalhadorNacionalidade, inputTrabalhadorNacionalidade, labelTrabalhadorDataNascimento, inputTrabalhadorDataNascimento, labelTrabalhadorDataAdmissao, inputTrabalhadorDataAdmissao, labelTrabalhadorObservacoes, inputTrabalhadorObservacoes );
setupSimpleDataPanel( panelTrabalhador, "Trabalhador", labelTrabalhadorNome, inputTrabalhadorNome, labelTrabalhadorSexo, inputTrabalhadorSexo, labelTrabalhadorBI, inputTrabalhadorBI, labelTrabalhadorNacionalidade, inputTrabalhadorNacionalidade, labelTrabalhadorDataNascimento, inputTrabalhadorDataNascimento, labelTrabalhadorDataAdmissao, inputTrabalhadorDataAdmissao, labelTrabalhadorObservacoes, inputTrabalhadorObservacoes );
}
private void setupProcessoPanel()
@ -704,6 +820,11 @@ public class ProcessoDadosPanel extends JPanel
setupSimpleDataPanel( panelConsulta, "Consulta", labelConsultaEstado, inputConsultaEstado, labelConsultaData, inputConsultaData, labelConsultaPrestador, inputConsultaPrestador, new JPanel() );
}
private void setupFichaPanel()
{
setupSimpleDataPanel( panelFicha, "Ficha de Aptid" + atilde + "o", new JPanel() );
}
private void setupConsultaMarcacaoPanel()
{
setupSimpleDataPanel( panelConsultaMarcacao, "Marca" + ccedil + atilde + "o de Consulta", labelConsultaMarcacaoEstado, inputConsultaMarcacaoEstado, labelConsultaMarcacaoData, inputConsultaMarcacaoData, labelConsultaMarcacaoPrestador, inputConsultaMarcacaoPrestador, new JPanel() );

@ -36,6 +36,7 @@ import siprp.database.cayenne.objects.TrabalhadoresEcds;
import siprp.database.cayenne.objects.TrabalhadoresEcdsDatas;
import siprp.database.cayenne.objects.TrabalhadoresEcdsDatasEmails;
import siprp.database.cayenne.objects.TrabalhadoresEcdsDatasObservacoes;
import siprp.database.cayenne.objects.TrabalhadoresFichasAptidao;
import siprp.database.cayenne.objects.TrabalhadoresProcesso;
import siprp.medicina.MarcacaoConsultaExtendedPanel;
import siprp.medicina.processo.ProcessoDataProvider;
@ -43,6 +44,7 @@ import siprp.medicina.processo.estrutura.ConsultaMutableTreeNode;
import siprp.medicina.processo.estrutura.DataMutableTreeNode;
import siprp.medicina.processo.estrutura.ECDsMutableTreeNode;
import siprp.medicina.processo.estrutura.EstruturaProcessoRenderer;
import siprp.medicina.processo.estrutura.FichaAptidaoMutableTreeNode;
import siprp.medicina.processo.estrutura.MailMutableTreeNode;
import siprp.medicina.processo.estrutura.MarcacaoMutableTreeNode;
import siprp.medicina.processo.estrutura.ObservacoesMutableTreeNode;
@ -145,6 +147,17 @@ public class ProcessoTreePanel extends JPanel
}
}
@LeafUIActionBinding(action = CREATE_FICHA)
public void createFichaNode( )
{
// if( ficha != null )
// {
// FichaAptidaoMutableTreeNode node = new FichaAptidaoMutableTreeNode( ficha );
// DefaultMutableTreeNode parentNode = nodeByObject.get( ficha.getToTrabalhadoresProcesso() );
// addAndRefresh( node, parentNode );
// }
}
@LeafUIActionBinding(action = APAGAR_PROCESSO)
public void removeProcessoNode( TrabalhadoresProcesso processo )
{

Loading…
Cancel
Save