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.
SIPRP/trunk/SIPRPSoft/src/siprp/medicina/processo/logic/MedicinaProcessoLogic.java

545 lines
18 KiB

package siprp.medicina.processo.logic;
import java.util.Date;
import java.util.List;
import java.util.Vector;
import javax.swing.tree.DefaultMutableTreeNode;
import siprp.database.cayenne.objects.BaseObject;
import siprp.database.cayenne.objects.Trabalhadores;
import siprp.database.cayenne.objects.TrabalhadoresConsultas;
import siprp.database.cayenne.objects.TrabalhadoresConsultasDatas;
import siprp.database.cayenne.objects.TrabalhadoresConsultasDatasEmails;
import siprp.database.cayenne.objects.TrabalhadoresConsultasDatasObservacoes;
import siprp.database.cayenne.objects.TrabalhadoresEcd;
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.TrabalhadoresProcesso;
import siprp.database.cayenne.providers.MedicinaDAO;
import siprp.logic.SIPRPLogic;
import siprp.medicina.MedicinaConstants;
import siprp.medicina.processo.ProcessoConstants;
import siprp.medicina.processo.detalhes.EstadoChooser;
import siprp.medicina.processo.estrutura.FichaAptidaoMutableTreeNode;
import siprp.ui.SIPRPWindow.LeafObject;
import com.evolute.utils.tables.ColumnizedMappable;
public class MedicinaProcessoLogic extends SIPRPLogic
{
@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_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_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_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 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 FALTOU_EXAME_MARCACAO = "FALTOU_EXAME_MARCACAO";
@Action(isSave = true)
public static final String ANULAR_EXAME_MARCACAO = "ANULAR_EXAME_MARCACAO";
private MedicinaDAO provider = null;
private Trabalhadores currentTrabalhador = null;
@LeafObject(useWithAction = SAVE_PROCESSO)
public TrabalhadoresProcesso currentProcesso = null;
@LeafObject(useWithAction = SAVE_CONSULTA)
public TrabalhadoresConsultas currentConsulta = null;
@LeafObject(useWithAction = SAVE_CONSULTA_MARCACAO)
public TrabalhadoresConsultasDatas currentConsultaMarcacao = null;
@LeafObject(useWithAction = SAVE_CONSULTA_MARCACAO_EMAIL)
public TrabalhadoresConsultasDatasEmails currentConsultaMarcacaoEmail = null;
@LeafObject(useWithAction = SAVE_CONSULTA_MARCACAO_OBSERVACOES)
public TrabalhadoresConsultasDatasObservacoes currentConsultaMarcacaoObservacao = null;
@LeafObject(useWithAction = SAVE_FICHA)
public FichaAptidaoMutableTreeNode currentFicha = null;
@LeafObject(useWithAction = SAVE_EXAME_MARCACAO_OBSERVACOES)
public TrabalhadoresEcdsDatasObservacoes currentExameMarcacaoObservacao = null;
@LeafObject(useWithAction = SAVE_EXAME_MARCACAO_EMAIL)
public TrabalhadoresEcdsDatasEmails currentExameMarcacaoEmail = null;
@LeafObject(useWithAction = SAVE_EXAME_MARCACAO)
public TrabalhadoresEcdsDatas currentExameMarcacao = null;
@LeafObject(useWithAction = SAVE_EXAME)
public TrabalhadoresEcds currentExame = null;
public MedicinaProcessoLogic()
{
try
{
provider = new MedicinaDAO();
} catch( Exception e )
{
e.printStackTrace( System.out );
}
}
@LeafLogicActionBinding(actions = {
ACTION_STARTUP
})
public Vector<ColumnizedMappable> getAllEmpresas()
{
return provider.getAllEmpresas();
}
@LeafLogicActionBinding(actions = {
SELECT_EMPRESA
})
public Vector<ColumnizedMappable> getEstabelecimentosForEmpresa( Integer empresaID )
{
return provider.getEstabelecimentosForEmpresa( empresaID );
}
@LeafLogicActionBinding(actions = {
SELECT_ESTABELECIMENTO
})
public Vector<ColumnizedMappable> getTrabalhadoresForEstabelecimento( Integer estabelecimentoID )
{
return provider.getTrabalhadoresForEstabelecimento( estabelecimentoID );
}
@LeafLogicActionBinding(actions = {
LOAD_TRABALHADOR
})
public Trabalhadores getDadosTrabalhador( Integer id )
{
Trabalhadores result = null;
clearAll();
if( id != null )
{
result = provider.getTrabalhadorByID( id );
}
currentTrabalhador = result;
return result;
}
@LeafLogicActionBinding(actions = FECHAR_PROCESSO)
public void fecharProcesso()
{
if( currentProcesso != null )
{
currentProcesso.setDataFim( new Date() );
currentProcesso.setEstado( ProcessoConstants.PROCESSO_FECHADO_CODE );
runActionLater( SAVE_PROCESSO );
}
}
@LeafLogicActionBinding(actions = DESMARCAR_SIPRP_CONSULTA_MARCACAO)
public void desmarcarConsultaSiprp()
{
if( currentConsultaMarcacao != null )
{
currentConsultaMarcacao.setEstado( MedicinaConstants.ESTADO_DESMARCADO_EMPRESA );
runActionLater( SAVE_CONSULTA_MARCACAO );
}
}
@LeafLogicActionBinding(actions = DESMARCAR_TRABALHADOR_CONSULTA_MARCACAO)
public void desmarcarConsultaTrabalhador()
{
if( currentConsultaMarcacao != null )
{
currentConsultaMarcacao.setEstado( MedicinaConstants.ESTADO_DESMARCADO_TRABALHADOR );
runActionLater( SAVE_CONSULTA_MARCACAO );
}
}
@LeafLogicActionBinding(actions = FALTOU_CONSULTA_MARCACAO)
public void faltouConsulta()
{
if( currentConsultaMarcacao != null )
{
currentConsultaMarcacao.setEstado( MedicinaConstants.ESTADO_FALTOU );
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.setEstado( MedicinaConstants.ESTADO_DESMARCADO_EMPRESA );
runActionLater( SAVE_EXAME_MARCACAO );
}
}
@LeafLogicActionBinding(actions = DESMARCAR_TRABALHADOR_EXAME_MARCACAO)
public void desmarcarExameTrabalhador()
{
if( currentExameMarcacao != null )
{
currentExameMarcacao.setEstado( MedicinaConstants.ESTADO_DESMARCADO_TRABALHADOR );
runActionLater( SAVE_EXAME_MARCACAO );
}
}
@LeafLogicActionBinding(actions = FALTOU_EXAME_MARCACAO)
public void faltouExame()
{
if( currentExameMarcacao != null )
{
currentExameMarcacao.setEstado( MedicinaConstants.ESTADO_FALTOU );
runActionLater( SAVE_EXAME_MARCACAO );
}
}
@LeafLogicActionBinding(actions = ANULAR_EXAME_MARCACAO)
public void anularExame()
{
if( currentExameMarcacao != null )
{
currentExameMarcacao.setEstado( MedicinaConstants.ESTADO_ANULADO );
runActionLater( SAVE_EXAME_MARCACAO );
}
}
@LeafLogicActionBinding(actions = REALIZAR_EXAME_MARCACAO)
public void realizarExame()
{
if( currentExameMarcacao != null )
{
currentExameMarcacao.setEstado( MedicinaConstants.ESTADO_REALIZADO );
runActionLater( SAVE_EXAME_MARCACAO );
}
}
@LeafLogicActionBinding(actions = {
SELECT_TREE_NODE
})
public DefaultMutableTreeNode nodeSelected( DefaultMutableTreeNode node )
{
String action = null;
if( node.getUserObject() == null )
{
}
else if( node.getUserObject() instanceof Trabalhadores )
{
action = SELECT_TRABALHADOR;
currentTrabalhador = (Trabalhadores) node.getUserObject();
}
else if( node.getUserObject() instanceof TrabalhadoresProcesso )
{
action = SELECT_PROCESSO;
currentProcesso = (TrabalhadoresProcesso) node.getUserObject();
}
else if( node.getUserObject() instanceof TrabalhadoresConsultas )
{
action = SELECT_CONSULTA;
currentConsulta = (TrabalhadoresConsultas) node.getUserObject();
}
else if( node.getUserObject() instanceof TrabalhadoresConsultasDatas )
{
action = SELECT_CONSULTA_MARCACAO;
currentConsultaMarcacao = (TrabalhadoresConsultasDatas) node.getUserObject();
}
else if( node.getUserObject() instanceof TrabalhadoresConsultasDatasObservacoes )
{
action = SELECT_CONSULTA_MARCACAO_OBSERVACAO;
currentConsultaMarcacaoObservacao = (TrabalhadoresConsultasDatasObservacoes) node.getUserObject();
}
else if( node.getUserObject() instanceof TrabalhadoresConsultasDatasEmails )
{
action = SELECT_CONSULTA_MARCACAO_EMAIL;
currentConsultaMarcacaoEmail = (TrabalhadoresConsultasDatasEmails) node.getUserObject();
}
else if( node.getUserObject() instanceof TrabalhadoresEcds )
{
action = SELECT_EXAME;
currentExame = (TrabalhadoresEcds) node.getUserObject();
}
else if( node.getUserObject() instanceof TrabalhadoresEcdsDatas )
{
action = SELECT_EXAME_MARCACAO;
currentExameMarcacao = (TrabalhadoresEcdsDatas) node.getUserObject();
}
else if( node.getUserObject() instanceof TrabalhadoresEcdsDatasEmails )
{
action = SELECT_EXAME_MARCACAO_EMAIL;
currentExameMarcacaoEmail = (TrabalhadoresEcdsDatasEmails) node.getUserObject();
}
else if( node.getUserObject() instanceof TrabalhadoresEcdsDatasObservacoes )
{
action = SELECT_EXAME_MARCACAO_OBSERVACAO;
currentExameMarcacaoObservacao = (TrabalhadoresEcdsDatasObservacoes) node.getUserObject();
}
else if( node instanceof FichaAptidaoMutableTreeNode )
{
action = SELECT_FICHA;
currentFicha = (FichaAptidaoMutableTreeNode) node.getUserObject();
}
runAction( action, node.getUserObject() );
return node;
}
@LeafLogicActionBinding(actions = {
CREATE_CONSULTA
})
public TrabalhadoresConsultas createConsulta()
{
currentConsulta = new TrabalhadoresConsultas();
currentConsulta.setToTrabalhadores( currentTrabalhador );
currentConsulta.setToTrabalhadoresProcesso( currentProcesso );
currentConsulta.setEstado( MedicinaConstants.ESTADO_POR_REALIZAR );
return currentConsulta;
}
@LeafLogicActionBinding(actions = {
CREATE_CONSULTA_MARCACAO
})
public TrabalhadoresConsultasDatas createConsultaMarcacao()
{
currentConsultaMarcacao = new TrabalhadoresConsultasDatas();
currentConsultaMarcacao.setToTrabalhadoresConsultas( currentConsulta );
currentConsultaMarcacao.setEstado( MedicinaConstants.ESTADO_POR_REALIZAR );
runActionLater( SAVE_CONSULTA_MARCACAO );
return currentConsultaMarcacao;
}
@LeafLogicActionBinding(actions = {
CREATE_CONSULTA_MARCACAO_EMAIL
})
public TrabalhadoresConsultasDatasEmails createConsultaMarcacaoEmails()
{
currentConsultaMarcacaoEmail = new TrabalhadoresConsultasDatasEmails();
currentConsultaMarcacaoEmail.setToTrabalhadoresConsultasDatas( currentConsultaMarcacao );
runActionLater( SAVE_CONSULTA_MARCACAO_EMAIL );
return currentConsultaMarcacaoEmail;
}
@LeafLogicActionBinding(actions = {
CREATE_CONSULTA_MARCACAO_OBSERVACOES
})
public TrabalhadoresConsultasDatasObservacoes createConsultaMarcacaoObservacoes()
{
currentConsultaMarcacaoObservacao = new TrabalhadoresConsultasDatasObservacoes();
currentConsultaMarcacaoObservacao.setToTrabalhadoresConsultasDatas( currentConsultaMarcacao );
runActionLater( SAVE_CONSULTA_MARCACAO_OBSERVACOES );
return currentConsultaMarcacaoObservacao;
}
@LeafLogicActionBinding(actions = CREATE_EXAME)
public TrabalhadoresEcds createExame()
{
currentExame = new TrabalhadoresEcds();
currentExame.setToTrabalhadores( currentTrabalhador );
currentExame.setToTrabalhadoresProcesso( currentProcesso );
currentExame.setEstado( MedicinaConstants.ESTADO_POR_REALIZAR );
runActionLater( SAVE_EXAME );
return currentExame;
}
@LeafLogicActionBinding(actions = CREATE_EXAME_MARCACAO)
public TrabalhadoresEcdsDatas createExameMarcacao()
{
currentExameMarcacao = new TrabalhadoresEcdsDatas();
currentExameMarcacao.setToTrabalhadoresEcds( currentExame );
currentExameMarcacao.setEstado( MedicinaConstants.ESTADO_POR_REALIZAR );
runActionLater( SAVE_EXAME_MARCACAO );
return currentExameMarcacao;
}
@LeafLogicActionBinding(actions = CREATE_EXAME_MARCACAO_OBSERVACOES)
public TrabalhadoresEcdsDatasObservacoes createExameMarcacaoObservacao()
{
currentExameMarcacaoObservacao = new TrabalhadoresEcdsDatasObservacoes();
currentExameMarcacaoObservacao.setToTrabalhadoresEcdsDatas( currentExameMarcacao );
runActionLater( SAVE_EXAME_MARCACAO_OBSERVACOES );
return currentExameMarcacaoObservacao;
}
@LeafLogicActionBinding(actions = CREATE_EXAME_MARCACAO_EMAIL)
public TrabalhadoresEcdsDatasEmails createExameMarcacaoEmail()
{
currentExameMarcacaoEmail = new TrabalhadoresEcdsDatasEmails();
currentExameMarcacaoEmail.setToTrabalhadoresEcdsDatas( currentExameMarcacao );
runActionLater( SAVE_EXAME_MARCACAO_EMAIL );
return currentExameMarcacaoEmail;
}
@LeafLogicActionBinding(actions = CREATE_PROCESSO)
public TrabalhadoresProcesso createProcesso()
{
currentProcesso = new TrabalhadoresProcesso();
currentProcesso.setDataInicio( new Date() );
currentProcesso.setEstado( ProcessoConstants.PROCESSO_ABERTO_CODE );
currentProcesso.setToTrabalhadores( currentTrabalhador );
runActionLater( SAVE_PROCESSO );
return currentProcesso;
}
@LeafLogicActionBinding(actions = {
SAVE_PROCESSO, 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 )
{
provider.saveObject( object );
runAction( REFRESH );
}
private void clearAll()
{
currentConsulta = null;
currentConsultaMarcacao = null;
currentConsultaMarcacaoEmail = null;
currentConsultaMarcacaoObservacao = null;
currentExame = null;
currentExameMarcacao = null;
currentExameMarcacaoEmail = null;
currentExameMarcacaoObservacao = null;
currentFicha = null;
currentProcesso = null;
currentTrabalhador = null;
}
}