|  |  | @ -39,6 +39,8 @@ import javax.swing.JScrollPane; | 
			
		
	
		
		
			
				
					
					|  |  |  | import javax.swing.ListSelectionModel; |  |  |  | import javax.swing.ListSelectionModel; | 
			
		
	
		
		
			
				
					
					|  |  |  | import javax.swing.SwingUtilities; |  |  |  | import javax.swing.SwingUtilities; | 
			
		
	
		
		
			
				
					
					|  |  |  | import javax.swing.WindowConstants; |  |  |  | import javax.swing.WindowConstants; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | import javax.swing.event.ChangeEvent; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | import javax.swing.event.ChangeListener; | 
			
		
	
		
		
			
				
					
					|  |  |  | import javax.swing.event.ListSelectionEvent; |  |  |  | import javax.swing.event.ListSelectionEvent; | 
			
		
	
		
		
			
				
					
					|  |  |  | import javax.swing.event.ListSelectionListener; |  |  |  | import javax.swing.event.ListSelectionListener; | 
			
		
	
		
		
			
				
					
					|  |  |  | import siprp.data.Marcacao; |  |  |  | import siprp.data.Marcacao; | 
			
		
	
	
		
		
			
				
					|  |  | @ -90,6 +92,7 @@ public class LocaisRealizacaoWindow extends JFrame | 
			
		
	
		
		
			
				
					
					|  |  |  | 		setSize( 1000, 700 ); |  |  |  | 		setSize( 1000, 700 ); | 
			
		
	
		
		
			
				
					
					|  |  |  | 		JLabel dataLabel = new JLabel( "Data" ); |  |  |  | 		JLabel dataLabel = new JLabel( "Data" ); | 
			
		
	
		
		
			
				
					
					|  |  |  | 		dataPanel = new JCalendarPanel( this ); |  |  |  | 		dataPanel = new JCalendarPanel( this ); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		 | 
			
		
	
		
		
			
				
					
					|  |  |  | 		carregarButton = new JButton( "Carregar" ); |  |  |  | 		carregarButton = new JButton( "Carregar" ); | 
			
		
	
		
		
			
				
					
					|  |  |  | 		carregarButton.addActionListener( this ); |  |  |  | 		carregarButton.addActionListener( this ); | 
			
		
	
		
		
			
				
					
					|  |  |  | 		recarregarPrestadoresButton = new JButton( "Recarregar Prestadores" ); |  |  |  | 		recarregarPrestadoresButton = new JButton( "Recarregar Prestadores" ); | 
			
		
	
	
		
		
			
				
					|  |  | @ -118,6 +121,15 @@ public class LocaisRealizacaoWindow extends JFrame | 
			
		
	
		
		
			
				
					
					|  |  |  | 		prestadoresECDsCombo = new JComboBox(); |  |  |  | 		prestadoresECDsCombo = new JComboBox(); | 
			
		
	
		
		
			
				
					
					|  |  |  | 		enviarECDsButton = new JButton( "Atribuir" ); |  |  |  | 		enviarECDsButton = new JButton( "Atribuir" ); | 
			
		
	
		
		
			
				
					
					|  |  |  | 		enviarECDsButton.addActionListener( this ); |  |  |  | 		enviarECDsButton.addActionListener( this ); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		dataPanel.addChangeListener( new ChangeListener(){ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 			public void stateChanged(ChangeEvent e) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 			{ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 				empresasTable.clearSelection(); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 				Vector values = empresasModel.getValues(); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 				values.clear(); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 				empresasModel.setValues( values ); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 			} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		} ); | 
			
		
	
		
		
			
				
					
					|  |  |  | 		 |  |  |  | 		 | 
			
		
	
		
		
			
				
					
					|  |  |  | 		getContentPane().setLayout( new BorderLayout( 5, 5 ) ); |  |  |  | 		getContentPane().setLayout( new BorderLayout( 5, 5 ) ); | 
			
		
	
		
		
			
				
					
					|  |  |  | 		JPanel upperPanel = new JPanel(); |  |  |  | 		JPanel upperPanel = new JPanel(); | 
			
		
	
	
		
		
			
				
					|  |  | @ -209,6 +221,15 @@ public class LocaisRealizacaoWindow extends JFrame | 
			
		
	
		
		
			
				
					
					|  |  |  | 		{ |  |  |  | 		{ | 
			
		
	
		
		
			
				
					
					|  |  |  | 			recarregarPrestadores(); |  |  |  | 			recarregarPrestadores(); | 
			
		
	
		
		
			
				
					
					|  |  |  | 		} |  |  |  | 		} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		else if( source.equals( enviarConsultasButton ) ) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		{ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 			enviarConsultas(); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		else if( source.equals( enviarECDsButton ) ) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		{ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 			enviarECDs(); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		 | 
			
		
	
		
		
			
				
					
					|  |  |  | 	} |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 	public void valueChanged(ListSelectionEvent e) |  |  |  | 	public void valueChanged(ListSelectionEvent e) | 
			
		
	
	
		
		
			
				
					|  |  | @ -302,11 +323,79 @@ public class LocaisRealizacaoWindow extends JFrame | 
			
		
	
		
		
			
				
					
					|  |  |  | 			{ |  |  |  | 			{ | 
			
		
	
		
		
			
				
					
					|  |  |  | 				numeroConsultasLabel.setText( "" + countConsultas ); |  |  |  | 				numeroConsultasLabel.setText( "" + countConsultas ); | 
			
		
	
		
		
			
				
					
					|  |  |  | 				enviarConsultasButton.setEnabled( true ); |  |  |  | 				enviarConsultasButton.setEnabled( true ); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 				Integer[] escolhidos = | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 						provider.getPrestadoresIDByEstabelecimentoAndTipo( estabelecimentoID,  | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 											Marcacao.TIPO_MARCACAO_TRABALHADOR_CONSULTA, data ); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 				if( escolhidos.length == 1 ) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 				{ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 					numeroConsultasLabel.setForeground( Color.green.darker() ); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 				} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 				else | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 				{ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 					numeroConsultasLabel.setForeground( Color.red.darker() ); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 				} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 				int e; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 				for( e = 0; e < escolhidos.length; e++ ) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 				{ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 					if( escolhidos[ e ] != null ) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 					{ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 						break; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 					} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 				} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 				if( e == escolhidos.length || escolhidos[ e ] == null ) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 				{ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 					prestadoresConsultasCombo.setSelectedIndex( 0 ); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 				} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 				else | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 				{ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 					for( int p = 0; p < prestadoresConsultasCombo.getItemCount(); p++ ) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 					{ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 						IDObject prestador = ( IDObject ) prestadoresConsultasCombo.getItemAt( p ); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 						if( prestador.getID().equals( escolhidos[ e ] ) ) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 						{ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 							prestadoresConsultasCombo.setSelectedIndex( p ); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 						} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 					} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 				} | 
			
		
	
		
		
			
				
					
					|  |  |  | 			} |  |  |  | 			} | 
			
		
	
		
		
			
				
					
					|  |  |  | 			if( countECDs > 0 ) |  |  |  | 			if( countECDs > 0 ) | 
			
		
	
		
		
			
				
					
					|  |  |  | 			{ |  |  |  | 			{ | 
			
		
	
		
		
			
				
					
					|  |  |  | 				numeroECDsLabel.setText( "" + countECDs ); |  |  |  | 				numeroECDsLabel.setText( "" + countECDs ); | 
			
		
	
		
		
			
				
					
					|  |  |  | 				enviarECDsButton.setEnabled( true ); |  |  |  | 				enviarECDsButton.setEnabled( true ); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 				Integer[] escolhidos = | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 						provider.getPrestadoresIDByEstabelecimentoAndTipo( estabelecimentoID,  | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 											Marcacao.TIPO_MARCACAO_TRABALHADOR_EXAMES, data ); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 				if( escolhidos.length == 1 ) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 				{ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 					numeroECDsLabel.setForeground( Color.green.darker() ); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 				} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 				else | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 				{ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 					numeroECDsLabel.setForeground( Color.red.darker() ); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 				} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 				int e; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 				for( e = 0; e < escolhidos.length; e++ ) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 				{ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 					if( escolhidos[ e ] != null ) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 					{ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 						break; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 					} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 				} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 				if( e == escolhidos.length || escolhidos[ e ] == null ) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 				{ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 					prestadoresECDsCombo.setSelectedIndex( 0 ); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 				} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 				else | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 				{ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 					for( int p = 0; p < prestadoresECDsCombo.getItemCount(); p++ ) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 					{ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 						IDObject prestador = ( IDObject ) prestadoresECDsCombo.getItemAt( p ); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 						if( prestador.getID().equals( escolhidos[ e ] ) ) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 						{ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 							prestadoresECDsCombo.setSelectedIndex( e ); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 						} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 					} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 				} | 
			
		
	
		
		
			
				
					
					|  |  |  | 			} |  |  |  | 			} | 
			
		
	
		
		
			
				
					
					|  |  |  | 		} |  |  |  | 		} | 
			
		
	
		
		
			
				
					
					|  |  |  | 		catch( Exception ex ) |  |  |  | 		catch( Exception ex ) | 
			
		
	
	
		
		
			
				
					|  |  | @ -339,4 +428,54 @@ public class LocaisRealizacaoWindow extends JFrame | 
			
		
	
		
		
			
				
					
					|  |  |  | 			DialogException.showExceptionMessage( ex, "Erro a carregar prestadores", true ); |  |  |  | 			DialogException.showExceptionMessage( ex, "Erro a carregar prestadores", true ); | 
			
		
	
		
		
			
				
					
					|  |  |  | 		} |  |  |  | 		} | 
			
		
	
		
		
			
				
					
					|  |  |  | 	} |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	protected void enviarECDs() | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	{ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		Date data = dataPanel.getDate(); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		int selectedEstabelecimento = estabelecimentosTable.getSelectedRow(); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		if( data == null || selectedEstabelecimento == -1 ) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		{ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 			return; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		Integer estabelecimentoID = ( ( ColumnizedMappable ) estabelecimentosModel.getRowAt( selectedEstabelecimento ) ).getID(); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		try | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		{ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 			Integer prestadorID = ( ( IDObject ) prestadoresECDsCombo.getSelectedItem() ).getID(); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 			if( PRESTADOR_ID_SIPRP.equals( prestadorID ) ) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 			{ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 				prestadorID = null; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 			} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 			provider.setPrestadorIDForEstabelecimentoAndTipo( estabelecimentoID,  | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 					Marcacao.TIPO_MARCACAO_TRABALHADOR_EXAMES, data, prestadorID ); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		catch( Exception ex ) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		{ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 			DialogException.showExceptionMessage( ex, "Erro a atribuir", true ); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	protected void enviarConsultas() | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	{ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		Date data = dataPanel.getDate(); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		int selectedEstabelecimento = estabelecimentosTable.getSelectedRow(); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		if( data == null || selectedEstabelecimento == -1 ) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		{ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 			return; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		Integer estabelecimentoID = ( ( ColumnizedMappable ) estabelecimentosModel.getRowAt( selectedEstabelecimento ) ).getID(); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		try | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		{ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 			Integer prestadorID = ( ( IDObject ) prestadoresConsultasCombo.getSelectedItem() ).getID(); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 			if( PRESTADOR_ID_SIPRP.equals( prestadorID ) ) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 			{ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 				prestadorID = null; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 			} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 			provider.setPrestadorIDForEstabelecimentoAndTipo( estabelecimentoID,  | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 					Marcacao.TIPO_MARCACAO_TRABALHADOR_CONSULTA, data, prestadorID ); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		catch( Exception ex ) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		{ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 			DialogException.showExceptionMessage( ex, "Erro a atribuir", true ); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  | } |  |  |  | } | 
			
		
	
	
		
		
			
				
					|  |  | 
 |