diff --git a/trunk/SIPRPSoft/lib/shst.jar b/trunk/SIPRPSoft/lib/shst.jar index e68c1b5d..acc6ed1f 100644 Binary files a/trunk/SIPRPSoft/lib/shst.jar and b/trunk/SIPRPSoft/lib/shst.jar differ diff --git a/trunk/SIPRPSoft/src/siprp/medicina/processo/ui/MedicinaProcessoWindow.java b/trunk/SIPRPSoft/src/siprp/medicina/processo/ui/MedicinaProcessoWindow.java deleted file mode 100755 index e72abc63..00000000 --- a/trunk/SIPRPSoft/src/siprp/medicina/processo/ui/MedicinaProcessoWindow.java +++ /dev/null @@ -1,212 +0,0 @@ -package siprp.medicina.processo.ui; - -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.CLOSE; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.CREATE_LEMBRETE; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.REALIZAR_PARCIAL_EXAME_MARCACAO; -import info.clearthought.layout.TableLayout; -import info.clearthought.layout.TableLayoutConstraints; - -import java.awt.Dimension; -import java.util.Date; -import java.util.List; - -import javax.swing.JSeparator; - -import leaf.ui.LeafCalendarDialog; -import leaf.ui.LeafOptionDialog; -import leaf.ui.LeafTextDialog; -import leaf.ui.LeafWindow; -import leaf.ui.LeafLogic.LeafUIActionBinding; -import siprp.MedicinaConstants; -import siprp.database.cayenne.objects.Lembretes; -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.medicina.processo.logic.MedicinaProcessoLogic; - -import com.evolute.adt.OrderedMap; - -public class MedicinaProcessoWindow extends LeafWindow -{ - private static final long serialVersionUID = 1L; - - private static final Dimension WINDOW_DIMENSION = new Dimension( 1024, 700 ); - - public static final String TITLE = "Processos de Trabalhadores"; - - private static final Dimension DIMENSION_TRABALHADORES_CHOOSER = new Dimension( 0, 200 ); - private static final Dimension DIMENSION_PROCESSO_TOOLBAR = new Dimension( 150, 0 ); - - public final JSeparator separator = new JSeparator(); - @LeafPanel - public final ProcessoDadosPanel panelProcessoDados; - @LeafPanel - public final ProcessoAccoesPanel panelProcessoToolbar; - @LeafPanel - public final ProcessoTreePanel panelProcessoTree; - @LeafPanel - public final TrabalhadoresChooserPanel panelTrabalhadoresChooser; - - public MedicinaProcessoWindow() throws Exception - { - super( new MedicinaProcessoLogic() ); - panelProcessoDados = new ProcessoDadosPanel( this ); - panelProcessoToolbar = new ProcessoAccoesPanel( this ); - panelProcessoTree = new ProcessoTreePanel( this ); - panelTrabalhadoresChooser = new TrabalhadoresChooserPanel( this ); - - startup(); - } - - public MedicinaProcessoWindow(Trabalhadores trabalhador) throws Exception - { - super( new MedicinaProcessoLogic() ); - panelProcessoDados = new ProcessoDadosPanel( this ); - panelProcessoToolbar = new ProcessoAccoesPanel( this ); - panelProcessoTree = new ProcessoTreePanel( this ); - panelTrabalhadoresChooser = new TrabalhadoresChooserPanel( this ); - startup(); - runAction( MedicinaProcessoLogic.LOAD_TRABALHADOR, trabalhador ); - } - - private void startup() - { - setSize( WINDOW_DIMENSION ); - setTitle( TITLE ); - setupLayout(); - setupComponents(); - placeComponents(); - completeSetup(); - } - - private void setupLayout() - { - double[] cols = new double[] { - TableLayout.PREFERRED, TableLayout.FILL, TableLayout.FILL - }; - double[] rows = new double[] { - TableLayout.PREFERRED, TableLayout.PREFERRED, TableLayout.FILL - }; - TableLayout layout = new TableLayout( cols, rows ); - layout.setVGap( 5 ); - layout.setHGap( 5 ); - this.setLayout( layout ); - } - - private void setupComponents() - { - panelTrabalhadoresChooser.setPreferredSize( DIMENSION_TRABALHADORES_CHOOSER ); - panelProcessoToolbar.setPreferredSize( DIMENSION_PROCESSO_TOOLBAR ); - } - - private void placeComponents() - { - this.add( panelTrabalhadoresChooser, new TableLayoutConstraints( 0, 0, 2, 0 ) ); - this.add( separator, new TableLayoutConstraints( 0, 1, 2, 1 ) ); - this.add( panelProcessoToolbar, new TableLayoutConstraints( 0, 2 ) ); - this.add( panelProcessoTree, new TableLayoutConstraints( 1, 2 ) ); - this.add( panelProcessoDados, new TableLayoutConstraints( 2, 2 ) ); - } - - @LeafUIActionBinding(action = CLOSE) - public void closeWindow() - { - close(); - } - - @LeafUIActionBinding(action = REALIZAR_PARCIAL_EXAME_MARCACAO) - public void realizarExameParcial( TrabalhadoresEcdsDatas marcacao ) - { - boolean atLeastOneRealizado = false; - boolean atLeastOneFalta = false; - if( marcacao != null ) - { - List ecds = marcacao.getTrabalhadoresEcdArray(); - if( ecds != null ) - { - OrderedMap allGrupos = marcacao.getStatesForeGruposExames(); - OrderedMap grupos = new OrderedMap(); - for( int row = 0; row < allGrupos.rows(); ++row ) - { - List grupo = allGrupos.getRow( row ); - if( grupo != null && grupo.size() > 1 ) - { - String estado = grupo.get( 1 ).toString(); - if( MedicinaConstants.ESTADOS_EXAME_STR[MedicinaConstants.ESTADO_POR_REALIZAR].equals( estado ) ) - { - PrtGruposProtocolo key = allGrupos.getKeyForValue( grupo ); - grupos.addRow( key, grupo ); - } - } - } - - LeafOptionDialog option = new LeafOptionDialog( this, grupos, null, null, "Marcar falta para:", "Faltou >>" ); - List selected = option.getSelected(); - if( selected != null ) - { - for( TrabalhadoresEcd ecd : ecds ) - { - if( selected.contains( ecd.getToPrtTiposElementosProtocolo().getToPrtGruposProtocolo() ) ) - { - ecd.setEstado( MedicinaConstants.ESTADO_FALTOU ); - atLeastOneFalta = true; - } - else - { - ecd.setEstado( MedicinaConstants.ESTADO_REALIZADO ); - atLeastOneRealizado = true; - } - } - } - } - } - if( atLeastOneFalta ) - { - if( atLeastOneRealizado ) - { - marcacao.setEstado( MedicinaConstants.ESTADO_PARCIALMENTE_REALIZADO ); - } - else - { - marcacao.setEstado( MedicinaConstants.ESTADO_FALTOU ); - } - } - else - { - if( atLeastOneRealizado ) - { - marcacao.setEstado( MedicinaConstants.ESTADO_REALIZADO ); - } - else - { - } - } - } - - @LeafUIActionBinding(action = CREATE_LEMBRETE) - public void createLembrete( Lembretes lembrete ) - { - if( lembrete != null ) - { - Date date = new LeafCalendarDialog( this ).getDate(); - if( date != null && date.getTime() != 0 ) - { - String text = new LeafTextDialog( this, null, "", true ).getText(); - if( text != null && !text.trim().equals( "" ) ) - { - lembrete.setData( date ); - lembrete.setDescricao( text ); - } - else - { - abortAction( true ); - } - } - else - { - abortAction( true ); - } - } - } -} diff --git a/trunk/SIPRPSoft/src/siprp/medicina/processo/ui/ProcessoAccoesPanel.java b/trunk/SIPRPSoft/src/siprp/medicina/processo/ui/ProcessoAccoesPanel.java deleted file mode 100755 index 3179b01b..00000000 --- a/trunk/SIPRPSoft/src/siprp/medicina/processo/ui/ProcessoAccoesPanel.java +++ /dev/null @@ -1,551 +0,0 @@ -package siprp.medicina.processo.ui; - -import static com.evolute.utils.strings.UnicodeLatin1Map.atilde; -import static com.evolute.utils.strings.UnicodeLatin1Map.ccedil; -import static com.evolute.utils.strings.UnicodeLatin1Map.otilde; -import static info.clearthought.layout.TableLayoutConstants.FILL; -import static info.clearthought.layout.TableLayoutConstants.MINIMUM; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.ANULAR_EXAME_MARCACAO; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.APAGAR_CONSULTA; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.APAGAR_CONSULTA_MARCACAO; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.APAGAR_EXAME; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.APAGAR_EXAME_MARCACAO; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.APAGAR_PROCESSO; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.CREATE_CONSULTA; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.CREATE_CONSULTA_MARCACAO; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.CREATE_CONSULTA_MARCACAO_EMAIL; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.CREATE_CONSULTA_MARCACAO_EMAIL_VACINAS; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.CREATE_CONSULTA_MARCACAO_OBSERVACOES; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.CREATE_EXAME; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.CREATE_EXAME_MARCACAO; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.CREATE_EXAME_MARCACAO_EMAIL; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.CREATE_EXAME_MARCACAO_OBSERVACOES; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.CREATE_FICHA; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.CREATE_LEMBRETE; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.CREATE_PROCESSO; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.DESMARCAR_SIPRP_CONSULTA_MARCACAO; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.DESMARCAR_SIPRP_EXAME_MARCACAO; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.DESMARCAR_TRABALHADOR_CONSULTA_MARCACAO; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.DESMARCAR_TRABALHADOR_EXAME_MARCACAO; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.FALTOU_CONSULTA_MARCACAO; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.FALTOU_EXAME_MARCACAO; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.FECHAR_PROCESSO; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.LOAD_TRABALHADOR; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.REALIZAR_CONSULTA_MARCACAO; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.REALIZAR_EXAME_MARCACAO; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.REALIZAR_PARCIAL_EXAME_MARCACAO; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.SELECT_CONSULTA; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.SELECT_CONSULTA_MARCACAO; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.SELECT_CONSULTA_MARCACAO_EMAIL; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.SELECT_CONSULTA_MARCACAO_OBSERVACAO; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.SELECT_EXAME; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.SELECT_EXAME_MARCACAO; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.SELECT_EXAME_MARCACAO_EMAIL; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.SELECT_EXAME_MARCACAO_OBSERVACAO; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.SELECT_FICHA; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.SELECT_PROCESSO; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.SELECT_TRABALHADOR; -import info.clearthought.layout.TableLayout; -import info.clearthought.layout.TableLayoutConstraints; - -import java.awt.CardLayout; -import java.util.List; - -import javax.swing.BorderFactory; -import javax.swing.JComponent; -import javax.swing.JPanel; - -import leaf.ui.LeafButton; -import leaf.ui.LeafWindow; -import leaf.ui.LeafLogic.LeafUIActionBinding; -import leaf.ui.LeafWindow.ActionActivation; -import siprp.MedicinaConstants; -import siprp.ProcessoConstants; -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.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; - -public class ProcessoAccoesPanel extends JPanel -{ - private static final long serialVersionUID = 1L; - - private final LeafWindow parentWindow; - - private static final String PANEL_START_NAME = "START_PANEL"; - - private static final String PANEL_TRABALHADOR_NAME = "TRABALHADOR_PANEL"; - - 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 CardLayout cardLayout = new CardLayout(); - - // panels - private final JPanel panelExame = new JPanel(); - private final JPanel panelExameMarcacao = new JPanel(); - - private final JPanel panelConsulta = new JPanel(); - private final JPanel panelConsultaMarcacao = new 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(); - - // trabalhador - @ActionActivation(onSelect = CREATE_PROCESSO, onChange = "") - public final LeafButton buttonNovoTrabalhadorProcesso = new LeafButton( "Novo Processo" ); - - @ActionActivation(onSelect = CREATE_LEMBRETE, onChange = "") - public final LeafButton buttonNovoLembrete = new LeafButton( "Novo Lembrete" ); - - // 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( "Ficha de Aptid"+atilde+"o" ); - - @ActionActivation(onSelect = { - CREATE_CONSULTA, CREATE_CONSULTA_MARCACAO - }, onChange = "") - public final LeafButton buttonNovoProcessoConsulta = new LeafButton( "Nova Consulta" ); - - @ActionActivation(onSelect = { - CREATE_EXAME, CREATE_EXAME_MARCACAO - }, onChange = "") - public final LeafButton buttonNovoProcessoExame = new LeafButton( "Novo Exame" ); - - @ActionActivation(onSelect = APAGAR_PROCESSO, onChange = "") - public final LeafButton buttonApagarProcesso = new LeafButton( "Remover Processo" ); - - // consulta - - @ActionActivation(onSelect = APAGAR_CONSULTA, onChange = "") - public final LeafButton buttonApagarConsulta = new LeafButton( "Apagar Consulta" ); - - // marcacao consulta - - @ActionActivation(onSelect = CREATE_CONSULTA_MARCACAO, onChange = "") - public final LeafButton buttonNovoConsultaMarcacao = new LeafButton( "Nova Marca" + ccedil + atilde + "o" ); - - @ActionActivation(onSelect = APAGAR_CONSULTA_MARCACAO, onChange = "") - public final LeafButton buttonApagarConsultaMarcacao = new LeafButton( "Apagar Marca" + ccedil + atilde + "o" ); - - @ActionActivation(onSelect = CREATE_CONSULTA_MARCACAO_EMAIL, onChange = "") - public final LeafButton buttonNovoConsultaMarcacaoEmail = new LeafButton( "e-Mail" ); - - @ActionActivation(onSelect = CREATE_CONSULTA_MARCACAO_EMAIL_VACINAS, onChange = "") - public final LeafButton buttonNovoConsultaMarcacaoEmailVacinas = new LeafButton( "e-Mail: Boletim" ); - - @ActionActivation(onSelect = CREATE_CONSULTA_MARCACAO_OBSERVACOES, onChange = "") - public final LeafButton buttonNovoConsultaMarcacaoObservacoes = new LeafButton( "Adicionar Observa" + ccedil + atilde + "o" ); - - @ActionActivation(onSelect = DESMARCAR_SIPRP_CONSULTA_MARCACAO, onChange = "") - public final LeafButton buttonConsultaMarcacaoDesmarcarSiprp = new LeafButton( "Desmarcar (SIPRP)" ); - - @ActionActivation(onSelect = DESMARCAR_TRABALHADOR_CONSULTA_MARCACAO, onChange = "") - public final LeafButton buttonConsultaMarcacaoDesmarcarTrabalhador = new LeafButton( "Desmarcar (Trab)" ); - - @ActionActivation(onSelect = REALIZAR_CONSULTA_MARCACAO, onChange = "") - public final LeafButton buttonConsultaMarcacaoRealizar = new LeafButton( "Realizar" ); - - @ActionActivation(onSelect = FALTOU_CONSULTA_MARCACAO, onChange = "") - public final LeafButton buttonConsultaMarcacaoFaltou = new LeafButton( "Faltou" ); - - // email marcacao consulta - - // observacoes marcacao consulta - - // exame - @ActionActivation(onSelect = APAGAR_EXAME, onChange = "") - public final LeafButton buttonApagarExame = new LeafButton( "Apagar Exame" ); - - // marcacao exame - - @ActionActivation(onSelect = CREATE_EXAME_MARCACAO, onChange = "") - public final LeafButton buttonNovoExameMarcacao = new LeafButton( "Nova Marca" + ccedil + atilde + "o" ); - - @ActionActivation(onSelect = APAGAR_EXAME_MARCACAO, onChange = "") - public final LeafButton buttonApagarExameMarcacao = new LeafButton( "Apagar Marca" + ccedil + atilde + "o" ); - - @ActionActivation(onSelect = CREATE_EXAME_MARCACAO_EMAIL, onChange = "") - public final LeafButton buttonNovoExameMarcacaoEmail = new LeafButton( "e-Mail" ); - @ActionActivation(onSelect = CREATE_EXAME_MARCACAO_OBSERVACOES, onChange = "") - public final LeafButton buttonNovoExameMarcacaoObservacoes = new LeafButton( "Adicionar Observa" + ccedil + atilde + "o" ); - - @ActionActivation(onSelect = DESMARCAR_SIPRP_EXAME_MARCACAO, onChange = "") - public final LeafButton buttonExameMarcacaoDesmarcarSiprp = new LeafButton( "Desmarcar (SIPRP)" ); - - @ActionActivation(onSelect = DESMARCAR_TRABALHADOR_EXAME_MARCACAO, onChange = "") - public final LeafButton buttonExameMarcacaoDesmarcarTrabalhador = new LeafButton( "Desmarcar (Trab)" ); - - @ActionActivation(onSelect = REALIZAR_EXAME_MARCACAO, onChange = "") - public final LeafButton buttonExameMarcacaoRealizar = new LeafButton( "Realizar" ); - - @ActionActivation(onSelect = REALIZAR_PARCIAL_EXAME_MARCACAO, onChange = "") - public final LeafButton buttonExameMarcacaoRealizarParcial = new LeafButton( "Realizar Parcial." ); - - @ActionActivation(onSelect = FALTOU_EXAME_MARCACAO, onChange = "") - public final LeafButton buttonExameMarcacaoFaltou = new LeafButton( "Faltou" ); - - @ActionActivation(onSelect = ANULAR_EXAME_MARCACAO, onChange = "") - public final LeafButton buttonExameMarcacaoAnular = new LeafButton( "Anular" ); - - // email marcacao exame - - // observacoes marcacao exame - - // control - - public ProcessoAccoesPanel(LeafWindow parentWindow) - { - this.parentWindow = parentWindow; - setupLayout(); - setupComponents(); - placeComponents(); - } - - private void setupLayout() - { - TableLayout layout = new TableLayout( new double[] { - TableLayout.FILL - }, new double[] { - TableLayout.FILL - } ); - this.setLayout( layout ); - cardPanel.setLayout( cardLayout ); - } - - private void setupComponents() - { - this.setBorder( BorderFactory.createTitledBorder( BorderFactory.createEtchedBorder(), "Ac" + ccedil + otilde + "es" ) ); - setupStartPanel(); - setupTrabalhadorPanel(); - setupProcessoPanel(); - setupFichaPanel(); - setupConsultaPanel(); - setupConsultaMarcacaoPanel(); - setupExamePanel(); - setupExameMarcacaoPanel(); - } - - private void placeComponents() - { - 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 ); - cardPanel.add( panelExameMarcacao, PANEL_EXAME_MARCACAO_NAME ); - this.add( cardPanel, new TableLayoutConstraints( 0, 0 ) ); - } - - @LeafUIActionBinding(action = { - LOAD_TRABALHADOR, SELECT_TRABALHADOR - }) - public void setForTrabalhador( Trabalhadores trabalhador ) - { - if( trabalhador != null ) - { - boolean processoAberto = false; - for( TrabalhadoresProcesso processo : (List) trabalhador.getTrabalhadoresProcessoArray() ) - { - if( ProcessoConstants.PROCESSO_ABERTO_CODE.equals( processo.getEstado() ) ) - { - processoAberto = true; - break; - } - } - buttonNovoTrabalhadorProcesso.setEnabled( !processoAberto ); - buttonNovoLembrete.setEnabled( true ); - cardLayout.show( cardPanel, PANEL_TRABALHADOR_NAME ); - } - else - { - cardLayout.show( cardPanel, PANEL_START_NAME ); - } - } - - @LeafUIActionBinding(action = SELECT_PROCESSO) - public void setForProcesso( TrabalhadoresProcesso processo ) - { - if( processo != null ) - { - buttonFecharProcesso.setEnabled( !ProcessoConstants.PROCESSO_FECHADO_CODE.equals( processo.getEstado() ) ); - buttonApagarProcesso.setEnabled( processo.isEmpty() ); - boolean consultaAberta = false; - for( TrabalhadoresConsultas consulta : (List) processo.getTrabalhadoresConsultasArray() ) - { - if( new Integer( MedicinaConstants.ESTADO_POR_REALIZAR ).equals( consulta.getEstado() ) ) - { - consultaAberta = true; - break; - } - } - buttonNovoProcessoConsulta.setEnabled( !consultaAberta ); - - cardLayout.show( cardPanel, PANEL_PROCESSO_NAME ); - } - else - { - cardLayout.show( cardPanel, PANEL_TRABALHADOR_NAME ); - } - } - - @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 ) - { - if( consulta != null ) - { - boolean marcacaoAberta = false; - for( TrabalhadoresConsultasDatas marcacao : (List) consulta.getTrabalhadoresConsultasDatasArray() ) - { - if( new Integer( MedicinaConstants.ESTADO_POR_REALIZAR ).equals( marcacao.getEstado() ) ) - { - marcacaoAberta = true; - break; - } - } - buttonNovoConsultaMarcacao.setEnabled( !marcacaoAberta && !new Integer( MedicinaConstants.ESTADO_REALIZADO ).equals( consulta.getEstado() ) ); - buttonApagarConsulta.setEnabled( marcacaoAberta ); - cardLayout.show( cardPanel, PANEL_CONSULTA_NAME ); - } - else - { - cardLayout.show( cardPanel, PANEL_TRABALHADOR_NAME ); - } - } - - @LeafUIActionBinding(action = SELECT_CONSULTA_MARCACAO) - public void setForConsultaMarcacao( TrabalhadoresConsultasDatas marcacao ) - { - if( marcacao != null ) - { - boolean porRealizar = new Integer( MedicinaConstants.ESTADO_POR_REALIZAR ).equals( marcacao.getEstado() ); - boolean realizada = new Integer( MedicinaConstants.ESTADO_REALIZADO ).equals( marcacao.getEstado() ); - List list = marcacao.getTrabalhadoresConsultasDatasObservacoesArray(); - boolean noObservacoes = (list == null || list.size() == 0) ? true : false; - buttonConsultaMarcacaoDesmarcarSiprp.setEnabled( porRealizar ); - buttonConsultaMarcacaoDesmarcarTrabalhador.setEnabled( porRealizar ); - buttonConsultaMarcacaoFaltou.setEnabled( porRealizar ); - buttonConsultaMarcacaoRealizar.setEnabled( porRealizar ); - buttonNovoConsultaMarcacaoObservacoes.setEnabled( noObservacoes ); - buttonNovoConsultaMarcacaoEmailVacinas.setEnabled( realizada ); - buttonApagarConsultaMarcacao.setEnabled( porRealizar ); - cardLayout.show( cardPanel, PANEL_CONSULTA_MARCACAO_NAME ); - } - else - { - cardLayout.show( cardPanel, PANEL_TRABALHADOR_NAME ); - } - } - - @LeafUIActionBinding(action = SELECT_CONSULTA_MARCACAO_EMAIL) - public void setForConsultaMarcacaoEmail( TrabalhadoresConsultasDatasEmails email ) - { - if( email != null ) - { - cardLayout.show( cardPanel, PANEL_START_NAME ); - } - else - { - cardLayout.show( cardPanel, PANEL_TRABALHADOR_NAME ); - } - } - - @LeafUIActionBinding(action = SELECT_CONSULTA_MARCACAO_OBSERVACAO) - public void setForConsultaMarcacaoObservacao( TrabalhadoresConsultasDatasObservacoes obs ) - { - if( obs != null ) - { - cardLayout.show( cardPanel, PANEL_START_NAME ); - } - else - { - cardLayout.show( cardPanel, PANEL_TRABALHADOR_NAME ); - } - } - - @LeafUIActionBinding(action = SELECT_EXAME) - public void setForExame( TrabalhadoresEcds exame ) - { - if( exame != null ) - { - boolean porMarcar = new Integer( MedicinaConstants.ESTADO_POR_MARCAR ).equals( exame.getEstado() ); - boolean porRealizado = new Integer( MedicinaConstants.ESTADO_POR_REALIZAR ).equals( exame.getEstado() ); - buttonNovoExameMarcacao.setEnabled( porMarcar ); - buttonApagarExame.setEnabled( porRealizado ); - cardLayout.show( cardPanel, PANEL_EXAME_NAME ); - } - else - { - cardLayout.show( cardPanel, PANEL_TRABALHADOR_NAME ); - } - } - - @LeafUIActionBinding(action = SELECT_EXAME_MARCACAO) - public void setForExameMarcacao( TrabalhadoresEcdsDatas marcacao ) - { - if( marcacao != null ) - { - boolean porRealizar = new Integer( MedicinaConstants.ESTADO_POR_REALIZAR ).equals( marcacao.getEstado() ); - List list = marcacao.getTrabalhadoresEcdsDatasObservacoesArray(); - boolean noObservacoes = (list == null || list.size() == 0) ? true : false; - buttonExameMarcacaoDesmarcarSiprp.setEnabled( porRealizar ); - buttonExameMarcacaoDesmarcarTrabalhador.setEnabled( porRealizar ); - buttonExameMarcacaoFaltou.setEnabled( porRealizar ); - buttonExameMarcacaoRealizar.setEnabled( porRealizar ); - buttonExameMarcacaoRealizarParcial.setEnabled( porRealizar ); - buttonExameMarcacaoAnular.setEnabled( porRealizar ); - buttonApagarExameMarcacao.setEnabled( porRealizar ); - buttonNovoExameMarcacaoObservacoes.setEnabled( noObservacoes ); - cardLayout.show( cardPanel, PANEL_EXAME_MARCACAO_NAME ); - } - else - { - cardLayout.show( cardPanel, PANEL_TRABALHADOR_NAME ); - } - } - - @LeafUIActionBinding(action = SELECT_EXAME_MARCACAO_EMAIL) - public void setForExameMarcacaoEmail( TrabalhadoresEcdsDatasEmails email ) - { - if( email != null ) - { - cardLayout.show( cardPanel, PANEL_START_NAME ); - } - else - { - cardLayout.show( cardPanel, PANEL_TRABALHADOR_NAME ); - } - } - - @LeafUIActionBinding(action = SELECT_EXAME_MARCACAO_OBSERVACAO) - public void setForExameMarcacaoObservacao( TrabalhadoresEcdsDatasObservacoes obs ) - { - if( obs != null ) - { - cardLayout.show( cardPanel, PANEL_START_NAME ); - } - else - { - cardLayout.show( cardPanel, PANEL_TRABALHADOR_NAME ); - } - } - - private void setupStartPanel() - { - } - - private void setupTrabalhadorPanel() - { - setupSimpleActionsPanel( panelTrabalhador, buttonNovoTrabalhadorProcesso, buttonNovoLembrete, new JPanel() ); - } - - private void setupProcessoPanel() - { - JPanel panelTopProcesso = new JPanel(); - JPanel panelBottomProcesso = new JPanel(); - setupSimpleActionsPanel( panelTopProcesso, buttonNovoProcessoConsulta, buttonNovoProcessoExame ); - setupSimpleActionsPanel( panelBottomProcesso, buttonCriarFicha, buttonFecharProcesso, buttonApagarProcesso ); - setupTopBottomSimpleActionsPanel( panelProcesso, panelTopProcesso, panelBottomProcesso ); - } - - private void setupFichaPanel() - { - setupSimpleActionsPanel( panelFicha, new JPanel() ); - } - - private void setupConsultaPanel() - { - setupSimpleActionsPanel( panelConsulta, buttonNovoConsultaMarcacao, buttonApagarConsulta, new JPanel() ); - } - - private void setupConsultaMarcacaoPanel() - { - JPanel consultaMarcacaoUpperPanel = new JPanel(); - JPanel consultaMarcacaoLowerPanel = new JPanel(); - setupSimpleActionsPanel( consultaMarcacaoUpperPanel, buttonNovoConsultaMarcacaoEmail, buttonNovoConsultaMarcacaoEmailVacinas, buttonNovoConsultaMarcacaoObservacoes ); - setupSimpleActionsPanel( consultaMarcacaoLowerPanel, buttonConsultaMarcacaoRealizar, buttonConsultaMarcacaoDesmarcarSiprp, buttonConsultaMarcacaoDesmarcarTrabalhador, buttonConsultaMarcacaoFaltou, buttonApagarConsultaMarcacao); - setupTopBottomSimpleActionsPanel(panelConsultaMarcacao, consultaMarcacaoUpperPanel, consultaMarcacaoLowerPanel); - } - - private void setupExameMarcacaoPanel() - { - JPanel exameMarcacaoUpperPanel = new JPanel(); - JPanel exameMarcacaoLowerPanel = new JPanel(); - setupSimpleActionsPanel( exameMarcacaoUpperPanel, buttonNovoExameMarcacaoEmail, buttonNovoExameMarcacaoObservacoes, new JPanel() ); - setupSimpleActionsPanel( exameMarcacaoLowerPanel, buttonExameMarcacaoRealizar, buttonExameMarcacaoRealizarParcial, buttonExameMarcacaoFaltou, buttonExameMarcacaoAnular, buttonExameMarcacaoDesmarcarTrabalhador, buttonExameMarcacaoDesmarcarSiprp, buttonApagarExameMarcacao ); - setupTopBottomSimpleActionsPanel(panelExameMarcacao, exameMarcacaoUpperPanel, exameMarcacaoLowerPanel); - } - - private void setupExamePanel() - { - setupSimpleActionsPanel( panelExame, buttonNovoExameMarcacao, buttonApagarExame, new JPanel() ); - } - - private void setupTopBottomSimpleActionsPanel(JPanel panel, JPanel top, JPanel bottom) - { - TableLayout layout = new TableLayout(new double[]{TableLayout.FILL}, new double[]{TableLayout.MINIMUM, TableLayout.FILL,TableLayout.MINIMUM}); - panel.setLayout( layout ); - panel.add( top, new TableLayoutConstraints(0,0) ); - panel.add( new JPanel(), new TableLayoutConstraints(0,1) ); - panel.add( bottom, new TableLayoutConstraints(0,2) ); - } - - private void setupSimpleActionsPanel( JPanel panel, JComponent... field ) - { - double[] cols = new double[] { - FILL - }; - double[] rows = new double[field.length]; - for( int i = 0; i < field.length; rows[i++] = MINIMUM ) - ; - rows[rows.length - 1] = FILL; - TableLayout layout = new TableLayout( cols, rows ); - panel.setLayout( layout ); - - for( int i = 0; i < field.length; ++i ) - { - panel.add( field[i], new TableLayoutConstraints( 0, i ) ); - } - } -} diff --git a/trunk/SIPRPSoft/src/siprp/medicina/processo/ui/ProcessoDadosPanel.java b/trunk/SIPRPSoft/src/siprp/medicina/processo/ui/ProcessoDadosPanel.java deleted file mode 100755 index 64a828bd..00000000 --- a/trunk/SIPRPSoft/src/siprp/medicina/processo/ui/ProcessoDadosPanel.java +++ /dev/null @@ -1,902 +0,0 @@ -package siprp.medicina.processo.ui; - -import static com.evolute.utils.strings.UnicodeLatin1Map.atilde; -import static com.evolute.utils.strings.UnicodeLatin1Map.ccedil; -import static com.evolute.utils.strings.UnicodeLatin1Map.iacute; -import static com.evolute.utils.strings.UnicodeLatin1Map.otilde; -import static info.clearthought.layout.TableLayoutConstants.FILL; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.CREATE_CONSULTA_MARCACAO; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.CREATE_CONSULTA_MARCACAO_EMAIL; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.CREATE_CONSULTA_MARCACAO_EMAIL_VACINAS; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.CREATE_CONSULTA_MARCACAO_OBSERVACOES; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.CREATE_EXAME_MARCACAO; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.CREATE_EXAME_MARCACAO_EMAIL; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.CREATE_EXAME_MARCACAO_OBSERVACOES; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.CREATE_PROCESSO; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.LOAD_TRABALHADOR; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.SAVE_CONSULTA_MARCACAO; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.SAVE_CONSULTA_MARCACAO_OBSERVACOES; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.SAVE_EXAME_MARCACAO; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.SAVE_EXAME_MARCACAO_OBSERVACOES; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.SAVE_PROCESSO; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.SELECT_CONSULTA; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.SELECT_CONSULTA_MARCACAO; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.SELECT_CONSULTA_MARCACAO_EMAIL; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.SELECT_CONSULTA_MARCACAO_OBSERVACAO; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.SELECT_EXAME; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.SELECT_EXAME_MARCACAO; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.SELECT_EXAME_MARCACAO_EMAIL; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.SELECT_EXAME_MARCACAO_OBSERVACAO; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.SELECT_FICHA; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.SELECT_PROCESSO; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.SELECT_TRABALHADOR; -import info.clearthought.layout.TableLayout; -import info.clearthought.layout.TableLayoutConstraints; - -import java.awt.CardLayout; -import java.io.File; -import java.util.Calendar; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Vector; - -import javax.swing.BorderFactory; -import javax.swing.JComponent; -import javax.swing.JLabel; -import javax.swing.JPanel; - -import leaf.ui.LeafCalendarDialog; -import leaf.ui.LeafInputField; -import leaf.ui.LeafOptionDialog; -import leaf.ui.LeafTextDialog; -import leaf.ui.LeafWindow; -import leaf.ui.LeafLogic.LeafUIActionBinding; -import leaf.ui.LeafWindow.ActionActivation; -import siprp.CompanyDataLoader; -import siprp.MedicinaConstants; -import siprp.ProcessoConstants; -import siprp.SingletonConstants; -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; -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.TrabalhadoresFichasAptidao; -import siprp.database.cayenne.objects.TrabalhadoresProcesso; -import siprp.medicina.MedicinaDataProvider; -import siprp.medicina.processo.mail.MailDialog; - -import com.evolute.adt.OrderedMap; -import com.evolute.utils.Singleton; - -public class ProcessoDadosPanel extends JPanel -{ - private static final long serialVersionUID = 1L; - private final LeafWindow parentWindow; - - private static final String PANEL_START_NAME = "START_PANEL"; - - private static final String PANEL_TRABALHADOR_NAME = "TRABALHADOR_PANEL"; - - 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"; - private static final String PANEL_CONSULTA_MARCACAO_OBSERVACOES_NAME = "PANEL_CONSULTA_MARCACAO_OBSERVACOES_NAME"; - - private static final String PANEL_EXAME_NAME = "EXAME_PANEL"; - private static final String PANEL_EXAME_MARCACAO_NAME = "PANEL_EXAME_MARCACAO_NAME"; - private static final String PANEL_EXAME_MARCACAO_EMAIL_NAME = "PANEL_EXAME_MARCACAO_EMAIL_NAME"; - private static final String PANEL_EXAME_MARCACAO_OBSERVACAO_NAME = "PANEL_EXAME_MARCACAO_OBSERVACAO_NAME"; - - private final CardLayout cardLayout = new CardLayout(); - - // panels - private final JPanel panelExame = new JPanel(); - private final JPanel panelExameMarcacao = new JPanel(); - private final JPanel panelExameMarcacaoEmail = new JPanel(); - private final JPanel panelExameMarcacaoObservacao = new JPanel(); - - private final JPanel panelConsulta = new JPanel(); - private final JPanel panelConsultaMarcacao = new JPanel(); - private final JPanel panelConsultaMarcacaoEmail = new JPanel(); - private final JPanel panelConsultaMarcacaoObservacao = new JPanel(); - - private final JPanel panelProcesso = new JPanel(); - - private final JPanel panelTrabalhador = new JPanel(); - - private final JPanel panelFicha = new JPanel(); - - private final JPanel panelStart = new JPanel(); - - // trabalhador - private final JLabel labelTrabalhadorNome = new JLabel( "Nome" ); - private final JLabel labelTrabalhadorSexo = new JLabel( "Sexo" ); - private final JLabel labelTrabalhadoresDataNascimento = new JLabel( "Data de Nascimento" ); - private final JLabel labelTrabalhadorNacionalidade = new JLabel( "Nacionalidade" ); - private final JLabel labelTrabalhadorBI = new JLabel( "B.I." ); - private final JLabel labelTrabalhadorObservacoes = new JLabel( "Observa" + ccedil + otilde + "es" ); - private final JLabel labelTrabalhadoresDataAdmissao = new JLabel( "Data de Admiss" + atilde + "o" ); - - public final LeafInputField inputTrabalhadorNome = new LeafInputField(); - public final LeafInputField> inputTrabalhadorSexo = new LeafInputField>(); - public final LeafInputField inputTrabalhadoresDataNascimento = new LeafInputField(); - public final LeafInputField inputTrabalhadorNacionalidade = new LeafInputField(); - public final LeafInputField inputTrabalhadorBI = new LeafInputField(); - public final LeafInputField inputTrabalhadorObservacoes = new LeafInputField(); - public final LeafInputField inputTrabalhadoresDataAdmissao = new LeafInputField(); - - // processo - - private final JLabel labelProcessoEstado = new JLabel( "Estado" ); - private final JLabel labelProcessoDataInicio = new JLabel( "In" + iacute + "cio" ); - private final JLabel labelProcessoDataFim = new JLabel( "Fim" ); - private final JLabel labelProcessoMotivo = new JLabel( "Motivo" ); - - public final LeafInputField> inputProcessoEstado = new LeafInputField>(); - public final LeafInputField inputProcessoDataInicio = new LeafInputField(); - public final LeafInputField inputProcessoDataFim = new LeafInputField(); - @ActionActivation(onSelect = "", onChange = SAVE_PROCESSO) - public final LeafInputField> inputProcessoMotivo = new LeafInputField>(); - - // consulta - private final JLabel labelConsultaEstado = new JLabel( "Estado" ); - private final JLabel labelConsultaData = new JLabel( "Data" ); - private final JLabel labelConsultaPrestador = new JLabel( "Prestador" ); - - public final LeafInputField> inputConsultaEstado = new LeafInputField>(); - public final LeafInputField inputConsultaData = new LeafInputField(); - public final LeafInputField inputConsultaPrestador = new LeafInputField(); - - // marcacao consulta - private final JLabel labelConsultaMarcacaoEstado = new JLabel( "Estado" ); - private final JLabel labelConsultaMarcacaoData = new JLabel( "Data" ); - private final JLabel labelConsultaMarcacaoPrestador = new JLabel( "Prestador" ); - - public final LeafInputField> inputConsultaMarcacaoEstado = new LeafInputField>(); - public final LeafInputField inputConsultaMarcacaoData = new LeafInputField(); - @ActionActivation(onSelect = "", onChange = SAVE_CONSULTA_MARCACAO) - public final LeafInputField> inputConsultaMarcacaoPrestador = new LeafInputField>(); - - // email marcacao consulta - private final JLabel labelConsultaMarcacaoEmailData = new JLabel( "Data" ); - private final JLabel labelConsultaMarcacaoEmailSubject = new JLabel( "Assunto" ); - private final JLabel labelConsultaMarcacaoEmailBody = new JLabel( "Mensagem" ); - - public final LeafInputField inputConsultaMarcacaoEmailData = new LeafInputField(); - public final LeafInputField inputConsultaMarcacaoEmailSubject = new LeafInputField(); - public final LeafInputField inputConsultaMarcacaoEmailBody = new LeafInputField(); - - // observacao marcacao consulta - @ActionActivation(onSelect = "", onChange = SAVE_CONSULTA_MARCACAO_OBSERVACOES) - public final LeafInputField inputConsultaMarcacaoObsMensagem = new LeafInputField(); - - // exame - private final JLabel labelExameEstado = new JLabel( "Estado" ); - private final JLabel labelExameData = new JLabel( "Data" ); - private final JLabel labelExameGruposEcds = new JLabel( "ECDs" ); - - public final LeafInputField> inputExameEstado = new LeafInputField>(); - public final LeafInputField> inputExameGruposEcds = new LeafInputField>(); - public final LeafInputField inputExameData = new LeafInputField(); - - // marcacao exame - private final JLabel labelExameMarcacaoEstado = new JLabel( "Estado" ); - private final JLabel labelExameMarcacaoData = new JLabel( "Data" ); - private final JLabel labelExameMarcacaoGruposEcds = new JLabel( "ECDs" ); - private final JLabel labelExameMarcacaoPrestador = new JLabel( "Prestador" ); - private final JLabel labelExameMarcacaoAnalisador = new JLabel( "Analisadores" ); - private final JLabel labelExameMarcacaoDataRecepcao = new JLabel( "Data de recep" + ccedil + atilde + "o" ); - - public final LeafInputField> inputExameMarcacaoEstado = new LeafInputField>(); - public final LeafInputField inputExameMarcacaoData = new LeafInputField(); - @ActionActivation(onSelect = "", onChange = SAVE_EXAME_MARCACAO) - public final LeafInputField inputExameMarcacaoDataRecepcao = new LeafInputField(); - public final LeafInputField> inputExameMarcacaoGruposEcds = new LeafInputField>(); - @ActionActivation(onSelect = "", onChange = SAVE_EXAME_MARCACAO) - public final LeafInputField> inputExameMarcacaoPrestador = new LeafInputField>(); - @ActionActivation(onSelect = "", onChange = SAVE_EXAME_MARCACAO) - public final LeafInputField> inputExameMarcacaoAnalisador = new LeafInputField>(); - - // email marcacao exame - private final JLabel labelExameMarcacaoEmailData = new JLabel( "Data" ); - private final JLabel labelExameMarcacaoEmailSubject = new JLabel( "Assunto" ); - private final JLabel labelExameMarcacaoEmailBody = new JLabel( "Mensagem" ); - - public final LeafInputField inputExameMarcacaoEmailData = new LeafInputField(); - public final LeafInputField inputExameMarcacaoEmailSubject = new LeafInputField(); - public final LeafInputField inputExameMarcacaoEmailBody = new LeafInputField(); - - // observacao marcacao exame - @ActionActivation(onSelect = "", onChange = SAVE_EXAME_MARCACAO_OBSERVACOES) - public final LeafInputField inputExameMarcacaoObsMensagem = new LeafInputField(); - - public ProcessoDadosPanel(LeafWindow parentWindow) - { - this.parentWindow = parentWindow; - setupLayout(); - setupComponents(); - placeComponents(); - } - - private void setupLayout() - { - this.setLayout( cardLayout ); - } - - private void setupComponents() - { - setupStartPanel(); - setupTrabalhadorPanel(); - setupProcessoPanel(); - setupFichaPanel(); - setupConsultaPanel(); - setupConsultaMarcacaoPanel(); - setupConsultaMarcacaoEmailPanel(); - setupConsultaMarcacaoObservacoesPanel(); - setupExamePanel(); - setupExameMarcacaoPanel(); - setupExameMarcacaoEmailPanel(); - setupExameMarcacaoObservacoesPanel(); - } - - private void placeComponents() - { - 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 ); - add( panelConsultaMarcacaoEmail, PANEL_CONSULTA_MARCACAO_EMAIL_NAME ); - add( panelConsultaMarcacaoObservacao, PANEL_CONSULTA_MARCACAO_OBSERVACOES_NAME ); - add( panelExame, PANEL_EXAME_NAME ); - add( panelExameMarcacao, PANEL_EXAME_MARCACAO_NAME ); - add( panelExameMarcacaoEmail, PANEL_EXAME_MARCACAO_EMAIL_NAME ); - add( panelExameMarcacaoObservacao, PANEL_EXAME_MARCACAO_OBSERVACAO_NAME ); - } - - private int getIdade( Date nascimento ) - { - int result = 0; - if( nascimento != null ) - { - Calendar now = Calendar.getInstance(); - Calendar birth = Calendar.getInstance(); - birth.setTime( nascimento ); - int birthYear = birth.get( Calendar.YEAR ); - int currentYear = now.get( Calendar.YEAR ); - if( birthYear < currentYear ) - { - result = currentYear - birthYear; - birth.add( Calendar.YEAR, result ); - if( birth.after( now ) ) - { - --result; - } - } - } - return result; - } - - @LeafUIActionBinding(action = { - LOAD_TRABALHADOR, SELECT_TRABALHADOR - }) - public void setForTrabalhador( Trabalhadores trabalhador ) - { - if( trabalhador != null ) - { - inputTrabalhadoresDataNascimento.setObject( trabalhador.getDataNascimento() ); - inputTrabalhadorSexo.setObject( trabalhador.getSexos(), trabalhador.getSexo() ); - inputTrabalhadorNome.setObject( trabalhador.getNome() ); - inputTrabalhadorNacionalidade.setObject( trabalhador.getNacionalidade() ); - inputTrabalhadorBI.setObject( trabalhador.getBi() ); - inputTrabalhadorObservacoes.setObject( trabalhador.getObservacoesGestao() ); - inputTrabalhadoresDataAdmissao.setObject( trabalhador.getDataAdmissao() ); - labelTrabalhadoresDataNascimento.setText( "Data de Nascimento (" + getIdade( trabalhador.getDataNascimento() ) + " anos)" ); - - cardLayout.show( this, PANEL_TRABALHADOR_NAME ); - } - else - { - cardLayout.show( this, PANEL_START_NAME ); - } - } - - @LeafUIActionBinding(action = SELECT_PROCESSO) - public void setForProcesso( TrabalhadoresProcesso processo ) - { - if( processo != null ) - { - boolean isFechado = ProcessoConstants.PROCESSO_FECHADO_CODE.equals( processo.getEstado() ); - inputProcessoDataFim.setObject( processo.getDataFim() ); - inputProcessoDataInicio.setObject( processo.getDataInicio() ); - inputProcessoEstado.setObject( processo.getEstados(), processo.getEstado() ); - inputProcessoMotivo.setEditable( !isFechado ); - inputProcessoMotivo.setObject( processo.getMotivos(), processo.getMotivo() ); - cardLayout.show( this, PANEL_PROCESSO_NAME ); - } - else - { - cardLayout.show( this, PANEL_TRABALHADOR_NAME ); - } - } - - @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 ) - { - if( consulta != null ) - { - inputConsultaEstado.setObject( MedicinaDataProvider.getConsultaEstados(), consulta.getEstado() ); - inputConsultaData.setObject( consulta.getData() == null ? new Date( 0 ) : consulta.getData() ); - - inputConsultaPrestador.setObject( (consulta.getToPrestadores() == null || consulta.getToPrestadores().getNome() == null) ? " " : consulta.getToPrestadores().getNome() ); - - cardLayout.show( this, PANEL_CONSULTA_NAME ); - } - else - { - cardLayout.show( this, PANEL_TRABALHADOR_NAME ); - } - } - - @LeafUIActionBinding(action = SELECT_CONSULTA_MARCACAO) - public void setForConsultaMarcacao( TrabalhadoresConsultasDatas marcacao ) - { - if( marcacao != null ) - { - inputConsultaMarcacaoData.setObject( marcacao.getData() ); - inputConsultaMarcacaoEstado.setObject( MedicinaDataProvider.getConsultaEstados(), marcacao.getEstado() ); - - inputConsultaMarcacaoPrestador.setEditable( true ); - - Prestadores prestador = marcacao.getToPrestadores(); - List allPrestadores = Prestadores.getAllPrestadores(); - inputConsultaMarcacaoPrestador.setObject( new OrderedMap( allPrestadores ), prestador == null ? Prestadores.prestadorNulo : prestador ); - cardLayout.show( this, PANEL_CONSULTA_MARCACAO_NAME ); - } - else - { - cardLayout.show( this, PANEL_TRABALHADOR_NAME ); - } - } - - @LeafUIActionBinding(action = SELECT_CONSULTA_MARCACAO_EMAIL) - public void setForConsultaMarcacaoEmail( TrabalhadoresConsultasDatasEmails email ) - { - if( email != null ) - { - inputConsultaMarcacaoEmailBody.setObject( email.getBody() ); - inputConsultaMarcacaoEmailSubject.setObject( email.getSubject() ); - inputConsultaMarcacaoEmailData.setObject( email.getData() ); - cardLayout.show( this, PANEL_CONSULTA_MARCACAO_EMAIL_NAME ); - } - else - { - cardLayout.show( this, PANEL_TRABALHADOR_NAME ); - } - } - - @LeafUIActionBinding(action = SELECT_CONSULTA_MARCACAO_OBSERVACAO) - public void setForConsultaMarcacaoObs( TrabalhadoresConsultasDatasObservacoes obs ) - { - if( obs != null ) - { - inputConsultaMarcacaoObsMensagem.setEditable( true ); - inputConsultaMarcacaoObsMensagem.setObject( obs.getObservacao() == null ? "" : obs.getObservacao() ); - cardLayout.show( this, PANEL_CONSULTA_MARCACAO_OBSERVACOES_NAME ); - } - else - { - cardLayout.show( this, PANEL_TRABALHADOR_NAME ); - } - } - - @LeafUIActionBinding(action = SELECT_EXAME) - public void setForExame( TrabalhadoresEcds exame ) - { - if( exame != null ) - { - inputExameData.setObject( exame.getData() ); - inputExameEstado.setObject( exame.getEstados(), exame.getEstado() ); - OrderedMap grupos = exame.getGruposExamesForPerfil(); - inputExameGruposEcds.setCollapseOptions( false ); - inputExameGruposEcds.setObject( grupos, grupos.getFirst() ); - cardLayout.show( this, PANEL_EXAME_NAME ); - } - else - { - cardLayout.show( this, PANEL_TRABALHADOR_NAME ); - } - } - - @LeafUIActionBinding(action = SELECT_EXAME_MARCACAO) - public void setForExameMarcacao( TrabalhadoresEcdsDatas exameMarcacao ) - { - if( exameMarcacao != null ) - { - inputExameMarcacaoData.setObject( exameMarcacao.getData() ); - Date dataRecepcao = exameMarcacao.getDataRecepcao(); - inputExameMarcacaoDataRecepcao.setObject( dataRecepcao == null ? new Date(0) : dataRecepcao ); - inputExameMarcacaoDataRecepcao.setEditable( true ); - inputExameMarcacaoEstado.setObject( exameMarcacao.getEstados(), exameMarcacao.getEstado() ); - OrderedMap grupos = exameMarcacao.getStatesForeGruposExames(); - inputExameMarcacaoGruposEcds.setCollapseOptions( false ); - inputExameMarcacaoGruposEcds.setObject( grupos, grupos.getFirst() ); - - Prestadores prestador = exameMarcacao.getToPrestadores(); - List allPrestadores = Prestadores.getAllPrestadores(); - - if( prestador == null ) - { - prestador = Prestadores.prestadorNulo; - } - - inputExameMarcacaoPrestador.setEditable( true ); - inputExameMarcacaoPrestador.setObject( new OrderedMap( allPrestadores ), prestador ); - - boolean editable = Prestadores.prestadorNulo.equals( prestador ); - inputExameMarcacaoAnalisador.setCollapseOptions( false ); - - List allECDS = exameMarcacao.getTrabalhadoresEcdArray(); - OrderedMap analisadoresForGrupos = new OrderedMap(); - - if( allECDS != null ) - { - for( TrabalhadoresEcd current : allECDS ) - { - Prestadores currentAnalisador = current.getToAnalisador(); - - if( !prestador.equals( Prestadores.prestadorNulo ) ) - { - currentAnalisador = prestador; - } - else if( currentAnalisador == null ) - { - currentAnalisador = Prestadores.prestadorNulo; - } - - PrtGruposProtocolo grupo = current.getToPrtTiposElementosProtocolo().getToPrtGruposProtocolo(); - if( !analisadoresForGrupos.containsKey( grupo ) ) - { - analisadoresForGrupos.putLast( grupo, grupo.getDescricao() ); - LeafInputField> leaf = new LeafInputField>(); - leaf.setObject( new OrderedMap( allPrestadores ), currentAnalisador ); - leaf.setEditable( editable ); - analisadoresForGrupos.putLast( grupo, leaf ); - } - } - } - - inputExameMarcacaoAnalisador.setObject( analisadoresForGrupos ); - - inputExameMarcacaoAnalisador.setEditable( Prestadores.prestadorNulo.equals( prestador ) ); - - cardLayout.show( this, PANEL_EXAME_MARCACAO_NAME ); - } - else - { - cardLayout.show( this, PANEL_TRABALHADOR_NAME ); - } - } - - @LeafUIActionBinding(action = SELECT_EXAME_MARCACAO_EMAIL) - public void setForExameMarcacaoEmail( TrabalhadoresEcdsDatasEmails email ) - { - if( email != null ) - { - inputExameMarcacaoEmailBody.setObject( email.getBody() ); - inputExameMarcacaoEmailSubject.setObject( email.getSubject() ); - inputExameMarcacaoEmailData.setObject( email.getData() ); - cardLayout.show( this, PANEL_EXAME_MARCACAO_EMAIL_NAME ); - } - else - { - cardLayout.show( this, PANEL_TRABALHADOR_NAME ); - } - } - - @LeafUIActionBinding(action = SELECT_EXAME_MARCACAO_OBSERVACAO) - public void setForExameMarcacaoObs( TrabalhadoresEcdsDatasObservacoes obs ) - { - if( obs != null ) - { - inputExameMarcacaoObsMensagem.setObject( obs.getObservacao() == null ? "" : obs.getObservacao() ); - inputExameMarcacaoObsMensagem.setEditable( true ); - cardLayout.show( this, PANEL_EXAME_MARCACAO_OBSERVACAO_NAME ); - } - else - { - cardLayout.show( this, PANEL_TRABALHADOR_NAME ); - } - } - - @LeafUIActionBinding(action = CREATE_PROCESSO) - public void setForNewProcesso( TrabalhadoresProcesso processo ) - { - HashMap tipos = processo.getMotivos(); - LeafOptionDialog option = new LeafOptionDialog( parentWindow, tipos, "Escolha o tipo de processo:" ); - Integer chosen = option.getOption(); - if( chosen != null ) - { - processo.setMotivo( chosen ); - } - inputProcessoMotivo.setObject( tipos, chosen ); - inputProcessoDataInicio.setObject( processo.getDataInicio() ); - inputProcessoDataFim.setObject( processo.getDataFim() ); - inputProcessoEstado.setObject( processo.getEstados(), processo.getEstado() ); - } - - @LeafUIActionBinding(action = CREATE_CONSULTA_MARCACAO) - public void setForNewConsultaMarcacao( TrabalhadoresConsultasDatas marcacao ) - { - LeafCalendarDialog calendar = new LeafCalendarDialog( parentWindow, false, true ); - Date date = calendar.getDate(); - if( date == null ) - { - parentWindow.abortAction( true ); - } - marcacao.setData( date ); - } - - @LeafUIActionBinding(action = CREATE_CONSULTA_MARCACAO_EMAIL) - public void setForNewConsultaMarcacaoEmail( TrabalhadoresConsultasDatasEmails email ) - { - if( email != null ) - { - TrabalhadoresConsultasDatas consultaMarcacao = email.getToTrabalhadoresConsultasDatas(); - if( consultaMarcacao != null ) - { - TrabalhadoresConsultas consulta = consultaMarcacao.getToTrabalhadoresConsultas(); - if( consulta != null ) - { - String[] subjectAndBody = MedicinaConstants.ESTADO_REALIZADO == consulta.getEstado() ? sendMail( consulta.getToTrabalhadores(), consultaMarcacao.getDataString(), "", "" ) : sendMail( consulta.getToTrabalhadores(), consultaMarcacao.getDataString(), SingletonConstants.LETTER_CONSULTA, SingletonConstants.SUBJECT_CONSULTA ); - if( subjectAndBody != null ) - { - email.setSubject( subjectAndBody[0] ); - email.setBody( subjectAndBody[1] ); - } - else - { - parentWindow.abortAction( true ); - } - } - } - } - } - - @LeafUIActionBinding(action = CREATE_CONSULTA_MARCACAO_EMAIL_VACINAS) - public void setForNewConsultaMarcacaoEmailVacinas( TrabalhadoresConsultasDatasEmails email ) - { - if( email != null ) - { - TrabalhadoresConsultasDatas consultaMarcacao = email.getToTrabalhadoresConsultasDatas(); - if( consultaMarcacao != null ) - { - TrabalhadoresConsultas consulta = consultaMarcacao.getToTrabalhadoresConsultas(); - if( consulta != null ) - { - String[] subjectAndBody = sendMail( consulta.getToTrabalhadores(), consultaMarcacao.getDataString(), SingletonConstants.LETTER_CONSULTA_VACINAS, SingletonConstants.SUBJECT_CONSULTA_VACINAS ); - if( subjectAndBody != null ) - { - email.setSubject( subjectAndBody[0] ); - email.setBody( subjectAndBody[1] ); - } - else - { - parentWindow.abortAction( true ); - } - } - } - } - } - - private String[] sendMail( Trabalhadores trabalhador, String data, String letterName, String subjectName ) - { - String[] result = null; - if( trabalhador != null ) - { - Estabelecimentos estabelecimento = trabalhador.getToEstabelecimentos(); - if( estabelecimento != null ) - { - String to = ""; - String bcc = ""; - String subject = ""; - String body = ""; - - subject = (String) Singleton.getInstance( subjectName ); - if( subject == null ) - { - subject = ""; - } - subject = subject.replaceAll( CompanyDataLoader.NOME, trabalhador.getNome() ); - - body = (String) Singleton.getInstance( letterName ); - if( body == null ) - { - body = ""; - } - body = body.replaceAll( CompanyDataLoader.DATA, data ); - body = body.replaceAll( CompanyDataLoader.NOME, trabalhador.getNome() ); - // body = body.replaceAll( CompanyDataLoader.MORADA, morada ); - body = body.replaceAll( "%0A", "
" ); - - Contactos estabelecimentoContacto = estabelecimento.getToContactos(); - if( estabelecimentoContacto != null ) - { - String estabelecimentoEmail = estabelecimentoContacto.getEmail(); - if( estabelecimentoEmail != null ) - { - to = estabelecimentoEmail; - try - { - MailDialog mailDialog = new MailDialog( parentWindow, to, bcc, subject, body, new Vector() ); - 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 ) - { - LeafTextDialog textDialog = new LeafTextDialog( parentWindow, this, "", true ); - String text = textDialog.getText(); - observacoes.setObservacao( text ); - inputConsultaMarcacaoObsMensagem.setEditable( true ); - } - - @LeafUIActionBinding(action = CREATE_EXAME_MARCACAO) - public void setForNewExameMarcacao( TrabalhadoresEcdsDatas marcacao ) - { - LeafCalendarDialog calendar = new LeafCalendarDialog( parentWindow, false, true ); - Date date = calendar.getDate(); - if( date == null ) - { - parentWindow.abortAction( true ); - } - marcacao.setData( date ); - - OrderedMap allGrupos = marcacao.getToTrabalhadoresEcds().getGruposExamesForPerfil(); - OrderedMap grupos = new OrderedMap(); - Map gruposSelected = new HashMap(); - for( int row = 0; row < allGrupos.rows(); ++row ) - { - List grupo = allGrupos.getRow( row ); - if( grupo != null && grupo.size() > 1 ) - { - String estado = grupo.get( 1 ).toString(); - if( MedicinaConstants.ESTADOS_EXAME_STR[MedicinaConstants.ESTADO_POR_MARCAR].equals( estado ) ) - { - PrtGruposProtocolo key = allGrupos.getKeyForValue( grupo ); - gruposSelected.put( key, true ); - grupos.addRow( key, grupo ); - } - } - } - LeafOptionDialog gruposChosen = new LeafOptionDialog( parentWindow, grupos, gruposSelected, null, "Escolha os ECDs para esta marca" + ccedil + atilde + "o", "Marcar >>" ); - for( PrtGruposProtocolo grupo : gruposChosen.getSelected() ) - { - marcacao.marcarGrupoExames( grupo ); - } - } - - @LeafUIActionBinding(action = CREATE_EXAME_MARCACAO_EMAIL) - public void setForNewExameMarcacaoEmail( TrabalhadoresEcdsDatasEmails email ) - { - if( email != null ) - { - TrabalhadoresEcdsDatas exameMarcacao = email.getToTrabalhadoresEcdsDatas(); - if( exameMarcacao != null ) - { - TrabalhadoresEcds exame = exameMarcacao.getToTrabalhadoresEcds(); - if( exame != null ) - { - String[] subjectAndBody = MedicinaConstants.ESTADO_REALIZADO == exame.getEstado() ? - sendMail( exame.getToTrabalhadores(), exame.getDataString(), "", "" ) - : - sendMail( exame.getToTrabalhadores(), exameMarcacao.getDataString(), SingletonConstants.LETTER_EXAMES, SingletonConstants.SUBJECT_EXAMES ); - if( subjectAndBody != null ) - { - email.setSubject( subjectAndBody[0] ); - email.setBody( subjectAndBody[1] ); - } - else - { - parentWindow.abortAction( true ); - } - } - } - } - } - - @LeafUIActionBinding(action = CREATE_EXAME_MARCACAO_OBSERVACOES) - public void setForNewExameMarcacaoObservacoes( TrabalhadoresEcdsDatasObservacoes observacoes ) - { - LeafTextDialog textDialog = new LeafTextDialog( parentWindow, this, "", true ); - String text = textDialog.getText(); - observacoes.setObservacao( text ); - inputExameMarcacaoObsMensagem.setEditable( true ); - } - - @LeafUIActionBinding(action = SAVE_PROCESSO) - public void updateToSaveProcesso( TrabalhadoresProcesso processo ) - { - processo.setMotivo( (Integer) inputProcessoMotivo.getSelectedObject() ); - } - - @LeafUIActionBinding(action = SAVE_CONSULTA_MARCACAO) - public void updateToSaveConsultaMarcacao( TrabalhadoresConsultasDatas marcacao ) - { - Prestadores prestador = (Prestadores) inputConsultaMarcacaoPrestador.getSelectedObject(); - prestador = Prestadores.prestadorNulo.equals( prestador ) ? null : prestador; - marcacao.setToPrestadores( prestador ); - } - - @LeafUIActionBinding(action = SAVE_CONSULTA_MARCACAO_OBSERVACOES) - public void updateToSaveConsultaMarcacaoObservacoes( TrabalhadoresConsultasDatasObservacoes observacoes ) - { - observacoes.setObservacao( inputConsultaMarcacaoObsMensagem.getObject() ); - } - - @LeafUIActionBinding(action = SAVE_EXAME_MARCACAO) - public void updateToSaveExameMarcacao( TrabalhadoresEcdsDatas marcacao ) - { - Date dataRecepcao = inputExameMarcacaoDataRecepcao.getObject(); - if( dataRecepcao == null || dataRecepcao.getTime() == 0l ) - { - marcacao.setDataRecepcao( null ); - } - else - { - marcacao.setDataRecepcao( dataRecepcao ); - } - Prestadores prestador = (Prestadores) inputExameMarcacaoPrestador.getSelectedObject(); - prestador = Prestadores.prestadorNulo.equals( prestador ) ? null : prestador; - marcacao.setToPrestadores( prestador ); - - List allEcd = marcacao.getTrabalhadoresEcdArray(); - if( allEcd != null ) - { - OrderedMap map = inputExameMarcacaoAnalisador.getObject(); - for( TrabalhadoresEcd ecd : allEcd ) - { - PrtGruposProtocolo grupo = ecd.getToPrtTiposElementosProtocolo().getToPrtGruposProtocolo(); - Object value = map.getValue( grupo, 1 ); - if( value != null ) - { - LeafInputField> leaf = (LeafInputField>) value; - Prestadores ecdAnalisador = Prestadores.prestadorNulo.equals( (Prestadores) leaf.getSelectedObject() ) ? null : ((Prestadores) leaf.getSelectedObject()); - ecd.setToAnalisador( ecdAnalisador ); - } - } - } - } - - @LeafUIActionBinding(action = SAVE_EXAME_MARCACAO_OBSERVACOES) - public void updateToSaveExameMarcacaoObservacoes( TrabalhadoresEcdsDatasObservacoes observacoes ) - { - observacoes.setObservacao( inputExameMarcacaoObsMensagem.getObject() ); - } - - private void setupStartPanel() - { - } - - private void setupSimpleDataPanel( JPanel panel, 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 ); - panel.setLayout( layout ); - if( name != null ) - { - panel.setBorder( BorderFactory.createTitledBorder( BorderFactory.createEtchedBorder(), name ) ); - } - - for( int i = 0; i < field.length; ++i ) - { - panel.add( field[i], new TableLayoutConstraints( 0, i ) ); - } - } - - private void setupTrabalhadorPanel() - { - setupSimpleDataPanel( panelTrabalhador, "Trabalhador", labelTrabalhadorNome, inputTrabalhadorNome, labelTrabalhadorSexo, inputTrabalhadorSexo, labelTrabalhadorBI, inputTrabalhadorBI, labelTrabalhadorNacionalidade, inputTrabalhadorNacionalidade, labelTrabalhadoresDataNascimento, inputTrabalhadoresDataNascimento, labelTrabalhadoresDataAdmissao, inputTrabalhadoresDataAdmissao, labelTrabalhadorObservacoes, inputTrabalhadorObservacoes ); - } - - private void setupProcessoPanel() - { - setupSimpleDataPanel( panelProcesso, "Processo", labelProcessoEstado, inputProcessoEstado, labelProcessoDataInicio, inputProcessoDataInicio, labelProcessoDataFim, inputProcessoDataFim, labelProcessoMotivo, inputProcessoMotivo, new JPanel() ); - } - - private void setupConsultaPanel() - { - 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() ); - } - - private void setupConsultaMarcacaoEmailPanel() - { - setupSimpleDataPanel( panelConsultaMarcacaoEmail, "Email", labelConsultaMarcacaoEmailData, inputConsultaMarcacaoEmailData, labelConsultaMarcacaoEmailSubject, inputConsultaMarcacaoEmailSubject, labelConsultaMarcacaoEmailBody, inputConsultaMarcacaoEmailBody ); - } - - private void setupConsultaMarcacaoObservacoesPanel() - { - setupSimpleDataPanel( panelConsultaMarcacaoObservacao, "Observa" + ccedil + otilde + "es", inputConsultaMarcacaoObsMensagem ); - } - - private void setupExamePanel() - { - setupSimpleDataPanel( panelExame, "Exame", labelExameEstado, inputExameEstado, labelExameData, inputExameData, labelExameGruposEcds, inputExameGruposEcds, new JPanel() ); - } - - private void setupExameMarcacaoPanel() - { - setupSimpleDataPanel( panelExameMarcacao, "Marca" + ccedil + atilde + "o de Exame", labelExameMarcacaoEstado, inputExameMarcacaoEstado, labelExameMarcacaoData, inputExameMarcacaoData, labelExameMarcacaoGruposEcds, inputExameMarcacaoGruposEcds, labelExameMarcacaoPrestador, inputExameMarcacaoPrestador, labelExameMarcacaoAnalisador, inputExameMarcacaoAnalisador, labelExameMarcacaoDataRecepcao, inputExameMarcacaoDataRecepcao, new JPanel() ); - } - - private void setupExameMarcacaoEmailPanel() - { - setupSimpleDataPanel( panelExameMarcacaoEmail, "Email", labelExameMarcacaoEmailData, inputExameMarcacaoEmailData, labelExameMarcacaoEmailSubject, inputExameMarcacaoEmailSubject, labelExameMarcacaoEmailBody, inputExameMarcacaoEmailBody ); - } - - private void setupExameMarcacaoObservacoesPanel() - { - setupSimpleDataPanel( panelExameMarcacaoObservacao, "Observa" + ccedil + otilde + "es", inputExameMarcacaoObsMensagem ); - } -} diff --git a/trunk/SIPRPSoft/src/siprp/medicina/processo/ui/ProcessoTreePanel.java b/trunk/SIPRPSoft/src/siprp/medicina/processo/ui/ProcessoTreePanel.java deleted file mode 100755 index b3763f50..00000000 --- a/trunk/SIPRPSoft/src/siprp/medicina/processo/ui/ProcessoTreePanel.java +++ /dev/null @@ -1,497 +0,0 @@ -package siprp.medicina.processo.ui; - -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.APAGAR_CONSULTA; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.APAGAR_CONSULTA_MARCACAO; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.APAGAR_EXAME_MARCACAO; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.APAGAR_PROCESSO; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.CREATE_CONSULTA; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.CREATE_CONSULTA_MARCACAO; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.CREATE_CONSULTA_MARCACAO_EMAIL; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.CREATE_CONSULTA_MARCACAO_OBSERVACOES; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.CREATE_EXAME; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.CREATE_EXAME_MARCACAO; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.CREATE_EXAME_MARCACAO_EMAIL; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.CREATE_EXAME_MARCACAO_OBSERVACOES; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.CREATE_FICHA; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.CREATE_PROCESSO; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.LOAD_TRABALHADOR; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.REFRESH; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.SELECT_TREE_NODE; -import info.clearthought.layout.TableLayout; -import info.clearthought.layout.TableLayoutConstraints; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.swing.BorderFactory; -import javax.swing.JPanel; -import javax.swing.JScrollPane; -import javax.swing.JTree; -import javax.swing.tree.DefaultMutableTreeNode; -import javax.swing.tree.DefaultTreeModel; -import javax.swing.tree.TreePath; - -import leaf.ui.LeafWindow; -import leaf.ui.LeafLogic.LeafUIActionBinding; -import leaf.ui.LeafWindow.ActionActivation; - -import org.apache.cayenne.CayenneDataObject; - -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.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.processo.ProcessoDataProvider; -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.ObservacoesMutableTreeNode; -import siprp.medicina.processo.estrutura.ProcessoMutableTreeNode; -import siprp.medicina.processo.estrutura.TrabalhadorMutableTreeNode; - -public class ProcessoTreePanel extends JPanel -{ - private static final long serialVersionUID = 1L; - - private final LeafWindow parentWindow; - - private final JScrollPane mainScroll = new JScrollPane();; - - protected TrabalhadorMutableTreeNode rootNode; - - private final Map nodeByObject = new HashMap(); - - @ActionActivation(onSelect = SELECT_TREE_NODE, onChange = "") - public JTree mainTree; - - protected ProcessoDataProvider provider; - - public ProcessoTreePanel(LeafWindow parentWindow) - { - super(); - this.parentWindow = parentWindow; - try - { - provider = ProcessoDataProvider.getProvider(); - - } catch( Exception e ) - { - provider = null; - e.printStackTrace(); - } - setupLayout(); - setupComponents(); - placeComponents(); - } - - private void setupLayout() - { - double[] cols = new double[] { - TableLayout.FILL - }; - double[] rows = new double[] { - TableLayout.FILL - }; - TableLayout layout = new TableLayout( cols, rows ); - this.setLayout( layout ); - } - - private void setupComponents() - { - this.setBorder( BorderFactory.createTitledBorder( BorderFactory.createEtchedBorder(), "Processos" ) ); - mainScroll.setVerticalScrollBarPolicy( JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED ); - mainScroll.setHorizontalScrollBarPolicy( JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED ); - rootNode = new TrabalhadorMutableTreeNode( "" ); - mainTree = new JTree( rootNode ); - mainTree.setExpandsSelectedPaths( true ); - mainTree.setCellRenderer( new EstruturaProcessoRenderer() ); - mainScroll.setViewportView( mainTree ); - } - - private void placeComponents() - { - this.add( mainScroll, new TableLayoutConstraints( 0, 0 ) ); - } - - @LeafUIActionBinding(action = LOAD_TRABALHADOR) - public void setTrabalhador( Trabalhadores trabalhador ) - { - clear(); - if( trabalhador == null ) - { - return; - } - rootNode.setUserObject( trabalhador ); - List nodes = loadProcessos( trabalhador ); - for( DefaultMutableTreeNode node : nodes ) - { - addNodeTo( node, rootNode ); - } - ((DefaultTreeModel) mainTree.getModel()).nodeStructureChanged( rootNode ); - int count = mainTree.getRowCount(); - for( int n = count - 1; n >= 0; n-- ) - { - mainTree.expandRow( n ); - } - } - - @LeafUIActionBinding(action = CREATE_PROCESSO) - public void createProcessoNode( TrabalhadoresProcesso processo ) - { - if( processo != null ) - { - ProcessoMutableTreeNode node = new ProcessoMutableTreeNode( processo ); - addAndRefresh( node, rootNode ); - } - } - - @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 apagarProcessoNode( TrabalhadoresProcesso processo ) - { - if( processo != null ) - { - for( int i = 0; i < rootNode.getChildCount(); ++i ) - { - DefaultMutableTreeNode node = (DefaultMutableTreeNode) rootNode.getChildAt( i ); - - if( processo.equals( node.getUserObject() ) ) - { - removeNode( node ); - break; - } - } - } - } - - @LeafUIActionBinding(action = APAGAR_CONSULTA) - public void apagarConsultaNode( TrabalhadoresConsultas consulta ) - { - if( consulta != null ) - { - DefaultMutableTreeNode node = nodeByObject.get( consulta ); - if( node != null ) - { - removeNode( node ); - } - } - } - - @LeafUIActionBinding(action = APAGAR_CONSULTA_MARCACAO) - public void apagarConsultaMarcacaoNode( TrabalhadoresConsultasDatas consulta ) - { - if( consulta != null ) - { - DefaultMutableTreeNode node = nodeByObject.get( consulta ); - if( node != null ) - { - removeNode( node ); - } - } - } - - @LeafUIActionBinding(action = APAGAR_EXAME_MARCACAO) - public void apagarExameMarcacaoNode( TrabalhadoresEcdsDatas exame ) - { - if( exame != null ) - { - DefaultMutableTreeNode node = nodeByObject.get( exame ); - if( node != null ) - { - removeNode( node ); - } - } - } - - @LeafUIActionBinding(action = CREATE_CONSULTA) - public void createConsultaNode( TrabalhadoresConsultas consulta ) - { - if( consulta != null ) - { - DefaultMutableTreeNode parentNode = nodeByObject.get( consulta.getToTrabalhadoresProcesso() ); - ConsultaMutableTreeNode node = new ConsultaMutableTreeNode( consulta ); - node.setData( consulta.getData() ); - addAndRefresh( node, parentNode ); - } - } - - @LeafUIActionBinding(action = CREATE_CONSULTA_MARCACAO) - public void createConsultaMarcacaoNode( TrabalhadoresConsultasDatas marcacao ) - { - if( marcacao != null ) - { - DefaultMutableTreeNode parentNode = nodeByObject.get( marcacao.getToTrabalhadoresConsultas() ); - DataMutableTreeNode node = new DataMutableTreeNode( marcacao ); - addAndRefresh( node, parentNode ); - } - } - - @LeafUIActionBinding(action = CREATE_CONSULTA_MARCACAO_EMAIL) - public void createConsultaMarcacaoEmailNode( TrabalhadoresConsultasDatasEmails email ) - { - if( email != null ) - { - DefaultMutableTreeNode parentNode = nodeByObject.get( email.getToTrabalhadoresConsultasDatas() ); - MailMutableTreeNode node = new MailMutableTreeNode( email ); - addAndRefresh( node, parentNode ); - } - } - - @LeafUIActionBinding(action = CREATE_CONSULTA_MARCACAO_OBSERVACOES) - public void createConsultaMarcacaoObservacoesNode( TrabalhadoresConsultasDatasObservacoes observacoes ) - { - if( observacoes != null ) - { - DefaultMutableTreeNode parentNode = nodeByObject.get( observacoes.getToTrabalhadoresConsultasDatas() ); - ObservacoesMutableTreeNode node = new ObservacoesMutableTreeNode( observacoes ); - addNodeTo( node, parentNode ); - ((DefaultTreeModel) mainTree.getModel()).nodeStructureChanged( parentNode ); - mainTree.setSelectionPath( new TreePath( node.getPath() ) ); - } - } - - @LeafUIActionBinding(action = CREATE_EXAME) - public void createExameNode( TrabalhadoresEcds exame ) - { - if( exame != null ) - { - DefaultMutableTreeNode parentNode = nodeByObject.get( exame.getToTrabalhadoresProcesso() ); - ECDsMutableTreeNode node = new ECDsMutableTreeNode( exame ); - node.setData( exame.getData() ); - addAndRefresh( node, parentNode ); - } - } - - @LeafUIActionBinding(action = CREATE_EXAME_MARCACAO) - public void createExameMarcacaoNode( TrabalhadoresEcdsDatas marcacao ) - { - if( marcacao != null ) - { - DefaultMutableTreeNode parentNode = nodeByObject.get( marcacao.getToTrabalhadoresEcds() ); - DataMutableTreeNode node = new DataMutableTreeNode( marcacao ); - addAndRefresh( node, parentNode ); - } - } - - @LeafUIActionBinding(action = CREATE_EXAME_MARCACAO_EMAIL) - public void createExameMarcacaoEmailNode( TrabalhadoresEcdsDatasEmails email ) - { - if( email != null ) - { - DefaultMutableTreeNode parentNode = nodeByObject.get( email.getToTrabalhadoresEcdsDatas() ); - MailMutableTreeNode node = new MailMutableTreeNode( email ); - addAndRefresh( node, parentNode ); - } - } - - @LeafUIActionBinding(action = CREATE_EXAME_MARCACAO_OBSERVACOES) - public void createConsultaMarcacaoObservacoesNode( TrabalhadoresEcdsDatasObservacoes observacoes ) - { - if( observacoes != null ) - { - DefaultMutableTreeNode parentNode = nodeByObject.get( observacoes.getToTrabalhadoresEcdsDatas() ); - ObservacoesMutableTreeNode node = new ObservacoesMutableTreeNode( observacoes ); - addNodeTo( node, parentNode ); - ((DefaultTreeModel) mainTree.getModel()).nodeStructureChanged( parentNode ); - mainTree.setSelectionPath( new TreePath( node.getPath() ) ); - } - } - - @LeafUIActionBinding(action = REFRESH) - public void refresh() - { - DefaultMutableTreeNode selected = getSelectedNode(); - if( selected != null ) - { - // ((DefaultTreeModel) mainTree.getModel()).nodeStructureChanged( - // rootNode ); - mainTree.setSelectionPath( new TreePath( rootNode.getPath() ) ); - mainTree.setSelectionPath( new TreePath( selected.getPath() ) ); - } - revalidate(); - repaint(); - } - - protected List loadProcessos( Trabalhadores trabalhador ) - { - List result = new ArrayList(); - List processos = trabalhador.getTrabalhadoresProcessoArray(); - for( TrabalhadoresProcesso trabalhadoresProcesso : processos ) - { - result.add( loadProcesso( trabalhadoresProcesso ) ); - } - return result; - } - - private ProcessoMutableTreeNode loadProcesso( TrabalhadoresProcesso processo ) - { - ProcessoMutableTreeNode node = new ProcessoMutableTreeNode( processo ); - node.removeAllChildren(); - for( TrabalhadoresConsultas current : (List) processo.getTrabalhadoresConsultasArray() ) - { - addNodeTo( loadConsulta( current ), node ); - } - for( TrabalhadoresEcds current : (List) processo.getTrabalhadoresEcdsArray() ) - { - addNodeTo( loadExame( current ), node ); - } - - List fichas = processo.getTrabalhadoresFichasAptidaoArray(); - if( fichas != null ) - { - TrabalhadoresFichasAptidao ficha = null; - for( TrabalhadoresFichasAptidao currentFicha : fichas ) - { - if( ficha == null || ficha.getId() < currentFicha.getId() ) - { - ficha = currentFicha; - } - } - if( ficha != null ) - { - addNodeTo( loadFicha( ficha ), node ); - } - } - return node; - } - - private FichaAptidaoMutableTreeNode loadFicha( TrabalhadoresFichasAptidao ficha ) - { - FichaAptidaoMutableTreeNode result = new FichaAptidaoMutableTreeNode( ficha ); - return result; - } - - private ECDsMutableTreeNode loadExame( TrabalhadoresEcds exame ) - { - ECDsMutableTreeNode node = new ECDsMutableTreeNode( exame ); - node.setData( exame.getData() ); - node.removeAllChildren(); - List marcacoes = exame.getTrabalhadoresEcdsDatasArray(); - for( TrabalhadoresEcdsDatas marcacao : marcacoes ) - { - addNodeTo( loadExameMarcacao( marcacao ), node ); - } - return node; - } - - private DataMutableTreeNode loadExameMarcacao( TrabalhadoresEcdsDatas marcacao ) - { - DataMutableTreeNode node = new DataMutableTreeNode( marcacao ); - for( TrabalhadoresEcdsDatasEmails email : (List) marcacao.getTrabalhadoresEcdsDatasEmailsArray() ) - { - addNodeTo( new MailMutableTreeNode( email ), node ); - } - for( TrabalhadoresEcdsDatasObservacoes observacoes : (List) marcacao.getTrabalhadoresEcdsDatasObservacoesArray() ) - { - addNodeTo( new ObservacoesMutableTreeNode( observacoes ), node ); - } - return node; - } - - private ConsultaMutableTreeNode loadConsulta( TrabalhadoresConsultas consulta ) - { - ConsultaMutableTreeNode node = new ConsultaMutableTreeNode( consulta ); - node.setData( consulta.getData() ); - node.removeAllChildren(); - List marcacoes = consulta.getTrabalhadoresConsultasDatasArray(); - for( TrabalhadoresConsultasDatas marcacao : marcacoes ) - { - addNodeTo( loadMarcacao( marcacao ), node ); - } - return node; - } - - private DataMutableTreeNode loadMarcacao( TrabalhadoresConsultasDatas marcacao ) - { - DataMutableTreeNode node = new DataMutableTreeNode( marcacao ); - for( TrabalhadoresConsultasDatasEmails email : (List) marcacao.getTrabalhadoresConsultasDatasEmailsArray() ) - { - addNodeTo( new MailMutableTreeNode( email ), node ); - } - for( TrabalhadoresConsultasDatasObservacoes observacoes : (List) marcacao.getTrabalhadoresConsultasDatasObservacoesArray() ) - { - addNodeTo( new ObservacoesMutableTreeNode( observacoes ), node ); - } - return node; - } - - private void addNodeTo( DefaultMutableTreeNode node, DefaultMutableTreeNode to ) - { - if( node.getUserObject() != null && node.getUserObject() instanceof CayenneDataObject ) - { - nodeByObject.put( (CayenneDataObject) node.getUserObject(), node ); - } - to.add( node ); - } - - private void addAndRefresh( DefaultMutableTreeNode node, DefaultMutableTreeNode parentNode ) - { - addNodeTo( node, parentNode ); - refresh( node, parentNode ); - } - - private void removeNode( DefaultMutableTreeNode node ) - { - if( node != null ) - { - DefaultMutableTreeNode parent = (DefaultMutableTreeNode) node.getParent(); - if( parent == null ) - { - parent = rootNode; - } - node.removeFromParent(); - nodeByObject.remove( node.getUserObject() ); - refresh( parent, rootNode ); - } - } - - private void refresh( DefaultMutableTreeNode newSelection, DefaultMutableTreeNode parentNode ) - { - ((DefaultTreeModel) mainTree.getModel()).nodeStructureChanged( parentNode ); - mainTree.setSelectionPath( new TreePath( newSelection.getPath() ) ); - } - - private DefaultMutableTreeNode getSelectedNode() - { - DefaultMutableTreeNode result = null; - Object[] nodes = mainTree.getSelectionPath() == null ? null : mainTree.getSelectionPath().getPath(); - if( nodes != null && nodes.length > 0 && nodes[nodes.length - 1] instanceof DefaultMutableTreeNode ) - { - result = (DefaultMutableTreeNode) nodes[nodes.length - 1]; - } - return result; - } - - public void clear() - { - rootNode.setUserObject( "" ); - mainTree.clearSelection(); - mainTree.setRootVisible( true ); - rootNode.removeAllChildren(); - ((DefaultTreeModel) mainTree.getModel()).nodeStructureChanged( rootNode ); - } -} diff --git a/trunk/SIPRPSoft/src/siprp/medicina/processo/ui/TrabalhadoresChooserPanel.java b/trunk/SIPRPSoft/src/siprp/medicina/processo/ui/TrabalhadoresChooserPanel.java deleted file mode 100755 index a878d840..00000000 --- a/trunk/SIPRPSoft/src/siprp/medicina/processo/ui/TrabalhadoresChooserPanel.java +++ /dev/null @@ -1,133 +0,0 @@ -package siprp.medicina.processo.ui; - -import static leaf.ui.LeafLogic.ACTION_STARTUP; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.LOAD_TRABALHADOR; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.SELECT_EMPRESA; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.SELECT_ESTABELECIMENTO; - -import java.awt.GridBagConstraints; -import java.awt.GridBagLayout; -import java.awt.Insets; -import java.util.Collection; - -import javax.swing.JPanel; -import javax.swing.JScrollPane; -import javax.swing.ListSelectionModel; - -import leaf.ui.LeafTableModel; -import leaf.ui.LeafWindow; -import leaf.ui.LeafLogic.LeafUIActionBinding; -import leaf.ui.LeafWindow.ActionActivation; -import siprp.database.cayenne.objects.Empresas; -import siprp.database.cayenne.objects.Estabelecimentos; - -import com.evolute.utils.tables.BaseTable; - -public class TrabalhadoresChooserPanel extends JPanel -{ - private static final long serialVersionUID = 1L; - - private final LeafWindow parentWindow; - - @ActionActivation(onSelect = SELECT_EMPRESA, onChange = "") - public BaseTable empresasTable; - public LeafTableModel empresasModel; - - @ActionActivation(onSelect = SELECT_ESTABELECIMENTO, onChange = "") - public BaseTable estabelecimentosTable; - public LeafTableModel estabelecimentosModel; - - @ActionActivation(onSelect = LOAD_TRABALHADOR, onChange = "") - public BaseTable trabalhadoresTable; - public LeafTableModel trabalhadoresModel; - - public TrabalhadoresChooserPanel(LeafWindow parentWindow) - { - super(); - this.parentWindow = parentWindow; - - setupComponents(); - } - - private void setupComponents() - { - empresasModel = new LeafTableModel( new String[] { - "Empresas" - } ); - empresasTable = new BaseTable( empresasModel ); - empresasTable.setSelectionMode( ListSelectionModel.SINGLE_SELECTION ); - empresasTable.setNonResizableNorReordable(); - JScrollPane empresasScroll = new JScrollPane( empresasTable, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER ); - estabelecimentosModel = new LeafTableModel( new String[] { - "Estabelecimentos" - } ); - estabelecimentosTable = new BaseTable( estabelecimentosModel ); - estabelecimentosTable.setSelectionMode( ListSelectionModel.SINGLE_SELECTION ); - estabelecimentosTable.setNonResizableNorReordable(); - JScrollPane estabelecimentosScroll = new JScrollPane( estabelecimentosTable, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER ); - trabalhadoresModel = new LeafTableModel( new String[] { - "Trabalhadores" - } ); - trabalhadoresTable = new BaseTable( trabalhadoresModel ); - trabalhadoresTable.setSelectionMode( ListSelectionModel.SINGLE_SELECTION ); - trabalhadoresTable.setNonResizableNorReordable(); - JScrollPane trabalhadoresScroll = new JScrollPane( trabalhadoresTable, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER ); - - GridBagLayout gridbag = new GridBagLayout(); - setLayout( gridbag ); - GridBagConstraints constraints = new GridBagConstraints(); - constraints.insets = new Insets( 1, 1, 1, 1 ); - constraints.fill = GridBagConstraints.BOTH; - constraints.gridwidth = 1; - constraints.gridheight = 1; - constraints.weightx = 0.3; - constraints.weighty = 1; - - gridbag.setConstraints( empresasScroll, constraints ); - - gridbag.setConstraints( estabelecimentosScroll, constraints ); - - constraints.weightx = 0.4; - constraints.gridheight = GridBagConstraints.REMAINDER; - gridbag.setConstraints( trabalhadoresScroll, constraints ); - - add( empresasScroll ); - add( estabelecimentosScroll ); - add( trabalhadoresScroll ); - - } - - @LeafUIActionBinding(action= ACTION_STARTUP) - public void fillEmpresas( Collection allEmpresas ) - { - empresasTable.clearSelection(); - empresasModel.clearAll(); - if( allEmpresas != null ) - { - empresasModel.setValues( allEmpresas ); - } - } - - @LeafUIActionBinding(action = SELECT_EMPRESA) - public void fillEstablecimentos( Empresas empresa ) - { - estabelecimentosTable.clearSelection(); - estabelecimentosModel.clearAll(); - if( empresa != null ) - { - estabelecimentosModel.setValues( empresa.getEstabelecimentosArray() ); - } - } - - @LeafUIActionBinding(action = SELECT_ESTABELECIMENTO) - public void fillTrabalhadores(Estabelecimentos estabelecimento) - { - trabalhadoresTable.clearSelection(); - trabalhadoresModel.clearAll(); - if( estabelecimento != null ) - { - trabalhadoresModel.setValues( estabelecimento.getTrabalhadoresArray() ); - } - } - -}