From c5db679ee313695cb3670d2665ab7b52a7220a0a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tiago=20Sim=C3=A3o?= Date: Thu, 15 Jul 2010 16:21:44 +0000 Subject: [PATCH] git-svn-id: https://svn.coded.pt/svn/SIPRP@1307 bb69d46d-e84e-40c8-a05a-06db0d633741 --- trunk/SIPRPSoft/lib/shst.jar | Bin 1287940 -> 1288003 bytes .../processo/ui/MedicinaProcessoWindow.java | 212 ---- .../processo/ui/ProcessoAccoesPanel.java | 551 ----------- .../processo/ui/ProcessoDadosPanel.java | 902 ------------------ .../processo/ui/ProcessoTreePanel.java | 497 ---------- .../ui/TrabalhadoresChooserPanel.java | 133 --- 6 files changed, 2295 deletions(-) delete mode 100755 trunk/SIPRPSoft/src/siprp/medicina/processo/ui/MedicinaProcessoWindow.java delete mode 100755 trunk/SIPRPSoft/src/siprp/medicina/processo/ui/ProcessoAccoesPanel.java delete mode 100755 trunk/SIPRPSoft/src/siprp/medicina/processo/ui/ProcessoDadosPanel.java delete mode 100755 trunk/SIPRPSoft/src/siprp/medicina/processo/ui/ProcessoTreePanel.java delete mode 100755 trunk/SIPRPSoft/src/siprp/medicina/processo/ui/TrabalhadoresChooserPanel.java diff --git a/trunk/SIPRPSoft/lib/shst.jar b/trunk/SIPRPSoft/lib/shst.jar index e68c1b5d82e9271c782f2d1bac5d44bcbf64b8d2..acc6ed1fc5a4601add3d2d7816efe39b080b7e0f 100644 GIT binary patch delta 19302 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

eeJ{I2tWW(YyG9z`b+Y3mJwLw4c$j%zqpSiC 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 JZ~=VN`G4@J4+H=J 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() ); - } - } - -}