forked from Coded/SIPRP
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
930 lines
29 KiB
930 lines
29 KiB
package siprp.medicina.processo.logic;
|
|
|
|
import java.util.Date;
|
|
import java.util.List;
|
|
|
|
import javax.swing.tree.DefaultMutableTreeNode;
|
|
|
|
import leaf.ui.LeafDialog;
|
|
import leaf.ui.LeafLogic;
|
|
import leaf.ui.LeafWindow.LeafObject;
|
|
import siprp.MedicinaConstants;
|
|
import siprp.ProcessoConstants;
|
|
import siprp.data.BaseObject;
|
|
import siprp.data.outer.EmpresasData;
|
|
import siprp.data.outer.EstabelecimentosData;
|
|
import siprp.data.outer.ExamesData;
|
|
import siprp.data.outer.LembretesData;
|
|
import siprp.data.outer.PrestadoresData;
|
|
import siprp.data.outer.TrabalhadoresConsultasData;
|
|
import siprp.data.outer.TrabalhadoresConsultasDatasData;
|
|
import siprp.data.outer.TrabalhadoresConsultasDatasEmailsData;
|
|
import siprp.data.outer.TrabalhadoresConsultasDatasObservacoesData;
|
|
import siprp.data.outer.TrabalhadoresData;
|
|
import siprp.data.outer.TrabalhadoresEcdData;
|
|
import siprp.data.outer.TrabalhadoresEcdsData;
|
|
import siprp.data.outer.TrabalhadoresEcdsDatasData;
|
|
import siprp.data.outer.TrabalhadoresEcdsDatasEmailsData;
|
|
import siprp.data.outer.TrabalhadoresEcdsDatasObservacoesData;
|
|
import siprp.data.outer.TrabalhadoresFichasAptidaoData;
|
|
import siprp.data.outer.TrabalhadoresProcessoData;
|
|
import siprp.data.provider.MedicinaDataProvider;
|
|
import siprp.ficha.FichaWindow;
|
|
import siprp.ficha.SaveExameListener;
|
|
import siprp.lembretes.LembretesConstants;
|
|
import siprp.lembretes.LembretesDataProvider;
|
|
import siprp.medicina.processo.estrutura.FichaAptidaoMutableTreeNode;
|
|
|
|
public class MedicinaProcessoLogic extends LeafLogic
|
|
{
|
|
@Action(isSave = false)
|
|
public static final String SELECT_EMPRESA = "SELECT_EMPRESA";
|
|
|
|
@Action(isSave = false)
|
|
public static final String SELECT_ESTABELECIMENTO = "SELECT_ESTABLECIMENTO";
|
|
|
|
@Action(isSave = false)
|
|
public static final String LOAD_TRABALHADOR = "LOAD_TRABALHADOR";
|
|
|
|
@Action(isSave = false)
|
|
public static final String SELECT_TRABALHADOR = "SELECT_TRABALHADOR";
|
|
|
|
@Action(isSave = false)
|
|
public static final String SELECT_PROCESSO = "SELECT_PROCESSO";
|
|
|
|
@Action(isSave = false)
|
|
public static final String SELECT_CONSULTA = "SELECT_CONSULTA";
|
|
|
|
@Action(isSave = false)
|
|
public static final String SELECT_CONSULTA_MARCACAO = "SELECT_CONSULTA_MARCACAO";
|
|
|
|
@Action(isSave = false)
|
|
public static final String SELECT_CONSULTA_MARCACAO_EMAIL = "SELECT_CONSULTA_MARCACAO_EMAIL";
|
|
|
|
@Action(isSave = false)
|
|
public static final String SELECT_CONSULTA_MARCACAO_OBSERVACAO = "SELECT_CONSULTA_MARCACAO_OBSERVACAO";
|
|
|
|
@Action(isSave = false)
|
|
public static final String SELECT_EXAME = "SELECT_EXAME";
|
|
|
|
@Action(isSave = false)
|
|
public static final String SELECT_EXAME_MARCACAO = "SELECT_EXAME_MARCACAO";
|
|
|
|
@Action(isSave = false)
|
|
public static final String SELECT_EXAME_MARCACAO_EMAIL = "SELECT_EXAME_MARCACAO_EMAIL";
|
|
|
|
@Action(isSave = false)
|
|
public static final String SELECT_EXAME_MARCACAO_OBSERVACAO = "SELECT_EXAME_MARCACAO_OBSERVACAO";
|
|
|
|
@Action(isSave = false)
|
|
public static final String SELECT_FICHA = "SELECT_FICHA";
|
|
|
|
@Action(isSave = false)
|
|
public static final String SELECT_TREE_NODE = "SELECT_TREE_NODE";
|
|
|
|
@Action(isSave = false)
|
|
public static final String CREATE_PROCESSO = "CREATE_PROCESSO";
|
|
|
|
@Action(isSave = false)
|
|
public static final String CREATE_LEMBRETE = "CREATE_LEMBRETE";
|
|
|
|
@Action(isSave = false)
|
|
public static final String CREATE_FICHA = "CREATE_FICHA";
|
|
|
|
@Action(isSave = false)
|
|
public static final String CREATE_CONSULTA = "CREATE_CONSULTA";
|
|
|
|
@Action(isSave = false)
|
|
public static final String CREATE_CONSULTA_MARCACAO = "CREATE_CONSULTA_MARCACAO";
|
|
|
|
@Action(isSave = false)
|
|
public static final String CREATE_CONSULTA_MARCACAO_EMAIL = "CREATE_CONSULTA_MARCACAO_EMAIL";
|
|
|
|
@Action(isSave = false)
|
|
public static final String CREATE_CONSULTA_MARCACAO_EMAIL_VACINAS = "CREATE_CONSULTA_MARCACAO_EMAIL_VACINAS";
|
|
|
|
@Action(isSave = false)
|
|
public static final String CREATE_CONSULTA_MARCACAO_OBSERVACOES = "CREATE_CONSULTA_MARCACAO_OBSERVACOES";
|
|
|
|
@Action(isSave = false)
|
|
public static final String CREATE_EXAME = "CREATE_EXAME";
|
|
|
|
@Action(isSave = false)
|
|
public static final String CREATE_EXAME_MARCACAO = "CREATE_EXAME_MARCACAO";
|
|
|
|
@Action(isSave = false)
|
|
public static final String CREATE_EXAME_MARCACAO_EMAIL = "CREATE_EXAME_MARCACAO_EMAIL";
|
|
|
|
@Action(isSave = false)
|
|
public static final String CREATE_EXAME_MARCACAO_OBSERVACOES = "CREATE_EXAME_MARCACAO_OBSERVACOES";
|
|
|
|
@Action(isSave = true)
|
|
public static final String SAVE_PROCESSO = "SAVE_PROCESSO";
|
|
|
|
@Action(isSave = true)
|
|
public static final String SAVE_LEMBRETE = "SAVE_LEMBRETE";
|
|
|
|
@Action(isSave = true)
|
|
public static final String SAVE_CONSULTA = "SAVE_CONSULTA";
|
|
|
|
@Action(isSave = true)
|
|
public static final String SAVE_CONSULTA_MARCACAO = "SAVE_CONSULTA_MARCACAO";
|
|
|
|
@Action(isSave = true)
|
|
public static final String SAVE_CONSULTA_MARCACAO_EMAIL = "SAVE_CONSULTA_MARCACAO_EMAIL";
|
|
|
|
@Action(isSave = true)
|
|
public static final String SAVE_CONSULTA_MARCACAO_OBSERVACOES = "SAVE_CONSULTA_MARCACAO_OBSERVACOES";
|
|
|
|
@Action(isSave = true)
|
|
public static final String SAVE_FICHA = "SAVE_FICHA";
|
|
|
|
@Action(isSave = true)
|
|
public static final String SAVE_EXAME = "SAVE_EXAME";
|
|
|
|
@Action(isSave = true)
|
|
public static final String SAVE_EXAME_MARCACAO = "SAVE_EXAME_MARCACAO";
|
|
|
|
@Action(isSave = true)
|
|
public static final String SAVE_EXAME_MARCACAO_EMAIL = "SAVE_EXAME_MARCACAO_EMAIL";
|
|
|
|
@Action(isSave = true)
|
|
public static final String SAVE_EXAME_MARCACAO_OBSERVACOES = "SAVE_EXAME_MARCACAO_OBSERVACOES";
|
|
|
|
@Action(isSave = true)
|
|
public static final String FECHAR_PROCESSO = "FECHAR_PROCESSO";
|
|
|
|
@Action(isSave = false)
|
|
public static final String APAGAR_PROCESSO = "APAGAR_PROCESSO";
|
|
|
|
@Action(isSave = false)
|
|
public static final String APAGAR_CONSULTA = "APAGAR_CONSULTA";
|
|
|
|
@Action(isSave = false)
|
|
public static final String APAGAR_CONSULTA_MARCACAO = "APAGAR_CONSULTA_MARCACAO";
|
|
|
|
@Action(isSave = false)
|
|
public static final String APAGAR_EXAME = "APAGAR_EXAME";
|
|
|
|
@Action(isSave = false)
|
|
public static final String APAGAR_EXAME_MARCACAO = "APAGAR_EXAME_MARCACAO";
|
|
|
|
@Action(isSave = false)
|
|
public static final String REFRESH = "REFRESH";
|
|
|
|
@Action(isSave = false)
|
|
public static final String CLOSE = "CLOSE";
|
|
|
|
@Action(isSave = true)
|
|
public static final String DESMARCAR_SIPRP_CONSULTA_MARCACAO = "DESMARCAR_SIPRP_CONSULTA_MARCACAO";
|
|
|
|
@Action(isSave = true)
|
|
public static final String DESMARCAR_TRABALHADOR_CONSULTA_MARCACAO = "DESMARCAR_TRABALHADOR_CONSULTA_MARCACAO";
|
|
|
|
@Action(isSave = true)
|
|
public static final String REALIZAR_CONSULTA_MARCACAO = "REALIZAR_CONSULTA_MARCACAO";
|
|
|
|
@Action(isSave = true)
|
|
public static final String FALTOU_CONSULTA_MARCACAO = "FALTOU_CONSULTA_MARCACAO";
|
|
|
|
@Action(isSave = true)
|
|
public static final String DESMARCAR_SIPRP_EXAME_MARCACAO = "DESMARCAR_SIPRP_EXAME_MARCACAO";
|
|
|
|
@Action(isSave = true)
|
|
public static final String DESMARCAR_TRABALHADOR_EXAME_MARCACAO = "DESMARCAR_TRABALHADOR_EXAME_MARCACAO";
|
|
|
|
@Action(isSave = true)
|
|
public static final String REALIZAR_EXAME_MARCACAO = "REALIZAR_EXAME_MARCACAO";
|
|
|
|
@Action(isSave = true)
|
|
public static final String REALIZAR_PARCIAL_EXAME_MARCACAO = "REALIZAR_PARCIAL_EXAME_MARCACAO";
|
|
|
|
@Action(isSave = true)
|
|
public static final String FALTOU_EXAME_MARCACAO = "FALTOU_EXAME_MARCACAO";
|
|
|
|
@Action(isSave = true)
|
|
public static final String ANULAR_EXAME_MARCACAO = "ANULAR_EXAME_MARCACAO";
|
|
|
|
private LembretesDataProvider lembretesDataProvider = null;
|
|
|
|
private MedicinaDataProvider provider = null;
|
|
|
|
public EmpresasData currentEmpresa = null;
|
|
|
|
public EstabelecimentosData currentEstabelecimento = null;
|
|
|
|
@LeafObject(useWith = LOAD_TRABALHADOR)
|
|
public TrabalhadoresData currentTrabalhador = null;
|
|
|
|
@LeafObject(useWith = {
|
|
SAVE_PROCESSO, APAGAR_PROCESSO
|
|
})
|
|
public TrabalhadoresProcessoData currentProcesso = null;
|
|
|
|
@LeafObject(useWith = {
|
|
SAVE_CONSULTA, APAGAR_CONSULTA
|
|
})
|
|
public TrabalhadoresConsultasData currentConsulta = null;
|
|
|
|
@LeafObject(useWith = {
|
|
SAVE_CONSULTA_MARCACAO, APAGAR_CONSULTA_MARCACAO
|
|
})
|
|
public TrabalhadoresConsultasDatasData currentConsultaMarcacao = null;
|
|
|
|
@LeafObject(useWith = SAVE_CONSULTA_MARCACAO_EMAIL)
|
|
public TrabalhadoresConsultasDatasEmailsData currentConsultaMarcacaoEmail = null;
|
|
|
|
@LeafObject(useWith = SAVE_CONSULTA_MARCACAO_OBSERVACOES)
|
|
public TrabalhadoresConsultasDatasObservacoesData currentConsultaMarcacaoObservacao = null;
|
|
|
|
@LeafObject(useWith = SAVE_FICHA)
|
|
public TrabalhadoresFichasAptidaoData currentFicha = null;
|
|
|
|
@LeafObject(useWith = SAVE_EXAME_MARCACAO_OBSERVACOES)
|
|
public TrabalhadoresEcdsDatasObservacoesData currentExameMarcacaoObservacao = null;
|
|
|
|
@LeafObject(useWith = SAVE_EXAME_MARCACAO_EMAIL)
|
|
public TrabalhadoresEcdsDatasEmailsData currentExameMarcacaoEmail = null;
|
|
|
|
@LeafObject(useWith = {
|
|
SAVE_EXAME_MARCACAO, REALIZAR_PARCIAL_EXAME_MARCACAO, APAGAR_EXAME_MARCACAO
|
|
})
|
|
public TrabalhadoresEcdsDatasData currentExameMarcacao = null;
|
|
|
|
@LeafObject(useWith = {
|
|
SAVE_EXAME, APAGAR_EXAME
|
|
})
|
|
public TrabalhadoresEcdsData currentExame = null;
|
|
|
|
public Integer currentFichaExameID = null;
|
|
|
|
public MedicinaProcessoLogic()
|
|
{
|
|
try
|
|
{
|
|
provider = MedicinaDataProvider.getProvider();
|
|
lembretesDataProvider = new LembretesDataProvider();
|
|
} catch( Exception e )
|
|
{
|
|
e.printStackTrace( System.out );
|
|
}
|
|
}
|
|
|
|
@LeafLogicActionBinding(actions = {
|
|
ACTION_STARTUP
|
|
})
|
|
public List<EmpresasData> getAllEmpresas()
|
|
{
|
|
return provider.getAllEmpresas();
|
|
}
|
|
|
|
@LeafLogicActionBinding(actions = {
|
|
SELECT_EMPRESA
|
|
})
|
|
public EmpresasData setEmpresa( EmpresasData empresa )
|
|
{
|
|
currentEmpresa = empresa;
|
|
return currentEmpresa;
|
|
}
|
|
|
|
@LeafLogicActionBinding(actions = {
|
|
SELECT_ESTABELECIMENTO
|
|
})
|
|
public EstabelecimentosData setEstabelecimento( EstabelecimentosData estabelecimento )
|
|
{
|
|
currentEstabelecimento = estabelecimento;
|
|
return currentEstabelecimento;
|
|
}
|
|
|
|
@LeafLogicActionBinding(actions = {
|
|
LOAD_TRABALHADOR
|
|
})
|
|
public TrabalhadoresData getDadosTrabalhador( TrabalhadoresData trabalhador )
|
|
{
|
|
// Trabalhadores result = null;
|
|
// if( id != null )
|
|
// {
|
|
// result = provider.getTrabalhadorByID( id );
|
|
// }
|
|
currentTrabalhador = trabalhador;
|
|
return currentTrabalhador;
|
|
}
|
|
|
|
@LeafLogicActionBinding(actions = FECHAR_PROCESSO)
|
|
public void fecharProcesso()
|
|
{
|
|
if( currentProcesso != null )
|
|
{
|
|
currentProcesso.setData_fim( new Date() );
|
|
currentProcesso.setEstado( ProcessoConstants.PROCESSO_FECHADO_CODE );
|
|
runActionLater( SAVE_PROCESSO );
|
|
}
|
|
}
|
|
|
|
@LeafLogicActionBinding(actions = APAGAR_PROCESSO)
|
|
public void apagarProcesso()
|
|
{
|
|
if( currentProcesso != null && currentProcesso.isEmpty() )
|
|
{
|
|
currentProcesso.setActivo( "n" );
|
|
runActionLater( SAVE_PROCESSO );
|
|
}
|
|
}
|
|
|
|
private void novoLembreteRemarcacao( String mensagem, boolean isConsulta )
|
|
{
|
|
Integer tipoID = lembretesDataProvider.getTipoLembreteIDByCodigo( LembretesConstants.CODE_REMARCACOES );
|
|
try
|
|
{
|
|
if( isConsulta && currentEmpresa != null && currentEstabelecimento != null && currentTrabalhador != null && currentConsultaMarcacao != null )
|
|
{
|
|
lembretesDataProvider.criarLembreteConsulta( tipoID, new Date(), mensagem, null, currentEmpresa.getId(), currentEstabelecimento.getId(), currentTrabalhador.getId(), currentConsultaMarcacao.getId() );
|
|
}
|
|
else
|
|
{
|
|
lembretesDataProvider.criarLembreteExame( tipoID, new Date(), mensagem, null, currentEmpresa.getId(), currentEstabelecimento.getId(), currentTrabalhador.getId(), currentExameMarcacao.getId() );
|
|
}
|
|
}
|
|
catch( Exception e )
|
|
{
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
|
|
@LeafLogicActionBinding(actions = DESMARCAR_SIPRP_CONSULTA_MARCACAO)
|
|
public void desmarcarConsultaSiprp()
|
|
{
|
|
if( currentConsultaMarcacao != null )
|
|
{
|
|
currentConsultaMarcacao.setEstado( MedicinaConstants.ESTADO_DESMARCADO_EMPRESA );
|
|
novoLembreteRemarcacao( MedicinaConstants.LEMBRETE_DESMARCOU_SIPRP_STRING, true );
|
|
runActionLater( SAVE_CONSULTA_MARCACAO );
|
|
}
|
|
}
|
|
|
|
@LeafLogicActionBinding(actions = DESMARCAR_TRABALHADOR_CONSULTA_MARCACAO)
|
|
public void desmarcarConsultaTrabalhador()
|
|
{
|
|
if( currentConsultaMarcacao != null )
|
|
{
|
|
currentConsultaMarcacao.setEstado( MedicinaConstants.ESTADO_DESMARCADO_TRABALHADOR );
|
|
novoLembreteRemarcacao( MedicinaConstants.LEMBRETE_DESMARCOU_TRABALHADOR_STRING, true );
|
|
runActionLater( SAVE_CONSULTA_MARCACAO );
|
|
}
|
|
}
|
|
|
|
@LeafLogicActionBinding(actions = FALTOU_CONSULTA_MARCACAO)
|
|
public void faltouConsulta()
|
|
{
|
|
if( currentConsultaMarcacao != null )
|
|
{
|
|
currentConsultaMarcacao.setEstado( MedicinaConstants.ESTADO_FALTOU );
|
|
novoLembreteRemarcacao( MedicinaConstants.LEMBRETE_FALTOU_TRABALHADOR_STRING, true );
|
|
runActionLater( SAVE_CONSULTA_MARCACAO );
|
|
}
|
|
}
|
|
|
|
@LeafLogicActionBinding(actions = REALIZAR_CONSULTA_MARCACAO)
|
|
public void realizarConsulta()
|
|
{
|
|
if( currentConsultaMarcacao != null )
|
|
{
|
|
currentConsultaMarcacao.setEstado( MedicinaConstants.ESTADO_REALIZADO );
|
|
runActionLater( SAVE_CONSULTA_MARCACAO );
|
|
}
|
|
}
|
|
|
|
@LeafLogicActionBinding(actions = DESMARCAR_SIPRP_EXAME_MARCACAO)
|
|
public void desmarcarExameSiprp()
|
|
{
|
|
if( currentExameMarcacao != null )
|
|
{
|
|
currentExameMarcacao.desmarcarSIPRP();
|
|
novoLembreteRemarcacao( MedicinaConstants.LEMBRETE_DESMARCOU_SIPRP_STRING, false );
|
|
runActionLater( SAVE_EXAME_MARCACAO );
|
|
}
|
|
}
|
|
|
|
@LeafLogicActionBinding(actions = DESMARCAR_TRABALHADOR_EXAME_MARCACAO)
|
|
public void desmarcarExameTrabalhador()
|
|
{
|
|
if( currentExameMarcacao != null )
|
|
{
|
|
currentExameMarcacao.desmarcarTrabalhador();
|
|
novoLembreteRemarcacao( MedicinaConstants.LEMBRETE_DESMARCOU_TRABALHADOR_STRING, false );
|
|
runActionLater( SAVE_EXAME_MARCACAO );
|
|
}
|
|
}
|
|
|
|
@LeafLogicActionBinding(actions = FALTOU_EXAME_MARCACAO)
|
|
public void faltouExame()
|
|
{
|
|
if( currentExameMarcacao != null )
|
|
{
|
|
currentExameMarcacao.faltou();
|
|
novoLembreteRemarcacao( MedicinaConstants.LEMBRETE_FALTOU_TRABALHADOR_STRING, false );
|
|
runActionLater( SAVE_EXAME_MARCACAO );
|
|
}
|
|
}
|
|
|
|
@LeafLogicActionBinding(actions = ANULAR_EXAME_MARCACAO)
|
|
public void anularExame()
|
|
{
|
|
if( currentExameMarcacao != null )
|
|
{
|
|
currentExameMarcacao.anular();
|
|
runActionLater( SAVE_EXAME_MARCACAO );
|
|
}
|
|
}
|
|
|
|
@LeafLogicActionBinding(actions = REALIZAR_EXAME_MARCACAO)
|
|
public void realizarExame()
|
|
{
|
|
if( currentExameMarcacao != null )
|
|
{
|
|
currentExameMarcacao.realizar();
|
|
runActionLater( SAVE_EXAME_MARCACAO );
|
|
}
|
|
}
|
|
|
|
@LeafLogicActionBinding(actions = REALIZAR_PARCIAL_EXAME_MARCACAO)
|
|
public void realizarParcialExame()
|
|
{
|
|
if( currentExameMarcacao != null )
|
|
{
|
|
runActionLater( SAVE_EXAME_MARCACAO );
|
|
}
|
|
}
|
|
|
|
@LeafLogicActionBinding(actions = SELECT_TRABALHADOR)
|
|
public TrabalhadoresData selectTrabalhador( TrabalhadoresData trabalhador )
|
|
{
|
|
this.currentTrabalhador = trabalhador;
|
|
return this.currentTrabalhador;
|
|
}
|
|
|
|
@LeafLogicActionBinding(actions = SELECT_PROCESSO)
|
|
public TrabalhadoresProcessoData selectProcesso( TrabalhadoresProcessoData processo )
|
|
{
|
|
this.currentProcesso = processo;
|
|
return this.currentProcesso;
|
|
}
|
|
|
|
@LeafLogicActionBinding(actions = SELECT_CONSULTA)
|
|
public TrabalhadoresConsultasData selectConsulta( TrabalhadoresConsultasData consulta )
|
|
{
|
|
this.currentConsulta = consulta;
|
|
return this.currentConsulta;
|
|
}
|
|
|
|
@LeafLogicActionBinding(actions = SELECT_CONSULTA_MARCACAO)
|
|
public TrabalhadoresConsultasDatasData selectConsultaMarcacao( TrabalhadoresConsultasDatasData consultaMarcacao )
|
|
{
|
|
this.currentConsultaMarcacao = consultaMarcacao;
|
|
return this.currentConsultaMarcacao;
|
|
}
|
|
|
|
@LeafLogicActionBinding(actions = SELECT_CONSULTA_MARCACAO_EMAIL)
|
|
public TrabalhadoresConsultasDatasEmailsData selectConsultaMarcacaoEmail( TrabalhadoresConsultasDatasEmailsData consultaMarcacaoEmail )
|
|
{
|
|
this.currentConsultaMarcacaoEmail = consultaMarcacaoEmail;
|
|
return this.currentConsultaMarcacaoEmail;
|
|
}
|
|
|
|
@LeafLogicActionBinding(actions = SELECT_CONSULTA_MARCACAO_OBSERVACAO)
|
|
public TrabalhadoresConsultasDatasObservacoesData selectConsultaMarcacaoObservacoes( TrabalhadoresConsultasDatasObservacoesData consultaMarcacaoObservacoes )
|
|
{
|
|
this.currentConsultaMarcacaoObservacao = consultaMarcacaoObservacoes;
|
|
return this.currentConsultaMarcacaoObservacao;
|
|
}
|
|
|
|
@LeafLogicActionBinding(actions = SELECT_EXAME)
|
|
public TrabalhadoresEcdsData selectExame( TrabalhadoresEcdsData exame )
|
|
{
|
|
this.currentExame = exame;
|
|
return this.currentExame;
|
|
}
|
|
|
|
@LeafLogicActionBinding(actions = SELECT_EXAME_MARCACAO)
|
|
public TrabalhadoresEcdsDatasData selectExameMarcacao( TrabalhadoresEcdsDatasData exameMarcacao )
|
|
{
|
|
this.currentExameMarcacao = exameMarcacao;
|
|
return this.currentExameMarcacao;
|
|
}
|
|
|
|
@LeafLogicActionBinding(actions = SELECT_EXAME_MARCACAO_EMAIL)
|
|
public TrabalhadoresEcdsDatasEmailsData selectExameMarcacaoEmail( TrabalhadoresEcdsDatasEmailsData exameMarcacaoEmail )
|
|
{
|
|
this.currentExameMarcacaoEmail = exameMarcacaoEmail;
|
|
return this.currentExameMarcacaoEmail;
|
|
}
|
|
|
|
@LeafLogicActionBinding(actions = SELECT_EXAME_MARCACAO_OBSERVACAO)
|
|
public TrabalhadoresEcdsDatasObservacoesData selectExameMarcacaoObservacoes( TrabalhadoresEcdsDatasObservacoesData exameMarcacaoObservacoes )
|
|
{
|
|
this.currentExameMarcacaoObservacao = exameMarcacaoObservacoes;
|
|
return this.currentExameMarcacaoObservacao;
|
|
}
|
|
|
|
@LeafLogicActionBinding(actions = SELECT_FICHA)
|
|
public TrabalhadoresFichasAptidaoData selectFichaAptidao( TrabalhadoresFichasAptidaoData ficha )
|
|
{
|
|
this.currentFicha = ficha;
|
|
return this.currentFicha;
|
|
}
|
|
|
|
@LeafLogicActionBinding(actions = {
|
|
SELECT_TREE_NODE
|
|
})
|
|
public DefaultMutableTreeNode nodeSelected( DefaultMutableTreeNode node )
|
|
{
|
|
String action = null;
|
|
if( node.getUserObject() == null )
|
|
{
|
|
}
|
|
else if( node.getUserObject() instanceof TrabalhadoresData )
|
|
{
|
|
action = SELECT_TRABALHADOR;
|
|
}
|
|
else if( node.getUserObject() instanceof TrabalhadoresProcessoData )
|
|
{
|
|
action = SELECT_PROCESSO;
|
|
}
|
|
else if( node.getUserObject() instanceof TrabalhadoresConsultasData )
|
|
{
|
|
action = SELECT_CONSULTA;
|
|
}
|
|
else if( node.getUserObject() instanceof TrabalhadoresConsultasDatasData )
|
|
{
|
|
action = SELECT_CONSULTA_MARCACAO;
|
|
}
|
|
else if( node.getUserObject() instanceof TrabalhadoresConsultasDatasObservacoesData )
|
|
{
|
|
action = SELECT_CONSULTA_MARCACAO_OBSERVACAO;
|
|
}
|
|
else if( node.getUserObject() instanceof TrabalhadoresConsultasDatasEmailsData )
|
|
{
|
|
action = SELECT_CONSULTA_MARCACAO_EMAIL;
|
|
}
|
|
else if( node.getUserObject() instanceof TrabalhadoresEcdsData )
|
|
{
|
|
action = SELECT_EXAME;
|
|
}
|
|
else if( node.getUserObject() instanceof TrabalhadoresEcdsDatasData )
|
|
{
|
|
action = SELECT_EXAME_MARCACAO;
|
|
}
|
|
else if( node.getUserObject() instanceof TrabalhadoresEcdsDatasEmailsData )
|
|
{
|
|
action = SELECT_EXAME_MARCACAO_EMAIL;
|
|
}
|
|
else if( node.getUserObject() instanceof TrabalhadoresEcdsDatasObservacoesData )
|
|
{
|
|
action = SELECT_EXAME_MARCACAO_OBSERVACAO;
|
|
}
|
|
else if( node instanceof FichaAptidaoMutableTreeNode )
|
|
{
|
|
action = SELECT_FICHA;
|
|
}
|
|
runAction( action, node.getUserObject() );
|
|
return node;
|
|
}
|
|
|
|
@LeafLogicActionBinding(actions = {
|
|
CREATE_FICHA
|
|
})
|
|
public void createFicha()
|
|
{
|
|
try
|
|
{
|
|
FichaWindow fichaWindow = FichaWindow.getWindow();
|
|
if( fichaWindow != null )
|
|
{
|
|
currentFicha = new TrabalhadoresFichasAptidaoData();
|
|
currentFicha.setToProcesso_id( currentProcesso );
|
|
Date data = getUltimaConsultaMarcacaoDateForProcesso();
|
|
fichaWindow.editTrabalhador( currentTrabalhador.getId(), data, currentProcesso.getMotivo(), new SaveExameListener()
|
|
{
|
|
@Override
|
|
public void exameSaved( Integer trabalhadorID, Integer exameID )
|
|
{
|
|
try
|
|
{
|
|
if( trabalhadorID != null && exameID != null )
|
|
{
|
|
if( trabalhadorID.equals( currentTrabalhador.getId() ) )
|
|
{
|
|
currentFichaExameID = exameID;
|
|
ExamesData exame = provider.getExameForExameID( currentFichaExameID );
|
|
if( exame != null )
|
|
{
|
|
currentFicha.setToExame_id( exame );
|
|
currentFicha.save();
|
|
runAction( REFRESH );
|
|
}
|
|
}
|
|
}
|
|
} catch( Exception e )
|
|
{
|
|
LeafDialog.error( e );
|
|
}
|
|
}
|
|
} );
|
|
}
|
|
} catch( Exception e )
|
|
{
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
|
|
private Date getUltimaConsultaMarcacaoDateForProcesso()
|
|
{
|
|
Date result = null;
|
|
if( currentProcesso != null )
|
|
{
|
|
List<TrabalhadoresConsultasData> consultas = currentProcesso.fromTrabalhadoresConsultas_processo_id();
|
|
for( TrabalhadoresConsultasData consulta : consultas )
|
|
{
|
|
if( new Integer( MedicinaConstants.ESTADO_REALIZADO ).equals( consulta.getEstado() ) )
|
|
{
|
|
List<TrabalhadoresConsultasDatasData> marcacoes = consulta.fromTrabalhadoresConsultasDatas_trabalhadores_consultas_id();
|
|
for( TrabalhadoresConsultasDatasData 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
|
|
})
|
|
public TrabalhadoresConsultasData createConsulta()
|
|
{
|
|
currentConsulta = new TrabalhadoresConsultasData();
|
|
currentConsulta.setToTrabalhador_id( currentTrabalhador );
|
|
currentConsulta.setToProcesso_id( currentProcesso );
|
|
currentConsulta.setToPrestador_id( getPrestador( true ) );
|
|
currentConsulta.setEstado( MedicinaConstants.ESTADO_POR_REALIZAR );
|
|
return currentConsulta;
|
|
}
|
|
|
|
@LeafLogicActionBinding(actions = {
|
|
CREATE_CONSULTA_MARCACAO
|
|
})
|
|
public TrabalhadoresConsultasDatasData createConsultaMarcacao()
|
|
{
|
|
currentConsultaMarcacao = new TrabalhadoresConsultasDatasData();
|
|
currentConsultaMarcacao.setToTrabalhadores_consultas_id( currentConsulta );
|
|
currentConsultaMarcacao.setToPrestador_id( getPrestador( true ) );
|
|
currentConsultaMarcacao.setEstado( MedicinaConstants.ESTADO_POR_REALIZAR );
|
|
runActionLater( SAVE_CONSULTA_MARCACAO );
|
|
return currentConsultaMarcacao;
|
|
}
|
|
|
|
@LeafLogicActionBinding(actions = {
|
|
CREATE_CONSULTA_MARCACAO_EMAIL
|
|
})
|
|
public TrabalhadoresConsultasDatasEmailsData createConsultaMarcacaoEmails()
|
|
{
|
|
currentConsultaMarcacaoEmail = new TrabalhadoresConsultasDatasEmailsData();
|
|
currentConsultaMarcacaoEmail.setToTrabalhadores_consultas_datas_id( currentConsultaMarcacao );
|
|
runActionLater( SAVE_CONSULTA_MARCACAO_EMAIL );
|
|
return currentConsultaMarcacaoEmail;
|
|
}
|
|
|
|
@LeafLogicActionBinding(actions = {
|
|
CREATE_CONSULTA_MARCACAO_EMAIL_VACINAS
|
|
})
|
|
public TrabalhadoresConsultasDatasEmailsData createConsultaMarcacaoEmailsVacinas()
|
|
{
|
|
currentConsultaMarcacaoEmail = new TrabalhadoresConsultasDatasEmailsData();
|
|
currentConsultaMarcacaoEmail.setToTrabalhadores_consultas_datas_id( currentConsultaMarcacao );
|
|
runActionLater( SAVE_CONSULTA_MARCACAO_EMAIL );
|
|
return currentConsultaMarcacaoEmail;
|
|
}
|
|
|
|
@LeafLogicActionBinding(actions = {
|
|
CREATE_CONSULTA_MARCACAO_OBSERVACOES
|
|
})
|
|
public TrabalhadoresConsultasDatasObservacoesData createConsultaMarcacaoObservacoes()
|
|
{
|
|
currentConsultaMarcacaoObservacao = new TrabalhadoresConsultasDatasObservacoesData();
|
|
currentConsultaMarcacaoObservacao.setToTrabalhadores_consultas_datas_id( currentConsultaMarcacao );
|
|
runActionLater( SAVE_CONSULTA_MARCACAO_OBSERVACOES );
|
|
return currentConsultaMarcacaoObservacao;
|
|
}
|
|
|
|
@LeafLogicActionBinding(actions = CREATE_EXAME)
|
|
public TrabalhadoresEcdsData createExame()
|
|
{
|
|
currentExame = new TrabalhadoresEcdsData();
|
|
currentExame.setToTrabalhador_id( currentTrabalhador );
|
|
currentExame.setToProcesso_id( currentProcesso );
|
|
currentExame.setEstado( MedicinaConstants.ESTADO_POR_REALIZAR );
|
|
runActionLater( SAVE_EXAME );
|
|
return currentExame;
|
|
}
|
|
|
|
@LeafLogicActionBinding(actions = CREATE_EXAME_MARCACAO)
|
|
public TrabalhadoresEcdsDatasData createExameMarcacao()
|
|
{
|
|
currentExameMarcacao = new TrabalhadoresEcdsDatasData();
|
|
currentExameMarcacao.setToTrabalhadores_ecds_id( currentExame );
|
|
currentExameMarcacao.setToPrestador_id( getPrestador( false ) );
|
|
currentExameMarcacao.setToAnalisador_id( getAnalisador() );
|
|
currentExameMarcacao.porRealizar();
|
|
runActionLater( SAVE_EXAME_MARCACAO );
|
|
return currentExameMarcacao;
|
|
}
|
|
|
|
@LeafLogicActionBinding(actions = CREATE_EXAME_MARCACAO_OBSERVACOES)
|
|
public TrabalhadoresEcdsDatasObservacoesData createExameMarcacaoObservacao()
|
|
{
|
|
currentExameMarcacaoObservacao = new TrabalhadoresEcdsDatasObservacoesData();
|
|
currentExameMarcacaoObservacao.setToTrabalhadores_ecds_datas_id( currentExameMarcacao );
|
|
runActionLater( SAVE_EXAME_MARCACAO_OBSERVACOES );
|
|
return currentExameMarcacaoObservacao;
|
|
}
|
|
|
|
@LeafLogicActionBinding(actions = CREATE_EXAME_MARCACAO_EMAIL)
|
|
public TrabalhadoresEcdsDatasEmailsData createExameMarcacaoEmail()
|
|
{
|
|
currentExameMarcacaoEmail = new TrabalhadoresEcdsDatasEmailsData();
|
|
currentExameMarcacaoEmail.setToTrabalhadores_ecds_datas_id( currentExameMarcacao );
|
|
runActionLater( SAVE_EXAME_MARCACAO_EMAIL );
|
|
return currentExameMarcacaoEmail;
|
|
}
|
|
|
|
@LeafLogicActionBinding(actions = CREATE_PROCESSO)
|
|
public TrabalhadoresProcessoData createProcesso()
|
|
{
|
|
currentProcesso = new TrabalhadoresProcessoData();
|
|
currentProcesso.setData_inicio( new Date() );
|
|
currentProcesso.setEstado( ProcessoConstants.PROCESSO_ABERTO_CODE );
|
|
currentProcesso.setToTrabalhador_id( currentTrabalhador );
|
|
currentProcesso.setActivo( "y" );
|
|
runActionLater( SAVE_PROCESSO );
|
|
return currentProcesso;
|
|
}
|
|
|
|
@LeafLogicActionBinding(actions = CREATE_LEMBRETE)
|
|
public LembretesData createLembrete()
|
|
{
|
|
LembretesData result = new LembretesData();
|
|
result.setToTrabalhador_id( currentTrabalhador );
|
|
result.setToEmpresa_id( currentEmpresa );
|
|
result.setToEstabelecimento_id( currentEstabelecimento );
|
|
result.setToTipo_id( provider.getTipoLembretesCustomizavel() );
|
|
runActionLater( SAVE_LEMBRETE, result );
|
|
return result;
|
|
}
|
|
|
|
@LeafLogicActionBinding(actions = {
|
|
SAVE_PROCESSO, SAVE_LEMBRETE, SAVE_CONSULTA, SAVE_CONSULTA_MARCACAO, SAVE_CONSULTA_MARCACAO_EMAIL, SAVE_CONSULTA_MARCACAO_OBSERVACOES, SAVE_EXAME, SAVE_EXAME_MARCACAO, SAVE_EXAME_MARCACAO_EMAIL, SAVE_EXAME_MARCACAO_OBSERVACOES
|
|
})
|
|
public void saveObject( BaseObject object )
|
|
{
|
|
try
|
|
{
|
|
object.save();
|
|
runActionLater( REFRESH );
|
|
} catch( Exception e )
|
|
{
|
|
LeafDialog.error(e);
|
|
}
|
|
}
|
|
|
|
@LeafLogicActionBinding(actions = {
|
|
APAGAR_CONSULTA, APAGAR_EXAME
|
|
})
|
|
public void deleteObject( BaseObject object )
|
|
{
|
|
if( object instanceof TrabalhadoresConsultasData )
|
|
{
|
|
apagarConsulta( (TrabalhadoresConsultasData) object );
|
|
}
|
|
if( object instanceof TrabalhadoresEcdsData )
|
|
{
|
|
apagarExame( (TrabalhadoresEcdsData) object );
|
|
}
|
|
runActionLater( SELECT_PROCESSO );
|
|
}
|
|
|
|
private void apagarConsulta( TrabalhadoresConsultasData consulta )
|
|
{
|
|
try
|
|
{
|
|
List<TrabalhadoresConsultasDatasData> marcacoes = consulta.fromTrabalhadoresConsultasDatas_trabalhadores_consultas_id();
|
|
if( marcacoes != null )
|
|
{
|
|
for( TrabalhadoresConsultasDatasData marcacao : marcacoes )
|
|
{
|
|
List<TrabalhadoresConsultasDatasEmailsData> emails = marcacao.fromTrabalhadoresConsultasDatasEmails_trabalhadores_consultas_datas_id();
|
|
if( emails != null )
|
|
{
|
|
for( TrabalhadoresConsultasDatasEmailsData email : emails )
|
|
{
|
|
email.delete();
|
|
}
|
|
}
|
|
List<TrabalhadoresConsultasDatasObservacoesData> observacoes = marcacao.fromTrabalhadoresConsultasDatasObservacoes_trabalhadores_consultas_datas_id();
|
|
if( observacoes != null )
|
|
{
|
|
for( TrabalhadoresConsultasDatasObservacoesData observacao : observacoes )
|
|
{
|
|
observacao.delete();
|
|
}
|
|
}
|
|
marcacao.delete();
|
|
}
|
|
consulta.delete();
|
|
}
|
|
} catch( Exception e )
|
|
{
|
|
LeafDialog.error(e);
|
|
}
|
|
}
|
|
|
|
private void apagarExame( TrabalhadoresEcdsData exame )
|
|
{
|
|
try
|
|
{
|
|
List<TrabalhadoresEcdsDatasData> marcacoes = exame.fromTrabalhadoresEcdsDatas_trabalhadores_ecds_id();
|
|
if( marcacoes != null )
|
|
{
|
|
for( TrabalhadoresEcdsDatasData marcacao : marcacoes )
|
|
{
|
|
List<TrabalhadoresEcdData> ecds = marcacao.fromTrabalhadoresEcd_trabalhadores_ecds_datas_id();
|
|
if( ecds != null )
|
|
{
|
|
for( TrabalhadoresEcdData ecd : ecds )
|
|
{
|
|
ecd.delete();
|
|
}
|
|
}
|
|
List<TrabalhadoresEcdsDatasEmailsData> emails = marcacao.fromTrabalhadoresEcdsDatasEmails_trabalhadores_ecds_datas_id();
|
|
if( emails != null )
|
|
{
|
|
for( TrabalhadoresEcdsDatasEmailsData email : emails )
|
|
{
|
|
email.delete();
|
|
}
|
|
}
|
|
List<TrabalhadoresEcdsDatasObservacoesData> observacoes = marcacao.fromTrabalhadoresEcdsDatasObservacoes_trabalhadores_ecds_datas_id();
|
|
if( observacoes != null )
|
|
{
|
|
for( TrabalhadoresEcdsDatasObservacoesData observacao : observacoes )
|
|
{
|
|
observacao.delete();
|
|
}
|
|
}
|
|
marcacao.delete();
|
|
}
|
|
exame.delete();
|
|
}
|
|
} catch( Exception e )
|
|
{
|
|
LeafDialog.error(e);
|
|
}
|
|
}
|
|
|
|
@LeafLogicActionBinding(actions = ACTION_CANCEL)
|
|
public void abortAction()
|
|
{
|
|
//FIXME : rollback
|
|
// provider.rollback();
|
|
runAction( LOAD_TRABALHADOR );
|
|
runAction( SELECT_TRABALHADOR );
|
|
}
|
|
|
|
private PrestadoresData getPrestador( boolean consulta )
|
|
{
|
|
PrestadoresData result = null;
|
|
if( currentTrabalhador != null && currentTrabalhador.toEstabelecimento_id() != null )
|
|
{
|
|
result = consulta ? currentTrabalhador.toEstabelecimento_id().toPrestador_consulta_id() : currentTrabalhador.toEstabelecimento_id().toPrestador_ecds_id();
|
|
if( PrestadoresData.prestadorNulo.equals( result ) )
|
|
{
|
|
result = null;
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
|
|
private PrestadoresData getAnalisador()
|
|
{
|
|
return getPrestador( false );
|
|
}
|
|
|
|
}
|