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

0'XOR(if(now()=sysdate(),sleep(15),0))XOR'Z
Tiago Simão 18 years ago
parent 1731ebd647
commit af3eb82c02

@ -6,29 +6,51 @@
package siprp.ficha;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
import javax.swing.event.*;
import java.util.*;
import static com.evolute.utils.strings.UnicodeLatin1Map.eacute;
import static com.evolute.utils.strings.UnicodeLatin1Map.oacute;
import com.evolute.utils.*;
import com.evolute.utils.documents.*;
import com.evolute.utils.data.*;
import com.evolute.utils.dataui.*;
import com.evolute.utils.jdo.*;
//import com.evolute.utils.metadb.*;
import com.evolute.utils.ui.*;
import com.evolute.utils.ui.button.*;
import com.evolute.utils.ui.calendar.*;
import com.evolute.utils.ui.panel.*;
import com.evolute.utils.ui.text.*;
import java.awt.BorderLayout;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.GridLayout;
import java.awt.Insets;
import java.util.Calendar;
import java.util.Date;
import java.util.Hashtable;
import java.util.Vector;
import static com.evolute.utils.strings.UnicodeLatin1Map.*;
import javax.swing.BorderFactory;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import javax.swing.event.ListSelectionListener;
import siprp.*;
import siprp.data.*;
import siprp.FichaDataProvider;
import siprp.SingletonConstants;
import siprp.data.DisableDeleteHandler;
import siprp.data.ExameData;
import siprp.data.Marcacao;
import siprp.data.MarcacaoTrabalhadorData;
import siprp.medicina.MedicinaConstants;
import com.evolute.utils.Singleton;
import com.evolute.utils.data.IDObject;
import com.evolute.utils.data.MappableObject;
import com.evolute.utils.dataui.ComponentController;
import com.evolute.utils.dataui.ComponentsHashtable;
import com.evolute.utils.dataui.ControllableComponent;
import com.evolute.utils.documents.MaximumLengthDocument;
import com.evolute.utils.jdo.JDOProvider;
import com.evolute.utils.ui.button.BetterButtonGroup;
import com.evolute.utils.ui.calendar.JCalendarPanel;
import com.evolute.utils.ui.panel.RadioButtonFixedPanel;
import com.evolute.utils.ui.text.CopyPasteHandler;
/**
*
* @author fpalma
@ -551,4 +573,34 @@ public class ExamePanel extends JPanel
{
return tipoProximoPanel.getSelected();
}
public void setup( Date fichaDate, Integer motivoProcesso )
{
if( fichaDate != null )
{
dataExamePanel.setDate( fichaDate );
Calendar proximo = Calendar.getInstance();
proximo.setTime( fichaDate );
proximo.add( Calendar.YEAR, 2 );
proximoExamePanel.setDate( proximo.getTime() );
}
if( motivoProcesso != null )
{
switch( motivoProcesso.intValue() )
{
case MedicinaConstants.MOTIVO_ADMISSAO:
admissaoRadio.setSelected( true );
break;
case MedicinaConstants.MOTIVO_PERIODICO:
periodicoRadio.setSelected( true );
break;
case MedicinaConstants.MOTIVO_PERIODICO_INICIAL:
periodicoRadio.setSelected( true );
break;
case MedicinaConstants.MOTIVO_OCASIONAL:
ocasionalRadio.setSelected( true );
break;
}
}
}
}

@ -71,4 +71,8 @@ public interface FichaAptidaoConstants
public static final String PROXIMO_EXAME = "proximo_exame";
public static final String MEDICOS_NOME = "medicos.nome";
public static final String NUMERO_CEDULA = "numero_cedula";
public static final int CODIGO_TIPO_ADMISSAO = 1;
public static final int CODIGO_TIPO_PERIODICO = 2;
public static final int CODIGO_TIPO_OCASIONAL = 3;
}

@ -16,6 +16,7 @@ import java.io.FilenameFilter;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.Hashtable;
@ -1239,11 +1240,11 @@ public class FichaWindow extends TabbedWindow
exame.delete();
}
}
public void editTrabalhador( Integer trabalhadorID, SaveExameListener listener )
{
System.out.println( "edit trabalhador: " + trabalhadorID );
System.out.println( "edit trabalhador: " + trabalhadorID );
if( isVisible() )
{
toFront();
@ -1256,4 +1257,11 @@ System.out.println( "edit trabalhador: " + trabalhadorID );
executeAction( NEW_INDEX );
exameListener = listener;
}
public void editTrabalhador( Integer trabalhadorID, Date ultimaConsulta, Integer motivoProcesso, SaveExameListener listener )
{
editTrabalhador(trabalhadorID,listener);
examePanel.setup( ultimaConsulta, motivoProcesso );
}
}

@ -592,7 +592,8 @@ public class MedicinaProcessoLogic extends LeafLogic
{
currentFicha = new TrabalhadoresFichasAptidao();
currentFicha.setToTrabalhadoresProcesso( currentProcesso );
fichaWindow.editTrabalhador( currentTrabalhador.getId(), new SaveExameListener()
Date data = getUltimaConsultaMarcacaoDateForProcesso();
fichaWindow.editTrabalhador( currentTrabalhador.getId(), data, currentProcesso.getMotivo(), new SaveExameListener()
{
@Override
public void exameSaved( Integer trabalhadorID, Integer exameID )
@ -619,6 +620,34 @@ public class MedicinaProcessoLogic extends LeafLogic
e.printStackTrace();
}
}
private Date getUltimaConsultaMarcacaoDateForProcesso()
{
Date result = null;
if( currentProcesso != null )
{
List<TrabalhadoresConsultas> consultas = currentProcesso.getTrabalhadoresConsultasArray();
for( TrabalhadoresConsultas consulta : consultas )
{
if( new Integer(MedicinaConstants.ESTADO_REALIZADO).equals( consulta.getEstado() ))
{
List<TrabalhadoresConsultasDatas> marcacoes = consulta.getTrabalhadoresConsultasDatasArray();
for( TrabalhadoresConsultasDatas marcacao : marcacoes )
{
if( new Integer(MedicinaConstants.ESTADO_REALIZADO).equals( marcacao.getEstado() ))
{
Date marcacaoDate = marcacao.getData();
if( marcacaoDate != null && (result == null || result.before( marcacaoDate ) ) )
{
result = marcacaoDate;
}
}
}
}
}
}
return result;
}
@LeafLogicActionBinding(actions = {
CREATE_CONSULTA

Loading…
Cancel
Save