Añado los fuentes de java

This commit is contained in:
2025-06-09 13:37:06 +02:00
parent d6c990e5d5
commit a97a6350ee
226 changed files with 57246 additions and 0 deletions
@@ -0,0 +1,69 @@
package com.tarisan.chipcard.gui;
import javax.swing.JDialog;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
/**
* @author jjrider
*/
public class AutomaticCloseDialog extends JDialog implements ActionListener,Runnable {
private int intNumeroSegundos=5;
private Thread objThread=null;
public AutomaticCloseDialog(String strTitle,String strMensaje,int intNumeroSegundos){
super();
setUndecorated(false);
setSize(320,150);
this.intNumeroSegundos=intNumeroSegundos;
setTitle(strTitle);
getContentPane().setLayout(null);
JLabel label=new JLabel(strMensaje);
label.setBounds(40,40,300,20);
getContentPane().add(label);
JButton btnAceptar=new JButton("Aceptar");
btnAceptar.setActionCommand("Aceptar");
btnAceptar.addActionListener(this);
btnAceptar.setBounds(115,80,90,20);
getContentPane().add(btnAceptar);
objThread=new Thread(this);
validate();
centerOnScreen(this);
objThread.start();
show();
}
public void actionPerformed(ActionEvent e){
hide();
}
public static void centerOnScreen(JDialog dialog){
if(dialog==null)
return;
Dimension dimFrame=java.awt.Toolkit.getDefaultToolkit().getScreenSize();
Dimension dimDialog=dialog.getSize();
int distanceWidth=dimFrame.width-dimDialog.width;
distanceWidth=distanceWidth/2;
int distanceHeight=dimFrame.height-dimDialog.height;
distanceHeight=distanceHeight/2;
dialog.setBounds(distanceWidth,distanceHeight,dimDialog.width,dimDialog.height);
}
public void run(){
try{
objThread.sleep(intNumeroSegundos*1000);
}catch(Exception err){
}
hide();
}
}
@@ -0,0 +1,68 @@
package com.tarisan.chipcard.gui;
import java.awt.Component;
import javax.swing.Icon;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.ListCellRenderer;
import java.util.*;
/****
* Se encarga de personalizar un combo
* @author jjrider
*
*/
public class ComboCellRenderer extends JLabel implements ListCellRenderer {
HashMap hshImagenes=new HashMap();
private int nHeight=40;
public ComboCellRenderer() {
super("");
setOpaque(true);
setVerticalTextPosition(JLabel.CENTER);
setHorizontalTextPosition(JLabel.RIGHT);
setHorizontalAlignment(LEFT);
setVerticalAlignment(CENTER);
//setFont(new java.awt.Font("Tahoma",java.awt.Font.BOLD,14));
//setPreferredSize(new java.awt.Dimension(120,nHeight));
//setMinimumSize(new java.awt.Dimension(120,35));
}
public void addIcon(Object sValue,Icon icon){
//System.out.println("addIcon:'"+sValue+"'->"+icon.getIconHeight());
hshImagenes.put(sValue.toString(),icon);
if(icon!=null){
nHeight=Math.max(icon.getIconHeight(),nHeight);
setPreferredSize(new java.awt.Dimension(Math.max(getWidth(),160),nHeight));
}
}
public void removeIcon(String sValue){
hshImagenes.remove(sValue);
}
public Component getListCellRendererComponent(JList list,Object value,int index,boolean isSelected,boolean cellHasFocus)
{
if(value!=null){
setText(value.toString());
//setBackground(isSelected ? Color.GREEN : Color.white);
//setForeground(isSelected ? Color.white : Color.black);
}
if(value!=null){
//System.out.println("getListCellRendererComponent:'"+value+"'");
Icon icon=(Icon)hshImagenes.get(value.toString());
if(icon!=null){
setIcon(icon);
}else{
setIcon(null);
}
}else{
setText("");
setIcon(null);
}
return this;
}
}
@@ -0,0 +1,491 @@
package com.tarisan.chipcard.gui;
/**
* @author jjrider
*/
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.*;
import javax.swing.border.*;
/**
* Custom dialog box to enter dates. The <code>DateChooser</code>
* class presents a calendar and allows the user to visually select a
* day, month and year so that it is impossible to enter an invalid
* date.
**/
public class DateChooser extends JDialog
implements ItemListener, MouseListener, FocusListener, KeyListener, ActionListener
{
/** Names of the months. */
private static final String[] MONTHS =
new String[] {
"Enero",
"Febrero",
"Marzo",
"Abril",
"Mayo",
"Junio",
"Julio",
"Agosto",
"Septiembre",
"Octubre",
"Noviembre",
"Diciembre"
};
/** Names of the days of the week. */
private static final String[] DAYS =
new String[] {
"Lun",
"Mar",
"Mie",
"Jue",
"Vie",
"Sab",
"Dom"
};
/** Text color of the days of the weeks, used as column headers in
the calendar. */
private static final Color WEEK_DAYS_FOREGROUND = Color.black;
/** Text color of the days' numbers in the calendar. */
private static final Color DAYS_FOREGROUND = Color.blue;
/** Background color of the selected day in the calendar. */
private static final Color SELECTED_DAY_FOREGROUND = Color.white;
/** Text color of the selected day in the calendar. */
private static final Color SELECTED_DAY_BACKGROUND = Color.blue;
/** Empty border, used when the calendar does not have the focus. */
private static final Border EMPTY_BORDER = BorderFactory.createEmptyBorder(1,1,1,1);
/** Border used to highlight the selected day when the calendar
has the focus. */
private static final Border FOCUSED_BORDER = BorderFactory.createLineBorder(Color.yellow,1);
/** First year that can be selected. */
private static final int FIRST_YEAR = 1900;
/** Last year that can be selected. */
private static final int LAST_YEAR = 2100;
/** Auxiliary variable to compute dates. */
private Calendar calendar;
/** Calendar, as a matrix of labels. The first row represents the
first week of the month, the second row, the second week, and
so on. Each column represents a day of the week, the first is
Sunday, and the last is Saturday. The label's text is the
number of the corresponding day. */
private JLabel[][] days;
/** Day selection control. It is just a panel that can receive the
focus. The actual user interaction is driven by the
<code>DateChooser</code> class. */
private FocusablePanel daysGrid;
/** Month selection control. */
private JComboBox month;
/** Year selection control. */
private JComboBox year;
/** "Ok" button. */
private JButton ok;
/** "Cancel" button. */
private JButton cancel;
/** Day of the week (0=Sunday) corresponding to the first day of
the selected month. Used to calculate the position, in the
calendar ({@link #days}), corresponding to a given day. */
private int offset;
/** Last day of the selected month. */
private int lastDay;
/** Selected day. */
private JLabel day;
/** <code>true</code> if the "Ok" button was clicked to close the
dialog box, <code>false</code> otherwise. */
private boolean okClicked;
/**
* Custom panel that can receive the focus. Used to implement the
* calendar control.
**/
private static class FocusablePanel extends JPanel
{
/**
* Constructs a new <code>FocusablePanel</code> with the given
* layout manager.
*
* @param layout layout manager
**/
public FocusablePanel( LayoutManager layout ) {
super( layout );
}
/**
* Always returns <code>true</code>, since
* <code>FocusablePanel</code> can receive the focus.
*
* @return <code>true</code>
**/
public boolean isFocusTraversable() {
return true;
}
}
/**
* Initializes this <code>DateChooser</code> object. Creates the
* controls, registers listeners and initializes the dialog box.
**/
private void construct()
{
calendar = Calendar.getInstance();//new Calendar();//GregorianCalendar();
month = new JComboBox(MONTHS);
month.addItemListener( this );
year = new JComboBox();
for ( int i=FIRST_YEAR; i<=LAST_YEAR; i++ )
year.addItem( Integer.toString(i) );
year.addItemListener( this );
days = new JLabel[7][7];
for ( int i=0; i<7; i++ ) {
days[0][i] = new JLabel(DAYS[i],JLabel.RIGHT);
days[0][i].setForeground( WEEK_DAYS_FOREGROUND );
}
for ( int i=1; i<7; i++ )
for ( int j=0; j<7; j++ )
{
days[i][j] = new JLabel(" ",JLabel.RIGHT);
days[i][j].setForeground( DAYS_FOREGROUND );
days[i][j].setBackground( SELECTED_DAY_BACKGROUND );
days[i][j].setBorder( EMPTY_BORDER );
days[i][j].addMouseListener( this );
}
ok = new JButton("Aceptar");
ok.addActionListener( this );
cancel = new JButton("Cancelar");
cancel.addActionListener( this );
JPanel monthYear = new JPanel();
monthYear.add( month );
monthYear.add( year );
daysGrid = new FocusablePanel(new GridLayout(7,7,5,0));
daysGrid.addFocusListener( this );
daysGrid.addKeyListener( this );
for ( int i=0; i<7; i++ )
for ( int j=0; j<7; j++ )
daysGrid.add( days[i][j] );
daysGrid.setBackground( Color.white );
daysGrid.setBorder( BorderFactory.createLoweredBevelBorder() );
JPanel daysPanel = new JPanel();
daysPanel.add( daysGrid );
JPanel buttons = new JPanel();
buttons.add( ok );
buttons.add( cancel );
Container dialog = getContentPane();
dialog.add( "North", monthYear );
dialog.add( "Center", daysPanel );
dialog.add( "South", buttons );
pack();
setResizable( false );
UtilGUI.centerOnWindow(this,getOwner());
}
/**
* Gets the selected day, as an <code>int</code>. Parses the text
* of the selected label in the calendar to get the day.
*
* @return the selected day or -1 if there is no day selected
**/
private int getSelectedDay()
{
if ( day == null )
return -1 ;
try {
return Integer.parseInt(day.getText());
} catch ( NumberFormatException e ) {
}
return -1;
}
/**
* Sets the selected day. The day is specified as the label
* control, in the calendar, corresponding to the day to select.
*
* @param newDay day to select
**/
private void setSelected( JLabel newDay )
{
if ( day != null ) {
day.setForeground( DAYS_FOREGROUND );
day.setOpaque( false );
day.setBorder( EMPTY_BORDER );
}
day = newDay;
day.setForeground( SELECTED_DAY_FOREGROUND );
day.setOpaque( true );
if ( daysGrid.hasFocus() )
day.setBorder( FOCUSED_BORDER );
}
/**
* Sets the selected day. The day is specified as the number of
* the day, in the month, to selected. The function compute the
* corresponding control to select.
*
* @param newDay day to select
**/
private void setSelected( int newDay )
{
setSelected( days[(newDay+offset-1)/7+1][(newDay+offset-1)%7] );
}
/**
* Updates the calendar. This function updates the calendar panel
* to reflect the month and year selected. It keeps the same day
* of the month that was selected, except if it is beyond the last
* day of the month. In this case, the last day of the month is
* selected.
**/
private void update()
{
int iday = getSelectedDay();
for ( int i=0; i<7; i++ ) {
days[1][i].setText( " " );
days[5][i].setText( " " );
days[6][i].setText( " " );
}
calendar.set( Calendar.DATE, 1 );
calendar.set( Calendar.MONTH, month.getSelectedIndex()+Calendar.JANUARY );
calendar.set( Calendar.YEAR, year.getSelectedIndex()+FIRST_YEAR );
offset = calendar.get(Calendar.DAY_OF_WEEK)-Calendar.MONDAY;
lastDay = calendar.getActualMaximum(Calendar.DATE);
for ( int i=0; i<lastDay; i++ ){
try{
days[(i+offset)/7+1][(i+offset)%7].setText( String.valueOf(i+1) );
}catch(Exception err){
}
}
if ( iday != -1 ) {
if ( iday > lastDay )
iday = lastDay;
setSelected( iday );
}
}
/**
* Called when the "Ok" button is pressed. Just sets a flag and
* hides the dialog box.
**/
public void actionPerformed( ActionEvent e ) {
if ( e.getSource() == ok )
okClicked = true;
hide();
}
/**
* Called when the calendar gains the focus. Just re-sets the
* selected day so that it is redrawn with the border that
* indicate focus.
**/
public void focusGained( FocusEvent e ) {
setSelected( day );
}
/**
* Called when the calendar loses the focus. Just re-sets the
* selected day so that it is redrawn without the border that
* indicate focus.
**/
public void focusLost( FocusEvent e ) {
setSelected( day );
}
/**
* Called when a new month or year is selected. Updates the calendar
* to reflect the selection.
**/
public void itemStateChanged( ItemEvent e ) {
update();
}
/**
* Called when a key is pressed and the calendar has the
* focus. Handles the arrow keys so that the user can select a day
* using the keyboard.
**/
public void keyPressed( KeyEvent e ) {
int iday = getSelectedDay();
switch ( e.getKeyCode() ) {
case KeyEvent.VK_LEFT:
if ( iday > 1 )
setSelected( iday-1 );
break;
case KeyEvent.VK_RIGHT:
if ( iday < lastDay )
setSelected( iday+1 );
break;
case KeyEvent.VK_UP:
if ( iday > 7 )
setSelected( iday-7 );
break;
case KeyEvent.VK_DOWN:
if ( iday <= lastDay-7 )
setSelected( iday+7 );
break;
}
}
/**
* Called when the mouse is clicked on a day in the
* calendar. Selects the clicked day.
**/
public void mouseClicked( MouseEvent e ) {
JLabel day = (JLabel)e.getSource();
if ( !day.getText().equals(" ") )
setSelected( day );
daysGrid.requestFocus();
}
public void keyReleased( KeyEvent e ) {}
public void keyTyped( KeyEvent e ) {}
public void mouseEntered( MouseEvent e ) {}
public void mouseExited( MouseEvent e) {}
public void mousePressed( MouseEvent e ) {}
public void mouseReleased( MouseEvent e) {}
/**
* Constructs a new <code>DateChooser</code> with the given title.
*
* @param owner owner dialog
*
* @param title dialog title
**/
public DateChooser( Dialog owner, String title )
{
super( owner, title, true );
construct();
}
/**
* Constructs a new <code>DateChooser</code>.
*
* @param owner owner dialog
**/
public DateChooser( Dialog owner )
{
super( owner, true );
construct();
}
/**
* Constructs a new <code>DateChooser</code> with the given title.
*
* @param owner owner frame
*
* @param title dialog title
**/
public DateChooser( Frame owner, String title )
{
super( owner, title, true );
construct();
}
/**
* Constructs a new <code>DateChooser</code>.
*
* @param owner owner frame
**/
public DateChooser( Frame owner )
{
super( owner, true );
construct();
}
/**
* Selects a date. Displays the dialog box, with a given date as
* the selected date, and allows the user select a new date.
*
* @param date initial date
*
* @return the new date selected or <code>null</code> if the user
* press "Cancel" or closes the dialog box
**/
public Date select( Date date )
{
calendar.setTime( date );
int _day = calendar.get(Calendar.DATE);
int _month = calendar.get(Calendar.MONTH);
int _year = calendar.get(Calendar.YEAR);
year.setSelectedIndex( _year-FIRST_YEAR );
month.setSelectedIndex( _month-Calendar.JANUARY );
setSelected( _day );
okClicked = false;
show();
if ( !okClicked )
return null;
calendar.set( Calendar.DATE, getSelectedDay() );
calendar.set( Calendar.MONTH, month.getSelectedIndex()+Calendar.JANUARY );
calendar.set( Calendar.YEAR, year.getSelectedIndex()+FIRST_YEAR );
return calendar.getTime();
}
/**
* Selects new date. Just calls {@link #select(Date)} with the
* system date as the parameter.
*
* @return the same as the function {@link #select(Date)}
**/
public Date select()
{
return select(new Date());
}
}
@@ -0,0 +1,320 @@
/*
* Created on 28-sep-2004
*
* To change the template for this generated file go to
* Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
*/
package com.tarisan.chipcard.gui;
import java.awt.*;
import javax.swing.*;
/**
* This type was created in VisualAge.
*/
public class Detalles extends javax.swing.JInternalFrame implements java.awt.event.ActionListener {
private javax.swing.JButton ivjAceptar = null;
private javax.swing.JButton ivjDescripcion = null;
private javax.swing.JLabel ivjEtiqueta = null;
private javax.swing.JPanel ivjJInternalFrameContentPane = null;
private javax.swing.JPanel ivjPanel = null;
private Editor edit = new Editor();
String mensaje = new String();
String error = new String();
Toolkit t = Toolkit.getDefaultToolkit();
Icon icono = (Icon) UIManager.get("OptionPane.errorIcon");
/**
* Constructor
*/
/* WARNING: THIS METHOD WILL BE REGENERATED. */
public Detalles(String strTitle, String error, String mensaje) {
super("Error");
this.mensaje = mensaje;
this.error = error;
initialize();
}
/**
* Detalles constructor comment.
* @param title java.lang.String
*/
/**
* Detalles constructor comment.
* @param title java.lang.String
* @param resizable boolean
*/
public Detalles(String title, boolean resizable) {
super(title, resizable);
}
/**
* Detalles constructor comment.
* @param title java.lang.String
* @param resizable boolean
* @param closable boolean
*/
public Detalles(String title, boolean resizable, boolean closable) {
super(title, resizable, closable);
}
/**
* Detalles constructor comment.
* @param title java.lang.String
* @param resizable boolean
* @param closable boolean
* @param maximizable boolean
*/
public Detalles(String title, boolean resizable, boolean closable, boolean maximizable) {
super(title, resizable, closable, maximizable);
}
/**
* Detalles constructor comment.
* @param title java.lang.String
* @param resizable boolean
* @param closable boolean
* @param maximizable boolean
* @param iconifiable boolean
*/
public Detalles(String title, boolean resizable, boolean closable, boolean maximizable, boolean iconifiable) {
super(title, resizable, closable, maximizable, iconifiable);
}
/**
* Comment
*/
public void aceptar_ActionPerformed(java.awt.event.ActionEvent actionEvent) {
try
{
this.setClosed(true);
}
catch (java.beans.PropertyVetoException w)
{
//System.out.println("hola");
}
return;
}
public void actionPerformed(java.awt.event.ActionEvent e) {
// user code begin {1}
// user code end
if ((e.getSource() == getAceptar()) ) {
connEtoC2(e);
}
if ((e.getSource() == getDescripcion()) ) {
connEtoC3(e);
}
// user code begin {2}
// user code end
}
/**
* connEtoC2: (Aceptar.action.actionPerformed(java.awt.event.ActionEvent) --> Detalles.aceptar_ActionPerformed(Ljava.awt.event.ActionEvent;)V)
* @param arg1 java.awt.event.ActionEvent
*/
/* WARNING: THIS METHOD WILL BE REGENERATED. */
private void connEtoC2(java.awt.event.ActionEvent arg1) {
try {
// user code begin {1}
// user code end
this.aceptar_ActionPerformed(arg1);
// user code begin {2}
// user code end
} catch (java.lang.Throwable ivjExc) {
// user code begin {3}
// user code end
handleException(ivjExc);
}
}
/**
* connEtoC3: (Descripcion.action.actionPerformed(java.awt.event.ActionEvent) --> Detalles.descripcion_ActionPerformed(Ljava.awt.event.ActionEvent;)V)
* @param arg1 java.awt.event.ActionEvent
*/
/* WARNING: THIS METHOD WILL BE REGENERATED. */
private void connEtoC3(java.awt.event.ActionEvent arg1) {
try {
// user code begin {1}
// user code end
this.descripcion_ActionPerformed(arg1);
// user code begin {2}
// user code end
} catch (java.lang.Throwable ivjExc) {
// user code begin {3}
// user code end
handleException(ivjExc);
}
}
/**
* Comment
*/
public void descripcion_ActionPerformed(java.awt.event.ActionEvent actionEvent) {
if(this.getSize().height == 110)
{
ivjDescripcion.setText("\u00AB Descripción");
this.setSize(this.getSize().width,193);
edit.append(mensaje, new Color(0xFF0000));
}
else
{
ivjDescripcion.setText("Descripción \u00BB");
this.setSize(this.getSize().width,110);
edit.remove();
}
return;
}
/**
* Return the Aceptar property value.
* @return javax.swing.JButton
*/
/* WARNING: THIS METHOD WILL BE REGENERATED. */
private javax.swing.JButton getAceptar() {
if (ivjAceptar == null) {
try {
ivjAceptar = new javax.swing.JButton();
ivjAceptar.setName("Aceptar");
ivjAceptar.setText("Aceptar");
ivjAceptar.setBounds(33, 56, 85, 17);
// user code begin {1}
// user code end
} catch (java.lang.Throwable ivjExc) {
// user code begin {2}
// user code end
handleException(ivjExc);
}
};
return ivjAceptar;
}
private javax.swing.JButton getDescripcion() {
if (ivjDescripcion == null) {
try {
ivjDescripcion = new javax.swing.JButton();
ivjDescripcion.setName("Descripcion");
ivjDescripcion.setText("Descripción \u00BB");
ivjDescripcion.setBounds(170, 56, 115, 17);
ivjDescripcion.setActionCommand("Descripcion");
// user code begin {1}
// user code end
} catch (java.lang.Throwable ivjExc) {
// user code begin {2}
// user code end
handleException(ivjExc);
}
};
return ivjDescripcion;
}
/**
* Return the Etiqueta property value.
* @return javax.swing.JLabel
*/
/* WARNING: THIS METHOD WILL BE REGENERATED. */
private javax.swing.JLabel getEtiqueta() {
if (ivjEtiqueta == null) {
try {
ivjEtiqueta = new javax.swing.JLabel();
ivjEtiqueta.setName("Etiqueta");
ivjEtiqueta.setIcon(icono);
ivjEtiqueta.setText(error);
ivjEtiqueta.setBounds(15, 14, 258, 28);
// user code begin {1}
// user code end
} catch (java.lang.Throwable ivjExc) {
// user code begin {2}
// user code end
handleException(ivjExc);
}
};
return ivjEtiqueta;
}
/**
* Return the JInternalFrameContentPane property value.
* @return javax.swing.JPanel
*/
/* WARNING: THIS METHOD WILL BE REGENERATED. */
private javax.swing.JPanel getJInternalFrameContentPane() {
if (ivjJInternalFrameContentPane == null) {
try {
ivjJInternalFrameContentPane = new javax.swing.JPanel();
ivjJInternalFrameContentPane.setName("JInternalFrameContentPane");
ivjJInternalFrameContentPane.setLayout(null);
getJInternalFrameContentPane().add(getAceptar(), getAceptar().getName());
getJInternalFrameContentPane().add(getEtiqueta(), getEtiqueta().getName());
getJInternalFrameContentPane().add(getPanel(), getPanel().getName());
getJInternalFrameContentPane().add(getDescripcion(), getDescripcion().getName());
// user code begin {1}
// user code end
} catch (java.lang.Throwable ivjExc) {
// user code begin {2}
// user code end
handleException(ivjExc);
}
};
return ivjJInternalFrameContentPane;
}
/**
* Return the Panel property value.
* @return javax.swing.JPanel
*/
/* WARNING: THIS METHOD WILL BE REGENERATED. */
private javax.swing.JPanel getPanel() {
if (ivjPanel == null) {
try {
ivjPanel = new javax.swing.JPanel();
ivjPanel.setName("Panel");
ivjPanel.setLayout(new BorderLayout());
ivjPanel.setBounds(12, 91, 282, 50);
ivjPanel.add("Center",edit);
// user code begin {1}
// user code end
} catch (java.lang.Throwable ivjExc) {
// user code begin {2}
// user code end
handleException(ivjExc);
}
};
return ivjPanel;
}
/**
* Called whenever the part throws an exception.
* @param exception java.lang.Throwable
*/
private void handleException(Throwable exception) {
/* Uncomment the following lines to print uncaught exceptions to stdout */
// System.out.println("--------- UNCAUGHT EXCEPTION ---------");
// exception.printStackTrace(System.out);
}
/**
* Initializes connections
*/
/* WARNING: THIS METHOD WILL BE REGENERATED. */
private void initConnections() {
// user code begin {1}
// user code end
getAceptar().addActionListener(this);
getDescripcion().addActionListener(this);
}
/**
* Initialize the class.
*/
/* WARNING: THIS METHOD WILL BE REGENERATED. */
private void initialize() {
// user code begin {1}
// user code end
setName("Detalles");
setBounds((t.getScreenSize().width-317)/2,(t.getScreenSize().height-110)/2, 317, 110);
setContentPane(getJInternalFrameContentPane());
initConnections();
// user code begin {2}
// user code end
}
/**
* main entrypoint - starts the part when it is run as an application
* @param args java.lang.String[]
*/
}
@@ -0,0 +1,351 @@
/*
* Created on 28-sep-2004
*
* To change the template for this generated file go to
* Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
*/
package com.tarisan.chipcard.gui;
import java.awt.*;
import javax.swing.*;
public class DetallesDialog extends javax.swing.JDialog implements Runnable,java.awt.event.ActionListener {
private javax.swing.JButton ivjAceptar = null;
private javax.swing.JButton ivjDescripcion = null;
private javax.swing.JLabel ivjEtiqueta = null;
private javax.swing.JPanel ivjJInternalFrameContentPane = null;
private javax.swing.JPanel ivjPanel = null;
private Editor edit = new Editor();
String mensaje = new String();
String error = new String();
Toolkit t = Toolkit.getDefaultToolkit();
Icon icono = (Icon) UIManager.get("OptionPane.errorIcon");
private Thread objThread=null;
private int intNumeroSegundos=-1;
/**
* Constructor
*/
/* WARNING: THIS METHOD WILL BE REGENERATED. */
public DetallesDialog(JFrame f,String strTitle, String error, String mensaje) {
this( f, strTitle, error, mensaje, null);
}
public DetallesDialog(JFrame f,String strTitle, String error, String mensaje, Icon icon) {
super(f,strTitle);
this.mensaje = mensaje;
this.error = error;
if(icon!=null)
icono = icon;
initialize();
}
/**
* Detalles constructor comment.
* @param title java.lang.String
*/
/**
* Detalles constructor comment.
* @param title java.lang.String
* @param resizable boolean
*/
public DetallesDialog(JFrame f,String title, boolean resizable) {
super(f,title);
setResizable(resizable);
}
/**
* Detalles constructor comment.
* @param title java.lang.String
* @param resizable boolean
* @param closable boolean
*/
public DetallesDialog(JFrame f,String title, boolean resizable, boolean closable) {
super(f,title);
setResizable(resizable);
}
/**
* Detalles constructor comment.
* @param title java.lang.String
* @param resizable boolean
* @param closable boolean
* @param maximizable boolean
*/
public DetallesDialog(JFrame f,String title, boolean resizable, boolean closable, boolean maximizable) {
super(f,title);
setResizable(resizable);
}
/**
* Detalles constructor comment.
* @param title java.lang.String
* @param resizable boolean
* @param closable boolean
* @param maximizable boolean
* @param iconifiable boolean
*/
public DetallesDialog(JFrame f,String title, boolean resizable, boolean closable, boolean maximizable, boolean iconifiable) {
super(f,title);
setResizable(resizable);
}
// Center a dialog on screen
public static void centerDialog(Window frame) {
Dimension dialogSize = frame.getSize();
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
frame.setLocation(screenSize.width/2 - dialogSize.width/2,
screenSize.height/2 - dialogSize.height/2);
}
/**
* Comment
*/
public void aceptar_ActionPerformed(java.awt.event.ActionEvent actionEvent) {
try
{
dispose();
}
catch (Exception w)
{
//System.out.println("hola");
}
return;
}
public void setAutomaticClose(int intSeconds){
intNumeroSegundos=intSeconds;
objThread=new Thread(this);
objThread.start();
}
public void actionPerformed(java.awt.event.ActionEvent e) {
// user code begin {1}
// user code end
if ((e.getSource() == getAceptar()) ) {
connEtoC2(e);
}
if ((e.getSource() == getDescripcion()) ) {
connEtoC3(e);
}
// user code begin {2}
// user code end
}
/**
* connEtoC2: (Aceptar.action.actionPerformed(java.awt.event.ActionEvent) --> Detalles.aceptar_ActionPerformed(Ljava.awt.event.ActionEvent;)V)
* @param arg1 java.awt.event.ActionEvent
*/
/* WARNING: THIS METHOD WILL BE REGENERATED. */
private void connEtoC2(java.awt.event.ActionEvent arg1) {
try {
// user code begin {1}
// user code end
this.aceptar_ActionPerformed(arg1);
// user code begin {2}
// user code end
} catch (java.lang.Throwable ivjExc) {
// user code begin {3}
// user code end
handleException(ivjExc);
}
}
/**
* connEtoC3: (Descripcion.action.actionPerformed(java.awt.event.ActionEvent) --> Detalles.descripcion_ActionPerformed(Ljava.awt.event.ActionEvent;)V)
* @param arg1 java.awt.event.ActionEvent
*/
/* WARNING: THIS METHOD WILL BE REGENERATED. */
private void connEtoC3(java.awt.event.ActionEvent arg1) {
try {
// user code begin {1}
// user code end
this.descripcion_ActionPerformed(arg1);
// user code begin {2}
// user code end
} catch (java.lang.Throwable ivjExc) {
// user code begin {3}
// user code end
handleException(ivjExc);
}
}
/**
* Comment
*/
public void descripcion_ActionPerformed(java.awt.event.ActionEvent actionEvent) {
if(this.getSize().height < 200)
{
ivjDescripcion.setText("\u00AB Descripción");
this.setSize(this.getSize().width,200);
edit.append(mensaje, new Color(0xFF0000));
}
else
{
ivjDescripcion.setText("Descripción \u00BB");
this.setSize(this.getSize().width,110);
edit.remove();
}
validate();
repaint();
return;
}
/**
* Return the Aceptar property value.
* @return javax.swing.JButton
*/
/* WARNING: THIS METHOD WILL BE REGENERATED. */
public javax.swing.JButton getAceptar() {
if (ivjAceptar == null) {
try {
ivjAceptar = new javax.swing.JButton();
ivjAceptar.setName("Aceptar");
ivjAceptar.setText("Aceptar");
ivjAceptar.setBounds(33, 56, 85, 17);
// user code begin {1}
// user code end
} catch (java.lang.Throwable ivjExc) {
// user code begin {2}
// user code end
handleException(ivjExc);
}
};
return ivjAceptar;
}
private javax.swing.JButton getDescripcion() {
if (ivjDescripcion == null) {
try {
ivjDescripcion = new javax.swing.JButton();
ivjDescripcion.setName("Descripcion");
ivjDescripcion.setText("Descripción \u00BB");
ivjDescripcion.setBounds(170, 56, 115, 17);
ivjDescripcion.setActionCommand("Descripcion");
// user code begin {1}
// user code end
} catch (java.lang.Throwable ivjExc) {
// user code begin {2}
// user code end
handleException(ivjExc);
}
};
return ivjDescripcion;
}
/**
* Return the Etiqueta property value.
* @return javax.swing.JLabel
*/
/* WARNING: THIS METHOD WILL BE REGENERATED. */
private javax.swing.JLabel getEtiqueta() {
if (ivjEtiqueta == null) {
try {
ivjEtiqueta = new javax.swing.JLabel();
ivjEtiqueta.setName("Etiqueta");
ivjEtiqueta.setIcon(icono);
ivjEtiqueta.setText(error);
ivjEtiqueta.setBounds(15, 14, 258, 28);
// user code begin {1}
// user code end
} catch (java.lang.Throwable ivjExc) {
// user code begin {2}
// user code end
handleException(ivjExc);
}
};
return ivjEtiqueta;
}
/**
* Return the JInternalFrameContentPane property value.
* @return javax.swing.JPanel
*/
/* WARNING: THIS METHOD WILL BE REGENERATED. */
public javax.swing.JPanel getJInternalFrameContentPane() {
if (ivjJInternalFrameContentPane == null) {
try {
ivjJInternalFrameContentPane = new javax.swing.JPanel();
ivjJInternalFrameContentPane.setName("JInternalFrameContentPane");
ivjJInternalFrameContentPane.setLayout(null);
getJInternalFrameContentPane().add(getAceptar(), getAceptar().getName());
getJInternalFrameContentPane().add(getEtiqueta(), getEtiqueta().getName());
getJInternalFrameContentPane().add(getPanel(), getPanel().getName());
getJInternalFrameContentPane().add(getDescripcion(), getDescripcion().getName());
// user code begin {1}
// user code end
} catch (java.lang.Throwable ivjExc) {
// user code begin {2}
// user code end
handleException(ivjExc);
}
};
return ivjJInternalFrameContentPane;
}
/**
* Return the Panel property value.
* @return javax.swing.JPanel
*/
/* WARNING: THIS METHOD WILL BE REGENERATED. */
private javax.swing.JPanel getPanel() {
if (ivjPanel == null) {
try {
ivjPanel = new javax.swing.JPanel();
ivjPanel.setName("Panel");
ivjPanel.setLayout(new BorderLayout());
ivjPanel.setBounds(12, 91, 282, 50);
ivjPanel.add("Center",edit);
// user code begin {1}
// user code end
} catch (java.lang.Throwable ivjExc) {
// user code begin {2}
// user code end
handleException(ivjExc);
}
};
return ivjPanel;
}
/**
* Called whenever the part throws an exception.
* @param exception java.lang.Throwable
*/
private void handleException(Throwable exception) {
/* Uncomment the following lines to print uncaught exceptions to stdout */
// System.out.println("--------- UNCAUGHT EXCEPTION ---------");
// exception.printStackTrace(System.out);
}
/**
* Initializes connections
*/
/* WARNING: THIS METHOD WILL BE REGENERATED. */
private void initConnections() {
// user code begin {1}
// user code end
getAceptar().addActionListener(this);
getDescripcion().addActionListener(this);
}
/**
* Initialize the class.
*/
/* WARNING: THIS METHOD WILL BE REGENERATED. */
private void initialize() {
// user code begin {1}
// user code end
setName("Detalles");
setBounds((t.getScreenSize().width-317)/2,(t.getScreenSize().height-110)/2, 317, 110);
setContentPane(getJInternalFrameContentPane());
initConnections();
// user code begin {2}
// user code end
}
public void run(){
try{
objThread.sleep(intNumeroSegundos*1000);
}catch(Exception err){
}
dispose();
}
/**
* main entrypoint - starts the part when it is run as an application
* @param args java.lang.String[]
*/
}
@@ -0,0 +1,324 @@
package com.tarisan.chipcard.gui;
import java.awt.*;
import javax.swing.*;
/**
* This type was created in VisualAge.
*/
public class DetallesFrame extends javax.swing.JFrame implements java.awt.event.ActionListener {
private javax.swing.JButton ivjAceptar = null;
private javax.swing.JButton ivjDescripcion = null;
private javax.swing.JLabel ivjEtiqueta = null;
private javax.swing.JPanel ivjJInternalFrameContentPane = null;
private javax.swing.JPanel ivjPanel = null;
private Editor edit = new Editor();
String mensaje = new String();
String error = new String();
Toolkit t = Toolkit.getDefaultToolkit();
Icon icono = (Icon) UIManager.get("OptionPane.errorIcon");
/**
* Constructor
*/
/* WARNING: THIS METHOD WILL BE REGENERATED. */
public DetallesFrame(String strTitle, String error, String mensaje) {
super("Error");
this.mensaje = mensaje;
this.error = error;
initialize();
}
/**
* Detalles constructor comment.
* @param title java.lang.String
*/
/**
* Detalles constructor comment.
* @param title java.lang.String
* @param resizable boolean
*/
public DetallesFrame(String title, boolean resizable) {
super(title);
setResizable(resizable);
}
/**
* Detalles constructor comment.
* @param title java.lang.String
* @param resizable boolean
* @param closable boolean
*/
public DetallesFrame(String title, boolean resizable, boolean closable) {
super(title);
setResizable(resizable);
}
/**
* Detalles constructor comment.
* @param title java.lang.String
* @param resizable boolean
* @param closable boolean
* @param maximizable boolean
*/
public DetallesFrame(String title, boolean resizable, boolean closable, boolean maximizable) {
super(title);
setResizable(resizable);
}
/**
* Detalles constructor comment.
* @param title java.lang.String
* @param resizable boolean
* @param closable boolean
* @param maximizable boolean
* @param iconifiable boolean
*/
public DetallesFrame(String title, boolean resizable, boolean closable, boolean maximizable, boolean iconifiable) {
super(title);
setResizable(resizable);
}
// Center a dialog on screen
public static void centerDialog(Window frame) {
Dimension dialogSize = frame.getSize();
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
frame.setLocation(screenSize.width/2 - dialogSize.width/2,
screenSize.height/2 - dialogSize.height/2);
}
/**
* Comment
*/
public void aceptar_ActionPerformed(java.awt.event.ActionEvent actionEvent) {
try
{
dispose();
}
catch (Exception w)
{
//System.out.println("hola");
}
return;
}
public void actionPerformed(java.awt.event.ActionEvent e) {
// user code begin {1}
// user code end
if ((e.getSource() == getAceptar()) ) {
connEtoC2(e);
}
if ((e.getSource() == getDescripcion()) ) {
connEtoC3(e);
}
// user code begin {2}
// user code end
}
/**
* connEtoC2: (Aceptar.action.actionPerformed(java.awt.event.ActionEvent) --> Detalles.aceptar_ActionPerformed(Ljava.awt.event.ActionEvent;)V)
* @param arg1 java.awt.event.ActionEvent
*/
/* WARNING: THIS METHOD WILL BE REGENERATED. */
private void connEtoC2(java.awt.event.ActionEvent arg1) {
try {
// user code begin {1}
// user code end
this.aceptar_ActionPerformed(arg1);
// user code begin {2}
// user code end
} catch (java.lang.Throwable ivjExc) {
// user code begin {3}
// user code end
handleException(ivjExc);
}
}
/**
* connEtoC3: (Descripcion.action.actionPerformed(java.awt.event.ActionEvent) --> Detalles.descripcion_ActionPerformed(Ljava.awt.event.ActionEvent;)V)
* @param arg1 java.awt.event.ActionEvent
*/
/* WARNING: THIS METHOD WILL BE REGENERATED. */
private void connEtoC3(java.awt.event.ActionEvent arg1) {
try {
// user code begin {1}
// user code end
this.descripcion_ActionPerformed(arg1);
// user code begin {2}
// user code end
} catch (java.lang.Throwable ivjExc) {
// user code begin {3}
// user code end
handleException(ivjExc);
}
}
/**
* Comment
*/
public void descripcion_ActionPerformed(java.awt.event.ActionEvent actionEvent) {
if(this.getSize().height == 110)
{
ivjDescripcion.setText("\u00AB Descripción");
this.setSize(this.getSize().width,193);
edit.append(mensaje, new Color(0xFF0000));
}
else
{
ivjDescripcion.setText("Descripción \u00BB");
this.setSize(this.getSize().width,110);
edit.remove();
}
return;
}
/**
* Return the Aceptar property value.
* @return javax.swing.JButton
*/
/* WARNING: THIS METHOD WILL BE REGENERATED. */
private javax.swing.JButton getAceptar() {
if (ivjAceptar == null) {
try {
ivjAceptar = new javax.swing.JButton();
ivjAceptar.setName("Aceptar");
ivjAceptar.setText("Aceptar");
ivjAceptar.setBounds(33, 56, 85, 17);
// user code begin {1}
// user code end
} catch (java.lang.Throwable ivjExc) {
// user code begin {2}
// user code end
handleException(ivjExc);
}
};
return ivjAceptar;
}
private javax.swing.JButton getDescripcion() {
if (ivjDescripcion == null) {
try {
ivjDescripcion = new javax.swing.JButton();
ivjDescripcion.setName("Descripcion");
ivjDescripcion.setText("Descripción \u00BB");
ivjDescripcion.setBounds(170, 56, 115, 17);
ivjDescripcion.setActionCommand("Descripcion");
// user code begin {1}
// user code end
} catch (java.lang.Throwable ivjExc) {
// user code begin {2}
// user code end
handleException(ivjExc);
}
};
return ivjDescripcion;
}
/**
* Return the Etiqueta property value.
* @return javax.swing.JLabel
*/
/* WARNING: THIS METHOD WILL BE REGENERATED. */
private javax.swing.JLabel getEtiqueta() {
if (ivjEtiqueta == null) {
try {
ivjEtiqueta = new javax.swing.JLabel();
ivjEtiqueta.setName("Etiqueta");
ivjEtiqueta.setIcon(icono);
ivjEtiqueta.setText(error);
ivjEtiqueta.setBounds(15, 14, 258, 28);
// user code begin {1}
// user code end
} catch (java.lang.Throwable ivjExc) {
// user code begin {2}
// user code end
handleException(ivjExc);
}
};
return ivjEtiqueta;
}
/**
* Return the JInternalFrameContentPane property value.
* @return javax.swing.JPanel
*/
/* WARNING: THIS METHOD WILL BE REGENERATED. */
public javax.swing.JPanel getJInternalFrameContentPane() {
if (ivjJInternalFrameContentPane == null) {
try {
ivjJInternalFrameContentPane = new javax.swing.JPanel();
ivjJInternalFrameContentPane.setName("JInternalFrameContentPane");
ivjJInternalFrameContentPane.setLayout(null);
getJInternalFrameContentPane().add(getAceptar(), getAceptar().getName());
getJInternalFrameContentPane().add(getEtiqueta(), getEtiqueta().getName());
getJInternalFrameContentPane().add(getPanel(), getPanel().getName());
getJInternalFrameContentPane().add(getDescripcion(), getDescripcion().getName());
// user code begin {1}
// user code end
} catch (java.lang.Throwable ivjExc) {
// user code begin {2}
// user code end
handleException(ivjExc);
}
};
return ivjJInternalFrameContentPane;
}
/**
* Return the Panel property value.
* @return javax.swing.JPanel
*/
/* WARNING: THIS METHOD WILL BE REGENERATED. */
private javax.swing.JPanel getPanel() {
if (ivjPanel == null) {
try {
ivjPanel = new javax.swing.JPanel();
ivjPanel.setName("Panel");
ivjPanel.setLayout(new BorderLayout());
ivjPanel.setBounds(12, 91, 282, 50);
ivjPanel.add("Center",edit);
// user code begin {1}
// user code end
} catch (java.lang.Throwable ivjExc) {
// user code begin {2}
// user code end
handleException(ivjExc);
}
};
return ivjPanel;
}
/**
* Called whenever the part throws an exception.
* @param exception java.lang.Throwable
*/
private void handleException(Throwable exception) {
/* Uncomment the following lines to print uncaught exceptions to stdout */
// System.out.println("--------- UNCAUGHT EXCEPTION ---------");
// exception.printStackTrace(System.out);
}
/**
* Initializes connections
*/
/* WARNING: THIS METHOD WILL BE REGENERATED. */
private void initConnections() {
// user code begin {1}
// user code end
getAceptar().addActionListener(this);
getDescripcion().addActionListener(this);
}
/**
* Initialize the class.
*/
/* WARNING: THIS METHOD WILL BE REGENERATED. */
private void initialize() {
// user code begin {1}
// user code end
setName("Detalles");
setBounds((t.getScreenSize().width-317)/2,(t.getScreenSize().height-110)/2, 317, 110);
setContentPane(getJInternalFrameContentPane());
initConnections();
// user code begin {2}
// user code end
}
/**
* main entrypoint - starts the part when it is run as an application
* @param args java.lang.String[]
*/
}
@@ -0,0 +1,127 @@
/*
* Created on 28-sep-2004
*
* To change the template for this generated file go to
* Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
*/
package com.tarisan.chipcard.gui;
import java.awt.*;
import javax.swing.*;
import javax.swing.text.*;
public class Editor extends JScrollPane
{
EditorTexto edit = new EditorTexto();;
public Editor()
{
super();
setHorizontalScrollBarPolicy(HORIZONTAL_SCROLLBAR_AS_NEEDED);
setVerticalScrollBarPolicy(VERTICAL_SCROLLBAR_AS_NEEDED);
getViewport().add(edit);
}
public void remove()
{
edit.remove();
}
public void append(String cadena, Color color)
{
edit.append(cadena+"\r",color);
}
public class EditorTexto extends JTextPane
{
Style Linea,Titulo; // Estilos
Style s;
StyleContext sc; // Contenedor de estilos
DefaultStyledDocument doc; // Plantilla de Documento
Color color= new Color(0) ; // color texto chat
public void remove()
{
try
{
doc.remove(0,doc.getLength());
}
catch(BadLocationException x)
{
//System.out.println("no sé");
}
}
public EditorTexto()
{
super();
sc = new StyleContext();
doc= new DefaultStyledDocument(sc);
Editable(false);
DeficionEstilos();
setDocument(doc);
}
public void Editable(boolean flag) // Estado de Edicion del NewChat
{
if(!flag)
{
setEditable(false);
setCaretColor(Color.white);
setSelectionColor(Color.BLUE);
}
else
{
setEditable(true);
}
}
public void append(String cadena, Color color)
{
Style tmp;
tmp = sc.getStyle("tmp"+ color /*Integer.toString(color)*/);
if(tmp == null) // el estilo no existe lo añadimos
{
tmp = sc.getStyle("Linea");
sc.addStyle("tmp"+color,tmp);
StyleConstants.setForeground(tmp, color);
}
else
{
StyleConstants.setForeground(tmp, color);
}
try
{
doc.insertString(doc.getLength(), cadena,tmp);
}
catch (BadLocationException e)
{
System.err.println("Internal error: " + e);
}
}
public void append(String cadena, String Estilo)
{
try
{
doc.insertString(doc.getLength(), cadena,null);
doc.setLogicalStyle(doc.getLength()-1, sc.getStyle(Estilo));
}
catch (BadLocationException e)
{
System.err.println("Internal error: " + e);
}
}
public void DeficionEstilos()
{
// Estilo de Linea
Linea = sc.getStyle(StyleContext.DEFAULT_STYLE);
Linea = sc.addStyle("Linea", Linea);
StyleConstants.setFontFamily(Linea, "Helvetica");
StyleConstants.setBold(Linea, true);
StyleConstants.setAlignment(Linea, StyleConstants.ALIGN_LEFT);
StyleConstants.setSpaceAbove(Linea, 10);
StyleConstants.setSpaceBelow(Linea, 10);
StyleConstants.setFontSize(Linea, 12);
StyleConstants.setForeground(Linea, new Color(255,255,255));
}
}
}
@@ -0,0 +1,6 @@
package com.tarisan.chipcard.gui;
public interface IconizableObject {
public javax.swing.Icon getIcon();
}
@@ -0,0 +1,46 @@
package com.tarisan.chipcard.gui;
import javax.swing.*;
public class ImageComboBox extends JComboBox{
private ComboCellRenderer renderer=new ComboCellRenderer();
private String sIconPath="";
//private int nHeight=40;
public ImageComboBox(){
super();
setRenderer(renderer);
/*setFont(new java.awt.Font("Tahoma",java.awt.Font.BOLD,14));
setPreferredSize(new java.awt.Dimension(120,nHeight));
setMinimumSize(new java.awt.Dimension(120,35));
*/
}
public void setIconPath(String s){
sIconPath=s;
}
public void addItem(Object anObject){
super.addItem(anObject);
Icon icon=null;
if(anObject instanceof IconizableObject){
icon=((IconizableObject)anObject).getIcon();
//nHeight=Math.max(icon.getIconHeight(),nHeight);
//setPreferredSize(new java.awt.Dimension(Math.max(getWidth(),120),nHeight));
validate();
}
renderer.addIcon(anObject,icon);
}
public void removeItemAt(int nIndex){
Object obj=this.getItemAt(nIndex);
renderer.removeIcon(obj.toString());
if(nIndex>0)
renderer.remove(nIndex);
}
}
@@ -0,0 +1,49 @@
package com.tarisan.chipcard.gui;
import java.awt.Dimension;
import javax.swing.*;
import javax.swing.JLabel;
import javax.swing.JProgressBar;
public class ProgressDialog extends JFrame {
JProgressBar progressBar=null;
JLabel jlabel=null;
public ProgressDialog(String strTitle){
super(strTitle);
setSize(400,70);
addComponents(strTitle);
setVisible(true);
show();
UtilGUI.centerOnScreen(this);
}
private void addComponents(String strTitle){
getContentPane().setLayout(new java.awt.BorderLayout());
jlabel=new JLabel(strTitle);
getContentPane().add(jlabel,java.awt.BorderLayout.SOUTH);
progressBar=new JProgressBar(0, 100);
progressBar.setPreferredSize(new Dimension(400,60));
progressBar.setValue(0);
progressBar.setStringPainted(true);
getContentPane().add(progressBar,java.awt.BorderLayout.CENTER);
}
public void setProgressState(int intValue){
String str=null;
setProgressState(intValue,str);
}
public void setProgressState(int intValue,String strTexto){
setVisible(true);
progressBar.setValue(intValue);
if(strTexto!=null){
jlabel.setText(strTexto);
}
validate();
repaint();
}
}
@@ -0,0 +1,71 @@
package com.tarisan.chipcard.gui;
import java.awt.*;
import javax.swing.*;
/**
* @author jjrider
*
* Window - Preferences - Java - Code Style - Code Templates
*/
public class UtilGUI {
// Center a dialog on screen
public static void centerDialog(Window frame) {
Dimension dialogSize = frame.getSize();
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
frame.setLocation(screenSize.width/2 - dialogSize.width/2,
screenSize.height/2 - dialogSize.height/2);
}
public static void centerOnWindow(Window dialog, Window frame){
if(dialog==null)
return;
if(frame==null)
return;
Dimension dimDialog=dialog.getSize();
Dimension dimFrame=frame.getSize();
/*int intFrameX=frame.getX();
int intFrameY=frame.getY();*/
int distanceWidth=dimFrame.width-dimDialog.width;
distanceWidth=distanceWidth/2;
int distanceHeight=dimFrame.height-dimDialog.height;
distanceHeight=distanceHeight/2;
dialog.setBounds(frame.getX()+distanceWidth,frame.getY()+distanceHeight,dimDialog.width,dimDialog.height);
}
public static void centerOnScreen(Window dialog){
if(dialog==null)
return;
Dimension dimFrame=java.awt.Toolkit.getDefaultToolkit().getScreenSize();
Dimension dimDialog=dialog.getSize();
int distanceWidth=dimFrame.width-dimDialog.width;
distanceWidth=distanceWidth/2;
int distanceHeight=dimFrame.height-dimDialog.height;
distanceHeight=distanceHeight/2;
dialog.setBounds(distanceWidth,distanceHeight,dimDialog.width,dimDialog.height);
}
public static Icon getIconForType(int iconType) {
try{
switch (iconType) {
case JOptionPane.ERROR_MESSAGE:
return UIManager.getIcon("OptionPane.errorIcon");
case JOptionPane.INFORMATION_MESSAGE:
return UIManager.getIcon("OptionPane.informationIcon");
case JOptionPane.WARNING_MESSAGE:
return UIManager.getIcon("OptionPane.warningIcon");
case JOptionPane.QUESTION_MESSAGE:
return UIManager.getIcon("OptionPane.questionIcon");
}
}catch(Exception err){}
return null;
}
public static String getInputValue(Component parentComponent,Object message){
return JOptionPane.showInputDialog(parentComponent,message);
}
}
@@ -0,0 +1,57 @@
package com.tarisan.chipcard.gui;
import java.awt.Dimension;
import javax.swing.*;
import javax.swing.JProgressBar;
/**
* @author jjrider
*/
public class VentanaProgreso extends JDialog {
JProgressBar progressBar=null;
JLabel jlabel=null;
public VentanaProgreso(JFrame objFrame,String strTitle){
super(objFrame,strTitle, false);
setSize(400,70);
addComponents(strTitle);
setDefaultCloseOperation(JDialog.DO_NOTHING_ON_CLOSE);
setVisible(true);
}
private void addComponents(String strTitle){
getContentPane().setLayout(new java.awt.BorderLayout());
jlabel=new JLabel(strTitle);
getContentPane().add(jlabel,java.awt.BorderLayout.SOUTH);
progressBar=new JProgressBar(0, 100);
progressBar.setPreferredSize(new Dimension(400,60));
//progressBar.setBackground(new java.awt.Color(0,0,0));
progressBar.setValue(0);
progressBar.setStringPainted(true);
getContentPane().add(progressBar,java.awt.BorderLayout.CENTER);
}
public void setProgressState(int intValue){
String str=null;
setProgressState(intValue,str);
}
public void setProgressState(int intValue,String strTexto){
progressBar.setValue(intValue);
if(strTexto!=null){
jlabel.setText(strTexto);
}
validate();
repaint();
}
protected void finalize() throws Throwable{
try {
hide();
}catch(Throwable th){}
super.finalize();
}
}
@@ -0,0 +1,49 @@
package com.tarisan.chipcard.gui;
import javax.swing.*;
/**
* @author jjrider
*
* To change the template for this generated type comment go to
* Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
*/
public class hiloDialogo extends Thread {//implements Runnable{
int intDialogType=0;
String strMessage="";
String strTitle="";
private JFrame jframe=null;
String options[]={"Si","No"};
java.awt.event.ActionListener actionListener=null;
public hiloDialogo(JFrame f,String t,String m, int d){
this(f, t, m, d,null);
}
public hiloDialogo(JFrame f,String t,String m, int d,java.awt.event.ActionListener a){
super();
jframe=f;
intDialogType=d;
strMessage=m;
strTitle=t;
actionListener=a;
start();
}
public void run(){
//jframe.setVisible(true);
if(jframe!=null)
jframe.setFocusable(true);
if(actionListener==null)
JOptionPane.showMessageDialog(jframe,strMessage,strTitle,intDialogType);
else
confirmDialog();
}
public void confirmDialog(){
int intRetorno=JOptionPane.showOptionDialog(null, strMessage, strTitle, JOptionPane.DEFAULT_OPTION, JOptionPane.QUESTION_MESSAGE, null,options, options[1]);
if(actionListener!=null){
actionListener.actionPerformed(new java.awt.event.ActionEvent(this,intRetorno,null));
}
}
}
@@ -0,0 +1,55 @@
package com.tarisan.chipcard.tpvvs.webservicetrayicon;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.*;
import javax.swing.border.EmptyBorder;
public class AboutBox extends JFrame {
public static final ImageIcon fondo=new ImageIcon(WebServiceTrayIcon.loadImage("acercade02.gif"));
// Create new about box given parent frame
public AboutBox() {
// Make modal dialog given parent and title
super("Acerca de");
this.setUndecorated(true);
// Layout stuff
JLabel panel = new JLabel();
//panel.setBackground();
//panel.setI
panel.setIcon(fondo);
panel.setSize(new Dimension(fondo.getIconWidth(),fondo.getIconHeight()));
panel.setLayout(null);
JPanel container=new JPanel();
container.setBounds(195,15,185,220);
panel.add(container);
container.setLayout(new BorderLayout());
JPanel txt = new JPanel();
txt.setLayout(new GridLayout(0,1));
addWindowListener(new CloseWindowListener());
container.setBorder(new EmptyBorder(4,4,4,4));
setContentPane(panel);
panel.validate();
pack();
}
// Close listener for OK button
private class CloseListener implements ActionListener {
public void actionPerformed(ActionEvent evt) {
dispose();
}
}
// Close listener for windows button
private class CloseWindowListener extends WindowAdapter {
public void windowClosing(WindowEvent evt) {
dispose();
}
}
}
@@ -0,0 +1,245 @@
package com.tarisan.chipcard.tpvvs.webservicetrayicon;
import java.awt.BorderLayout;
import javax.swing.*;
import com.tarisan.chipcard.gui.*;
import java.util.*;
import com.tarisan.chipcard.tpvvs.webservicetrayicon.accesodatos.*;
import com.tarisan.chipcard.tpvvs.webservicetrayicon.messages.*;
import java.awt.event.*;
/**
* Ventana de anulaciones
*
* @author jescacena
*
*/
public class AnulacionesFrame extends JFrame implements ActionListener, ControladorRespuestas {
private AnulacionesPanel jpAnulPanel = new AnulacionesPanel();
private JButton btnAceptar = null;
private JButton btnCancelar = null;
private TerminalSanitarioBean terBean = new TerminalSanitarioBean();
private UsuarioTVSBean userBean = new UsuarioTVSBean();
private VentanaProgreso progressWindow = null;
public String devuelveRespuesta(String a)
{
return a;
}
public AnulacionesFrame() {
setIconImage(WebServiceTrayIcon.image_authorizations_16);
progressWindow = new VentanaProgreso(this, "Solicitando anulación");
progressWindow.setVisible(false);
setTitle("Anulaciones");
Vector vTer = terBean.getTerminalesSanitarios();
if (vTer.size() == 0) {
NuevoTerminalFrame frmT = new NuevoTerminalFrame();
WebServiceTrayIcon.showMessage(
frmT,
getTitle(),
"Es necesario configurar antes Terminales Sanitarios",
JOptionPane.WARNING_MESSAGE,
10);
dispose();
} else {
Vector vUsers = userBean.getUsuariosTVS();
if (vUsers.size() == 0) {
NuevoUsuarioTVSFrame frmU = new NuevoUsuarioTVSFrame();
frmU.updateData();
WebServiceTrayIcon.showMessage(
frmU,
getTitle(),
"Es necesario configurar antes algún Usuario del TVS",
JOptionPane.WARNING_MESSAGE,
10);
dispose();
} else {
init();
}
}
}
private void init() {
getContentPane().setLayout(new BorderLayout());
JPanel pn = new JPanel();
pn.setLayout(new java.awt.GridBagLayout());
java.awt.GridBagConstraints gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 0;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
pn.add(jpAnulPanel, gridBagConstraints);
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy++;
JPanel jpButtons = new JPanel();
jpButtons.setLayout(new java.awt.FlowLayout());
jpButtons.add(getButtonAceptar());
jpButtons.add(getButtonCancelar());
pn.add(jpButtons, gridBagConstraints);
getContentPane().add(pn, java.awt.BorderLayout.CENTER);
jpAnulPanel.updateData();
pack();
show();
UtilGUI.centerOnScreen(this);
}
private JButton getButtonAceptar() {
if (btnAceptar == null) {
btnAceptar = new JButton();
btnAceptar.setText("Aceptar");
btnAceptar.setIcon(new ImageIcon(WebServiceTrayIcon.loadImage("aceptar32.gif")));
btnAceptar.addActionListener(this);
}
return btnAceptar;
}
private JButton getButtonCancelar() {
if (btnCancelar == null) {
btnCancelar = new JButton();
btnCancelar.setText("Cancelar");
btnCancelar.setIcon(new ImageIcon(WebServiceTrayIcon.loadImage("cancelar32.gif")));
btnCancelar.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
setVisible(false);
dispose();
}
});
}
return btnCancelar;
}
/**
* @return
*/
public AnulacionesPanel getAnulacionesPanel() {
return jpAnulPanel;
}
public void actionPerformed(ActionEvent evt) {
UsuarioTVS user = (UsuarioTVS) getAnulacionesPanel().getCmbImageComboUsuarios().getSelectedItem();
boolean siTerminalDeLaboratorio = user.getTerminal().isTVA();
if (user == null) {
showErrorMessage("Se debe seleccionar un usuario");
return;
}
DialogoTarjetaSanitaria objDialog = new DialogoTarjetaSanitaria(this);
com.tarisan.chipcard.tpvvs.webservicetrayicon.accesodatos.Paciente paciente = objDialog.getPaciente();
objDialog.dispose();
setEnabled(false);
//Construyo el mensaje a enviar
AnulReq anulRequest = null;
try {
anulRequest =
new AnulReq(
user.getTerminal().getNumeroTerminal(),
getAnulacionesPanel().getJtxtTimestamp().getText(),
user);
} catch (Exception err) {
err.printStackTrace();
WebServiceTrayIcon.showErrorMessage(
getTitle(),
"No se pudo componer la solicitud de anulación a enviar:" + err.getMessage());
setEnabled(true);
}
if (anulRequest != null) {
//Ya tengo la peticion a enviar...
String sURL = getAnulacionesPanel().getCmbURLService().getSelectedItem().toString();
java.net.URL endPointURL = null;
try {
endPointURL = new java.net.URL(sURL);
} catch (Exception err) {
err.printStackTrace();
WebServiceTrayIcon.showErrorMessage(
getTitle(),
"No se pudo enviar la solicitud de anulación a '" + sURL + "' debido al error:" + err.getMessage());
}
if (endPointURL != null) {
progressWindow.setProgressState(0);
progressWindow.setModal(false);
UtilGUI.centerOnWindow(progressWindow, this);
ClienteServicioWeb objClienteServicioWeb =
new ClienteServicioWeb(anulRequest, this, endPointURL);
ProgressBarThread PBTh =
new ProgressBarThread(progressWindow, objClienteServicioWeb.getSegundosTimeout());
PBTh.start();
} else {
setEnabled(true);
}
} else {
setEnabled(true);
}
}
/*****
* Recibe la respuesta del Servicio Web
*/
public String recibeRespuesta(String sResponse) {
if (progressWindow != null)
progressWindow.setVisible(false);
setEnabled(true);
if (sResponse != null) {
Msg objResponse = null;
try {
objResponse = Msg.createMsgFromString(sResponse);
if (objResponse.getTypeOfMessage() == Msg.TYPE_OF_MESSAGE_ERROR) {
com.tarisan.chipcard.tpvvs.webservicetrayicon.messages.Error errorMes =
(com.tarisan.chipcard.tpvvs.webservicetrayicon.messages.Error) objResponse;
//Es un Error en la peticion
showErrorMessage(
"Se ha producido el error con código "
+ errorMes.getErrorCode()
+ ".\nDescripción:"
+ errorMes.getErrorDescription());
} else if (objResponse.getTypeOfMessage() == Msg.TYPE_OF_MESSAGE_CCRES) {
com.tarisan.chipcard.tpvvs.webservicetrayicon.messages.AutRes autResMes =
(com.tarisan.chipcard.tpvvs.webservicetrayicon.messages.AutRes) objResponse;
WebServiceTrayIcon.showTransactionInfo(autResMes, this);
}
} catch (Exception err) {
err.printStackTrace();
showErrorMessage(
"Se ha producido un error al procesar la respuesta.\nDescripción:" + err.getMessage());
}
} else {
//Se debería repetir la respuesta?? Se supone que no se ha recibido
}
return "";
}
public void setEnabled(boolean blnEnabled) {
super.setEnabled(blnEnabled);
getAnulacionesPanel().setEnabled(blnEnabled);
getButtonAceptar().setEnabled(blnEnabled);
getButtonCancelar().setEnabled(blnEnabled);
if (!blnEnabled)
setCursor(java.awt.Cursor.getPredefinedCursor(java.awt.Cursor.WAIT_CURSOR));
else
setCursor(java.awt.Cursor.getPredefinedCursor(java.awt.Cursor.DEFAULT_CURSOR));
validate();
repaint();
}
private void showErrorMessage(String sMessage) {
WebServiceTrayIcon.showMessage(this, getTitle(), sMessage, JOptionPane.ERROR_MESSAGE);
}
private void showInformationMessage(String sMessage) {
WebServiceTrayIcon.showMessage(this, getTitle(), sMessage, JOptionPane.INFORMATION_MESSAGE);
}
private void showWarningMessage(String sMessage) {
WebServiceTrayIcon.showMessage(this, getTitle(), sMessage, JOptionPane.WARNING_MESSAGE);
}
}
@@ -0,0 +1,126 @@
package com.tarisan.chipcard.tpvvs.webservicetrayicon;
import java.util.Vector;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import com.tarisan.chipcard.gui.ImageComboBox;
import com.tarisan.chipcard.tpvvs.webservicetrayicon.accesodatos.UsuarioTVS;
import com.tarisan.chipcard.tpvvs.webservicetrayicon.accesodatos.UsuarioTVSBean;
public class AnulacionesPanel extends JPanel {
private ImageComboBox cmbImageComboUsuarios = new ImageComboBox();
private JComboBox cmbURLService = new JComboBox();
private JTextField jtxtTimestamp = new JTextField();
public AnulacionesPanel() {
super();
init();
}
private void init() {
//setLayout(new BorderLayout());
initPane();
//JPanel pn=new JPanel();
/**
setLayout(new java.awt.GridBagLayout());
java.awt.GridBagConstraints gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 0;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
pn.add(jpPrincipal, gridBagConstraints);
gridBagConstraints.gridx = 1;
add(pn, java.awt.BorderLayout.CENTER);
**/
}
private void initPane() {
setLayout(new java.awt.GridBagLayout());
setBorder(new javax.swing.border.TitledBorder("Datos de la Solicitud de anulación al TVS"));
java.awt.GridBagConstraints gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 1;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
gridBagConstraints.gridwidth = 1;
gridBagConstraints.gridy++;
gridBagConstraints.gridx = 0;
JLabel label = new javax.swing.JLabel("URL Servicio Web:");
add(label, gridBagConstraints);
gridBagConstraints.gridx++;
cmbURLService.setEditable(true);
WebServiceTrayIcon.fillURLServices(cmbURLService);
add(cmbURLService, gridBagConstraints);
gridBagConstraints.gridy++;
gridBagConstraints.gridx = 0;
label = new javax.swing.JLabel("Usuario:");
add(label, gridBagConstraints);
gridBagConstraints.gridx++;
add(cmbImageComboUsuarios, gridBagConstraints);
gridBagConstraints.gridy++;
gridBagConstraints.gridx = 0;
label = new javax.swing.JLabel("Timestamp:");
add(label, gridBagConstraints);
gridBagConstraints.gridx++;
//JScrollPane listScrollPane3 = new JScrollPane(txtDatosCliente);
//listScrollPane3.setPreferredSize(maxSize);
add(jtxtTimestamp, gridBagConstraints);
}
public void updateData() {
getCmbImageComboUsuarios().removeAllItems();
UsuarioTVSBean bean = new UsuarioTVSBean();
Vector vUsuarios = bean.getUsuariosTVS();
for (int i = 0; i < vUsuarios.size(); i++) {
UsuarioTVS obj = (UsuarioTVS) vUsuarios.elementAt(i);
getCmbImageComboUsuarios().addItem(obj);
}
}
/**
* @return
*/
public ImageComboBox getCmbImageComboUsuarios() {
return cmbImageComboUsuarios;
}
/**
* @return
*/
public JComboBox getCmbURLService() {
return cmbURLService;
}
public void setEnabled(boolean blnEnabled) {
super.setEnabled(blnEnabled);
java.awt.Component arrComp[] = this.getComponents();
for (int i = 0; i < this.getComponentCount(); i++) {
arrComp[i].setEnabled(blnEnabled);
}
validate();
repaint();
}
/**
* @return
*/
public JTextField getJtxtTimestamp() {
return jtxtTimestamp;
}
}
@@ -0,0 +1,190 @@
package com.tarisan.chipcard.tpvvs.webservicetrayicon;
import javax.swing.JDialog;
import com.tarisan.chipcard.gui.*;
import javax.swing.*;
import java.util.*;
import java.awt.*;
import java.awt.event.*;
/**
* @author jjrider
*
* To change the template for this generated type comment go to
* Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
*/
public class AutomaticCloseDialog extends JDialog implements ActionListener,Runnable {
private int intNumeroSegundos=5;
private Thread objThread=null;
private Window objWindow=this;
private ActionListener externActionListener=null;
private int intTypeOfMessage=-1;
JPanel pnl=new JPanel();
public AutomaticCloseDialog(String strTitle,String strMensaje,int intNumeroSegundos){
this(strTitle,strMensaje,intNumeroSegundos,null);
}
public AutomaticCloseDialog(String strTitle,String strMensaje,int intNumeroSegundos,JFrame parentFrame){
this(strTitle,strMensaje,intNumeroSegundos,parentFrame,JOptionPane.INFORMATION_MESSAGE);
}
public AutomaticCloseDialog(String strTitle,String strMensaje,int intNumeroSegundos,JFrame parentFrame, int intTypeOfMessage){
this(strTitle,strMensaje,intNumeroSegundos,parentFrame,intTypeOfMessage,true);
}
public AutomaticCloseDialog(String strTitle,String strMensaje,int intNumeroSegundos,JFrame parentFrame, int intTypeOfMessage,ActionListener listener){
this(strTitle,strMensaje,intNumeroSegundos,parentFrame,intTypeOfMessage,true,listener);
}
public AutomaticCloseDialog(String strTitle,String strMensaje,int intNumeroSegundos,JFrame parentFrame, int intTypeOfMessage, boolean blnModal){
this(strTitle, strMensaje, intNumeroSegundos, parentFrame, intTypeOfMessage, blnModal,null);
}
public AutomaticCloseDialog(String strTitle,String strMensaje,int intNumeroSegundos,JFrame parentFrame, int intTypeOfMessage, boolean blnModal,ActionListener listener){
super(parentFrame);
setUndecorated(false);
this.setModal(true);
this.intNumeroSegundos=intNumeroSegundos;
this.intTypeOfMessage=intTypeOfMessage;
setTitle(strTitle);
setContentPane(pnl);
getContentPane().setLayout(new GridBagLayout());
int columna=0;
int fila=0;
externActionListener=listener;
//getContentPane().setLayout(new BorderLayout());
JPanel panel=new JPanel();
panel.setLayout(new BorderLayout());
//Un tamaño por defecto...
setSize(300,200);
JLabel label=null;
Icon icon=getIconForType(intTypeOfMessage);
if(icon!=null){
label=new JLabel(icon);
label.setBounds(10,40,20,20);
getContentPane().add(label, new java.awt.GridBagConstraints(columna,fila,1,1,1.0,1.0,java.awt.GridBagConstraints.WEST,java.awt.GridBagConstraints.NONE,new Insets(10,10,10,10),0,0));
columna++;
}
JPanel panelLabels=new JPanel();
panelLabels.setLayout(new GridBagLayout());
StringTokenizer st=new StringTokenizer(strMensaje,"\n");
int intNumLabels=0;
while(st.hasMoreTokens()) {
intNumLabels++;
label=new JLabel(st.nextToken());
panelLabels.add(label, new java.awt.GridBagConstraints(0,intNumLabels,1,1,1.0,1.0,java.awt.GridBagConstraints.WEST,java.awt.GridBagConstraints.NONE,new Insets(00,00,00,00),0,0));
}
//label.setBounds(40,40,300,20);
//panel.add(label,BorderLayout.CENTER);
getContentPane().add(panelLabels, new java.awt.GridBagConstraints(columna,fila,1,1,1.0,1.0,java.awt.GridBagConstraints.WEST,java.awt.GridBagConstraints.HORIZONTAL,new Insets(10,10,10,10),0,0));
columna=0;
fila++;
/*panelTemp=new JPanel();
getContentPane().add(panelTemp, new java.awt.GridBagConstraints(columna,fila,1,1,1.0,1.0,java.awt.GridBagConstraints.WEST,java.awt.GridBagConstraints.BOTH,new Insets(0,0,0,0),0,0));
fila++;*/
String strOKText="Aceptar";
if(intTypeOfMessage==JOptionPane.QUESTION_MESSAGE)
strOKText="Si";
JButton btnAceptar=new JButton(strOKText);
btnAceptar.setActionCommand("Aceptar");
btnAceptar.addActionListener(this);
btnAceptar.setPreferredSize(new Dimension(90,20));
btnAceptar.setMaximumSize(new Dimension(90,20));
if(externActionListener==null){
getContentPane().add(btnAceptar, new java.awt.GridBagConstraints(columna,fila,2,1,1.0,1.0,java.awt.GridBagConstraints.CENTER,java.awt.GridBagConstraints.NONE,new Insets(10,0,10,0),0,0));
}else{
JPanel panelButtons=new JPanel();
panelButtons.setLayout(new FlowLayout());
panelButtons.add(btnAceptar);
String strCancelText="Cancelar";
if(intTypeOfMessage==JOptionPane.QUESTION_MESSAGE)
strCancelText="No";
JButton btnCancelar=new JButton(strCancelText);
btnCancelar.setActionCommand("Cancelar");
btnCancelar.addActionListener(this);
btnCancelar.setPreferredSize(new Dimension(90,20));
btnCancelar.setMaximumSize(new Dimension(90,20));
panelButtons.add(btnCancelar);
getContentPane().add(panelButtons, new java.awt.GridBagConstraints(columna,fila,2,1,1.0,1.0,java.awt.GridBagConstraints.CENTER,java.awt.GridBagConstraints.NONE,new Insets(10,0,10,0),0,0));
if(this.intNumeroSegundos<30)
this.intNumeroSegundos=30;
}
validate();
pack();
centerOn(objWindow,parentFrame);
if(this.intNumeroSegundos>0){
objThread=new Thread(this);
objThread.start();
}
objWindow.show();
objWindow.requestFocus();
objWindow.toFront();
}
public void actionPerformed(ActionEvent e){
objWindow.hide();
try{objThread.stop();}catch(Exception err){}
if(externActionListener!=null){
externActionListener.actionPerformed(e);
}
}
public static void centerOn(Window dialog,JFrame frame){
if(dialog==null)
return;
Dimension dimFrame=null;
if(frame==null)
UtilGUI.centerOnScreen(dialog);
else
UtilGUI.centerOnWindow(dialog,frame);
}
public void run(){
if(intNumeroSegundos>0){
try{
while(!objWindow.isShowing()){
objThread.sleep(100);
}
for(int i=0;i<intNumeroSegundos;i++)
objThread.sleep(1000);
}catch(Exception err){
}
objWindow.hide();
}
}
public static Icon getIconForType(int iconType) {
try{
switch (iconType) {
case JOptionPane.ERROR_MESSAGE:
return UIManager.getIcon("OptionPane.errorIcon");
case JOptionPane.INFORMATION_MESSAGE:
return UIManager.getIcon("OptionPane.informationIcon");
case JOptionPane.WARNING_MESSAGE:
return UIManager.getIcon("OptionPane.warningIcon");
case JOptionPane.QUESTION_MESSAGE:
return UIManager.getIcon("OptionPane.questionIcon");
}
}catch(Exception err){}
return null;
}
}
@@ -0,0 +1,309 @@
package com.tarisan.chipcard.tpvvs.webservicetrayicon;
import java.awt.BorderLayout;
import javax.swing.*;
import com.tarisan.chipcard.gui.*;
import com.tarisan.chipcard.tpvvs.webservicetrayicon.messages.*;
import java.util.*;
import com.tarisan.chipcard.tpvvs.webservicetrayicon.accesodatos.*;
import java.awt.event.*;
/**
* @author jjrider
*
* Para cambiar la plantilla para este comentario de tipo generado vaya a
* Ventana&gt;Preferencias&gt;Java&gt;Generación de código&gt;Código y comentarios
*/
public class AutorizacionesFrame extends JFrame implements ActionListener,ControladorRespuestas{
private AutorizacionesPanel jpAutPanel=new AutorizacionesPanel();
private JButton btnAceptar=null;
private JButton btnCancelar=null;
private AutorizacionesBean autBean=new AutorizacionesBean();
private TerminalSanitarioBean terBean=new TerminalSanitarioBean();
private UsuarioTVSBean userBean=new UsuarioTVSBean();
private VentanaProgreso progressWindow=null;
public String devuelveRespuesta(String a)
{
return a;
}
public AutorizacionesFrame(){
setIconImage(WebServiceTrayIcon.image_authorizations_16);
progressWindow=new VentanaProgreso(this,"Solicitando autorización");
progressWindow.setVisible(false);
setTitle("Autorizaciones");
Vector vTer=terBean.getTerminalesSanitarios();
if(vTer.size()==0){
NuevoTerminalFrame frmT=new NuevoTerminalFrame();
WebServiceTrayIcon.showMessage(frmT,getTitle(),"Es necesario configurar antes Terminales Sanitarios",JOptionPane.WARNING_MESSAGE,10);
dispose();
}else{
Vector vUsers=userBean.getUsuariosTVS();
if(vUsers.size()==0){
NuevoUsuarioTVSFrame frmU=new NuevoUsuarioTVSFrame();
frmU.updateData();
WebServiceTrayIcon.showMessage(frmU,getTitle(),"Es necesario configurar antes algún Usuario del TVS",JOptionPane.WARNING_MESSAGE,10);
dispose();
}else{
init();
}
}
}
private void init(){
getContentPane().setLayout(new BorderLayout());
JPanel pn=new JPanel();
pn.setLayout(new java.awt.GridBagLayout());
java.awt.GridBagConstraints gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 0;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
pn.add(jpAutPanel, gridBagConstraints);
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy++;
JPanel jpButtons=new JPanel();
jpButtons.setLayout(new java.awt.FlowLayout());
jpButtons.add(getButtonAceptar());
jpButtons.add(getButtonCancelar());
pn.add(jpButtons,gridBagConstraints);
getContentPane().add(pn, java.awt.BorderLayout.CENTER);
jpAutPanel.updateData();
pack();
show();
UtilGUI.centerOnScreen(this);
}
private JButton getButtonAceptar(){
if(btnAceptar==null){
btnAceptar=new JButton();
btnAceptar.setText("Aceptar");
btnAceptar.setIcon(new ImageIcon(WebServiceTrayIcon.loadImage("aceptar32.gif")));
btnAceptar.addActionListener(this);
}
return btnAceptar;
}
private JButton getButtonCancelar(){
if(btnCancelar==null){
btnCancelar=new JButton();
btnCancelar.setText("Cancelar");
btnCancelar.setIcon(new ImageIcon(WebServiceTrayIcon.loadImage("cancelar32.gif")));
btnCancelar.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent evt){
setVisible(false);
dispose();
}
}
);
}
return btnCancelar;
}
/**
* @return
*/
public AutorizacionesPanel getAutorizacionesPanel() {
return jpAutPanel;
}
public void actionPerformed(ActionEvent evt){
UsuarioTVS user=(UsuarioTVS)getAutorizacionesPanel().getCmbImageComboUsuarios().getSelectedItem();
boolean siTerminalDeLaboratorio=user.getTerminal().isTVA();
if(user==null){
showErrorMessage("Se debe seleccionar un usuario");
return;
}
CompaniaSanitaria comp=(CompaniaSanitaria)getAutorizacionesPanel().getCmbImageComboCompanias().getSelectedItem();
if(comp==null){
showErrorMessage("Se debe seleccionar una compañia");
return;
}
EspecialidadSanitaria espe=null;
if(!siTerminalDeLaboratorio){
espe=(EspecialidadSanitaria)getAutorizacionesPanel().getCmbImageComboEspecialidades().getSelectedItem();
if(espe==null){
showErrorMessage("Se debe seleccionar una Especialidad");
return;
}
}
ProfesionalSanitario prof=(ProfesionalSanitario)getAutorizacionesPanel().getCmbImageComboProfesionales().getSelectedItem();
if(prof==null){
showErrorMessage("Se debe seleccionar un profesional");
return;
}
ListaActos listaActos=(ListaActos)getAutorizacionesPanel().getCmbImageComboListaActos().getSelectedItem();
if(listaActos==null){
showErrorMessage("Se debe seleccionar una Lista de Actos");
return;
}
String sTipoOperacion=getAutorizacionesPanel().getCmbImageComboTipoOperacion().getSelectedItem().toString();
ActoMedico arrActos[]=null;
if(!siTerminalDeLaboratorio ){
if(getAutorizacionesPanel().getActosMedicosSolicitadosModel().getSize()==0
&& !sTipoOperacion.equals(WSTRConstantes.TIPO_OP_VOL_MEDICO)){
showErrorMessage("Se deben seleccionar Actos Médicos");
return;
}
if(getAutorizacionesPanel().getActosMedicosSolicitadosModel().getSize()>0){
//Se añaden si se tienen
arrActos=new ActoMedico[getAutorizacionesPanel().getActosMedicosSolicitadosModel().getSize()];
for(int i=0;i<getAutorizacionesPanel().getActosMedicosSolicitadosModel().getSize();i++){
arrActos[i]=(ActoMedico)getAutorizacionesPanel().getActosMedicosSolicitadosModel().elementAt(i);
}
}
}
DialogoTarjetaSanitaria objDialog=new DialogoTarjetaSanitaria(this);
Paciente paciente=objDialog.getPaciente();
objDialog.dispose();
setEnabled(false);
//Construyo el mensaje a enviar
AutReq autRequest=null;
try{
if(sTipoOperacion.equals(WSTRConstantes.TIPO_OP_SOLO_TARJETA)){
if(siTerminalDeLaboratorio){
autRequest=new SoloTarjetaLaboratorio(user,paciente,comp,prof,listaActos);
}else{
autRequest=new SoloTarjeta(user,paciente,comp,espe,prof,listaActos,arrActos);
}
}else if(sTipoOperacion.equals(WSTRConstantes.TIPO_OP_DOC_UNICO)){
String sDocUnico=UtilGUI.getInputValue(this,"Por favor, indique el número de Documento Único:");
if(siTerminalDeLaboratorio){
autRequest=new DocumentoUnicoLaboratorio(user,paciente,comp,prof,listaActos,sDocUnico);
}else{
autRequest=new DocumentoUnico(user,paciente,comp,espe,prof,listaActos,arrActos,sDocUnico);
}
}else if(sTipoOperacion.equals(WSTRConstantes.TIPO_OP_VOL_CLINICO)){
String sVolante=UtilGUI.getInputValue(this,"Por favor, indique el número de Volante Clínico:");
autRequest=new VolanteClinico(user,paciente,comp,espe,prof,listaActos,arrActos,sVolante);
}else if(sTipoOperacion.equals(WSTRConstantes.TIPO_OP_VOL_MEDICO)){
String sVolante=UtilGUI.getInputValue(this,"Por favor, indique el número de Volante Médico:");
autRequest=new VolanteMedico(user,paciente,comp,espe,prof,listaActos,sVolante);
}
String sDataCliente=getAutorizacionesPanel().getTxtDatosCliente().getText();
if(sDataCliente.length()>0){
autRequest.setDatosCliente(sDataCliente);
}
if(getAutorizacionesPanel().getChkEsRepeticion().isSelected()){
autRequest.setRepeticion(true);
}
}catch(Exception err){
err.printStackTrace();
WebServiceTrayIcon.showErrorMessage(getTitle(),"No se pudo componer la solicitud a enviar:"+err.getMessage());
setEnabled(true);
}
if(autRequest!=null){
//Ya tengo la peticion a enviar...
String sURL=getAutorizacionesPanel().getCmbURLService().getSelectedItem().toString();
java.net.URL endPointURL=null;
try{
endPointURL=new java.net.URL(sURL);
}catch(Exception err){
err.printStackTrace();
WebServiceTrayIcon.showErrorMessage(getTitle(),"No se pudo enviar la solicitud a '"+sURL+"' debido al error:"+err.getMessage());
}
if(endPointURL!=null){
progressWindow.setProgressState(0);
progressWindow.setModal(false);
UtilGUI.centerOnWindow(progressWindow,this);
ClienteServicioWeb objClienteServicioWeb=new ClienteServicioWeb(autRequest,this,endPointURL);
ProgressBarThread PBTh=new ProgressBarThread(progressWindow,objClienteServicioWeb.getSegundosTimeout());
PBTh.start();
}else {
setEnabled(true);
}
}else{
setEnabled(true);
}
}
/*****
* Recibe la respuesta del Servicio Web
*/
public String recibeRespuesta(String sResponse){
if(progressWindow!=null)
progressWindow.setVisible(false);
setEnabled(true);
if(sResponse!=null){
Msg objResponse=null;
try{
objResponse=Msg.createMsgFromString(sResponse);
if(objResponse.getTypeOfMessage()==Msg.TYPE_OF_MESSAGE_ERROR){
com.tarisan.chipcard.tpvvs.webservicetrayicon.messages.Error errorMes=(com.tarisan.chipcard.tpvvs.webservicetrayicon.messages.Error)objResponse;
//Es un Error en la peticion
showErrorMessage("Se ha producido el error con código "+errorMes.getErrorCode()+".\nDescripción:"+errorMes.getErrorDescription());
}else if(objResponse.getTypeOfMessage()==Msg.TYPE_OF_MESSAGE_CCRES){
com.tarisan.chipcard.tpvvs.webservicetrayicon.messages.AutRes autResMes=(com.tarisan.chipcard.tpvvs.webservicetrayicon.messages.AutRes)objResponse;
Vector vAutorizaciones=WebServiceTrayIcon.AutResMes2Autorizacion(autResMes);
boolean blnAlgunaAutorizada=false;
for(int i=0;i<vAutorizaciones.size();i++){
Autorizacion aut=(Autorizacion)vAutorizaciones.elementAt(i);
if(!blnAlgunaAutorizada)
blnAlgunaAutorizada=aut.estaAutorizada();
autBean.insertInLocal(aut);
}
WebServiceTrayIcon.showTransactionInfo(autResMes,this);
if(blnAlgunaAutorizada){
//Elimino los actos de la lista de actos escogidos
getAutorizacionesPanel().getActosMedicosSolicitadosModel().removeAllElements();
}
}
}catch(Exception err){
err.printStackTrace();
showErrorMessage("Se ha producido un error al procesar la respuesta.\nDescripción:"+err.getMessage());
}
}else{
//Se debería repetir la respuesta?? Se supone que no se ha recibido
}
return "";
}
public void setEnabled(boolean blnEnabled){
super.setEnabled(blnEnabled);
getAutorizacionesPanel().setEnabled(blnEnabled);
getButtonAceptar().setEnabled(blnEnabled);
getButtonCancelar().setEnabled(blnEnabled);
if(!blnEnabled)
setCursor(java.awt.Cursor.getPredefinedCursor(java.awt.Cursor.WAIT_CURSOR));
else
setCursor(java.awt.Cursor.getPredefinedCursor(java.awt.Cursor.DEFAULT_CURSOR));
validate();
repaint();
}
private void showErrorMessage(String sMessage){
WebServiceTrayIcon.showMessage(this,getTitle(),sMessage,JOptionPane.ERROR_MESSAGE);
}
private void showInformationMessage(String sMessage){
WebServiceTrayIcon.showMessage(this,getTitle(),sMessage,JOptionPane.INFORMATION_MESSAGE);
}
private void showWarningMessage(String sMessage){
WebServiceTrayIcon.showMessage(this,getTitle(),sMessage,JOptionPane.WARNING_MESSAGE);
}
}
@@ -0,0 +1,547 @@
package com.tarisan.chipcard.tpvvs.webservicetrayicon;
import javax.swing.*;
import com.tarisan.chipcard.gui.*;
import java.util.*;
import com.tarisan.chipcard.tpvvs.webservicetrayicon.accesodatos.*;
import java.awt.event.*;
public class AutorizacionesPanel extends JPanel{
private ImageComboBox cmbImageComboUsuarios=new ImageComboBox();
private ImageComboBox cmbImageComboCompanias=new ImageComboBox();
private ImageComboBox cmbImageComboEspecialidades=new ImageComboBox();
private ImageComboBox cmbImageComboProfesionales=new ImageComboBox();
private ImageComboBox cmbImageComboListaActos=new ImageComboBox();
private ImageComboBox cmbImageComboTipoOperacion=new ImageComboBox();
private JComboBox cmbURLService=new JComboBox();
private DefaultListModel actosMedicosDeLAListModel = new DefaultListModel();
private JList jlistActosMedicosDeLA=new JList(actosMedicosDeLAListModel);
private DefaultListModel actosMedicosSolicitadosModel = new DefaultListModel();
private JList jlistActosMedicosSolicitados=new JList(actosMedicosSolicitadosModel);
private JTextField jtxtDocUnico=new JTextField();
private JTextField jtxtNumVolante=new JTextField();
private JTextField txtDatosCliente=new JTextField();
private JCheckBox chkEsRepeticion=new JCheckBox("Repetición",false);
private ActoMedicoBean amBean=new ActoMedicoBean();
private final JPopupMenu actosMedicosSolicitadosPopupMenu = new JPopupMenu();
public AutorizacionesPanel(){
super();
init();
}
private void init(){
//setLayout(new BorderLayout());
initPane();
//JPanel pn=new JPanel();
/**
setLayout(new java.awt.GridBagLayout());
java.awt.GridBagConstraints gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 0;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
pn.add(jpPrincipal, gridBagConstraints);
gridBagConstraints.gridx = 1;
add(pn, java.awt.BorderLayout.CENTER);
**/
}
private void initPane(){
setLayout(new java.awt.GridBagLayout());
setBorder(new javax.swing.border.TitledBorder("Datos de la Solicitud al TVS"));
java.awt.GridBagConstraints gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 1;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
gridBagConstraints.gridwidth = 1;
gridBagConstraints.gridy++;
gridBagConstraints.gridx=0;
JLabel label=new javax.swing.JLabel("URL Servicio Web:");
add(label, gridBagConstraints);
gridBagConstraints.gridx++;
cmbURLService.setEditable(true);
WebServiceTrayIcon.fillURLServices(cmbURLService);
add(cmbURLService, gridBagConstraints);
gridBagConstraints.gridy++;
gridBagConstraints.gridx=0;
label=new javax.swing.JLabel("Tipo Operación:");
add(label, gridBagConstraints);
gridBagConstraints.gridx++;
cmbImageComboTipoOperacion.addItem(WSTRConstantes.TIPO_OP_SOLO_TARJETA);
cmbImageComboTipoOperacion.addItem(WSTRConstantes.TIPO_OP_DOC_UNICO);
cmbImageComboTipoOperacion.addItem(WSTRConstantes.TIPO_OP_VOL_CLINICO);
cmbImageComboTipoOperacion.addItem(WSTRConstantes.TIPO_OP_VOL_MEDICO);
add(cmbImageComboTipoOperacion, gridBagConstraints);
/***
cmbImageComboTipoOperacion.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent evt){
java.awt.GridBagConstraints gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 4;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
//Fila 4
gridBagConstraints.gridx=0;
JComponent columna1=null;
JComponent columna2=null;
//Cojo la fila
String sTipoOperacion=cmbImageComboTipoOperacion.getSelectedItem().toString();
try{
if(sTipoOperacion.equals(WSTRConstantes.TIPO_OP_SOLO_TARJETA)){
columna1=new javax.swing.JLabel("");
columna2=new javax.swing.JLabel("");
}else if(sTipoOperacion.equals(WSTRConstantes.TIPO_OP_DOC_UNICO)){
columna1=new javax.swing.JLabel("Documento Unico:");
columna2=getJtxtDocUnico();
}else{
if(sTipoOperacion.equals(WSTRConstantes.TIPO_OP_VOL_CLINICO)){
columna1=new javax.swing.JLabel("Volante Clónico:");
}else{
columna1=new javax.swing.JLabel("Volante Médico:");
}
columna2=getJtxtNumVolante();
}
System.out.println("Container:"+getTopLevelAncestor().getClass().getName());
if(getTopLevelAncestor() instanceof JFrame){
((JFrame)getTopLevelAncestor()).pack();
}else{
}
validate();
repaint();
}catch(Exception err){
}
add(columna1, gridBagConstraints);
gridBagConstraints.gridx++;
add(columna2, gridBagConstraints);
}
});
gridBagConstraints.gridy++;
//Fila 4
gridBagConstraints.gridx=0;
//Meto una fila sin nada
label=new javax.swing.JLabel();
add(label, gridBagConstraints);
gridBagConstraints.gridx++;
add(label, gridBagConstraints);
**/
gridBagConstraints.gridy++;
gridBagConstraints.gridx=0;
label=new javax.swing.JLabel("Usuario:");
add(label, gridBagConstraints);
gridBagConstraints.gridx++;
add(cmbImageComboUsuarios, gridBagConstraints);
gridBagConstraints.gridy++;
gridBagConstraints.gridx=0;
label=new javax.swing.JLabel("Profesional:");
add(label, gridBagConstraints);
gridBagConstraints.gridx++;
add(cmbImageComboProfesionales,gridBagConstraints);
gridBagConstraints.gridy++;
gridBagConstraints.gridx=0;
label=new javax.swing.JLabel("Compañía:");
add(label, gridBagConstraints);
gridBagConstraints.gridx++;
add(cmbImageComboCompanias, gridBagConstraints);
gridBagConstraints.gridy++;
gridBagConstraints.gridx=0;
label=new javax.swing.JLabel("Especialidad:");
add(label, gridBagConstraints);
gridBagConstraints.gridx++;
add(cmbImageComboEspecialidades,gridBagConstraints);
gridBagConstraints.gridy++;
gridBagConstraints.gridx=0;
label=new javax.swing.JLabel("Lista Actos:");
add(label, gridBagConstraints);
gridBagConstraints.gridx++;
add(cmbImageComboListaActos,gridBagConstraints);
jlistActosMedicosDeLA.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
jlistActosMedicosDeLA.setVisibleRowCount(-1);
jlistActosMedicosDeLA.setLayoutOrientation(JList.VERTICAL);
gridBagConstraints.gridy++;
gridBagConstraints.gridx=0;
label=new javax.swing.JLabel("Actos Disponibles:");
add(label, gridBagConstraints);
gridBagConstraints.gridx++;
java.awt.Dimension maxSize=new java.awt.Dimension(150,110);
//jlistActosMedicosDeLA.setPreferredSize(maxSize);
//jlistActosMedicosDeLA.setMaximumSize(maxSize);
//jlistActosMedicosDeLA.setPreferredSize(maxSize);
JScrollPane listScrollPane = new JScrollPane(jlistActosMedicosDeLA);
listScrollPane.setPreferredSize(maxSize);
add(listScrollPane,gridBagConstraints);
jlistActosMedicosSolicitados.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
jlistActosMedicosSolicitados.setVisibleRowCount(-1);
jlistActosMedicosSolicitados.setLayoutOrientation(JList.VERTICAL);
gridBagConstraints.gridy++;
gridBagConstraints.gridx=0;
label=new javax.swing.JLabel("Actos en la Petición:");
add(label, gridBagConstraints);
gridBagConstraints.gridx++;
JScrollPane listScrollPane2 = new JScrollPane(jlistActosMedicosSolicitados);
listScrollPane2.setPreferredSize(maxSize);
add(listScrollPane2,gridBagConstraints);
gridBagConstraints.gridy++;
gridBagConstraints.gridx=0;
label=new javax.swing.JLabel("Datos del Cliente:");
add(label, gridBagConstraints);
gridBagConstraints.gridx++;
//JScrollPane listScrollPane3 = new JScrollPane(txtDatosCliente);
//listScrollPane3.setPreferredSize(maxSize);
add(txtDatosCliente,gridBagConstraints);
gridBagConstraints.gridy++;
gridBagConstraints.gridx=0;
add(chkEsRepeticion, gridBagConstraints);
cmbImageComboUsuarios.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent evt){
//Obtengo el Terminal
UsuarioTVS userTVS=(UsuarioTVS)getCmbImageComboUsuarios().getSelectedItem();
if(userTVS!=null){
if(userTVS.getTerminal().isTVA()){
getCmbImageComboListaActos().removeAllItems();
getCmbImageComboEspecialidades().setEnabled(false);
actosMedicosDeLAListModel.removeAllElements();
}else{
}
//Obtengo los Profesionales Sanitarios del Terminal
ProfesionalSanitarioBean bean=new ProfesionalSanitarioBean();
Vector vProfesionales=bean.getProfesionalesByTerminal(userTVS.getTerminal().getNumeroTerminal());
getCmbImageComboProfesionales().removeAllItems();
getCmbImageComboCompanias().removeAllItems();
getCmbImageComboEspecialidades().removeAllItems();
getCmbImageComboListaActos().removeAllItems();
if(vProfesionales.size()>0){
for(int i=0;i<vProfesionales.size();i++){
getCmbImageComboProfesionales().addItem(vProfesionales.elementAt(i));
}
}
}
}
}
);
getCmbImageComboProfesionales().addActionListener(new ActionListener(){
/**CAMBIAMOS DE PROFESIONAL**/
public void actionPerformed(ActionEvent evt){
//Obtengo el Terminal
getActosMedicosSolicitadosModel().removeAllElements();
actosMedicosDeLAListModel.removeAllElements();
UsuarioTVS userTVS=(UsuarioTVS)getCmbImageComboUsuarios().getSelectedItem();
if(userTVS!=null){
ProfesionalSanitario objProf=(ProfesionalSanitario)getCmbImageComboProfesionales().getSelectedItem();
if(objProf!=null){
//Obtengo las Companias Sanitarios del Terminal y el Profesional
CompaniaSanitariaBean compBean=new CompaniaSanitariaBean();
Vector vCompTerminal=compBean.getCompaniaSanitariaByTerminalAndProfesional(userTVS.getTerminal().getNumeroTerminal(),objProf.getCodProfesional());
getCmbImageComboCompanias().removeAllItems();
if(vCompTerminal.size()>0){
for(int i=0;i<vCompTerminal.size();i++){
getCmbImageComboCompanias().addItem(vCompTerminal.elementAt(i));
}
}
//Obtengo las Especialidades Sanitarias del Terminal y el Profesional
//Ahora las Especialidades
EspecialidadSanitariaBean espeBean=new EspecialidadSanitariaBean();
Vector vEspeTer=espeBean.getEspecialidadesSanitariasByTerminalAndProfesional(userTVS.getTerminal().getNumeroTerminal(),objProf.getCodProfesional());
getCmbImageComboEspecialidades().removeAllItems();
if(vEspeTer.size()>0){
for(int i=0;i<vEspeTer.size();i++){
getCmbImageComboEspecialidades().addItem(vEspeTer.elementAt(i));
}
}
}
}
}
});
getCmbImageComboCompanias().addActionListener(new ActionListener(){
/**CAMBIAMOS DE COMPaniA**/
public void actionPerformed(ActionEvent evt){
//Obtengo el Terminal
getCmbImageComboListaActos().removeAllItems();
getActosMedicosSolicitadosModel().removeAllElements();
actosMedicosDeLAListModel.removeAllElements();
UsuarioTVS userTVS=(UsuarioTVS)getCmbImageComboUsuarios().getSelectedItem();
if(userTVS!=null){
ProfesionalSanitario objProf=(ProfesionalSanitario)getCmbImageComboProfesionales().getSelectedItem();
if(objProf!=null){
CompaniaSanitaria objComp=(CompaniaSanitaria)getCmbImageComboCompanias().getSelectedItem();
EspecialidadSanitaria objEspe=(EspecialidadSanitaria)getCmbImageComboEspecialidades().getSelectedItem();
if(objComp!=null && objEspe!=null){
ListaActosBean objBean=new ListaActosBean();
Vector vListaActos=objBean.getListaActosByCompAndEspe(objComp.getCodigoCompania(),objEspe.getCodigoEspecialidad());
for(int i=0;i<vListaActos.size();i++){
getCmbImageComboListaActos().addItem(vListaActos.elementAt(i));
}
}
}
}
}
});
getCmbImageComboEspecialidades().addActionListener(new ActionListener(){
/**CAMBIO DE ESPECIALIDAD**/
public void actionPerformed(ActionEvent evt){
//Obtengo el Terminal
getCmbImageComboListaActos().removeAllItems();
getActosMedicosSolicitadosModel().removeAllElements();
actosMedicosDeLAListModel.removeAllElements();
UsuarioTVS userTVS=(UsuarioTVS)getCmbImageComboUsuarios().getSelectedItem();
if(userTVS!=null){
ProfesionalSanitario objProf=(ProfesionalSanitario)getCmbImageComboProfesionales().getSelectedItem();
if(objProf!=null){
CompaniaSanitaria objComp=(CompaniaSanitaria)getCmbImageComboCompanias().getSelectedItem();
EspecialidadSanitaria objEspe=(EspecialidadSanitaria)getCmbImageComboEspecialidades().getSelectedItem();
if(objComp!=null && objEspe!=null){
ListaActosBean objBean=new ListaActosBean();
Vector vListaActos=objBean.getListaActosByCompAndEspe(objComp.getCodigoCompania(),objEspe.getCodigoEspecialidad());
for(int i=0;i<vListaActos.size();i++){
getCmbImageComboListaActos().addItem(vListaActos.elementAt(i));
}
}
}
}
}
});
getCmbImageComboListaActos().addActionListener(new ActionListener(){
/**CAMBIO DE LISTA DE ACTOS**/
public void actionPerformed(ActionEvent evt){
//Obtengo el Terminal
getActosMedicosSolicitadosModel().removeAllElements();
actosMedicosDeLAListModel.removeAllElements();
UsuarioTVS userTVS=(UsuarioTVS)getCmbImageComboUsuarios().getSelectedItem();
if(userTVS!=null && !userTVS.getTerminal().isTVA()) {
ProfesionalSanitario objProf=(ProfesionalSanitario)getCmbImageComboProfesionales().getSelectedItem();
if(objProf!=null){
CompaniaSanitaria objComp=(CompaniaSanitaria)getCmbImageComboCompanias().getSelectedItem();
EspecialidadSanitaria objEspe=(EspecialidadSanitaria)getCmbImageComboEspecialidades().getSelectedItem();
ListaActos objListaActos=(ListaActos)getCmbImageComboListaActos().getSelectedItem();
if(objComp!=null && objEspe!=null && objListaActos!=null){
ActoMedicoBean objBean=new ActoMedicoBean();
Vector vActos=objBean.getActosMedicosOf(userTVS.getTerminal().getNumeroTerminal(),objComp.getCodigoCompania(),objEspe.getCodigoEspecialidad(),objProf.getCodProfesional(),objListaActos.getCodigoListaActos());
//WebServiceTrayIcon.showMessage("Autorizaciones","Existen "+vActos.size()+" Actos medicos",JOptionPane.INFORMATION_MESSAGE);
for(int i=0;i<vActos.size();i++){
actosMedicosDeLAListModel.addElement(vActos.elementAt(i));
}
}
}
}
}
});
jlistActosMedicosDeLA.addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent evt) {
if (evt.isPopupTrigger()) {
//if (jlistActosMedicosDeLA.getSelectedIndex() != -1)
//RecommendedLinksPopupMenu.show(evt.getComponent(), evt.getX(), evt.getY());
}
}
public void mouseReleased(MouseEvent evt) {
if (evt.isPopupTrigger()) {
//if (jlistActosMedicosDeLA.getSelectedIndex() != -1)
//RecommendedLinksPopupMenu.show(evt.getComponent(), evt.getX(), evt.getY());
}
}
public void mouseClicked(MouseEvent e) {
if (e.getClickCount() == 2 ) {
if (jlistActosMedicosDeLA.getSelectedIndex() != -1){
ActoMedico objAM=(ActoMedico)jlistActosMedicosDeLA.getSelectedValue();
actosMedicosSolicitadosModel.addElement(objAM);
}
}
}
}
);
JMenuItem item = new JMenuItem("Eliminar Acto",new ImageIcon(WebServiceTrayIcon.loadImage("eliminar.gif")));
item.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent evt){
if (jlistActosMedicosSolicitados.getSelectedIndex() != -1){
actosMedicosSolicitadosModel.removeElementAt(jlistActosMedicosSolicitados.getSelectedIndex());
jlistActosMedicosSolicitados.validate();
}
}
});
actosMedicosSolicitadosPopupMenu.add(item);
jlistActosMedicosSolicitados.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
if (e.getClickCount() == 2 || e.isMetaDown() ) {
if (jlistActosMedicosSolicitados.getSelectedIndex() != -1){
actosMedicosSolicitadosPopupMenu.show(e.getComponent(), e.getX(), e.getY());
//ActoMedico objAM=(ActoMedico)jlistActosMedicosDeLA.getSelectedValue();
//actosMedicosSolicitadosModel.addElement(objAM);
}
}
}
}
);
}
public void updateData(){
getCmbImageComboUsuarios().removeAllItems();
UsuarioTVSBean bean=new UsuarioTVSBean();
Vector vUsuarios=bean.getUsuariosTVS();
for(int i=0;i<vUsuarios.size();i++){
UsuarioTVS obj=(UsuarioTVS)vUsuarios.elementAt(i);
getCmbImageComboUsuarios().addItem(obj);
}
}
/**
* @return
*/
public ImageComboBox getCmbImageComboCompanias() {
return cmbImageComboCompanias;
}
/**
* @return
*/
public ImageComboBox getCmbImageComboEspecialidades() {
return cmbImageComboEspecialidades;
}
/**
* @return
*/
public ImageComboBox getCmbImageComboListaActos() {
return cmbImageComboListaActos;
}
/**
* @return
*/
public ImageComboBox getCmbImageComboProfesionales() {
return cmbImageComboProfesionales;
}
/**
* @return
*/
public ImageComboBox getCmbImageComboUsuarios() {
return cmbImageComboUsuarios;
}
/**
public Vector getVUsuarios() {
if(vUsuarios==null){
UsuarioTVSBean bean=new UsuarioTVSBean();
vUsuarios=bean.getUsuariosTVS();
}
return vUsuarios;
}**/
/**
* @return
*/
public DefaultListModel getActosMedicosSolicitadosModel() {
return actosMedicosSolicitadosModel;
}
/**
* @return
*/
public ImageComboBox getCmbImageComboTipoOperacion() {
return cmbImageComboTipoOperacion;
}
/**
* @return
*/
public JComboBox getCmbURLService() {
return cmbURLService;
}
public void setEnabled(boolean blnEnabled){
super.setEnabled(blnEnabled);
java.awt.Component arrComp[]=this.getComponents();
for(int i=0;i<this.getComponentCount();i++){
arrComp[i].setEnabled(blnEnabled);
}
validate();
repaint();
}
/**
* @return
*/
public JTextField getJtxtDocUnico() {
return jtxtDocUnico;
}
/**
* @return
*/
public JTextField getJtxtNumVolante() {
return jtxtNumVolante;
}
/**
* @return
*/
public JTextField getTxtDatosCliente() {
return txtDatosCliente;
}
/**
* @return
*/
public JCheckBox getChkEsRepeticion() {
return chkEsRepeticion;
}
}
@@ -0,0 +1,155 @@
/*
* Creado el 13-feb-07
*
* Para cambiar la plantilla para este archivo generado vaya a
* Ventana&gt;Preferencias&gt;Java&gt;Generacin de cdigo&gt;Cdigo y comentarios
*/
package com.tarisan.chipcard.tpvvs.webservicetrayicon;
import com.tarisan.chipcard.tpvvs.ws.*;
import java.io.*;
import java.net.URL;
/*import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Calendar;
import java.util.Properties;
import org.apache.commons.logging.Log;*/
import com.tarisan.chipcard.tpvvs.webservicetrayicon.messages.*;
import es.chipcard.util.SerClsFecha;
/**
* @author jjrider
*
* Para cambiar la plantilla para este comentario de tipo generado vaya a
* Ventana&gt;Preferencias&gt;Java&gt;Generacin de cdigo&gt;Cdigo y comentarios
*/
public class ClienteServicioWeb extends Thread{
private Msg request=null;
private ControladorRespuestas objController=null;
private static java.io.File fMessagesDir=null;
private int secuencial = 0;
private URL endPointURL=null;
private int nSegundosTimeout=60;
static{
//System.setProperty("javax.net.ssl.trustStore","./conf/cacerts");
///etc/java-6-sun/security/
//System.setProperty("javax.net.ssl.trustStore","/root/apache-tomcat-6.0.20/webapps/tarisan/WEB-INF/lib/cacerts");
System.setProperty("javax.net.ssl.trustStore","/usr/share/tomcat/conf/cacerts");
System.out.println(System.getProperty("javax.net.ssl.trustStore"));
System.setProperty("javax.net.ssl.trustStorePassword","changeit");
}
public ClienteServicioWeb(Msg msg,ControladorRespuestas objController,URL endPointURL)
{
request=msg;
System.out.println(request.toString());
this.objController=objController;
this.endPointURL=endPointURL;
start();
}
public ClienteServicioWeb(Msg msg,ControladorRespuestas objController,URL endPointURL, int seq){
request=msg;
this.secuencial = seq;
System.out.println(request.toString());
this.objController=objController;
this.endPointURL=endPointURL;
start();
}
public void run(){
String sResponse=null;
String sUniqueID=calculateUniqueId();
try{
SerClsChipCardWSPuntoEntradaSoapBindingStub service=new SerClsChipCardWSPuntoEntradaSoapBindingStub();
service.setEndPoint(endPointURL );
service.setTimeout(getSegundosTimeout()*1000);
saveRequest(sUniqueID, this.secuencial);
sResponse=service.requestService(request.toString());
}catch(Exception err){
err.printStackTrace();
WebServiceTrayIcon.showErrorMessage("Web Service Tray Icon","No se obtuvo la respuesta a la peticion por motivo:"+err.getMessage());
objController.recibeRespuesta(null);
}
if(sResponse!=null){
try{
saveResponse(sUniqueID,sResponse, this.secuencial);
if(Tarisan.inserta_respuesta_oracle(sResponse, secuencial))
System.out.println("Respuesta "+this.secuencial+" insertada OK en oracle. "+sResponse);
else
System.out.println("Respuesta "+this.secuencial+" NO insertada en oracle. "+sResponse);
}catch(Exception err){
err.printStackTrace();
}
}
objController.recibeRespuesta(sResponse);
}
public int getSegundosTimeout(){
return nSegundosTimeout;
}
public void setSegundosTimeout(int nValue){
nSegundosTimeout=nValue;
}
private String calculateUniqueId(){
SerClsFecha fecha=new SerClsFecha();
String sRetorno=fecha.toString("yyyyMMdd_HHmmssSSS");
return sRetorno;
}
protected void saveRequest(String sID, int secuencial){
try{
//System.out.println("Se va a guardar la peticion: "+getMessagesDir()+sID+"_"+secuencial+"_Request.xml");
OutputStream fout=new BufferedOutputStream(new FileOutputStream(new File(getMessagesDir(),sID+"_"+secuencial+"_Request.xml")));
request.saveToOutputStream(fout);
fout.close();
}catch(Exception err){err.printStackTrace();
}
}
protected void saveResponse(String sID,String sResponse, int secuencial){
try{
// <Tarjeta><num>803446000000081111111001</num><ver>
//System.out.println("Se va a guardar la peticion: "+getMessagesDir()+sID+"_"+secuencial+"_Response.xml");
OutputStream fout=new BufferedOutputStream(new FileOutputStream(new File(getMessagesDir(),sID+"_"+secuencial+"_Response.xml")));
saveXMLToFile(fout,sResponse);
}catch(Exception err){err.printStackTrace();}
}
private void saveXMLToFile(OutputStream fout,String sXML){
try{
byte bRes[]=sXML.getBytes();
fout.write(bRes);
fout.close();
}catch(Exception err){err.printStackTrace();}
}
private java.io.File getMessagesDir(){
if(fMessagesDir==null){
fMessagesDir=new File("./messages/");
}
if(!fMessagesDir.exists()){
fMessagesDir.mkdirs();
}
return fMessagesDir;
}
}
@@ -0,0 +1,66 @@
package com.tarisan.chipcard.tpvvs.webservicetrayicon;
import java.awt.BorderLayout;
import javax.swing.*;
import com.tarisan.chipcard.gui.*;
import java.awt.event.*;
/**
* @author jjrider
*
* Para cambiar la plantilla para este comentario de tipo generado vaya a
* Ventana&gt;Preferencias&gt;Java&gt;Generación de código&gt;Código y comentarios
*/
public class CompaniasSanitariasFrame extends JFrame{
private CompaniasSanitariasPanel jpCompaniasPanel=new CompaniasSanitariasPanel();
private JButton btnAceptar=null;
public CompaniasSanitariasFrame(){
setTitle("Compañias Sanitarias");
init();
}
private void init(){
getContentPane().setLayout(new BorderLayout());
JPanel pn=new JPanel();
pn.setLayout(new java.awt.GridBagLayout());
java.awt.GridBagConstraints gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 0;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
pn.add(jpCompaniasPanel, gridBagConstraints);
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy++;
JPanel jpButtons=new JPanel();
jpButtons.setLayout(new java.awt.FlowLayout());
jpButtons.add(getButtonAceptar());
//jpButtons.add(getButtonEliminar());
pn.add(jpButtons,gridBagConstraints);
getContentPane().add(pn, java.awt.BorderLayout.CENTER);
jpCompaniasPanel.update();
pack();
show();
UtilGUI.centerOnScreen(this);
}
private JButton getButtonAceptar(){
if(btnAceptar==null){
btnAceptar=new JButton();
btnAceptar.setText("Aceptar");
btnAceptar.setIcon(new ImageIcon(WebServiceTrayIcon.loadImage("aceptar32.gif")));
btnAceptar.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent evt){
setVisible(false);
dispose();
}
});
}
return btnAceptar;
}
}
@@ -0,0 +1,131 @@
package com.tarisan.chipcard.tpvvs.webservicetrayicon;
import java.awt.BorderLayout;
import javax.swing.*;
import com.tarisan.chipcard.gui.*;
import java.util.*;
import com.tarisan.chipcard.tpvvs.webservicetrayicon.accesodatos.*;
import java.awt.event.*;
/***
* Panel que muestra info de la companias sanitarias dadas de alta en el sistema
* @author jjrider
*/
public class CompaniasSanitariasPanel extends JPanel{
/**
*
*/
private static final long serialVersionUID = 1406976629577166382L;
private JPanel jpPrincipal=new JPanel();
private ImageComboBox cmbImageComboCompanias=new ImageComboBox();
private JLabel jlblCodigoCompania=new javax.swing.JLabel("");
public CompaniasSanitariasPanel(){
super();
init();
}
private void init(){
setLayout(new BorderLayout());
initProductsPane();
JPanel pn=new JPanel();
pn.setLayout(new java.awt.GridBagLayout());
java.awt.GridBagConstraints gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 0;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
pn.add(jpPrincipal, gridBagConstraints);
gridBagConstraints.gridx = 1;
add(pn, java.awt.BorderLayout.CENTER);
cmbImageComboCompanias.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent evt){
//System.out.println();
CompaniaSanitaria p=(CompaniaSanitaria)cmbImageComboCompanias.getSelectedItem();
showCompaniaSanitaria(p);
}
});
}
private void showCompaniaSanitaria(CompaniaSanitaria p){
if(p!=null){
getComboCompanias().setSelectedItem(p);
String sCode=String.valueOf(p.getCodigoCompania());
getJlblCodigoCompania().setText(sCode);
}
}
private void initProductsPane(){
jpPrincipal.setLayout(new java.awt.GridBagLayout());
jpPrincipal.setBorder(new javax.swing.border.TitledBorder("Compañías Sanitarias"));
java.awt.GridBagConstraints gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 1;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
gridBagConstraints.gridwidth = 1;
gridBagConstraints.gridy++;
JLabel label=new javax.swing.JLabel("Nombre Compañía:");
jpPrincipal.add(label, gridBagConstraints);
gridBagConstraints.gridx++;
jpPrincipal.add(cmbImageComboCompanias, gridBagConstraints);
gridBagConstraints.gridy++;
gridBagConstraints.gridx=0;
label=new javax.swing.JLabel("Código Compañía:");
jpPrincipal.add(label, gridBagConstraints);
gridBagConstraints.gridx++;
jpPrincipal.add(jlblCodigoCompania, gridBagConstraints);
}
public void update(){
//if(cmbImageComboCompanias)
cmbImageComboCompanias.removeAllItems();
CompaniaSanitariaBean b=new CompaniaSanitariaBean();
Vector v=b.getCompaniasSanitarias();
for(int i=0;i<v.size();i++){
CompaniaSanitaria p=(CompaniaSanitaria)v.elementAt(i);
cmbImageComboCompanias.addItem(p);
}
}
public void showOn(){
SwingUtilities.invokeLater(new Runnable() {
public void run() {
update();
}
});
}
public void showOff(){}
/**
* @return
*/
public ImageComboBox getComboCompanias() {
return cmbImageComboCompanias;
}
/**
* @return
*/
public JLabel getJlblCodigoCompania() {
return jlblCodigoCompania;
}
}
@@ -0,0 +1,241 @@
package com.tarisan.chipcard.tpvvs.webservicetrayicon;
import java.awt.*;
import javax.swing.*;
import com.tarisan.chipcard.gui.*;
import com.tarisan.chipcard.tpvvs.webservicetrayicon.messages.*;
import java.util.*;
import com.tarisan.chipcard.tpvvs.webservicetrayicon.accesodatos.*;
import java.awt.event.*;
/**
* @author jjrider
*/
public class ConsultaAutorizacionesFrame extends JFrame implements ControladorRespuestas,ActionListener{
/**
*
*/
private static final long serialVersionUID = -7697824758756674812L;
public static final Image icon=WebServiceTrayIcon.loadImage("consultaAut16.gif");
private ConsultaAutorizacionesPanel jpAutorizacionesPanel=null;//new ConsultaAutorizacionesPanel();
private JButton btnAceptar=null;
private AutorizacionesBean autBean=new AutorizacionesBean();
private UsuarioTVSBean userBean=new UsuarioTVSBean();
private TerminalSanitarioBean terBean=new TerminalSanitarioBean();
private JPopupMenu anulacionPopupMenu=new JPopupMenu();
private VentanaProgreso progressWindow=null;//
public String devuelveRespuesta(String a)
{
return a;
}
public ConsultaAutorizacionesFrame(){
setIconImage(icon);
progressWindow=new VentanaProgreso(this,"Solicitando anulación");
progressWindow.setVisible(false);
setTitle("Consulta de Autorizaciones");
Vector vTer=terBean.getTerminalesSanitarios();
if(vTer.size()==0){
NuevoTerminalFrame frmT=new NuevoTerminalFrame();
WebServiceTrayIcon.showMessage(frmT,getTitle(),"Es necesario configurar antes Terminales Sanitarios",JOptionPane.WARNING_MESSAGE,10);
dispose();
}else{
Vector vUsers=userBean.getUsuariosTVS();
if(vUsers.size()==0){
NuevoUsuarioTVSFrame frmU=new NuevoUsuarioTVSFrame();
frmU.updateData();
WebServiceTrayIcon.showMessage(frmU,getTitle(),"Es necesario configurar antes algún Usuario del TVS",JOptionPane.WARNING_MESSAGE,10);
dispose();
}else{
init();
}
}
}
private void init(){
getContentPane().setLayout(new BorderLayout());
jpAutorizacionesPanel=new ConsultaAutorizacionesPanel();
jpAutorizacionesPanel.setPreferredSize(new java.awt.Dimension(800,600));
JPanel jpButtons=new JPanel();
jpButtons.setLayout(new java.awt.FlowLayout());
jpButtons.add(getButtonAceptar());
getContentPane().add(jpAutorizacionesPanel, java.awt.BorderLayout.CENTER);
getContentPane().add(jpButtons, java.awt.BorderLayout.SOUTH);
pack();
show();
UtilGUI.centerOnScreen(this);
jpAutorizacionesPanel.getJTable().addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent evt) {
}
public void mouseReleased(MouseEvent evt) {
}
public void mouseClicked(MouseEvent e) {
if (e.getClickCount() == 2 || e.isMetaDown() ) {
if (jpAutorizacionesPanel.getJTable().getSelectedRow() != -1){
anulacionPopupMenu.show(e.getComponent(), e.getX(), e.getY());
}
}
}
}
);
JMenuItem item = new JMenuItem("Solicitar Anulación de Autorización",new ImageIcon(WebServiceTrayIcon.loadImage("eliminar.gif")));
item.addActionListener(this);
anulacionPopupMenu.add(item);
}
/****
* Se encarga de realizar las operacioens necesarias para llevar a cabo una anulacion
* @param nTerminal
* @param sTimeStamp
*/
private void anulaAutorizacion(int nTerminal, String sTimeStamp){
//Si está autorizada
Autorizacion aut=autBean.getAutorizacionByID(nTerminal,sTimeStamp);
if(aut!=null){
String sURL=jpAutorizacionesPanel.getCmbURLService().getSelectedItem().toString();
java.net.URL endPointURL=null;
try{
endPointURL=new java.net.URL(sURL);
}catch(Exception err){
err.printStackTrace();
WebServiceTrayIcon.showErrorMessage(getTitle(),"No se pudo enviar la solicitud a '"+sURL+"' debido al error:"+err.getMessage());
}
if(endPointURL!=null){
UsuarioTVS userTVS=(UsuarioTVS)jpAutorizacionesPanel.getCmbImageComboUsuarios().getSelectedItem();
if(userTVS!=null){
try{
progressWindow.setVisible(true);
progressWindow.setProgressState(0);
progressWindow.setModal(false);
UtilGUI.centerOnWindow(progressWindow,this);
AnulReq anulReqMes=new AnulReq(nTerminal,sTimeStamp,userTVS);
setEnabled(false);
ClienteServicioWeb objClienteServicioWeb=new ClienteServicioWeb(anulReqMes,this,endPointURL);
ProgressBarThread PBTh=new ProgressBarThread(progressWindow,objClienteServicioWeb.getSegundosTimeout());
PBTh.start();
}catch(Exception err){
err.printStackTrace();
}
}
}
}
}
/*****
* Recibe la respuesta del Servicio Web
*/
public String recibeRespuesta(String sResponse){
setEnabled(true);
if(progressWindow!=null)
progressWindow.setVisible(false);
if(sResponse!=null){
Msg objResponse=null;
try{
objResponse=Msg.createMsgFromString(sResponse);
if(objResponse.getTypeOfMessage()==Msg.TYPE_OF_MESSAGE_ERROR){
com.tarisan.chipcard.tpvvs.webservicetrayicon.messages.Error errorMes=(com.tarisan.chipcard.tpvvs.webservicetrayicon.messages.Error)objResponse;
//Es un Error en la peticion
showErrorMessage("Se ha producido el error con código "+errorMes.getErrorCode()+".\nDescripción:"+errorMes.getErrorDescription());
}else if(objResponse.getTypeOfMessage()==Msg.TYPE_OF_MESSAGE_CCRES){
com.tarisan.chipcard.tpvvs.webservicetrayicon.messages.AutRes autResMes=(com.tarisan.chipcard.tpvvs.webservicetrayicon.messages.AutRes)objResponse;
Vector vAutorizaciones=WebServiceTrayIcon.AutResMes2Autorizacion(autResMes);
for(int i=0;i<vAutorizaciones.size();i++){
Autorizacion aut=(Autorizacion)vAutorizaciones.elementAt(i);
if(aut.getESTADO().equals(WSTRConstantes.OP_RESPONSE_ANULADA)){
//Solo actualizo si la operación fue anulada
autBean.updateInLocal(aut);
}
}
WebServiceTrayIcon.showTransactionInfo(autResMes,this);
jpAutorizacionesPanel.updateData();
}
}catch(Exception err){
err.printStackTrace();
showErrorMessage("Se ha producido un error al procesar la respuesta.\nDescripción:"+err.getMessage());
}
}else{
//Se debería repetir la respuesta?? Se supone que no se ha recibido
}
return "";
}
private JButton getButtonAceptar(){
if(btnAceptar==null){
btnAceptar=new JButton();
btnAceptar.setText("Aceptar");
btnAceptar.setIcon(new ImageIcon(WebServiceTrayIcon.loadImage("aceptar32.gif")));
btnAceptar.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent evt){
setVisible(false);
dispose();
}
});
}
return btnAceptar;
}
public void actionPerformed(ActionEvent evt){
int nRow=jpAutorizacionesPanel.getJTable().getSelectedRow();
String sTerminal=(String)jpAutorizacionesPanel.getTableModel().getValueAt(nRow,0);
String sTimeStamp=(String)jpAutorizacionesPanel.getTableModel().getValueAt(nRow,1);
String sEstado=(String)jpAutorizacionesPanel.getTableModel().getValueAt(nRow,3);
if(sEstado!=null){
if(sEstado.equals(WSTRConstantes.OP_RESPONSE_AUTORIZADA)){
anulaAutorizacion(Integer.parseInt(sTerminal), sTimeStamp);
}else{
WebServiceTrayIcon.showMessage(this,getTitle(),"La Autorización debe estar AUTORIZADA para poder anularse",JOptionPane.ERROR_MESSAGE,10);
}
}
}
public void setEnabled(boolean blnEnabled){
super.setEnabled(blnEnabled);
getJpAutorizacionesPanel().setEnabled(blnEnabled);
getButtonAceptar().setEnabled(blnEnabled);
if(!blnEnabled)
setCursor(java.awt.Cursor.getPredefinedCursor(java.awt.Cursor.WAIT_CURSOR));
else
setCursor(java.awt.Cursor.getPredefinedCursor(java.awt.Cursor.DEFAULT_CURSOR));
validate();
repaint();
}
public static void main(String args[]) throws Exception {
System.setProperty("configFiles","./conf/");
ConsultaAutorizacionesFrame objF=new ConsultaAutorizacionesFrame();
objF.show();
}
/**
* @return
*/
public ConsultaAutorizacionesPanel getJpAutorizacionesPanel() {
return jpAutorizacionesPanel;
}
private void showErrorMessage(String sMessage){
WebServiceTrayIcon.showMessage(this,getTitle(),sMessage,JOptionPane.ERROR_MESSAGE);
}
private void showInformationMessage(String sMessage){
WebServiceTrayIcon.showMessage(this,getTitle(),sMessage,JOptionPane.INFORMATION_MESSAGE);
}
private void showWarningMessage(String sMessage){
WebServiceTrayIcon.showMessage(this,getTitle(),sMessage,JOptionPane.WARNING_MESSAGE);
}
}
@@ -0,0 +1,207 @@
/*
* Creado el 19-feb-07
*
* Para cambiar la plantilla para este archivo generado vaya a
* Ventana&gt;Preferencias&gt;Java&gt;Generación de código&gt;Código y comentarios
*/
package com.tarisan.chipcard.tpvvs.webservicetrayicon;
import com.tarisan.chipcard.tpvvs.webservicetrayicon.accesodatos.*;
import java.util.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.*;
import com.tarisan.chipcard.gui.*;
/**
* Tabla dodne aparecen las operaciones realizads y se da la opción de anularlas
* @author jjrider
*/
public class ConsultaAutorizacionesPanel extends JPanel implements ActionListener{
private ImageComboBox cmbImageComboUsuarios=new ImageComboBox();
private JComboBox cmbURLService=new JComboBox();
private JComboBox cmbEstado=new JComboBox();
private AutorizacionesBean autBean=new AutorizacionesBean();
private JTable table=null;
private ArrayListTableModel objTableModel=null;
private ArrayList lista=null;
public ConsultaAutorizacionesPanel(){
super();
ArrayList lista=autBean.getAutorizacionesAsArrayList("SELECT * FROM "+autBean.TABLENAME+" WHERE 1<>0");
lista=new ArrayList();
objTableModel=new ArrayListTableModel(lista);
table = new JTable(objTableModel);
table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
table.setVisible(true);
TableColumn column = null;
for(int i=0;i<table.getColumnModel().getColumnCount();i++){
column=table.getColumnModel().getColumn(i) ;
column.setResizable(true);
String strIdentifier=(String)column.getIdentifier();
//column.setPreferredWidth(35*strIdentifier.length());
column=null;
}
this.setPreferredSize(new Dimension(Math.min(800,table.getColumnModel().getColumnCount()*70),getHeight()));
JScrollPane sp = new JScrollPane(table);
sp.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
this.setLayout(new BorderLayout());
add(sp, BorderLayout.CENTER);
JPanel otrosDatos=new JPanel();
java.awt.GridBagConstraints gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 1;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
gridBagConstraints.gridwidth = 1;
otrosDatos.setLayout(new java.awt.GridBagLayout());
otrosDatos.setBorder(new javax.swing.border.TitledBorder("Criterios de búsqueda y Anulación:"));
gridBagConstraints.gridy++;
gridBagConstraints.gridx=0;
JLabel label=new javax.swing.JLabel("Usuario:");
otrosDatos.add(label,gridBagConstraints);
gridBagConstraints.gridx++;
otrosDatos.add(cmbImageComboUsuarios,gridBagConstraints);
gridBagConstraints.gridy++;
gridBagConstraints.gridx=0;
cmbURLService.setEditable(true);
WebServiceTrayIcon.fillURLServices(cmbURLService);
label=new javax.swing.JLabel("URL del Servicio:");
otrosDatos.add(label,gridBagConstraints);
gridBagConstraints.gridx++;
otrosDatos.add(cmbURLService, gridBagConstraints);
gridBagConstraints.gridy++;
gridBagConstraints.gridx=0;
label=new javax.swing.JLabel("ESTADO:");
otrosDatos.add(label,gridBagConstraints);
gridBagConstraints.gridx++;
cmbEstado.addItem("TODOS");
cmbEstado.addItem("AUTORIZADA");
cmbEstado.addItem("DENEGADA");
cmbEstado.addItem("ANULADA");
cmbEstado.addItem("ERROR");
otrosDatos.add(cmbEstado, gridBagConstraints);
add(otrosDatos, BorderLayout.NORTH);
UsuarioTVSBean bean=new UsuarioTVSBean();
Vector vUsuarios=bean.getUsuariosTVS();
for(int i=0;i<vUsuarios.size();i++){
UsuarioTVS obj=(UsuarioTVS)vUsuarios.elementAt(i);
cmbImageComboUsuarios.addItem(obj);
}
cmbImageComboUsuarios.addActionListener(this);
cmbEstado.addActionListener(this);
if(cmbImageComboUsuarios.getSelectedIndex()!=-1)
cmbImageComboUsuarios.setSelectedIndex(cmbImageComboUsuarios.getSelectedIndex());
}
public void updateData(){
actionPerformed(null);
}
public void actionPerformed(ActionEvent evt){
//Obtengo el Terminal
UsuarioTVS userTVS=(UsuarioTVS)cmbImageComboUsuarios.getSelectedItem();
if(userTVS!=null){
int nTerminal=userTVS.getTerminal().getNumeroTerminal();
String sEstado=cmbEstado.getSelectedItem().toString();
ArrayList list=null;
if(sEstado.equals("TODOS")){
list=autBean.getAutorizacionesAsArrayListByTerminal(nTerminal);
}else{
list=autBean.getAutorizacionesAsArrayListByTerminalAndEstado(nTerminal,sEstado);
}
objTableModel=new ArrayListTableModel(list);
table.setModel(objTableModel);
table.validate();
table.repaint();
}
}
public class ArrayListTableModel extends DefaultTableModel{
private ArrayList lista=null;
public ArrayListTableModel(ArrayList l){
super();
lista=l;
init(lista);
}
public void init(ArrayList lista) {
int intNumeroDeFilas=lista.size();
//setColumnCount(0);
//setRowCount(0);
if(lista!=null){
if(lista.size()==0)
return;
String arrFila[]=(String[])lista.get(0);
Vector vColumns=new Vector();
//setPreferredSize(new java.awt.Dimension(50,20));
setColumnCount(arrFila.length);
setColumnIdentifiers(arrFila);
Vector vValues=null;
for(int i=1;i<lista.size();i++){
addRow((String[])lista.get(i));
}
}
validate();
repaint();
}
public boolean isCellEditable(int row,int col){
return false;
}
}
/**
* @return
*/
public JTable getJTable() {
return table;
}
/**
* @return
*/
public ArrayListTableModel getTableModel() {
return objTableModel;
}
/**
* @return
*/
public ImageComboBox getCmbImageComboUsuarios() {
return cmbImageComboUsuarios;
}
public void setEnabled(boolean blnEnabled){
super.setEnabled(blnEnabled);
java.awt.Component arrComp[]=this.getComponents();
for(int i=0;i<this.getComponentCount();i++){
arrComp[i].setEnabled(blnEnabled);
}
validate();
repaint();
}
/**
* @return
*/
public JComboBox getCmbURLService() {
return cmbURLService;
}
}
@@ -0,0 +1,19 @@
/*
* Creado el 13-feb-07
*
* Para cambiar la plantilla para este archivo generado vaya a
* Ventana&gt;Preferencias&gt;Java&gt;Generación de código&gt;Código y comentarios
*/
package com.tarisan.chipcard.tpvvs.webservicetrayicon;
/**
* @author jjrider
*
* Para cambiar la plantilla para este comentario de tipo generado vaya a
* Ventana&gt;Preferencias&gt;Java&gt;Generación de código&gt;Código y comentarios
*/
public interface ControladorRespuestas {
public String recibeRespuesta(String sResponse);
//public String devuelveRespuesta(String sResponse);
}
@@ -0,0 +1,229 @@
package com.tarisan.chipcard.tpvvs.webservicetrayicon;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import com.tarisan.chipcard.gui.*;
import com.tarisan.chipcard.tpvvs.webservicetrayicon.accesodatos.*;
/**
* @author jjrider
*/
public class DialogoTarjetaSanitaria extends JDialog {
/**
*
*/
private static final long serialVersionUID = -6280299266737876697L;
private JFrame objParent=null;
private JPasswordField txtLecturaPistaTarjeta=new JPasswordField();
private boolean LecturaManual=false;
private JLabel lblNumeroTarjeta=new JLabel("Tarjeta:");
private JTextField txtNumeroTarjeta=new JTextField();
private JLabel lblCaducidadTarjeta=new JLabel("F.Cad.:");
private JTextField txtCaducidadTarjeta=new JTextField();
private JLabel lblAltaTarjeta=new JLabel("F.Alta:");
private JTextField txtAltaTarjeta=new JTextField();
private JLabel lblCoberturaTarjeta=new JLabel("Cobertura:");
private JTextField txtCoberturaTarjeta=new JTextField();
private JLabel lblVersionTarjeta=new JLabel("Version:");
private JTextField txtVersionTarjeta=new JTextField();
private JCheckBox NoCapturaTarjeta=new JCheckBox("No Capturar Tarjeta");
private JButton jbtnAceptar=new JButton();
private Paciente paciente=new Paciente();
public DialogoTarjetaSanitaria(JFrame objParent){
super(objParent,true);
this.setUndecorated(true);
this.objParent=objParent;
setTitle("Lectura de Tarjeta");
init();
}
private void init(){
getContentPane().setLayout(new BorderLayout());
JPanel pn=new JPanel();
getContentPane().add(pn,BorderLayout.CENTER);
JLabel lblFondo=new JLabel();
ImageIcon iconFondo= new ImageIcon(WebServiceTrayIcon.loadImage("paseTarjetaConTeclado.jpg"));
lblFondo.setIcon(iconFondo);
lblFondo.setBounds(0,0,iconFondo.getIconWidth(),iconFondo.getIconHeight());
pn.setLayout(null);
NoCapturaTarjeta.setBounds(5,135,180,20);
pn.add(NoCapturaTarjeta);
NoCapturaTarjeta.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent evt){
setVisible(false);
dispose();
}
}
);
txtLecturaPistaTarjeta.setBounds(5,160,180,20);
pn.add(txtLecturaPistaTarjeta);
txtLecturaPistaTarjeta.requestFocus();
//txtLecturaPistaTarjeta.requestDefaultFocus();
lblNumeroTarjeta.setBounds(2,50,45,20);
pn.add(lblNumeroTarjeta);
txtNumeroTarjeta.setBounds(lblNumeroTarjeta.getX()+lblNumeroTarjeta.getWidth()+3,lblNumeroTarjeta.getY(),140,20);
pn.add(txtNumeroTarjeta);
lblCaducidadTarjeta.setBounds(2,75,40,20);
pn.add(lblCaducidadTarjeta);
txtCaducidadTarjeta.setBounds(lblCaducidadTarjeta.getX()+lblCaducidadTarjeta.getWidth()+3,lblCaducidadTarjeta.getY(),50,20);
pn.add(txtCaducidadTarjeta);
lblAltaTarjeta.setBounds(txtCaducidadTarjeta.getX()+txtCaducidadTarjeta.getWidth()+15,lblCaducidadTarjeta.getY(),40,20);
pn.add(lblAltaTarjeta);
txtAltaTarjeta.setBounds(lblAltaTarjeta.getX()+lblAltaTarjeta.getWidth()+3,lblCaducidadTarjeta.getY(),50,20);
pn.add(txtAltaTarjeta);
lblCoberturaTarjeta.setBounds(2,100,80,20);
pn.add(lblCoberturaTarjeta);
txtCoberturaTarjeta.setBounds(lblCoberturaTarjeta.getX()+lblCoberturaTarjeta.getWidth()+3,lblCoberturaTarjeta.getY(),40,20);
pn.add(txtCoberturaTarjeta);
lblVersionTarjeta.setBounds(txtCoberturaTarjeta.getX()+txtCoberturaTarjeta.getWidth()+15,txtCoberturaTarjeta.getY(),60,20);
pn.add(lblVersionTarjeta);
txtVersionTarjeta.setBounds(lblVersionTarjeta.getX()+lblVersionTarjeta.getWidth()+5,lblVersionTarjeta.getY(),35,20);
pn.add(txtVersionTarjeta);
ImageIcon iconAceptar= new ImageIcon(WebServiceTrayIcon.loadImage("aceptaro1.gif"));
jbtnAceptar.setIcon(iconAceptar);
jbtnAceptar.setBounds(40,140,iconAceptar.getIconWidth(),iconAceptar.getIconHeight());
jbtnAceptar.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent evt){
String sTarjeta=txtNumeroTarjeta.getText().trim();
if(sTarjeta.length()>0)
paciente.setTarjeta(sTarjeta);
String sAlta=txtAltaTarjeta.getText().trim();
if(sAlta.length()>0)
paciente.setFAlta(sAlta);
String sBaja=txtCaducidadTarjeta.getText().trim();
if(sBaja.length()>0)
paciente.setFBaja(sBaja);
String sCobertura=txtCoberturaTarjeta.getText().trim();
if(sCobertura.length()>0)
paciente.setCobertura(sCobertura);
String sVersion=txtVersionTarjeta.getText().trim();
if(sVersion.length()>0)
paciente.setVersion(sVersion);
setVisible(false);
dispose();
}
});
pn.add(jbtnAceptar);
pn.add(lblFondo);
setSize(209,191);
UtilGUI.centerOnWindow(this,objParent );
showLecturaBanda();
txtLecturaPistaTarjeta.requestFocus();
lblFondo.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent evt) {
//System.out.println("Mouse clicked");
setTipoLectura(!LecturaManual);
}
});
LecturaPistaThread th=new LecturaPistaThread(this);
th.start();
show();
}
private void showLecturaBanda(){
setTipoLectura(false);
}
private void showLecturaManual(){
setTipoLectura(true);
}
private void setTipoLectura(boolean LectManual){
LecturaManual=LectManual;
txtNumeroTarjeta.setVisible(LecturaManual);
txtCaducidadTarjeta.setVisible(LecturaManual);
txtAltaTarjeta.setVisible(LecturaManual);
txtCoberturaTarjeta.setVisible(LecturaManual);
txtVersionTarjeta.setVisible(LecturaManual);
lblNumeroTarjeta.setVisible(LecturaManual);
lblCaducidadTarjeta.setVisible(LecturaManual);
lblAltaTarjeta.setVisible(LecturaManual);
lblCoberturaTarjeta.setVisible(LecturaManual);
lblVersionTarjeta.setVisible(LecturaManual);
jbtnAceptar.setVisible(LecturaManual);
txtLecturaPistaTarjeta.setVisible(!LecturaManual);
if(!LecturaManual){
txtLecturaPistaTarjeta.requestFocus();
txtNumeroTarjeta.setText("");
txtCaducidadTarjeta.setText("");
txtAltaTarjeta.setText("");
txtCoberturaTarjeta.setText("");
txtVersionTarjeta.setText("");
}else{
txtLecturaPistaTarjeta.setText("");
txtNumeroTarjeta.requestFocus();
}
}
public boolean esLecturaManual(){
return LecturaManual;
}
public Paciente getPaciente(){
return paciente;
}
public class LecturaPistaThread extends Thread{
private JDialog dialog=null;
protected LecturaPistaThread(JDialog dialog){
this.dialog=dialog;
}
public void run(){
txtLecturaPistaTarjeta.requestFocus();
try{
Thread.sleep(2000);
}catch(Exception err){}
while(dialog.isVisible()){
if(!esLecturaManual()){
txtLecturaPistaTarjeta.requestFocus();
}
try{
try{
Thread.sleep(200);
}catch(Exception err){}
String sPista=new String(txtLecturaPistaTarjeta.getPassword());
sPista=sPista.trim();
if(sPista.endsWith("?")){
try{
Thread.sleep(200);
}catch(Exception err){}
String sPistaConfirmation=new String(txtLecturaPistaTarjeta.getPassword());
sPistaConfirmation=sPistaConfirmation.trim();
if(sPistaConfirmation.equals(sPista)){
paciente.setPista(sPista);
setVisible(false);
}
}
}catch(Exception err){
}
}
System.out.println("Fin del hilo");
}
}
}
@@ -0,0 +1,59 @@
/*
* Creado el 16-jul-07
*
* Para cambiar la plantilla para este archivo generado vaya a
* Ventana&gt;Preferencias&gt;Java&gt;Generación de código&gt;Código y comentarios
*/
package com.tarisan.chipcard.tpvvs.webservicetrayicon;
import com.tarisan.chipcard.tpvvs.ws.*;
import es.chipcard.util.*;
import java.io.*;
import java.net.URL;
/**
*
* @author jjrider
*/
public class EasyClient {
static{
File f=new File("./conf/cacerts");
//System.out.println(f.getAbsolutePath());
System.setProperty("javax.net.ssl.trustStore",f.getAbsolutePath());
System.setProperty("javax.net.ssl.trustStorePassword","changeit");
}
/***
* En base a una cadena y la URL, envia la peticion
* @param sPeticion
* @param url
* @return
* @throws Exception
*/
public String enviarPeticion(String sPeticion,String url) throws Exception{
String sResponse=null;
String sUniqueID=calculateUniqueId();
try{
SerClsChipCardWSPuntoEntradaSoapBindingStub service=new SerClsChipCardWSPuntoEntradaSoapBindingStub();
service.setEndPoint(new URL(url) );
service.setTimeout(60*1000);
sResponse=service.requestService(sPeticion);
}catch(Exception err){
err.printStackTrace();
}
return sResponse;
}
private String calculateUniqueId(){
SerClsFecha fecha=new SerClsFecha();
String sRetorno=fecha.toString("yyyyMMdd_HHmmssSSS");
return sRetorno;
}
public static void main(String args[]) throws Exception{
EasyClient client=new EasyClient();
String sRespuesta=client.enviarPeticion(args[1],args[0]);
System.out.println(sRespuesta);
}
}
@@ -0,0 +1,66 @@
package com.tarisan.chipcard.tpvvs.webservicetrayicon;
import java.awt.BorderLayout;
import javax.swing.*;
import com.tarisan.chipcard.gui.*;
import java.awt.event.*;
/**
* @author jjrider
*
* Para cambiar la plantilla para este comentario de tipo generado vaya a
* Ventana&gt;Preferencias&gt;Java&gt;Generación de código&gt;Código y comentarios
*/
public class EspecialidadesSanitariasFrame extends JFrame{
private EspecialidadesSanitariasPanel jpEspecialidadesPanel=new EspecialidadesSanitariasPanel();
private JButton btnAceptar=null;
public EspecialidadesSanitariasFrame(){
setTitle("Especialidades Sanitarias");
init();
}
private void init(){
getContentPane().setLayout(new BorderLayout());
JPanel pn=new JPanel();
pn.setLayout(new java.awt.GridBagLayout());
java.awt.GridBagConstraints gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 0;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
pn.add(jpEspecialidadesPanel, gridBagConstraints);
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy++;
JPanel jpButtons=new JPanel();
jpButtons.setLayout(new java.awt.FlowLayout());
jpButtons.add(getButtonAceptar());
//jpButtons.add(getButtonEliminar());
pn.add(jpButtons,gridBagConstraints);
getContentPane().add(pn, java.awt.BorderLayout.CENTER);
jpEspecialidadesPanel.update();
pack();
show();
UtilGUI.centerOnScreen(this);
}
private JButton getButtonAceptar(){
if(btnAceptar==null){
btnAceptar=new JButton();
btnAceptar.setText("Aceptar");
btnAceptar.setIcon(new ImageIcon(WebServiceTrayIcon.loadImage("aceptar32.gif")));
btnAceptar.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent evt){
setVisible(false);
dispose();
}
});
}
return btnAceptar;
}
}
@@ -0,0 +1,130 @@
package com.tarisan.chipcard.tpvvs.webservicetrayicon;
import java.awt.BorderLayout;
import javax.swing.*;
import com.tarisan.chipcard.gui.*;
import java.util.*;
import com.tarisan.chipcard.tpvvs.webservicetrayicon.accesodatos.*;
import java.awt.event.*;
/***
* Panel que muestra info de las Especialidades sanitarias dadas de alta en el sistema
* @author jjrider
*/
public class EspecialidadesSanitariasPanel extends JPanel{
/**
*
*/
private static final long serialVersionUID = 1308026484400302032L;
private JPanel jpPrincipal=new JPanel();
private ImageComboBox cmbImageComboEspecialidades=new ImageComboBox();
private JLabel jlblCodigoEspecialidad=new javax.swing.JLabel("");
public EspecialidadesSanitariasPanel(){
super();
init();
}
private void init(){
setLayout(new BorderLayout());
initProductsPane();
JPanel pn=new JPanel();
pn.setLayout(new java.awt.GridBagLayout());
java.awt.GridBagConstraints gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 0;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
pn.add(jpPrincipal, gridBagConstraints);
gridBagConstraints.gridx = 1;
add(pn, java.awt.BorderLayout.CENTER);
cmbImageComboEspecialidades.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent evt){
//System.out.println();
EspecialidadSanitaria p=(EspecialidadSanitaria)cmbImageComboEspecialidades.getSelectedItem();
showEspecialidadSanitaria(p);
}
});
}
private void showEspecialidadSanitaria(EspecialidadSanitaria p){
if(p!=null){
getComboEspecialidades().setSelectedItem(p);
String sCode=String.valueOf(p.getCodigoEspecialidad());
getjlblCodigoEspecialidad().setText(sCode);
}
}
private void initProductsPane(){
jpPrincipal.setLayout(new java.awt.GridBagLayout());
jpPrincipal.setBorder(new javax.swing.border.TitledBorder("Especialidades Sanitarias"));
java.awt.GridBagConstraints gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 1;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
gridBagConstraints.gridwidth = 1;
gridBagConstraints.gridy++;
JLabel label=new javax.swing.JLabel("Nombre Especialidad:");
jpPrincipal.add(label, gridBagConstraints);
gridBagConstraints.gridx++;
jpPrincipal.add(getComboEspecialidades(), gridBagConstraints);
gridBagConstraints.gridy++;
gridBagConstraints.gridx=0;
label=new javax.swing.JLabel("Código Especialidad:");
jpPrincipal.add(label, gridBagConstraints);
gridBagConstraints.gridx++;
jpPrincipal.add(jlblCodigoEspecialidad, gridBagConstraints);
}
public void update(){
getComboEspecialidades().removeAllItems();
EspecialidadSanitariaBean b=new EspecialidadSanitariaBean();
Vector v=b.getEspecialidadesSanitarias();
for(int i=0;i<v.size();i++){
EspecialidadSanitaria p=(EspecialidadSanitaria)v.elementAt(i);
getComboEspecialidades().addItem(p);
}
}
public void showOn(){
SwingUtilities.invokeLater(new Runnable() {
public void run() {
update();
}
});
}
public void showOff(){}
/**
* @return
*/
public ImageComboBox getComboEspecialidades() {
return cmbImageComboEspecialidades;
}
/**
* @return
*/
public JLabel getjlblCodigoEspecialidad() {
return jlblCodigoEspecialidad;
}
}
@@ -0,0 +1,108 @@
package com.tarisan.chipcard.tpvvs.webservicetrayicon;
import java.awt.BorderLayout;
import javax.swing.*;
import com.tarisan.chipcard.gui.*;
import com.tarisan.chipcard.tpvvs.webservicetrayicon.accesodatos.*;
import java.awt.event.*;
/**
* @author jjrider
*
* Para cambiar la plantilla para este comentario de tipo generado vaya a
* Ventana&gt;Preferencias&gt;Java&gt;Generación de código&gt;Código y comentarios
*/
public class NuevoTerminalFrame extends JFrame implements ActionListener{
NuevoTerminalPanel jpTerminalesPanel=new NuevoTerminalPanel();
private JButton btnAceptar=null;
private JButton btnCancelar=null;
public NuevoTerminalFrame(){
setTitle("Nuevo Terminal Sanitario");
init();
}
private void init(){
getContentPane().setLayout(new BorderLayout());
JPanel pn=new JPanel();
pn.setLayout(new java.awt.GridBagLayout());
java.awt.GridBagConstraints gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 0;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
pn.add(jpTerminalesPanel, gridBagConstraints);
gridBagConstraints.gridx = 1;
gridBagConstraints.gridwidth=2;
gridBagConstraints.anchor = java.awt.GridBagConstraints.CENTER;
gridBagConstraints.gridwidth = 1;
gridBagConstraints.gridy ++;
gridBagConstraints.gridx=0;
JPanel jpButtons=new JPanel();
jpButtons.setLayout(new java.awt.FlowLayout());
jpButtons.add(getButtonAceptar());
jpButtons.add(getButtonCancelar());
pn.add(jpButtons,gridBagConstraints);
getContentPane().add(pn, java.awt.BorderLayout.CENTER);
pack();
show();
UtilGUI.centerOnScreen(this);
}
private JButton getButtonAceptar(){
if(btnAceptar==null){
btnAceptar=new JButton();
btnAceptar.setText("Aceptar");
btnAceptar.setIcon(new ImageIcon(WebServiceTrayIcon.loadImage("aceptar32.gif")));
btnAceptar.addActionListener(this);
}
return btnAceptar;
}
private JButton getButtonCancelar(){
if(btnCancelar==null){
btnCancelar=new JButton();
btnCancelar.setText("Cancelar");
btnCancelar.setIcon(new ImageIcon(WebServiceTrayIcon.loadImage("cancelar32.gif")));
btnCancelar.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent evt){
setVisible(false);
dispose();
}
}
);
}
return btnCancelar;
}
public void actionPerformed(ActionEvent evt){
int nNumeroTerminal=-1;
boolean blnIsTVA=false;
try{
nNumeroTerminal=Integer.parseInt(jpTerminalesPanel.getNumeroTerminal());
}catch(Exception err){
}
if(nNumeroTerminal<0){
WebServiceTrayIcon.showMessage(this,this.getTitle(),"Nuevo terminal '"+jpTerminalesPanel.getNumeroTerminal()+"' no válido",JOptionPane.ERROR_MESSAGE);
return;
}
TerminalSanitarioBean objBean=new TerminalSanitarioBean();
TerminalSanitario objTerminal=new TerminalSanitario();
objTerminal.setNumeroTerminal(nNumeroTerminal);
objTerminal.setTVA(jpTerminalesPanel.getEsTerminalLaboratorio());
int nRetorno=objBean.insertInLocal(objTerminal);
if(nRetorno>0){
WebServiceTrayIcon.showMessage(this,this.getTitle(),"Nuevo terminal creado",JOptionPane.INFORMATION_MESSAGE);
}else{
WebServiceTrayIcon.showMessage(this,this.getTitle(),"Nuevo terminal no pudo ser creado",JOptionPane.ERROR_MESSAGE);
}
}
}
@@ -0,0 +1,84 @@
package com.tarisan.chipcard.tpvvs.webservicetrayicon;
import java.awt.BorderLayout;
import javax.swing.*;
public class NuevoTerminalPanel extends JPanel{
private JPanel jpPanlePrincipal=new JPanel();
JTextField jtxtNumeroTerminal=new javax.swing.JTextField("");
JCheckBox jchkEsTerminalLaboratorio=new javax.swing.JCheckBox("Terminal de Laboratorio");
public NuevoTerminalPanel(){
super();
init();
}
private void init(){
setLayout(new BorderLayout());
initPane();
JPanel pn=new JPanel();
pn.setLayout(new java.awt.GridBagLayout());
java.awt.GridBagConstraints gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 0;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
pn.add(jpPanlePrincipal, gridBagConstraints);
gridBagConstraints.gridx = 1;
add(pn, java.awt.BorderLayout.CENTER);
}
private void initPane(){
jpPanlePrincipal.setLayout(new java.awt.GridBagLayout());
jpPanlePrincipal.setBorder(new javax.swing.border.TitledBorder("Nuevo Terminal Sanitario"));
java.awt.GridBagConstraints gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 1;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
gridBagConstraints.gridwidth = 1;
JLabel label=new javax.swing.JLabel("Numero Terminal:");
jpPanlePrincipal.add(label, gridBagConstraints);
gridBagConstraints.gridx++;
jtxtNumeroTerminal.setColumns(8);
jpPanlePrincipal.add(jtxtNumeroTerminal, gridBagConstraints);
gridBagConstraints.gridy++;
gridBagConstraints.gridx=0;
gridBagConstraints.gridwidth = 2;
jpPanlePrincipal.add(jchkEsTerminalLaboratorio, gridBagConstraints);
}
/**
* @return
*/
public boolean getEsTerminalLaboratorio() {
return jchkEsTerminalLaboratorio.isSelected();
}
/**
* @return
*/
public String getNumeroTerminal() {
return jtxtNumeroTerminal.getText();
}
}
@@ -0,0 +1,114 @@
package com.tarisan.chipcard.tpvvs.webservicetrayicon;
import java.awt.BorderLayout;
import javax.swing.*;
import com.tarisan.chipcard.gui.*;
import com.tarisan.chipcard.tpvvs.webservicetrayicon.accesodatos.*;
import java.awt.event.*;
/**
* @author jjrider
*
* Para cambiar la plantilla para este comentario de tipo generado vaya a
* Ventana&gt;Preferencias&gt;Java&gt;Generación de código&gt;Código y comentarios
*/
public class NuevoUsuarioTVSFrame extends JFrame implements ActionListener{
private NuevoUsuarioTVSPanel jpInternalPanel=new NuevoUsuarioTVSPanel();
private JButton btnAceptar=null;
private JButton btnCancelar=null;
public NuevoUsuarioTVSFrame(){
setTitle("Nuevo Usuario del TVS");
init();
}
private void init(){
getContentPane().setLayout(new BorderLayout());
JPanel pn=new JPanel();
pn.setLayout(new java.awt.GridBagLayout());
java.awt.GridBagConstraints gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 0;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
pn.add(jpInternalPanel, gridBagConstraints);
gridBagConstraints.gridx = 1;
gridBagConstraints.gridwidth=2;
gridBagConstraints.anchor = java.awt.GridBagConstraints.CENTER;
gridBagConstraints.gridwidth = 1;
gridBagConstraints.gridy ++;
gridBagConstraints.gridx=0;
JPanel jpButtons=new JPanel();
jpButtons.setLayout(new java.awt.FlowLayout());
jpButtons.add(getButtonAceptar());
jpButtons.add(getButtonCancelar());
pn.add(jpButtons,gridBagConstraints);
getContentPane().add(pn, java.awt.BorderLayout.CENTER);
pack();
show();
UtilGUI.centerOnScreen(this);
}
public void updateData(){
jpInternalPanel.updateTerminals();
}
private JButton getButtonAceptar(){
if(btnAceptar==null){
btnAceptar=new JButton();
btnAceptar.setText("Aceptar");
btnAceptar.setIcon(new ImageIcon(WebServiceTrayIcon.loadImage("aceptar32.gif")));
btnAceptar.addActionListener(this);
}
return btnAceptar;
}
private JButton getButtonCancelar(){
if(btnCancelar==null){
btnCancelar=new JButton();
btnCancelar.setText("Cancelar");
btnCancelar.setIcon(new ImageIcon(WebServiceTrayIcon.loadImage("cancelar32.gif")));
btnCancelar.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent evt){
setVisible(false);
dispose();
}
}
);
}
return btnCancelar;
}
public void actionPerformed(ActionEvent evt){
TerminalSanitario objTer=null;
try{
objTer=(TerminalSanitario)jpInternalPanel.getTerminalesPanel().getCmbImageComboTerminales().getSelectedItem();
}catch(Exception err){
}
if(objTer==null){
WebServiceTrayIcon.showMessage(this,this.getTitle(),"El usuario debe estar asociado a un Terminal Sanitario",JOptionPane.ERROR_MESSAGE);
return;
}
String sLogin=jpInternalPanel.getJtxtLogin().getText().trim();
String sPass=new String(jpInternalPanel.getJtxtPassword().getPassword());
UsuarioTVSBean objBean=new UsuarioTVSBean();
UsuarioTVS objUser=new UsuarioTVS();
objUser.setTerminal(objTer);
objUser.setLogin(sLogin);
objUser.setPassword(sPass);
int nRetorno=objBean.insertInLocal(objUser);
if(nRetorno>0){
WebServiceTrayIcon.showMessage(this,this.getTitle(),"Nuevo Usuario TVS almacenado",JOptionPane.INFORMATION_MESSAGE);
}else{
WebServiceTrayIcon.showMessage(this,this.getTitle(),"Usuario TVS no pudo ser almacenado",JOptionPane.ERROR_MESSAGE);
}
}
}
@@ -0,0 +1,96 @@
package com.tarisan.chipcard.tpvvs.webservicetrayicon;
import java.awt.BorderLayout;
import javax.swing.*;
public class NuevoUsuarioTVSPanel extends JPanel{
private JPanel jpPanlePrincipal=new JPanel();
private TerminalesPanel objTerminalesPanel=new TerminalesPanel();
private JTextField jtxtLogin=new javax.swing.JTextField("");
private JPasswordField jtxtPassword=new javax.swing.JPasswordField("");
public NuevoUsuarioTVSPanel(){
super();
init();
}
private void init(){
setLayout(new BorderLayout());
initPane();
JPanel pn=new JPanel();
pn.setLayout(new java.awt.GridBagLayout());
java.awt.GridBagConstraints gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 0;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
pn.add(jpPanlePrincipal, gridBagConstraints);
gridBagConstraints.gridx = 1;
add(pn, java.awt.BorderLayout.CENTER);
}
private void initPane(){
jpPanlePrincipal.setLayout(new java.awt.GridBagLayout());
jpPanlePrincipal.setBorder(new javax.swing.border.TitledBorder("Nuevo Usuario del TVS"));
java.awt.GridBagConstraints gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 1;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
gridBagConstraints.gridwidth = 2;
jpPanlePrincipal.add(getTerminalesPanel(), gridBagConstraints);
gridBagConstraints.gridy++;
gridBagConstraints.gridwidth = 1;
JLabel label=new javax.swing.JLabel("Login:");
jpPanlePrincipal.add(label, gridBagConstraints);
gridBagConstraints.gridx++;
jtxtLogin.setColumns(14);
jpPanlePrincipal.add(jtxtLogin, gridBagConstraints);
gridBagConstraints.gridy++;
gridBagConstraints.gridx=0;
label=new javax.swing.JLabel("Password:");
jpPanlePrincipal.add(label, gridBagConstraints);
gridBagConstraints.gridx++;
jtxtLogin.setColumns(8);
jpPanlePrincipal.add(jtxtPassword, gridBagConstraints);
}
public void updateTerminals(){
getTerminalesPanel().update();
}
/**
* @return
*/
public JTextField getJtxtLogin() {
return jtxtLogin;
}
/**
* @return
*/
public JPasswordField getJtxtPassword() {
return jtxtPassword;
}
/**
* @return
*/
public TerminalesPanel getTerminalesPanel() {
return objTerminalesPanel;
}
}
@@ -0,0 +1,35 @@
/*
* Creado el 20-feb-07
*
* Para cambiar la plantilla para este archivo generado vaya a
* Ventana&gt;Preferencias&gt;Java&gt;Generación de código&gt;Código y comentarios
*/
package com.tarisan.chipcard.tpvvs.webservicetrayicon;
import com.tarisan.chipcard.gui.*;
/**
* @author jjrider
*
* Para cambiar la plantilla para este comentario de tipo generado vaya a
* Ventana&gt;Preferencias&gt;Java&gt;Generación de código&gt;Código y comentarios
*/
public class ProgressBarThread extends Thread{
VentanaProgreso vProgress=null;
private int nMaxSegundos=30;
public ProgressBarThread(VentanaProgreso objV,int nMax){
vProgress=objV;
nMaxSegundos=nMax;
}
public void run(){
vProgress.show();
int nSegundos=0;
while(vProgress.isVisible()){
try{
vProgress.setProgressState((nSegundos*100)/nMaxSegundos);
Thread.currentThread().sleep(1000);
nSegundos++;
}catch(Exception err){}
}
}
}
@@ -0,0 +1,41 @@
package com.tarisan.chipcard.tpvvs.webservicetrayicon;
import java.awt.BorderLayout;
import javax.swing.*;
import com.tarisan.chipcard.gui.*;
/**
* @author jjrider
*
* Para cambiar la plantilla para este comentario de tipo generado vaya a
* Ventana&gt;Preferencias&gt;Java&gt;Generación de código&gt;Código y comentarios
*/
public class TerminalesFrame extends JFrame{
TerminalesPanel jpTerminalesPanel=new TerminalesPanel();
public TerminalesFrame(){
setTitle("Terminales Sanitarios");
init();
}
private void init(){
getContentPane().setLayout(new BorderLayout());
JPanel pn=new JPanel();
pn.setLayout(new java.awt.GridBagLayout());
java.awt.GridBagConstraints gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 0;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
pn.add(jpTerminalesPanel, gridBagConstraints);
gridBagConstraints.gridx = 1;
getContentPane().add(pn, java.awt.BorderLayout.CENTER);
pack();
show();
UtilGUI.centerOnScreen(this);
jpTerminalesPanel.update();
}
}
@@ -0,0 +1,123 @@
package com.tarisan.chipcard.tpvvs.webservicetrayicon;
import java.awt.BorderLayout;
import javax.swing.*;
import com.tarisan.chipcard.gui.*;
import java.util.*;
import com.tarisan.chipcard.tpvvs.webservicetrayicon.accesodatos.*;
import java.awt.event.*;
public class TerminalesPanel extends JPanel{
/**
*
*/
private static final long serialVersionUID = 7655462092194141627L;
private JPanel jpPanlePrincipal=new JPanel();
private ImageComboBox cmbImageComboTerminales=new ImageComboBox();
JLabel jlblEsTerminalLaboratorio=new javax.swing.JLabel("");
public TerminalesPanel(){
super();
init();
}
private void init(){
setLayout(new BorderLayout());
initProductsPane();
JPanel pn=new JPanel();
pn.setLayout(new java.awt.GridBagLayout());
java.awt.GridBagConstraints gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 0;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
pn.add(jpPanlePrincipal, gridBagConstraints);
gridBagConstraints.gridx = 1;
add(pn, java.awt.BorderLayout.CENTER);
cmbImageComboTerminales.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent evt){
//System.out.println();
TerminalSanitario p=(TerminalSanitario)cmbImageComboTerminales.getSelectedItem();
showTerminalSanitario(p);
}
});
}
private void showTerminalSanitario(TerminalSanitario p){
if(p!=null){
getCmbImageComboTerminales().setSelectedItem(p);
String sTVA=((p.isTVA())?"Si":"No");
jlblEsTerminalLaboratorio.setText(sTVA);
}
}
private void initProductsPane(){
jpPanlePrincipal.setLayout(new java.awt.GridBagLayout());
jpPanlePrincipal.setBorder(new javax.swing.border.TitledBorder("Terminales Sanitarios"));
java.awt.GridBagConstraints gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 1;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
gridBagConstraints.gridwidth = 1;
gridBagConstraints.gridy++;
JLabel label=new javax.swing.JLabel("Numero Terminal:");
jpPanlePrincipal.add(label, gridBagConstraints);
gridBagConstraints.gridx++;
jpPanlePrincipal.add(cmbImageComboTerminales, gridBagConstraints);
gridBagConstraints.gridy++;
gridBagConstraints.gridx=0;
label=new javax.swing.JLabel("Terminal Laboratorio:");
jpPanlePrincipal.add(label, gridBagConstraints);
gridBagConstraints.gridx++;
jpPanlePrincipal.add(jlblEsTerminalLaboratorio, gridBagConstraints);
}
public void update(){
//if(cmbImageComboTerminales)
cmbImageComboTerminales.removeAllItems();
TerminalSanitarioBean b=new TerminalSanitarioBean();
Vector v=b.getTerminalesSanitarios();
for(int i=0;i<v.size();i++){
TerminalSanitario p=(TerminalSanitario)v.elementAt(i);
cmbImageComboTerminales.addItem(p);
}
}
public void tabOn(){
SwingUtilities.invokeLater(new Runnable() {
public void run() {
update();
}
});
}
public void tabOff(){}
/**
* @return
*/
public ImageComboBox getCmbImageComboTerminales() {
return cmbImageComboTerminales;
}
}
@@ -0,0 +1,141 @@
package com.tarisan.chipcard.tpvvs.webservicetrayicon;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
/**
* @author jjrider
*/
public class ToolbarFrame extends JFrame implements ActionListener{
private JButton btnToolbarAutorizaciones=null;
private JButton btnToolbarAnulaciones=null;
private JButton btnToolbarAltaViajeros=null;
private JButton btnToolbarBajaViajeros=null;
private JButton btnToolbarConsultaViajeros=null;
private JButton btnToolbarConfiguracion=null;
private JButton btnToolbarHelp=null;
protected JPopupMenu jpopupConfiguration=null;
protected JPopupMenu jpopupAyuda=null;
public static final Image iconoFrameToolbar=WebServiceTrayIcon.loadImage("Barra_herramientas_16.gif");
public ToolbarFrame(){
super("Barra Herramientas");
//setUndecorated(true);
Dimension d=getPreferredSize();
addButtons();
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
WindowListener l = new WindowAdapter() {
public void windowClosing(WindowEvent e)
{
//setState ( Frame.ICONIFIED );
setVisible(false);
WebServiceTrayIcon.showInfoBalloon("TVS Web Service Tray Icon sigue iniciado");
}
};
addWindowListener(l);
setIconImage(iconoFrameToolbar);
validate();
Dimension d2=getContentPane().getPreferredSize();
d.setSize(1.2*Math.max(d.getWidth(),d2.getWidth()),1.3*(d.getHeight()+d2.getHeight()));
setSize(d);
setVisible(false);
}
private void addButtons(){
getContentPane().setLayout(new GridBagLayout());
int columna=0;
int fila=0;
getContentPane().add(getButtonToolbarAutorizaciones(), new java.awt.GridBagConstraints(columna,fila,1,1,1.0,1.0,java.awt.GridBagConstraints.WEST,java.awt.GridBagConstraints.BOTH,new Insets(0,0,0,0),0,0));
columna++;
getContentPane().add(getButtonToolbarAnulaciones(), new java.awt.GridBagConstraints(columna,fila,1,1,1.0,1.0,java.awt.GridBagConstraints.WEST,java.awt.GridBagConstraints.BOTH,new Insets(0,0,0,0),0,0));
columna++;
getContentPane().add(getButtonToolbarConfiguracion(), new java.awt.GridBagConstraints(columna,fila,1,1,1.0,1.0,java.awt.GridBagConstraints.WEST,java.awt.GridBagConstraints.BOTH,new Insets(0,0,0,0),0,0));
columna++;
getContentPane().add(getButtonToolbarHelp(), new java.awt.GridBagConstraints(columna,fila,1,1,1.0,1.0,java.awt.GridBagConstraints.WEST,java.awt.GridBagConstraints.BOTH,new Insets(0,0,0,0),0,0));
}
public void updateUI(){
jpopupConfiguration=null;
}
public void actionPerformed(ActionEvent evt) {
if (evt.getActionCommand().equals("ToolbarAutorizaciones")) {
AutorizacionesFrame objFr=new AutorizacionesFrame();
} else if (evt.getActionCommand().equals("ToolbarAnulaciones")) {
AnulacionesFrame objFr=new AnulacionesFrame();
}else{
if(jpopupConfiguration==null){
jpopupConfiguration=new JPopupMenu();
jpopupConfiguration.add(WebServiceTrayIcon.getInstance().createConfigurationMenu());
}
jpopupConfiguration.show(getButtonToolbarConfiguracion(),0,0);
}
}
private JButton getButtonToolbarAnulaciones(){
if(btnToolbarAnulaciones==null){
btnToolbarAnulaciones=new JButton("Anulaciones",new ImageIcon(WebServiceTrayIcon.loadImage("ToolBarAutorizaciones.gif")));
btnToolbarAnulaciones.setActionCommand("ToolbarAnulaciones");
btnToolbarAnulaciones.setVerticalTextPosition(SwingConstants.BOTTOM);
btnToolbarAnulaciones.setHorizontalTextPosition(SwingConstants.CENTER);
btnToolbarAnulaciones.setToolTipText("Anulaciones a ChipCard");
btnToolbarAnulaciones.addActionListener(this);
}
return btnToolbarAnulaciones;
}
private JButton getButtonToolbarAutorizaciones(){
if(btnToolbarAutorizaciones==null){
btnToolbarAutorizaciones=new JButton("Autorizaciones",new ImageIcon(WebServiceTrayIcon.loadImage("ToolBarAutorizaciones.gif")));
btnToolbarAutorizaciones.setActionCommand("ToolbarAutorizaciones");
btnToolbarAutorizaciones.setVerticalTextPosition(SwingConstants.BOTTOM);
btnToolbarAutorizaciones.setHorizontalTextPosition(SwingConstants.CENTER);
btnToolbarAutorizaciones.setToolTipText("Autorizaciones a ChipCard");
btnToolbarAutorizaciones.addActionListener(this);
}
return btnToolbarAutorizaciones;
}
private JButton getButtonToolbarConfiguracion(){
if(btnToolbarConfiguracion==null){
btnToolbarConfiguracion=new JButton("Configuración",new ImageIcon(WebServiceTrayIcon.loadImage("ToolBarConfiguracion.gif")));
btnToolbarConfiguracion.setToolTipText("Configuración");
btnToolbarConfiguracion.setVerticalTextPosition(SwingConstants.BOTTOM);
btnToolbarConfiguracion.setHorizontalTextPosition(SwingConstants.CENTER);
btnToolbarConfiguracion.setActionCommand("Configuracion");
btnToolbarConfiguracion.addActionListener(this);
//btnToolbarConfiguracion.setP
}
return btnToolbarConfiguracion;
}
private JButton getButtonToolbarHelp(){
if(btnToolbarHelp==null){
btnToolbarHelp=new JButton("Ayuda",new ImageIcon(WebServiceTrayIcon.loadImage("Ayuda.gif")));
btnToolbarHelp.setToolTipText("Ayuda");
btnToolbarHelp.setVerticalTextPosition(SwingConstants.BOTTOM);
btnToolbarHelp.setHorizontalTextPosition(SwingConstants.CENTER);
btnToolbarHelp.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent evt) {
if(jpopupAyuda==null){
jpopupAyuda=new JPopupMenu();
//jpopupAyuda.add(WebServiceTrayIcon.getInstance().createHelpMenu());
}
jpopupAyuda.show(getButtonToolbarHelp(),0,0);
}
});
}
return btnToolbarHelp;
}
public static void main(String[] args) {
}
}
@@ -0,0 +1,87 @@
package com.tarisan.chipcard.tpvvs.webservicetrayicon;
import java.awt.BorderLayout;
import javax.swing.*;
import com.tarisan.chipcard.gui.*;
import java.awt.event.*;
/**
* @author jjrider
*
* Para cambiar la plantilla para este comentario de tipo generado vaya a
* Ventana&gt;Preferencias&gt;Java&gt;Generación de código&gt;Código y comentarios
*/
public class UsuariosTVSFrame extends JFrame{
private UsuariosTVSPanel jpPanel=new UsuariosTVSPanel();
private JButton btnAceptar=null;
private JButton btnEliminar=null;
public UsuariosTVSFrame(){
setTitle("Usuarios TVS");
init();
}
private void init(){
getContentPane().setLayout(new BorderLayout());
JPanel pn=new JPanel();
pn.setLayout(new java.awt.GridBagLayout());
java.awt.GridBagConstraints gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 0;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
pn.add(jpPanel, gridBagConstraints);
gridBagConstraints.gridx = 1;
gridBagConstraints.gridy ++;
gridBagConstraints.gridx=0;
JPanel jpButtons=new JPanel();
jpButtons.setLayout(new java.awt.FlowLayout());
jpButtons.add(getButtonAceptar());
jpButtons.add(getButtonEliminar());
pn.add(jpButtons,gridBagConstraints);
getContentPane().add(pn, java.awt.BorderLayout.CENTER);
pack();
show();
UtilGUI.centerOnScreen(this);
jpPanel.update();
}
private JButton getButtonAceptar(){
if(btnAceptar==null){
btnAceptar=new JButton();
btnAceptar.setText("Aceptar");
btnAceptar.setIcon(new ImageIcon(WebServiceTrayIcon.loadImage("aceptar32.gif")));
btnAceptar.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent evt){
setVisible(false);
dispose();
}
});
}
return btnAceptar;
}
private JButton getButtonEliminar(){
if(btnEliminar==null){
btnEliminar=new JButton();
btnEliminar.setText("Eliminar Usuario");
btnEliminar.setIcon(new ImageIcon(WebServiceTrayIcon.loadImage("cancelar32.gif")));
btnEliminar.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent evt){
setVisible(false);
dispose();
}
}
);
}
return btnEliminar;
}
}
@@ -0,0 +1,126 @@
package com.tarisan.chipcard.tpvvs.webservicetrayicon;
import java.awt.BorderLayout;
import javax.swing.*;
import com.tarisan.chipcard.gui.*;
import java.util.*;
import com.tarisan.chipcard.tpvvs.webservicetrayicon.accesodatos.*;
import java.awt.event.*;
public class UsuariosTVSPanel extends JPanel{
private JPanel jpPanlePrincipal=new JPanel();
private ImageComboBox cmbImageComboUsuarios=new ImageComboBox();
private JLabel jlblNumeroTerminal=new javax.swing.JLabel("");
public UsuariosTVSPanel(){
super();
init();
}
private void init(){
setLayout(new BorderLayout());
initPane();
JPanel pn=new JPanel();
pn.setLayout(new java.awt.GridBagLayout());
java.awt.GridBagConstraints gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 0;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
pn.add(jpPanlePrincipal, gridBagConstraints);
gridBagConstraints.gridx = 1;
add(pn, java.awt.BorderLayout.CENTER);
getComboUsuarios().addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent evt){
//System.out.println();
UsuarioTVS p=(UsuarioTVS)getComboUsuarios().getSelectedItem();
showUsuarioTVS(p);
}
});
}
private void showUsuarioTVS(UsuarioTVS p){
if(p!=null){
getComboUsuarios().setSelectedItem(p);
getJlblNumeroTerminal().setText(String.valueOf(p.getTerminal().getNumeroTerminal()));
}
}
private void initPane(){
jpPanlePrincipal.setLayout(new java.awt.GridBagLayout());
jpPanlePrincipal.setBorder(new javax.swing.border.TitledBorder("Usuarios TVS"));
java.awt.GridBagConstraints gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 1;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
gridBagConstraints.gridwidth = 1;
gridBagConstraints.gridy++;
JLabel label=new javax.swing.JLabel("Login:");
jpPanlePrincipal.add(label, gridBagConstraints);
gridBagConstraints.gridx++;
jpPanlePrincipal.add(getComboUsuarios(), gridBagConstraints);
gridBagConstraints.gridy++;
gridBagConstraints.gridx=0;
label=new javax.swing.JLabel("Numero Terminal:");
jpPanlePrincipal.add(label, gridBagConstraints);
gridBagConstraints.gridx++;
jpPanlePrincipal.add(getJlblNumeroTerminal(), gridBagConstraints);
showOn();
}
public void update(){
//if(getComboUsuarios())
getComboUsuarios().removeAllItems();
UsuarioTVSBean b=new UsuarioTVSBean();
Vector v=b.getUsuariosTVS();
for(int i=0;i<v.size();i++){
UsuarioTVS p=(UsuarioTVS)v.elementAt(i);
getComboUsuarios().addItem(p);
}
}
public void showOn(){
SwingUtilities.invokeLater(new Runnable() {
public void run() {
update();
}
});
}
public void showOff(){}
/**
* @return
*/
public ImageComboBox getComboUsuarios() {
return cmbImageComboUsuarios;
}
/**
* @return
*/
public JLabel getJlblNumeroTerminal() {
return jlblNumeroTerminal;
}
}
@@ -0,0 +1,25 @@
package com.tarisan.chipcard.tpvvs.webservicetrayicon;
import javax.swing.ImageIcon;
/**
*
* @author jjrider
*/
public interface WSTRConstantes {
public static final ImageIcon defaultUserIcon=new ImageIcon(WebServiceTrayIcon.loadImage("Usuarios32.gif"));
public static final String TIPO_OP_SOLO_TARJETA="SOLO TARJETA";
public static final String TIPO_OP_DOC_UNICO="DOCUMENTO UNICO";
public static final String TIPO_OP_VOL_MEDICO="VOLANTE MEDICO";
public static final String TIPO_OP_VOL_CLINICO="VOLANTE CLINICO";
public static final String TIPO_OP_SOLO_TARJETA_REDUC="ST";
public static final String TIPO_OP_DOC_UNICO_REDUC="DU";
public static final String TIPO_OP_VOL_MEDICO_REDUC="VM";
public static final String TIPO_OP_VOL_CLINICO_REDUC="VC";
public static final String OP_RESPONSE_AUTORIZADA="AUTORIZADA";
public static final String OP_RESPONSE_ERROR="ERROR";
public static final String OP_RESPONSE_DENEGADA="DENEGADA";
public static final String OP_RESPONSE_ANULADA="ANULADA";
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,137 @@
package com.tarisan.chipcard.tpvvs.webservicetrayicon.accesodatos;
public class ActoMedico {
private CompaniaSanitaria objComp=null;
private int nCodigoTerminal=-1;
private int nCodigoCompania=-1;
private int nCodigoEspecialidad=-1;
private String sCodigoProf=null;
private int nCodigoLActos=-1;
private int nCodigoActo=-1;
private String sNombreActo=null;
/**
* @return
*/
public int getCodigoActo() {
return nCodigoActo;
}
/**
* @return
*/
public CompaniaSanitaria getComp() {
return objComp;
}
/**
* @return
*/
public String getNombreActo() {
return sNombreActo;
}
/**
* @param i
*/
public void setCodigoActo(int i) {
nCodigoActo = i;
}
/**
* @param sanitaria
*/
public void setComp(CompaniaSanitaria sanitaria) {
objComp = sanitaria;
}
/**
* @param string
*/
public void setNombreActo(String string) {
sNombreActo = string;
}
/**
* @return
*/
public int getCodigoCompania() {
return nCodigoCompania;
}
/**
* @return
*/
public int getCodigoEspecialidad() {
return nCodigoEspecialidad;
}
/**
* @return
*/
public int getCodigoLActos() {
return nCodigoLActos;
}
/**
* @return
*/
public String getCodigoProf() {
return sCodigoProf;
}
/**
* @param i
*/
public void setCodigoCompania(int i) {
nCodigoCompania = i;
}
/**
* @param i
*/
public void setCodigoEspecialidad(int i) {
nCodigoEspecialidad = i;
}
/**
* @param i
*/
public void setCodigoLActos(int i) {
nCodigoLActos = i;
}
/**
* @param string
*/
public void setCodigoProf(String string) {
sCodigoProf = string;
}
/**
* @return
*/
public int getCodigoTerminal() {
return nCodigoTerminal;
}
/**
* @param i
*/
public void setCodigoTerminal(int i) {
nCodigoTerminal = i;
}
public String toString(){
return getCodigoActo()+" - "+getNombreActo();
}
public String toXML(){
return "<acto>"+getCodigoActo()+"</acto>";
}
}
@@ -0,0 +1,154 @@
package com.tarisan.chipcard.tpvvs.webservicetrayicon.accesodatos;
import java.util.Vector;
import es.chipcard.util.*;
public class ActoMedicoBean extends ClsDBBase{
public static final String TABLENAME="ACTO_MEDICO";
public ActoMedicoBean(){
if(!tableExistLocally()){
createLocalTable();
}
}
public String getTableName(){
return TABLENAME;
}
public java.util.Vector getListaActos(){
String sSQL="SELECT * FROM "+TABLENAME;
return getActosMedicos(sSQL);
}
public Vector getActosMedicosOf(int nTer,int nComp,int nEspe,String sProf,int codLA){
String sSQL="SELECT * FROM "+TABLENAME+" WHERE ID_TER="+DataBaseUtil.FormatSQLIntegerField(nTer)+" AND ID_PROF="+DataBaseUtil.FormatSQLStringField(sProf)+" AND ID_COMP="+DataBaseUtil.FormatSQLIntegerField(nComp)+" AND ID_ESPE="+DataBaseUtil.FormatSQLIntegerField(nEspe)+" AND ID_LACTOS="+DataBaseUtil.FormatSQLIntegerField(codLA);
return getActosMedicos(sSQL);
}
public ActoMedico getActoMedicoByCompAndEspeAndIDLActosAndIDActo(int nIDComp,int nIDEspe, int lactos, int nActo){
String sSQL="SELECT * FROM "+TABLENAME+" WHERE ID_ESPE="+nIDEspe+" AND ID_COMP="+nIDComp+" AND ID_LACTOS="+lactos+" AND ID_ACTO="+nActo+"";
Vector vActos=getActosMedicos(sSQL);
if(vActos!=null){
if(vActos.size()>0){
return (ActoMedico)vActos.firstElement();
}
}
return null;
}
public Vector getActosMedicosByTerminalAndProfesional(int nTer,String sProf){
String sSQL="SELECT * FROM "+TABLENAME+" WHERE ID_TER="+DataBaseUtil.FormatSQLIntegerField(nTer)+" AND ID_PROF="+DataBaseUtil.FormatSQLStringField(sProf);
return getActosMedicos(sSQL);
}
public Vector getProfesionales(int nTer){
String sSQL="SELECT * FROM "+TABLENAME+" WHERE ID_TER="+DataBaseUtil.FormatSQLIntegerField(nTer);
return getActosMedicos(sSQL);
}
public Vector getActosMedicosByTerminal(int nTer){
String sSQL="SELECT * FROM "+TABLENAME+" WHERE ID_TER="+DataBaseUtil.FormatSQLIntegerField(nTer);
return getActosMedicos(sSQL);
}
public Vector getActosMedicosByProf(String sProf){
String sSQL="SELECT * FROM "+TABLENAME+" WHERE ID_PROF="+DataBaseUtil.FormatSQLStringField(sProf);
return getActosMedicos(sSQL);
}
private java.util.Vector getActosMedicos(String sSQL){
java.util.Vector v=new java.util.Vector();
java.sql.ResultSet rs=null;
if(rs==null){
rs=LocalDatabaseControl.getInstance().getQuery(sSQL);
}
if(rs!=null){
try{
while(rs.next()){
v.addElement(getActoMedico(rs));
}
}catch(Exception err){
SerClsDebug.aLog(err);
}
}
return v;
}
private ActoMedico getActoMedico(java.sql.ResultSet rs){
ActoMedico obj=new ActoMedico();
try{
obj.setCodigoTerminal(rs.getInt("ID_TER"));
obj.setCodigoCompania(rs.getInt("ID_COMP"));
obj.setCodigoEspecialidad(rs.getInt("ID_ESPE"));
obj.setCodigoProf(rs.getString("ID_PROF"));
obj.setCodigoLActos(rs.getInt("ID_LACTOS"));
obj.setCodigoActo(rs.getInt("ID_ACTO"));
obj.setNombreActo(rs.getString("NOMBRE_ACTO"));
}catch(Exception err){
SerClsDebug.aLog(err);
}
return obj;
}
private void repoblateTable(){
}
public int insertInLocal(ActoMedico objActoMedico){
return insertInLocal(objActoMedico.getCodigoTerminal(),objActoMedico.getCodigoCompania(),objActoMedico.getCodigoEspecialidad(),objActoMedico.getCodigoProf(),objActoMedico.getCodigoLActos() ,objActoMedico.getCodigoActo(),objActoMedico.getNombreActo());
}
private int insertInLocal(int nIdTer,int sCodComp,int sCodEspe,String sCodProf,int nCodLActos,int nActo,String sNombre){
int nRetorno=-1;
try{
if(nIdTer>0 && sCodComp>0 && sCodEspe>0 && sCodProf!=null && nCodLActos>0 && nActo>0){
String sSQL="INSERT INTO "+TABLENAME+"(" +
"ID_TER," +
"ID_COMP," +
"ID_ESPE," +
"ID_PROF," +
"ID_LACTOS," +
"ID_ACTO," +
"NOMBRE_ACTO" +
") "+
"VALUES (" +
DataBaseUtil.FormatSQLIntegerField(nIdTer)+","+
DataBaseUtil.FormatSQLIntegerField(sCodComp)+","+
DataBaseUtil.FormatSQLIntegerField(sCodEspe)+","+
DataBaseUtil.FormatSQLStringField(sCodProf) +","+
DataBaseUtil.FormatSQLIntegerField(nCodLActos)+","+
DataBaseUtil.FormatSQLIntegerField(nActo)+","+
DataBaseUtil.FormatSQLStringField(sNombre) +
")";
nRetorno=LocalDatabaseControl.getInstance().executeUpdate(sSQL);
}
}catch(Exception err){SerClsDebug.aLog(err);}
return nRetorno;
}
protected int createLocalTable(){
int nRetorno= LocalDatabaseControl.getInstance().executeUpdate(
"CREATE TABLE \""+TABLENAME+"\" (" +
"\"ID_TER\" int NOT NULL," +
"\"ID_COMP\" int NOT NULL," +
"\"ID_ESPE\" int NOT NULL," +
"\"ID_PROF\" VARCHAR(12) NOT NULL," +
"\"ID_LACTOS\" int NOT NULL," +
"\"ID_ACTO\" int NOT NULL," +
"\"NOMBRE_ACTO\" VARCHAR(100) NOT NULL," +
" PRIMARY KEY (ID_TER, ID_COMP,ID_ESPE,ID_PROF,ID_LACTOS,ID_ACTO)"+
")"
);
repoblateTable();
return nRetorno;
}
}
@@ -0,0 +1,329 @@
package com.tarisan.chipcard.tpvvs.webservicetrayicon.accesodatos;
import com.tarisan.chipcard.tpvvs.webservicetrayicon.*;
/**
* Representa una Autorizacion del Sistema
* @author jjrider
*/
public class Autorizacion {
private String TIPOOPERACION=null;
private int ID_TER=-1;
private String ID_TIMESTAMP=null;
private String ESTADO=null;
private String DESCRIPCION=null;
private String FECHA_OP=null;
private int ID_COMP=-1;
private int ID_ESPE=-1;
private String ID_PROF=null;
private int ID_LACTOS=-1;
private int ID_ACTO1=-1;
private int ID_ACTO2=-1;
private int ID_ACTO3=-1;
private String DU=null;
private String VOL=null;
private String FECHAHORAAUT=null;
private String NUMREF=null;
private String NUMFACTURA=null;
private String URLBOLETA=null;
private Paciente objPaciente=null;
public boolean estaAutorizada(){
return WSTRConstantes.OP_RESPONSE_AUTORIZADA.equals(getESTADO());
}
public boolean estaDenegada(){
return WSTRConstantes.OP_RESPONSE_DENEGADA.equals(getESTADO());
}
public boolean esError(){
return WSTRConstantes.OP_RESPONSE_ERROR.equals(getESTADO());
}
public boolean estaAnulada(){
return WSTRConstantes.OP_RESPONSE_ANULADA.equals(getESTADO());
}
/**
* @return
*/
public String getDU() {
return DU;
}
/**
* @return
*/
public String getESTADO() {
return ESTADO;
}
/**
* @return
*/
public String getFECHA_OP() {
return FECHA_OP;
}
/**
* @return
*/
public String getFECHAHORAAUT() {
return FECHAHORAAUT;
}
/**
* @return
*/
public int getID_ACTO1() {
return ID_ACTO1;
}
/**
* @return
*/
public int getID_ACTO2() {
return ID_ACTO2;
}
/**
* @return
*/
public int getID_ACTO3() {
return ID_ACTO3;
}
/**
* @return
*/
public int getID_COMP() {
return ID_COMP;
}
/**
* @return
*/
public int getID_ESPE() {
return ID_ESPE;
}
/**
* @return
*/
public int getID_LACTOS() {
return ID_LACTOS;
}
/**
* @return
*/
public String getID_PROF() {
return ID_PROF;
}
/**
* @return
*/
public int getID_TER() {
return ID_TER;
}
/**
* @return
*/
public String getID_TIMESTAMP() {
return ID_TIMESTAMP;
}
/**
* @return
*/
public String getNUMFACTURA() {
return NUMFACTURA;
}
/**
* @return
*/
public String getNUMREF() {
return NUMREF;
}
/**
* @return
*/
public String getURLBOLETA() {
return URLBOLETA;
}
/**
* @return
*/
public String getVOL() {
return VOL;
}
/**
* @param string
*/
public void setDU(String string) {
DU = string;
}
/**
* @param string
*/
public void setESTADO(String string) {
ESTADO = string;
}
/**
* @param string
*/
public void setFECHA_OP(String string) {
FECHA_OP = string;
}
/**
* @param string
*/
public void setFECHAHORAAUT(String string) {
FECHAHORAAUT = string;
}
/**
* @param i
*/
public void setID_ACTO1(int i) {
ID_ACTO1 = i;
}
/**
* @param i
*/
public void setID_ACTO2(int i) {
ID_ACTO2 = i;
}
/**
* @param i
*/
public void setID_ACTO3(int i) {
ID_ACTO3 = i;
}
/**
* @param i
*/
public void setID_COMP(int i) {
ID_COMP = i;
}
/**
* @param i
*/
public void setID_ESPE(int i) {
ID_ESPE = i;
}
/**
* @param i
*/
public void setID_LACTOS(int i) {
ID_LACTOS = i;
}
/**
* @param string
*/
public void setID_PROF(String string) {
ID_PROF = string;
}
/**
* @param i
*/
public void setID_TER(int i) {
ID_TER = i;
}
/**
* @param string
*/
public void setID_TIMESTAMP(String string) {
ID_TIMESTAMP = string;
}
/**
* @param string
*/
public void setNUMFACTURA(String string) {
NUMFACTURA = string;
}
/**
* @param string
*/
public void setNUMREF(String string) {
NUMREF = string;
}
/**
* @param string
*/
public void setURLBOLETA(String string) {
URLBOLETA = string;
}
/**
* @param string
*/
public void setVOL(String string) {
VOL = string;
}
/**
* @return
*/
public Paciente getPaciente() {
return objPaciente;
}
/**
* @param paciente
*/
public void setPaciente(Paciente paciente) {
objPaciente = paciente;
}
/**
* @return
*/
public String getDESCRIPCION() {
return DESCRIPCION;
}
/**
* @return
*/
public String getTIPOOPERACION() {
return TIPOOPERACION;
}
/**
* @param string
*/
public void setDESCRIPCION(String string) {
DESCRIPCION = string;
}
/**
* @param string
*/
public void setTIPOOPERACION(String string) {
TIPOOPERACION = string;
}
}
@@ -0,0 +1,352 @@
package com.tarisan.chipcard.tpvvs.webservicetrayicon.accesodatos;
import java.util.*;
import es.chipcard.util.*;
public class AutorizacionesBean extends ClsDBBase{
public static final String TABLENAME="AUTORIZACIONES";
public AutorizacionesBean(){
if(!tableExistLocally()){
createLocalTable();
}
}
public String getTableName(){
return TABLENAME;
}
public ArrayList getAutorizacionesAsArrayList(){
String sSQL="SELECT * FROM "+TABLENAME;
return getAutorizacionesAsArrayList(sSQL);
}
public ArrayList getAutorizacionesAsArrayListByTerminal(int nTerminal){
String sSQL="SELECT * FROM "+TABLENAME+
" WHERE"+
" ID_TER="+DataBaseUtil.FormatSQLIntegerField(nTerminal);
return getAutorizacionesAsArrayList(sSQL);
}
public ArrayList getAutorizacionesAsArrayListByTerminalAndEstado(int nTerminal,String sEstado){
String sSQL="SELECT * FROM "+TABLENAME+
" WHERE"+
" ID_TER="+DataBaseUtil.FormatSQLIntegerField(nTerminal)+
" AND ESTADO="+DataBaseUtil.FormatSQLStringField(sEstado);;
return getAutorizacionesAsArrayList(sSQL);
}
public ArrayList getAutorizacionesAsArrayList(String sSQL){
ArrayList lista=new ArrayList();
java.sql.ResultSet rs=null;
sSQL=sSQL+" ORDER BY FECHA_OP DESC";
if(rs==null){
rs=LocalDatabaseControl.getInstance().getQuery(sSQL);
}
if(rs!=null){
try{
String sArrCampos[]=null;
int nNumColumnas=rs.getMetaData().getColumnCount();
if(sArrCampos==null){
sArrCampos=new String[nNumColumnas];
for(int i=0;i<nNumColumnas;i++){
sArrCampos[i]=rs.getMetaData().getColumnLabel(i+1);
}
lista.add(sArrCampos);
}
while(rs.next()){
String sArr[]=new String[nNumColumnas];
for(int i=0;i<nNumColumnas;i++){
sArr[i]=rs.getString(i+1);
}
lista.add(sArr);
}
}catch(Exception err){
SerClsDebug.aLog(err);
}
}
return lista;
}
/****
* Devuelve una Autorizacion en base a su identificador único
* @param nIdTer
* @param sTimestamp
* @return
*/
public Autorizacion getAutorizacionByID(int nIdTer,String sTimestamp){
Autorizacion objAutorizacion=null;
try{
if(nIdTer>0 && sTimestamp!=null){
String sSQL="SELECT * FROM "+TABLENAME+
" WHERE"+
" ID_TER="+DataBaseUtil.FormatSQLIntegerField(nIdTer)+" AND "+
" ID_TIMESTAMP="+DataBaseUtil.FormatSQLStringField(sTimestamp) ;
Vector vAuts=getAutorizaciones(sSQL);
objAutorizacion=(Autorizacion)vAuts.firstElement();
}
}catch(Exception err){SerClsDebug.aLog(err);}
return objAutorizacion;
}
/***
* Devuelve todas las Autorizacioens realizadas por un Terminal
* @param nIdTer
* @return
*/
public Vector getAutorizacionesByTerminal(int nIdTer){
Vector v=new Vector();;
try{
if(nIdTer>0){
String sSQL="SELECT * FROM "+TABLENAME+
" WHERE"+
" ID_TER="+DataBaseUtil.FormatSQLIntegerField(nIdTer);
v=getAutorizaciones(sSQL);
}
}catch(Exception err){SerClsDebug.aLog(err);}
return v;
}
/***
* Devuelve todas las Autorizacioens realizadas por un Terminal
* @param nIdTer
* @return
*/
public Vector getAutorizacionesAutorizadasByTerminal(int nIdTer){
Vector v=new Vector();;
try{
if(nIdTer>0){
String sSQL="SELECT * FROM "+TABLENAME+
" WHERE"+
" ID_TER="+DataBaseUtil.FormatSQLIntegerField(nIdTer)+
" AND ESTADO="+DataBaseUtil.FormatSQLStringField(com.tarisan.chipcard.tpvvs.webservicetrayicon.WSTRConstantes.OP_RESPONSE_AUTORIZADA);
v=getAutorizaciones(sSQL);
}
}catch(Exception err){SerClsDebug.aLog(err);}
return v;
}
private java.util.Vector getAutorizaciones(String sSQL){
java.util.Vector v=new java.util.Vector();
java.sql.ResultSet rs=null;
if(rs==null){
rs=LocalDatabaseControl.getInstance().getQuery(sSQL);
}
if(rs!=null){
try{
while(rs.next()){
v.addElement(getAutorizacion(rs));
}
}catch(Exception err){
SerClsDebug.aLog(err);
}
}
return v;
}
private Autorizacion getAutorizacion(java.sql.ResultSet rs){
Autorizacion obj=new Autorizacion();
try{
obj.setID_TER(rs.getInt("ID_TER"));
obj.setID_TIMESTAMP(rs.getString("ID_TIMESTAMP"));
obj.setESTADO(rs.getString("ESTADO"));
Paciente paciente=new Paciente();
paciente.setTarjeta(rs.getString("TARJETA"));
paciente.setFAlta(rs.getString("FALTA_TAR"));
paciente.setFBaja(rs.getString("FBAJA_TAR"));
paciente.setCobertura(rs.getString("COBERTURA_TAR"));
paciente.setVersion(rs.getString("VERSION_TAR"));
obj.setPaciente(paciente);
obj.setFECHA_OP(rs.getString("FECHA_OP"));
obj.setID_COMP(rs.getInt("ID_COMP"));
obj.setID_ESPE(rs.getInt("ID_ESPE"));
obj.setID_PROF(rs.getString("ID_PROF"));
obj.setID_LACTOS(rs.getInt("ID_LACTOS"));
obj.setID_ACTO1(rs.getInt("ID_ACTO1"));
obj.setID_ACTO2(rs.getInt("ID_ACTO2"));
obj.setID_ACTO3(rs.getInt("ID_ACTO3"));
obj.setDU(rs.getString("DU"));
obj.setVOL(rs.getString("VOL"));
obj.setFECHAHORAAUT(rs.getString("FECHAHORAAUT"));
obj.setNUMREF(rs.getString("NUMREF"));
obj.setNUMFACTURA(rs.getString("NUMFACTURA"));
obj.setURLBOLETA(rs.getString("URLBOLETA"));
obj.setNUMFACTURA(rs.getString("NUMFACTURA"));
Paciente pac=new Paciente();
pac.setTarjeta(rs.getString("TARJETA"));
pac.setFAlta(rs.getString("FALTA_TAR"));
pac.setFBaja(rs.getString("FBAJA_TAR"));
pac.setCobertura(rs.getString("COBERTURA_TAR"));
pac.setVersion(rs.getString("VERSION_TAR"));
obj.setPaciente(pac);
}catch(Exception err){
SerClsDebug.aLog(err);
}
return obj;
}
private void repoblateTable(){
}
public int insertInLocal(Autorizacion aut){
String sTarjeta=null,sFAltaTarjeta=null,sFBajaTarjeta=null,sCobTarjeta=null,sVerTarjeta=null;
if(aut.getPaciente()!=null){
sTarjeta=aut.getPaciente().getTarjeta();
sFAltaTarjeta=aut.getPaciente().getFAlta();
sFBajaTarjeta=aut.getPaciente().getFBaja();
sCobTarjeta=aut.getPaciente().getCobertura();
sVerTarjeta=aut.getPaciente().getVersion();
}
return insertInLocal(aut.getID_TER(),aut.getID_TIMESTAMP(),aut.getTIPOOPERACION(),aut.getESTADO(),aut.getDESCRIPCION(),sTarjeta,sFAltaTarjeta,sFBajaTarjeta,sCobTarjeta,sVerTarjeta,aut.getID_COMP(),aut.getID_ESPE(),aut.getID_PROF(),aut.getID_LACTOS(),aut.getID_ACTO1(),aut.getID_ACTO2(),aut.getID_ACTO3(),aut.getDU(),aut.getVOL(),aut.getFECHAHORAAUT(),aut.getNUMREF(),aut.getNUMFACTURA(),aut.getURLBOLETA());
}
private int insertInLocal(int nIdTer,String sTimestamp,String sTipoAut,String sEstado,String sDesc,String sTarjeta,String sFAltaTarjeta,String sFBajaTarjeta,String sCobTarjeta,String sVerTarjeta,int sCodComp,int sCodEspe,String sCodProf,int nCodLActos,int nActo1,int nActo2,int nActo3,String sDU,String sVol,String sFechaHoraAut,String sNumRef,String sNumFactura,String sURLBoleta){
int nRetorno=-1;
try{
if(nIdTer>0 && sTimestamp!=null){
String sSQL="INSERT INTO "+TABLENAME+"(" +
"ID_TER," +
"ID_TIMESTAMP," +
"AUTTYPE," +
"ESTADO," +
"DESCRIPCION," +
"FECHA_OP," +
"TARJETA," +
"FALTA_TAR," +
"FBAJA_TAR," +
"COBERTURA_TAR," +
"VERSION_TAR," +
"ID_COMP," +
"ID_ESPE," +
"ID_PROF," +
"ID_LACTOS," +
"ID_ACTO1," +
"ID_ACTO2," +
"ID_ACTO3," +
"DU," +
"VOL," +
"FECHAHORAAUT," +
"NUMREF," +
"NUMFACTURA," +
"URLBOLETA"+
") "+
"VALUES (" +
DataBaseUtil.FormatSQLIntegerField(nIdTer)+","+
DataBaseUtil.FormatSQLStringField(sTimestamp) +","+
DataBaseUtil.FormatSQLStringField(sTipoAut) +","+
DataBaseUtil.FormatSQLStringField(sEstado) +","+
DataBaseUtil.FormatSQLStringField(sDesc) +","+
"CURRENT_TIMESTAMP,"+
DataBaseUtil.FormatSQLStringField(sTarjeta) +","+
DataBaseUtil.FormatSQLStringField(sFAltaTarjeta) +","+
DataBaseUtil.FormatSQLStringField(sFBajaTarjeta) +","+
DataBaseUtil.FormatSQLStringField(sCobTarjeta) +","+
DataBaseUtil.FormatSQLStringField(sVerTarjeta) +","+
DataBaseUtil.FormatSQLIntegerField(sCodComp)+","+
DataBaseUtil.FormatSQLIntegerField(sCodEspe)+","+
DataBaseUtil.FormatSQLStringField(sCodProf) +","+
DataBaseUtil.FormatSQLIntegerField(nCodLActos)+","+
DataBaseUtil.FormatSQLIntegerField(nActo1)+","+
DataBaseUtil.FormatSQLIntegerField(nActo2)+","+
DataBaseUtil.FormatSQLIntegerField(nActo3)+","+
DataBaseUtil.FormatSQLStringField(sDU) +","+
DataBaseUtil.FormatSQLStringField(sVol) +","+
DataBaseUtil.FormatSQLStringField(sFechaHoraAut) +","+
DataBaseUtil.FormatSQLStringField(sNumRef) +","+
DataBaseUtil.FormatSQLStringField(sNumFactura) +","+
DataBaseUtil.FormatSQLStringField(sURLBoleta) +
")";
nRetorno=LocalDatabaseControl.getInstance().executeUpdate(sSQL);
}
}catch(Exception err){SerClsDebug.aLog(err);}
return nRetorno;
}
/****
* Actualiza en la BD Local una Autorizacion
* @param aut
* @return
*/
public int updateInLocal(Autorizacion aut){
return updateInLocal(aut.getID_TER(),aut.getID_TIMESTAMP(),aut.getESTADO(),aut.getDESCRIPCION());
}
/****
* @param nIdTer
* @param sTimestamp
* @param sEstado
* @param sDesc
* @return
*/
private int updateInLocal(int nIdTer,String sTimestamp,String sEstado,String sDesc){
int nRetorno=-1;
try{
if(nIdTer>0 && sTimestamp!=null){
String sSQL="UPDATE "+TABLENAME+" SET " +
"ESTADO=" + DataBaseUtil.FormatSQLStringField(sEstado)+
",DESCRIPCION="+ DataBaseUtil.FormatSQLStringField(sDesc)+
",FECHA_OP=CURRENT_TIMESTAMP " +
"WHERE "+
"ID_TER="+DataBaseUtil.FormatSQLIntegerField(nIdTer)+" AND "+
"ID_TIMESTAMP="+DataBaseUtil.FormatSQLStringField(sTimestamp) ;
nRetorno=LocalDatabaseControl.getInstance().executeUpdate(sSQL);
}
}catch(Exception err){SerClsDebug.aLog(err);}
return nRetorno;
}
protected int createLocalTable(){
int nRetorno= LocalDatabaseControl.getInstance().executeUpdate(
"CREATE TABLE \""+TABLENAME+"\" (" +
"\"ID_TER\" int NOT NULL," +
"\"ID_TIMESTAMP\" VARCHAR(26) NOT NULL," +
"\"AUTTYPE\" VARCHAR(2) NOT NULL," +
"\"ESTADO\" VARCHAR(26)," +
"\"DESCRIPCION\" VARCHAR(256) NOT NULL," +
"\"FECHA_OP\" TIMESTAMP NOT NULL," +
"\"TARJETA\" VARCHAR(28)," +
"\"FALTA_TAR\" VARCHAR(4)," +
"\"FBAJA_TAR\" VARCHAR(4)," +
"\"COBERTURA_TAR\" VARCHAR(4)," +
"\"VERSION_TAR\" VARCHAR(4)," +
"\"ID_COMP\" int," +
"\"ID_ESPE\" int," +
"\"ID_PROF\" VARCHAR(12)," +
"\"ID_LACTOS\" int," +
"\"ID_ACTO1\" int," +
"\"ID_ACTO2\" int," +
"\"ID_ACTO3\" int," +
"\"DU\" VARCHAR(18)," +
"\"VOL\" VARCHAR(18)," +
"\"FECHAHORAAUT\" VARCHAR(12)," +
"\"NUMREF\" VARCHAR(10)," +
"\"NUMFACTURA\" VARCHAR(16)," +
"\"URLBOLETA\" VARCHAR(512)," +
" PRIMARY KEY (ID_TER, ID_TIMESTAMP)"+
")"
);
//Creo indices
LocalDatabaseControl.getInstance().executeUpdate("CREATE INDEX FECHA_OPIndex ON "+TABLENAME+"(FECHA_OP)");
LocalDatabaseControl.getInstance().executeUpdate("CREATE INDEX ID_PROFIndex ON "+TABLENAME+"(ID_PROF)");
LocalDatabaseControl.getInstance().executeUpdate("CREATE INDEX TARJETAIndex ON "+TABLENAME+"(TARJETA)");
LocalDatabaseControl.getInstance().executeUpdate("CREATE INDEX TER_ESTADO_Index ON "+TABLENAME+"(ID_TER,ESTADO)");
repoblateTable();
return nRetorno;
}
public static void main(String args[]){
System.setProperty("configFiles","./conf/");
AutorizacionesBean bean=new AutorizacionesBean();
}
}
@@ -0,0 +1,47 @@
package com.tarisan.chipcard.tpvvs.webservicetrayicon.accesodatos;
import java.sql.ResultSet;
import es.chipcard.util.*;
/*****
* Clase base de los objetos de acceso a Datos
* @author jjrider
*
*/
public abstract class ClsDBBase {
private static java.util.HashMap hshExistTable=new java.util.HashMap();
public ClsDBBase(){
checkExists();
}
public void checkExists(){
if(!tableExistLocally()){
createLocalTable();
}
}
public abstract String getTableName();
protected abstract int createLocalTable();
public boolean tableExistLocally(){
if(hshExistTable.containsKey(getTableName()))
return true;
boolean blnRetorno=false;
ResultSet rs=LocalDatabaseControl.getInstance().getQuery("SELECT * FROM SYS.SYSTABLES WHERE TABLENAME='"+getTableName()+"'");
if(rs!=null){
try{
if(rs.next()){
blnRetorno=true;
hshExistTable.put(getTableName(),getTableName());
}
}catch(Exception err){
SerClsDebug.aLog(err);
}
}
LocalDatabaseControl.forceClose(rs);
return blnRetorno;
}
}
@@ -0,0 +1,44 @@
package com.tarisan.chipcard.tpvvs.webservicetrayicon.accesodatos;
public class CompaniaSanitaria {
private String sNombreCompania=null;
private int nCodigoCompania=-1;
/**
* @return
*/
public int getCodigoCompania() {
return nCodigoCompania;
}
/**
* @return
*/
public String getNombreCompania() {
return sNombreCompania;
}
/**
* @param string
*/
public void setCodigoCompania(int n) {
nCodigoCompania = n;
}
/**
* @param string
*/
public void setNombreCompania(String string) {
sNombreCompania = string;
}
public String toString(){
return getCodigoCompania()+" - "+getNombreCompania();
}
public String toXML(){
return "<Comp>"+getCodigoCompania()+"</Comp>";
}
}
@@ -0,0 +1,135 @@
package com.tarisan.chipcard.tpvvs.webservicetrayicon.accesodatos;
import java.util.Vector;
import es.chipcard.util.*;
public class CompaniaSanitariaBean extends ClsDBBase{
public static String TABLENAME="COMPANIA_SANITARIA";
public CompaniaSanitariaBean(){
if(!tableExistLocally()){
createLocalTable();
}
}
public String getTableName(){
return TABLENAME;
}
public java.util.Vector getCompaniasSanitarias(){
String sSQL="SELECT * FROM "+TABLENAME+" ORDER BY NOMBRE_COMP";
return getCompaniasSanitarias(sSQL);
}
public CompaniaSanitaria getCompaniaSanitariaById(int nID){
String sSQL="SELECT * FROM "+TABLENAME+" WHERE ID_COMP="+nID;
Vector vEL=getCompaniasSanitarias(sSQL);
if(vEL.size()==0)
return null;
else
return (CompaniaSanitaria)vEL.firstElement();
}
public Vector getCompaniaSanitariaByTerminal(int nTer){
String sSQL="SELECT * FROM "+TABLENAME+" WHERE ID_COMP IN (SELECT DISTINCT(ID_COMP) FROM "+ActoMedicoBean.TABLENAME+" WHERE ID_TER="+DataBaseUtil.FormatSQLIntegerField(nTer)+") ORDER BY NOMBRE_COMP";
return getCompaniasSanitarias(sSQL);
}
public Vector getCompaniaSanitariaByTerminalAndProfesional(int nTer,String sProf){
String sSQL="SELECT * FROM "+TABLENAME+" WHERE ID_COMP IN (SELECT DISTINCT(ID_COMP) FROM "+ActoMedicoBean.TABLENAME+" WHERE ID_TER="+DataBaseUtil.FormatSQLIntegerField(nTer)+" AND ID_PROF="+DataBaseUtil.FormatSQLStringField(sProf)+") ORDER BY NOMBRE_COMP";
return getCompaniasSanitarias(sSQL);
}
private java.util.Vector getCompaniasSanitarias(String sSQL){
java.util.Vector v=new java.util.Vector();
java.sql.ResultSet rs=null;
if(rs==null){
rs=LocalDatabaseControl.getInstance().getQuery(sSQL);
}
if(rs!=null){
try{
while(rs.next()){
v.addElement(getCompaniasSanitarias(rs));
}
}catch(Exception err){
SerClsDebug.aLog(err);
}
}
return v;
}
private CompaniaSanitaria getCompaniasSanitarias(java.sql.ResultSet rs){
CompaniaSanitaria obj=new CompaniaSanitaria();
try{
obj.setCodigoCompania(rs.getInt("ID_COMP"));
obj.setNombreCompania(rs.getString("NOMBRE_COMP"));
}catch(Exception err){
SerClsDebug.aLog(err);
}
return obj;
}
public int insertInLocal(CompaniaSanitaria objCompaniaSanitaria){
return insertInLocal(objCompaniaSanitaria.getCodigoCompania(),objCompaniaSanitaria.getNombreCompania());
}
private int insertInLocal(int CodCompSanitaria,String sNombre){
int nRetorno=-1;
try{
if(CodCompSanitaria>0){
String sSQL="INSERT INTO "+TABLENAME+"(" +
"ID_COMP," +
"NOMBRE_COMP" +
") "+
"VALUES (" +
DataBaseUtil.FormatSQLIntegerField(CodCompSanitaria)+","+
DataBaseUtil.FormatSQLStringField(sNombre) +
")";
nRetorno=LocalDatabaseControl.getInstance().executeUpdate(sSQL);
}
}catch(Exception err){SerClsDebug.aLog(err);}
return nRetorno;
}
private void repoblateTable(){
insertInLocal(2,"ALIANCA");
insertInLocal(90,"MCS-IMECO");
insertInLocal(100,"MAPFRE CAJA SALUD");
insertInLocal(300,"DKV SEGUROS");
insertInLocal(340,"SANITAS SERVICIOS");
insertInLocal(360,"SANITAS");
insertInLocal(440,"I.M.Q.");
insertInLocal(460,"ADESLAS");
insertInLocal(550,"I.C.A.M.");
insertInLocal(560,"MUTUA DE TERRASSA");
insertInLocal(600,"AGRUPACION MUTUA");
insertInLocal(680,"ALLIANZ");
insertInLocal(690,"AXA");
insertInLocal(700,"SERSANET");
insertInLocal(770,"H.N.A.");
insertInLocal(790,"H.N.A. S.C.");
insertInLocal(820,"CASER");
insertInLocal(840,"A.X.A.-WINTERTHUR");
insertInLocal(850,"CIGNA");
insertInLocal(999,"CHIP CARD SALUD");
insertInLocal(260,"M. GENERAL CATALUNYA");
}
protected int createLocalTable(){
int nCreation=LocalDatabaseControl.getInstance().executeUpdate(
"CREATE TABLE \""+TABLENAME+"\" (" +
"\"ID_COMP\" int NOT NULL primary key ," +
"\"NOMBRE_COMP\" VARCHAR(255) NOT NULL" +
")"
);
repoblateTable();
return nCreation;
}
}
@@ -0,0 +1,81 @@
package com.tarisan.chipcard.tpvvs.webservicetrayicon.accesodatos;
import es.chipcard.util.SerClsFecha;
public class DataBaseUtil {
private static String sTimestampFormatDB=null;
private static java.text.DecimalFormat objPesoFormatter= null;
public static String getCurrentDateForDB(){
SerClsFecha objFecha=new SerClsFecha();
String sTS=objFecha.toString(getTimestampFormatForDB());
while(sTS.length()<getTimestampFormatForDB().length()){
sTS=sTS+"0";
}
return sTS;
}
private static String getTimestampFormatForDB(){
if(sTimestampFormatDB==null){
sTimestampFormatDB="yyyy-MM-dd HH:mm:ss.SSS";
}
return sTimestampFormatDB;
}
public static String FormatSQLStringField(String sValue){
if(sValue==null)
return "NULL";
if(sValue.equalsIgnoreCase("NULL"))
return "NULL";
return "'"+sValue+"'";
}
public static String FormatSQLDoubleField(String sValue){
if(sValue==null)
return "NULL";
if(sValue.equalsIgnoreCase("NULL"))
return "NULL";
String sRetorno="0";
try{
sValue=getPesoDoubleFormat().format(Double.parseDouble(sValue));
}catch(Exception err){}
return sValue;
}
public static String FormatSQLDoubleField(double dblValue){
if(dblValue<0)
return "NULL";
String sRetorno="0";
try{
sRetorno=getPesoDoubleFormat().format(dblValue);
}catch(Exception err){}
return sRetorno;
}
public static String FormatSQLTimestampField(String sValue){
if(sValue==null)
return "NULL";
if(sValue.length()<19)
return "NULL";
return "'"+sValue+"'";
}
public static String FormatSQLIntegerField(int nValue){
if(nValue==-1)
return "NULL";
return String.valueOf(nValue);
}
public static java.text.DecimalFormat getPesoDoubleFormat(){
if(objPesoFormatter==null){
//new java.text.DecimalFormat("0000000#.##");
java.text.DecimalFormatSymbols unusualSymbols = new java.text.DecimalFormatSymbols();
unusualSymbols.setDecimalSeparator('.');
//unusualSymbols.setGroupingSeparator('.');
String sPattern = "#######0.000";
objPesoFormatter = new java.text.DecimalFormat(sPattern, unusualSymbols);
}
return objPesoFormatter;
}
}
@@ -0,0 +1,44 @@
package com.tarisan.chipcard.tpvvs.webservicetrayicon.accesodatos;
public class EspecialidadSanitaria {
private int nCodigoEspecialidad=-1;
private String sNombreEspecialidad="";
/**
* @return
*/
public int getCodigoEspecialidad() {
return nCodigoEspecialidad;
}
/**
* @return
*/
public String getNombreEspecialidad() {
return sNombreEspecialidad;
}
/**
* @param string
*/
public void setCodigoEspecialidad(int n) {
nCodigoEspecialidad = n;
}
/**
* @param string
*/
public void setNombreEspecialidad(String string) {
sNombreEspecialidad = string;
}
public String toString(){
return getCodigoEspecialidad()+" - "+getNombreEspecialidad();
}
public String toXML(){
return "<Espec>"+getCodigoEspecialidad()+"</Espec>";
}
}
@@ -0,0 +1,214 @@
package com.tarisan.chipcard.tpvvs.webservicetrayicon.accesodatos;
import java.util.Vector;
import es.chipcard.util.*;
public class EspecialidadSanitariaBean extends ClsDBBase{
public static String TABLENAME="ESPECIALIDADSANITARIA";
public EspecialidadSanitariaBean(){
if(!tableExistLocally()){
createLocalTable();
}
}
public String getTableName(){
return TABLENAME;
}
public java.util.Vector getEspecialidadesSanitarias(){
String sSQL="SELECT * FROM "+TABLENAME+" ORDER BY NOMBRE_ESPE";
return getEspecialidadesSanitarias(sSQL);
}
public EspecialidadSanitaria getEspecialidadSanitariaById(int nID){
String sSQL="SELECT * FROM "+TABLENAME+" WHERE ID_ESPE="+nID;
Vector vEL=getEspecialidadesSanitarias(sSQL);
if(vEL.size()==0)
return null;
else
return (EspecialidadSanitaria)vEL.firstElement();
}
public Vector getEspecialidadesSanitariasByTerminal(int nTer){
String sSQL="SELECT * FROM "+TABLENAME+" WHERE ID_ESPE IN (SELECT DISTINCT(ID_ESPE) FROM "+ActoMedicoBean.TABLENAME+" WHERE ID_TER="+DataBaseUtil.FormatSQLIntegerField(nTer)+") ORDER BY NOMBRE_ESPE";
return getEspecialidadesSanitarias(sSQL);
}
public Vector getEspecialidadesSanitariasByTerminalAndProfesional(int nTer,String sProf){
String sSQL="SELECT * FROM "+TABLENAME+" WHERE ID_ESPE IN (SELECT DISTINCT(ID_ESPE) FROM "+ActoMedicoBean.TABLENAME+" WHERE ID_TER="+DataBaseUtil.FormatSQLIntegerField(nTer)+" AND ID_PROF="+DataBaseUtil.FormatSQLStringField(sProf)+") ORDER BY NOMBRE_ESPE";
return getEspecialidadesSanitarias(sSQL);
}
private java.util.Vector getEspecialidadesSanitarias(String sSQL){
java.util.Vector v=new java.util.Vector();
java.sql.ResultSet rs=null;
if(rs==null){
rs=LocalDatabaseControl.getInstance().getQuery(sSQL);
}
if(rs!=null){
try{
while(rs.next()){
v.addElement(getEspecialidadesSanitarias(rs));
}
}catch(Exception err){
SerClsDebug.aLog(err);
}
}
return v;
}
private EspecialidadSanitaria getEspecialidadesSanitarias(java.sql.ResultSet rs){
EspecialidadSanitaria obj=new EspecialidadSanitaria();
try{
obj.setCodigoEspecialidad(rs.getInt("ID_ESPE"));
obj.setNombreEspecialidad(rs.getString("NOMBRE_ESPE"));
}catch(Exception err){
SerClsDebug.aLog(err);
}
return obj;
}
private void repoblateTable(){
insertInLocal(1,"MEDICINA GENERAL");
insertInLocal(2,"PEDIATRIA");
insertInLocal(3,"ALERGOLOGIA");
insertInLocal(4,"ANALISIS CLINICOS");
insertInLocal(5,"ANATOMIA PATOLOGICA");
insertInLocal(6,"ANESTESIA/REANIMACIO");
insertInLocal(7,"ANGIOLOGIA/CIR.VASCU");
insertInLocal(8,"APARATO DIGESTIVO");
insertInLocal(9,"CARDIOLOGIA");
insertInLocal(10,"CIRUG.CARDIOVASCULAR");
insertInLocal(11,"CIR.GENERAL/AP.DIGES");
insertInLocal(12,"CIRUGIA MAXILOFACIAL");
insertInLocal(13,"CIRUGIA PEDIATRICA");
insertInLocal(14,"CIR.PLASTICA/REPARAD");
insertInLocal(15,"CIRUGIA TORACICA");
insertInLocal(16,"DERMATOLOGIA");
insertInLocal(17,"DIAGNOST. POR IMAGEN");
insertInLocal(18,"ENDOCRINO Y NUTRICIO");
insertInLocal(19,"ESTOMATOLOGIA");
insertInLocal(20,"GERIATRIA");
insertInLocal(21,"HEMATOLOGIA/HEMOTERA");
insertInLocal(22,"INMUNOLOGIA");
insertInLocal(23,"MEDICINA INTENSIVA");
insertInLocal(24,"MEDICINA INTERNA");
insertInLocal(25,"MEDICINA NUCLEAR");
insertInLocal(26,"NEFROLOGIA");
insertInLocal(27,"NEUMOLOGIA");
insertInLocal(28,"NEUROCIRUGIA");
insertInLocal(29,"NEUROFISIOLOG.CLINIC");
insertInLocal(30,"NEUROLOGIA");
insertInLocal(31,"OBSTETRICIA/GINECOL.");
insertInLocal(32,"OFTALMOLOGIA");
insertInLocal(33,"ONCOLOGIA MEDICA");
insertInLocal(34,"ONCOLOGIA RADIOTERAP");
insertInLocal(35,"OTORRINOLARINGOLOGIA");
insertInLocal(36,"PSIQUIATRIA");
insertInLocal(37,"REHABILITACION");
insertInLocal(38,"REUMATOLOGIA");
insertInLocal(39,"TRATAMIENTO DE DOLOR");
insertInLocal(40,"TRAUMAT.Y ORTOPEDIA");
insertInLocal(41,"UROLOGIA");
insertInLocal(42,"LOGOPEDIA");
insertInLocal(43,"MEDICINA DEL TRABAJO");
insertInLocal(44,"AYUDANTE QUIRURGICO");
insertInLocal(45,"HOSPITALIZACION");
insertInLocal(46,"DIETETICA");
insertInLocal(47,"OPTICA Y AUDIOLOGIA");
insertInLocal(48,"MEDICINA DEPORTIVA");
insertInLocal(49,"MEDICINA ESPACIAL");
insertInLocal(50,"ENFERMERIA");
insertInLocal(51,"FISIOTERAPEUTAS");
insertInLocal(52,"MATRONAS");
insertInLocal(53,"PODOLOGIA");
insertInLocal(54,"URGENCIAS");
insertInLocal(55,"URGENC.DE ENFERMERIA");
insertInLocal(56,"FARMACIA");
insertInLocal(57,"MEDICINAS COMPLEMENT");
insertInLocal(58,"LOGOFONIATRIA");
insertInLocal(59,"ACUPUNTURA");
insertInLocal(60,"DIALISIS");
insertInLocal(61,"HOSPIT.EN DOMICILIO");
insertInLocal(62,"LITOTRICIA");
insertInLocal(63,"PREPARACION AL PARTO");
insertInLocal(64,"PSICOLOGIA");
insertInLocal(65,"PUERICULTURA");
insertInLocal(66,"REPRODUCCION ASISTID");
insertInLocal(67,"SALUD INFANTIL");
insertInLocal(68,"URG. HOSPITALARIAS");
insertInLocal(69,"URG.NO HOSPITALARIAS");
insertInLocal(70,"ESTOM.SERV.DENTALES");
insertInLocal(71,"ESTOMAT. INFANTIL");
insertInLocal(72,"IMPLANTOLOGIA ORAL");
insertInLocal(73,"ORTODONCIA");
insertInLocal(74,"SERV.DE CIRUGIA ORAL");
insertInLocal(75,"SERV.HIGIENE DENTAL");
insertInLocal(76,"TRATAM.ENDODONCIA");
insertInLocal(77,"URGENCIAS DENTALES");
insertInLocal(78,"PERIODONCIA");
insertInLocal(79,"ESTETICA DENTAL");
insertInLocal(80,"AMBULANCIAS");
insertInLocal(81,"OXIGENOTERAP.VENTILO");
insertInLocal(82,"PROTESIS");
insertInLocal(83,"POLIZA DENTAL");
insertInLocal(85,"RADIOLOGIA MAXILOFAC");
insertInLocal(86,"EUROP ASSISTANCE");
insertInLocal(87,"SANATORIOS");
insertInLocal(89,"CENTRO HOSPITALARIO");
insertInLocal(90,"DIAGNOSTICOS MEDICOS");
insertInLocal(91,"POLICLINICAS");
insertInLocal(92,"ECO-DOPPLER");
insertInLocal(93,"RESONANCIA MAGNETICA");
insertInLocal(94,"SCANNER");
insertInLocal(95,"ENTIDAD REASEGURADOR");
insertInLocal(96,"RADIOLOGIA INTERVENC");
insertInLocal(97,"DENSITOMETRIA OSEA");
insertInLocal(99,"ESPECIALIDAD COMODIN");
insertInLocal(999,"ESPE. GENERICA");
}
public int insertInLocal(EspecialidadSanitaria objEspecialidadSanitaria){
return insertInLocal(objEspecialidadSanitaria.getCodigoEspecialidad(),objEspecialidadSanitaria.getNombreEspecialidad());
}
private int insertInLocal(int sCode,String sNombre){
int nRetorno=-1;
try{
if(sCode>0){
String sSQL="INSERT INTO "+TABLENAME+"(" +
"ID_ESPE," +
"NOMBRE_ESPE" +
") "+
"VALUES (" +
DataBaseUtil.FormatSQLIntegerField(sCode)+","+
DataBaseUtil.FormatSQLStringField(sNombre) +
")";
nRetorno=LocalDatabaseControl.getInstance().executeUpdate(sSQL);
}
}catch(Exception err){SerClsDebug.aLog(err);}
return nRetorno;
}
protected int createLocalTable(){
int nRetorno= LocalDatabaseControl.getInstance().executeUpdate(
"CREATE TABLE \""+TABLENAME+"\" (" +
"\"ID_ESPE\" int NOT NULL primary key ," +
"\"NOMBRE_ESPE\" VARCHAR(255) NOT NULL" +
")"
);
repoblateTable();
return nRetorno;
}
}
@@ -0,0 +1,101 @@
package com.tarisan.chipcard.tpvvs.webservicetrayicon.accesodatos;
public class ListaActos {
private CompaniaSanitaria objComp=null;
private EspecialidadSanitaria objEspe=null;
private int nEspecialidad=-1;
private int nComp=-1;
private int nCodigoListaActos=-1;
private String nNombreListaActos=null;
/**
* @return
*/
public int getCodigoListaActos() {
return nCodigoListaActos;
}
/**
* @return
*/
public String getNombreListaActos() {
return nNombreListaActos;
}
/**
* @return
*/
public CompaniaSanitaria getCompaniaSanitaria() {
return objComp;
}
/**
* @return
*/
public EspecialidadSanitaria getEspecialidadSanitaria() {
return objEspe;
}
/**
* @param i
*/
public void setCodigoListaActos(int i) {
nCodigoListaActos = i;
}
/**
* @param string
*/
public void setNombreListaActos(String string) {
nNombreListaActos = string;
}
/**
* @param sanitaria
*/
public void setCompaniaSanitaria(CompaniaSanitaria sanitaria) {
objComp = sanitaria;
}
/**
* @param sanitaria
*/
public void setEspecialidadSanitaria(EspecialidadSanitaria sanitaria) {
objEspe = sanitaria;
}
/**
* @return
*/
public int getCodigoCompania() {
return nComp;
}
/**
* @return
*/
public int getCodigoEspecialidad() {
return nEspecialidad;
}
/**
* @param i
*/
public void setCodigoCompania(int i) {
nComp = i;
}
/**
* @param i
*/
public void setCodigoEspecialidad(int i) {
nEspecialidad = i;
}
public String toString(){
return getCodigoListaActos()+" - "+getNombreListaActos();
}
public String toXML(){
return "<lactos>"+getCodigoListaActos()+"</lactos>";
}
}
@@ -0,0 +1,30 @@
package com.tarisan.chipcard.tpvvs.webservicetrayicon.accesodatos;
/*****
* Relacion entre la lista de actos y los actos médicos que la componen
* @author jjrider
*
* Para cambiar la plantilla para este comentario de tipo generado vaya a
* Ventana&gt;Preferencias&gt;Java&gt;Generación de código&gt;Código y comentarios
*/
public class ListaActosActo extends ListaActos{
private ActoMedico objActo=null;
/**
* @return
*/
public ActoMedico getActo() {
return objActo;
}
/**
* @param medico
*/
public void setActo(ActoMedico medico) {
objActo = medico;
}
}
@@ -0,0 +1,123 @@
package com.tarisan.chipcard.tpvvs.webservicetrayicon.accesodatos;
import java.util.Vector;
import es.chipcard.util.*;
public class ListaActosBean extends ClsDBBase{
public static String TABLENAME="LISTA_ACTOS";
public ListaActosBean(){
if(!tableExistLocally()){
createLocalTable();
}
}
public String getTableName(){
return TABLENAME;
}
public java.util.Vector getListaActos(){
String sSQL="SELECT * FROM "+TABLENAME+" ORDER BY NOMBRE_LACTOS";
return getListaActos(sSQL);
}
public Vector getListaActosByCompAndEspe(int nIDComp,int nIDEspe){
String sSQL="SELECT * FROM "+TABLENAME+" WHERE ID_ESPE="+nIDEspe+" AND ID_COMP="+nIDComp+" ORDER BY NOMBRE_LACTOS";
return getListaActos(sSQL);
}
public ListaActos getListaActosByCompAndEspeAndIDLActos(int nIDComp,int nIDEspe, int lactos){
String sSQL="SELECT * FROM "+TABLENAME+" WHERE ID_ESPE="+nIDEspe+" AND ID_COMP="+nIDComp+" AND ID_LACTOS="+lactos+" ORDER BY NOMBRE_LACTOS";
Vector vLActos=getListaActos(sSQL);
if(vLActos!=null){
if(vLActos.size()>0){
return (ListaActos)vLActos.firstElement();
}
}
return null;
}
private java.util.Vector getListaActos(String sSQL){
java.util.Vector v=new java.util.Vector();
java.sql.ResultSet rs=null;
if(rs==null){
rs=LocalDatabaseControl.getInstance().getQuery(sSQL);
}
if(rs!=null){
try{
while(rs.next()){
v.addElement(getListaActos(rs));
}
}catch(Exception err){
SerClsDebug.aLog(err);
}
}
return v;
}
private ListaActos getListaActos(java.sql.ResultSet rs){
ListaActos obj=new ListaActos();
try{
obj.setCodigoCompania(rs.getInt("ID_COMP"));
obj.setCodigoEspecialidad(rs.getInt("ID_ESPE"));
obj.setCodigoListaActos(rs.getInt("ID_LACTOS"));
obj.setNombreListaActos(rs.getString("NOMBRE_LACTOS"));
}catch(Exception err){
SerClsDebug.aLog(err);
}
return obj;
}
private void repoblateTable(){
}
public int insertInLocal(ListaActos objListaActos){
return insertInLocal(objListaActos.getCodigoCompania(),objListaActos.getCodigoEspecialidad(),objListaActos.getCodigoListaActos(),objListaActos.getNombreListaActos());
}
private int insertInLocal(int sCodComp,int sCodEspe,int sCode,String sNombre){
int nRetorno=-1;
try{
if(sCodComp>0 && sCodEspe>0 && sCode>0){
String sSQL="INSERT INTO "+TABLENAME+"(" +
"ID_COMP," +
"ID_ESPE," +
"ID_LACTOS," +
"NOMBRE_LACTOS" +
") "+
"VALUES (" +
DataBaseUtil.FormatSQLIntegerField(sCodComp)+","+
DataBaseUtil.FormatSQLIntegerField(sCodEspe)+","+
DataBaseUtil.FormatSQLIntegerField(sCode)+","+
DataBaseUtil.FormatSQLStringField(sNombre) +
")";
nRetorno=LocalDatabaseControl.getInstance().executeUpdate(sSQL);
}
}catch(Exception err){SerClsDebug.aLog(err);}
return nRetorno;
}
protected int createLocalTable(){
int nRetorno= LocalDatabaseControl.getInstance().executeUpdate(
"CREATE TABLE \""+TABLENAME+"\" (" +
"\"ID_COMP\" int NOT NULL," +
"\"ID_ESPE\" int NOT NULL," +
"\"ID_LACTOS\" int NOT NULL," +
"\"NOMBRE_LACTOS\" VARCHAR(100) NOT NULL," +
" PRIMARY KEY (ID_COMP,ID_ESPE,ID_LACTOS)"+
")"
);
repoblateTable();
return nRetorno;
}
}
@@ -0,0 +1,243 @@
package com.tarisan.chipcard.tpvvs.webservicetrayicon.accesodatos;
import java.sql.*;
import es.chipcard.util.*;
public class LocalDatabaseControl {
private Connection objCon=null;
private static LocalDatabaseControl I=null;
public static LocalDatabaseControl getInstance(){
if(I==null){
I=new LocalDatabaseControl();
I.init();
}
return I;
}
private void init(){
try{
Class.forName("org.apache.derby.jdbc.EmbeddedDriver").newInstance();
}catch(Exception err){
SerClsDebug.aLog(err);
}
}
public Connection getConnection(){
if(objCon==null){
try{
String protocol = "jdbc:derby:";
java.util.Properties props = new java.util.Properties();
props.put("user","admin");
props.put("password","admin");
objCon = DriverManager.getConnection(protocol + getDBName()+";create=true",props);
}catch(Exception err){
SerClsDebug.aLog(err.getMessage());
}
}
return objCon;
}
private static String getDBName(){
String sRetorno="localDB";
return sRetorno;
}
public static void shutdown(){
try{
forceClose(getInstance().objCon);
//DriverManager.getConnection("jdbc:derby:"+getDBName()+";shutdown=true");
}catch(Throwable th){
SerClsDebug.aLog("Error shutting down Local Database:"+th.getMessage());
//th.printStackTrace();
}
}
public static void forceClose(Statement stmt){
try{
stmt.close();
}catch(Exception e){}
}
public static void forceClose(ResultSet rs){
try{
rs.close();
}catch(Exception e){}
}
private static void forceClose(Connection con){
try{
if(con!=null)
con.close();
}catch(Exception e){}
}
/**
* Metodo para INSERT, UPDATE y DELETE
* Devuelve el numero de filas afectadas o -1 si hubo error
* @param strUpdate
* @return
*/
public int executeUpdate(String strUpdate){
Connection con=getConnection();
int intRetorno=executeUpdate(strUpdate, con);
//forceClose(con);
return intRetorno;
}
public int executeUpdate(String strUpdate,Connection con){
int intRetorno=executeUpdate(strUpdate,null,con);
return intRetorno;
}
public int executeUpdate(String strUpdate,java.io.StringWriter s){
Connection con=null;
return executeUpdate(strUpdate,s, con);
}
public int executeUpdate(String strUpdate,java.io.StringWriter s,Connection con){
int intRetorno=-1;
//Connection con=null;
Statement stmt=null;
try{
if(con==null)
con=getConnection();
if(con!=null){
stmt=con.createStatement();
SerClsDebug.aLog("LocalDatabaseUpdate:"+strUpdate);
intRetorno=stmt.executeUpdate(strUpdate);
}
}catch(Exception e){
if(s==null){
e.printStackTrace();
}else{
java.io.PrintWriter p=new java.io.PrintWriter(s);
p.println("Error al ejecutar: "+strUpdate);
e.printStackTrace(p);
}
}finally{
forceClose(stmt);
}
return intRetorno;
}
public boolean executeProcedure(String strUpdate){
boolean blnRetorno=executeProcedure(strUpdate, null);
return blnRetorno;
}
public boolean executeProcedure(String strCall,java.io.StringWriter s){
boolean blnRetorno=false;
CallableStatement cs=null;
ResultSet rs=null;
Connection con=getConnection();
boolean blnKeepConnectionOpened=false;
try{
cs = con.prepareCall(strCall);
cs.execute();
cs.close();
blnRetorno = true;
}catch(Exception e){
if(s==null){
e.printStackTrace();
}else{
java.io.PrintWriter p=new java.io.PrintWriter(s);
p.println("Error al ejecutar: " + strCall);
e.printStackTrace(p);
}
}finally{
forceClose(rs);
forceClose(cs);
}
return blnRetorno;
}
/**
* Realiza una select y devuelve el resultado como un arraylist
* de contenido un String[] por fila
* */
public ResultSet getQuery(String strQuery){
Statement stmt=null;
ResultSet rs=null;
try{
SerClsDebug.aLog("LocalDatabaseQuery:"+strQuery);
stmt=getConnection().createStatement();
rs=stmt.executeQuery(strQuery);
}catch(Exception e){
SerClsDebug.aLog(e);
}finally{
}
return rs;
}
public String[] getFieldsOfTable(String strTablename,Connection con){
String arrFields[]=null;
Statement stmt=null;
ResultSet rs=null;
String strQuery=null;
if(strTablename.toUpperCase().startsWith("SELECT ")){
strQuery=strTablename;
SerClsDebug.aLog("LocaDatabaseQuery:"+strQuery);
}else{
strQuery="SELECT * FROM "+strTablename+" WHERE 1<>0";
}
try{
if(con==null)
con=getConnection();
stmt=con.createStatement();
rs=stmt.executeQuery(strQuery);
arrFields=getColumnNames(rs);
}catch(Exception e){
SerClsDebug.aLog(e);
}finally{
forceClose(rs);
forceClose(stmt);
}
return arrFields;
}
public String[] getColumnNames(ResultSet rs){
String arrNombresColumnas[]=null;
try {
ResultSetMetaData rsmd = rs.getMetaData();
int nColumns = rsmd.getColumnCount();
System.out.println("Hay "+nColumns+" columnas");
//HashMap h = null;
String arrFila[]=null;
arrNombresColumnas=new String[nColumns];
try{
//Se rellena la primera fila con los nombres de columnas
for(int column = 1; column<(nColumns+1); column++) {
int intColumnType = rsmd.getColumnType(column);
String strColumnName = rsmd.getColumnName(column);
arrNombresColumnas[column-1]=strColumnName;
System.out.println("Columna["+column+"]="+arrNombresColumnas[column-1]);
}
}catch(Exception e){}
}catch(Exception e){
e.printStackTrace();
}
return arrNombresColumnas;
}
public String getMetaData(Connection con){
StringBuffer buff=new StringBuffer();
try{
buff.append("<ProductName>"+con.getMetaData().getDatabaseProductName()+"</ProductName>");
buff.append("<getMaxColumnsInSelect>"+con.getMetaData().getMaxColumnsInSelect()+"</getMaxColumnsInSelect>");
buff.append("<getMaxConnections>"+con.getMetaData().getMaxConnections()+"</getMaxConnections>");
buff.append("<getURL>"+con.getMetaData().getURL()+"</getURL>");
ResultSet rs=con.createStatement().executeQuery("select TNAME from \"DB2eSYSTABLES\"");
while(rs.next()){
buff.append("\n<TableName>"+rs.getString("TNAME")+"</TableName>");
}
//buff.append("<allTablesAreSelectable>"+con.getMetaData().allTablesAreSelectable()+"</allTablesAreSelectable>");
}catch(Exception e){
buff.append(e.toString());
}
return buff.toString();
}
}
@@ -0,0 +1,137 @@
/*
* Creado el 12-feb-07
*
* Para cambiar la plantilla para este archivo generado vaya a
* Ventana&gt;Preferencias&gt;Java&gt;Generación de código&gt;Código y comentarios
*/
package com.tarisan.chipcard.tpvvs.webservicetrayicon.accesodatos;
/**
* @author jjrider
*
* Para cambiar la plantilla para este comentario de tipo generado vaya a
* Ventana&gt;Preferencias&gt;Java&gt;Generación de código&gt;Código y comentarios
*/
public class Paciente {
private String sPista=null;
private String sTarjeta=null;
private String sFAlta=null;
private String sFBaja=null;
private String sCobertura=null;
private String sVersion=null;
/**
* @return
*/
public String getCobertura() {
return sCobertura;
}
/**
* @return
*/
public String getFAlta() {
return sFAlta;
}
/**
* @return
*/
public String getFBaja() {
return sFBaja;
}
/**
* @return
*/
public String getPista() {
return sPista;
}
/**
* @return
*/
public String getTarjeta() {
return sTarjeta;
}
/**
* @return
*/
public String getVersion() {
return sVersion;
}
/**
* @param string
*/
public void setCobertura(String string) {
sCobertura = string;
}
/**
* @param string
*/
public void setFAlta(String string) {
sFAlta = string;
}
/**
* @param string
*/
public void setFBaja(String string) {
sFBaja = string;
}
/**
* @param string
*/
public void setPista(String string) {
sPista = string;
}
/**
* @param string
*/
public void setTarjeta(String string) {
sTarjeta = string;
}
/**
* @param string
*/
public void setVersion(String string) {
sVersion = string;
}
public String toXML(){
if(getPista()!=null){
String sPistaHEXA=es.chipcard.util.SerClsUtilHexadecimal.toHexadecimal(getPista().getBytes());
return "<Paciente><pista2>"+sPistaHEXA+"</pista2></Paciente>";
}else{
if(getTarjeta()!=null){
StringBuffer buffer=new StringBuffer();
buffer.append("<Paciente>");
buffer.append("<Tarjeta>");
buffer.append("<num>"+getTarjeta()+"</num>");
if(getVersion()!=null){
buffer.append("<ver>"+getVersion()+"</ver>");
}
if(getCobertura()!=null){
buffer.append("<cob>"+getCobertura()+"</cob>");
}
if(getFAlta()!=null){
buffer.append("<falta>"+getFAlta()+"</falta>");
}
if(getFBaja()!=null){
buffer.append("<fbaja>"+getFBaja()+"</fbaja>");
}
buffer.append("</Tarjeta>");
buffer.append("</Paciente>");
return buffer.toString();
}
}
return "";
}
}
@@ -0,0 +1,39 @@
package com.tarisan.chipcard.tpvvs.webservicetrayicon.accesodatos;
/***
* Representa Un Profesional Sanitario de un determinado Terminal
* @author jjrider
*/
public class ProfesionalDeTerminal {
private ProfesionalSanitario objProf=null;
private TerminalSanitario objTer=null;
/**
* @return
*/
public ProfesionalSanitario getProf() {
return objProf;
}
/**
* @return
*/
public TerminalSanitario getTer() {
return objTer;
}
/**
* @param sanitario
*/
public void setProf(ProfesionalSanitario sanitario) {
objProf = sanitario;
}
/**
* @param sanitario
*/
public void setTer(TerminalSanitario sanitario) {
objTer = sanitario;
}
}
@@ -0,0 +1,44 @@
package com.tarisan.chipcard.tpvvs.webservicetrayicon.accesodatos;
public class ProfesionalSanitario {
private String sCodProfesional=null;
private String sNombreProfesional=null;
/**
* @return
*/
public String getCodProfesional() {
return sCodProfesional;
}
/**
* @return
*/
public String getNombreProfesional() {
return sNombreProfesional;
}
/**
* @param string
*/
public void setCodProfesional(String string) {
sCodProfesional = string;
}
/**
* @param string
*/
public void setNombreProfesional(String string) {
sNombreProfesional = string;
}
public String toString(){
return getCodProfesional()+" - "+getNombreProfesional();
}
public String toXML(){
return "<Prof>"+getCodProfesional()+"</Prof>";
}
}
@@ -0,0 +1,103 @@
package com.tarisan.chipcard.tpvvs.webservicetrayicon.accesodatos;
import java.util.Vector;
import es.chipcard.util.*;
public class ProfesionalSanitarioBean extends ClsDBBase{
public static String TABLENAME="PROFESIONAL_SANITARIO";
public ProfesionalSanitarioBean(){
if(!tableExistLocally()){
createLocalTable();
}
}
public String getTableName(){
return TABLENAME;
}
public ProfesionalSanitario getProfesionalSanitariosByID(String sID){
String sSQL="SELECT * FROM "+TABLENAME+" WHERE ID_PROF='"+sID+"'";
Vector vProf=getProfesionalesSanitarios(sSQL);
if(vProf!=null){
if(vProf.size()>0)
return (ProfesionalSanitario)vProf.firstElement();
}
return null;
}
public java.util.Vector getProfesionalesSanitarios(){
String sSQL="SELECT * FROM "+TABLENAME+" ORDER BY NOMBRE_PROF";
return getProfesionalesSanitarios(sSQL);
}
public Vector getProfesionalesByTerminal(int nTer){
String sSQL="SELECT * FROM "+TABLENAME+" WHERE ID_PROF IN (SELECT DISTINCT(ID_PROF) FROM "+ActoMedicoBean.TABLENAME+" WHERE ID_TER="+DataBaseUtil.FormatSQLIntegerField(nTer)+") ORDER BY NOMBRE_PROF";
return getProfesionalesSanitarios(sSQL);
}
private java.util.Vector getProfesionalesSanitarios(String sSQL){
java.util.Vector v=new java.util.Vector();
java.sql.ResultSet rs=null;
if(rs==null){
rs=LocalDatabaseControl.getInstance().getQuery(sSQL);
}
if(rs!=null){
try{
while(rs.next()){
v.addElement(getProfesionalesSanitarios(rs));
}
}catch(Exception err){
SerClsDebug.aLog(err);
}
}
return v;
}
private ProfesionalSanitario getProfesionalesSanitarios(java.sql.ResultSet rs){
ProfesionalSanitario obj=new ProfesionalSanitario();
try{
obj.setCodProfesional(rs.getString("ID_PROF"));
obj.setNombreProfesional(rs.getString("NOMBRE_PROF"));
}catch(Exception err){
SerClsDebug.aLog(err);
}
return obj;
}
public int insertInLocal(ProfesionalSanitario objProfesionalSanitario){
int nRetorno=-1;
try{
if(objProfesionalSanitario!=null){
String sSQL="INSERT INTO "+TABLENAME+"(" +
"ID_PROF," +
"NOMBRE_PROF" +
") "+
"VALUES (" +
DataBaseUtil.FormatSQLStringField(objProfesionalSanitario.getCodProfesional())+","+
DataBaseUtil.FormatSQLStringField(objProfesionalSanitario.getNombreProfesional()) +
")";
nRetorno=LocalDatabaseControl.getInstance().executeUpdate(sSQL);
}
}catch(Exception err){SerClsDebug.aLog(err);}
return nRetorno;
}
protected int createLocalTable(){
return LocalDatabaseControl.getInstance().executeUpdate(
"CREATE TABLE \""+TABLENAME+"\" (" +
"\"ID_PROF\" VARCHAR(12) NOT NULL primary key ," +
"\"NOMBRE_PROF\" VARCHAR(125) NOT NULL" +
")"
);
}
}
@@ -0,0 +1,50 @@
package com.tarisan.chipcard.tpvvs.webservicetrayicon.accesodatos;
/**
* @author jjrider
*
* Para cambiar la plantilla para este comentario de tipo generado vaya a
* Ventana&gt;Preferencias&gt;Java&gt;Generación de código&gt;Código y comentarios
*/
public class TerminalSanitario {
private int nTerminal=-1;
private boolean bTVA=false;
/**
* @return
*/
public int getNumeroTerminal() {
return nTerminal;
}
/**
* @param i
*/
public void setNumeroTerminal(int i) {
nTerminal = i;
}
/**
* @return
*/
public boolean isTVA() {
return bTVA;
}
/**
* @param b
*/
public void setTVA(boolean b) {
bTVA = b;
}
public String toString(){
return String.valueOf(getNumeroTerminal());
}
public String toXML(){
return "<term>"+getNumeroTerminal()+"</term>";
}
}
@@ -0,0 +1,96 @@
package com.tarisan.chipcard.tpvvs.webservicetrayicon.accesodatos;
import java.util.Vector;
import es.chipcard.util.*;
public class TerminalSanitarioBean extends ClsDBBase{
public static String TABLENAME="TERMINALSANITARIO";
public TerminalSanitarioBean(){
if(!tableExistLocally()){
createLocalTable();
}
}
public String getTableName(){
return TABLENAME;
}
public java.util.Vector getTerminalesSanitarios(){
String sSQL="SELECT * FROM "+TABLENAME;
return getTerminalesSanitarios(sSQL);
}
public TerminalSanitario getTerminalesSanitarios(int nID){
String sSQL="SELECT * FROM "+TABLENAME+" WHERE ID_TER='"+nID+"'";
Vector vEL=getTerminalesSanitarios(sSQL);
if(vEL.size()==0)
return null;
else
return (TerminalSanitario)vEL.firstElement();
}
private java.util.Vector getTerminalesSanitarios(String sSQL){
java.util.Vector v=new java.util.Vector();
java.sql.ResultSet rs=null;
if(rs==null){
rs=LocalDatabaseControl.getInstance().getQuery(sSQL);
}
if(rs!=null){
try{
while(rs.next()){
v.addElement(getTerminalesSanitarios(rs));
}
}catch(Exception err){
SerClsDebug.aLog(err);
}
}
return v;
}
public static TerminalSanitario getTerminalesSanitarios(java.sql.ResultSet rs){
TerminalSanitario obj=new TerminalSanitario();
try{
obj.setNumeroTerminal(rs.getInt("ID_TER"));
obj.setTVA(rs.getInt("TIPO_TER")!=0);
}catch(Exception err){
SerClsDebug.aLog(err);
}
return obj;
}
public int insertInLocal(TerminalSanitario objTerminalSanitario){
int nRetorno=-1;
try{
if(objTerminalSanitario!=null){
String sSQL="INSERT INTO "+TABLENAME+"(" +
"ID_TER," +
"TIPO_TER" +
") "+
"VALUES (" +
DataBaseUtil.FormatSQLIntegerField(objTerminalSanitario.getNumeroTerminal())+","+
DataBaseUtil.FormatSQLIntegerField(((objTerminalSanitario.isTVA())?1:0)) +
")";
nRetorno=LocalDatabaseControl.getInstance().executeUpdate(sSQL);
}
}catch(Exception err){SerClsDebug.aLog(err);}
return nRetorno;
}
protected int createLocalTable(){
return LocalDatabaseControl.getInstance().executeUpdate(
"CREATE TABLE \""+TABLENAME+"\" (" +
"\"ID_TER\" int NOT NULL primary key ," +
"\"TIPO_TER\" int NOT NULL" +
")"
);
}
}
@@ -0,0 +1,66 @@
package com.tarisan.chipcard.tpvvs.webservicetrayicon.accesodatos;
public class UsuarioTVS implements com.tarisan.chipcard.gui.IconizableObject{
private String sLogin=null;
private String sPassword=null;
private TerminalSanitario terminal=null;
private javax.swing.Icon userIcon=null;
/**
* @return
*/
public String getLogin() {
return sLogin;
}
/**
* @return
*/
public String getPassword() {
return sPassword;
}
/**
* @param string
*/
public void setLogin(String string) {
sLogin = string;
}
/**
* @param string
*/
public void setPassword(String string) {
sPassword = string;
}
public String toString(){
return getLogin();
}
public javax.swing.Icon getIcon(){
if(userIcon==null){
userIcon=null;
}
return userIcon;
}
/**
* @return
*/
public TerminalSanitario getTerminal() {
return terminal;
}
/**
* @param sanitario
*/
public void setTerminal(TerminalSanitario sanitario) {
terminal = sanitario;
}
}
@@ -0,0 +1,106 @@
package com.tarisan.chipcard.tpvvs.webservicetrayicon.accesodatos;
import java.util.Vector;
import es.chipcard.util.*;
public class UsuarioTVSBean extends ClsDBBase{
public static String TABLENAME="USUARIO_TVS";
public UsuarioTVSBean(){
if(!tableExistLocally()){
createLocalTable();
}
}
public String getTableName(){
return TABLENAME;
}
public java.util.Vector getUsuariosTVS(){
String sSQL="SELECT * FROM "+TABLENAME+" A ,"+TerminalSanitarioBean.TABLENAME+" B WHERE A.ID_TER=B.ID_TER" ;
return getUsuariosTVS(sSQL);
}
public java.util.Vector getUsuariosTVSOfTerminal(int nIDTer){
String sSQL="SELECT * FROM "+TABLENAME+" A ,"+TerminalSanitarioBean.TABLENAME+" B WHERE A.ID_TER=B.ID_TER AND A.ID_TER="+nIDTer;
return getUsuariosTVS(sSQL);
}
public UsuarioTVS getUsuarioTVS(String sLogin){
String sSQL="SELECT * FROM "+TABLENAME+" A ,"+TerminalSanitarioBean.TABLENAME+" B WHERE A.ID_TER=B.ID_TER AND LOGIN='"+sLogin+"'";
Vector vEL=getUsuariosTVS(sSQL);
if(vEL.size()==0)
return null;
else
return (UsuarioTVS)vEL.firstElement();
}
private java.util.Vector getUsuariosTVS(String sSQL){
java.util.Vector v=new java.util.Vector();
java.sql.ResultSet rs=null;
if(rs==null){
rs=LocalDatabaseControl.getInstance().getQuery(sSQL);
}
if(rs!=null){
try{
while(rs.next()){
v.addElement(getUsuariosTVS(rs));
}
}catch(Exception err){
SerClsDebug.aLog(err);
}
}
return v;
}
private UsuarioTVS getUsuariosTVS(java.sql.ResultSet rs){
UsuarioTVS obj=new UsuarioTVS();
try{
obj.setLogin(rs.getString("LOGIN"));
obj.setPassword(rs.getString("PASSWORD"));
TerminalSanitario ter=TerminalSanitarioBean.getTerminalesSanitarios(rs);
obj.setTerminal(ter);
}catch(Exception err){
SerClsDebug.aLog(err);
}
return obj;
}
public int insertInLocal(UsuarioTVS objUsuarioTVS){
int nRetorno=-1;
try{
if(objUsuarioTVS!=null){
String sSQL="INSERT INTO "+TABLENAME+"(" +
"LOGIN," +
"PASSWORD," +
"ID_TER" +
") "+
"VALUES (" +
DataBaseUtil.FormatSQLStringField(objUsuarioTVS.getLogin())+","+
DataBaseUtil.FormatSQLStringField(objUsuarioTVS.getPassword()) + ","+
DataBaseUtil.FormatSQLIntegerField(objUsuarioTVS.getTerminal().getNumeroTerminal()) +
")";
nRetorno=LocalDatabaseControl.getInstance().executeUpdate(sSQL);
}
}catch(Exception err){SerClsDebug.aLog(err);}
return nRetorno;
}
protected int createLocalTable(){
return LocalDatabaseControl.getInstance().executeUpdate(
"CREATE TABLE \""+TABLENAME+"\" (" +
"\"LOGIN\" VARCHAR(12) NOT NULL primary key ," +
"\"PASSWORD\" VARCHAR(12) NOT NULL," +
"\"ID_TER\" int NOT NULL" +
")"
);
}
}
@@ -0,0 +1,12 @@
package com.tarisan.chipcard.tpvvs.webservicetrayicon.messages;
import com.tarisan.chipcard.tpvvs.webservicetrayicon.accesodatos.*;;
/**
* @author jjrider
*/
public class AnulReq extends CCReq{
public AnulReq(int nTerminal,String sTimestamp,UsuarioTVS user) throws Exception{
super("<AnulReq><AutID><term>"+nTerminal+"</term><timestamp>"+sTimestamp+"</timestamp></AutID></AnulReq>",user);
}
}
@@ -0,0 +1,103 @@
/*
* Creado el 15-feb-07
*/
package com.tarisan.chipcard.tpvvs.webservicetrayicon.messages;
import com.tarisan.chipcard.tpvvs.webservicetrayicon.*;
import es.chipcard.util.*;
import org.w3c.dom.*;
/**
* Simboliza un elemento 'Aut' dentro de un 'AutRes'
* @author jjrider
*/
public class Aut {
private Element xmlAutElement=null;
private int ActosMedicos[]=null;
protected Aut(Element xmlAutElement){
this.xmlAutElement=xmlAutElement;
NodeList nl=xmlAutElement.getElementsByTagName("acto");
ActosMedicos=new int[nl.getLength()];
for(int i=0;i<nl.getLength();i++){
try{
ActosMedicos[i]=Integer.parseInt(SerClsXMLUtils.dameValorEl((Element)nl.item(i)));
}catch(Exception err){}
}
}
public boolean estaAutorizada(){
return WSTRConstantes.OP_RESPONSE_AUTORIZADA.equals(getResponse());
}
public boolean estaDenegada(){
return WSTRConstantes.OP_RESPONSE_DENEGADA.equals(getResponse());
}
public boolean esError(){
return WSTRConstantes.OP_RESPONSE_ERROR.equals(getResponse());
}
public boolean estaAnulada(){
return WSTRConstantes.OP_RESPONSE_ANULADA.equals(getResponse());
}
public String getResponse(){
return SerClsXMLUtils.dameValorEl(xmlAutElement,"response");
}
public String getDescription(){
return SerClsXMLUtils.dameValorEl(xmlAutElement,"desc");
}
public String getDocUnico(){
return SerClsXMLUtils.dameValorEl(xmlAutElement,"du");
}
public String getVolante(){
return SerClsXMLUtils.dameValorEl(xmlAutElement,"vol");
}
public String getFechaHoraAut(){
return SerClsXMLUtils.dameValorEl(xmlAutElement,"fechahoraaut");
}
public String getNumRef(){
return SerClsXMLUtils.dameValorEl(xmlAutElement,"numref");
}
public String getTimestamp(){
return SerClsXMLUtils.dameValorEl(xmlAutElement,"AutID/timestamp");
}
public int getTerminal(){
try{
return Integer.parseInt(SerClsXMLUtils.dameValorEl(xmlAutElement,"AutID/term"));
}catch(Exception err){
}
return -1;
}
public String getUrlBoleta(){
return SerClsXMLUtils.dameValorEl(xmlAutElement,"urlBoleta");
}
public String getNumFactura(){
return SerClsXMLUtils.dameValorEl(xmlAutElement,"numFactura");
}
public AutID getAutID(){
return new AutID(SerClsXMLUtils.dameElemento(xmlAutElement,"AutID"));
}
public int getNumActos(){
if(ActosMedicos==null)
return 0;
return ActosMedicos.length;
}
public int getActoMedico(int nOrden){
if(getNumActos()<nOrden || nOrden<1){
return -1;
}
return ActosMedicos[nOrden-1];
}
}
@@ -0,0 +1,27 @@
/*
* Creado el 15-feb-07
*/
package com.tarisan.chipcard.tpvvs.webservicetrayicon.messages;
import es.chipcard.util.*;
import org.w3c.dom.*;
/**
*
* @author jjrider
*/
public class AutID {
private Element xmlAutIDElement=null;
protected AutID(Element xmlAutIDElement){
this.xmlAutIDElement=xmlAutIDElement;
}
public String getTerminal(){
return SerClsXMLUtils.dameValorEl(xmlAutIDElement,"term");
}
public String getTimestamp(){
return SerClsXMLUtils.dameValorEl(xmlAutIDElement,"timestamp");
}
}
@@ -0,0 +1,34 @@
/*
* Creado el 12-feb-07
*
* Para cambiar la plantilla para este archivo generado vaya a
* Ventana&gt;Preferencias&gt;Java&gt;Generación de código&gt;Código y comentarios
*/
package com.tarisan.chipcard.tpvvs.webservicetrayicon.messages;
import com.tarisan.chipcard.tpvvs.webservicetrayicon.accesodatos.*;
import es.chipcard.util.*;
import org.w3c.dom.*;
/**
* @author jjrider
*/
public abstract class AutReq extends CCReq{
public AutReq(String sTipoOperacion,UsuarioTVS user,Paciente paciente,CompaniaSanitaria comp, EspecialidadSanitaria espe,ProfesionalSanitario prof,ListaActos objLA,ActoMedico arrActos[]) throws Exception{
super("<AutReq><TipAut>"+sTipoOperacion+"</TipAut>"+user.getTerminal().toXML()+((paciente!=null)?paciente.toXML():"")+comp.toXML()+((espe!=null)?espe.toXML():"")+prof.toXML()+objLA.toXML()+"</AutReq>",user);
if(arrActos!=null){
for(int i=0;i<arrActos.length;i++){
addActoMedico(arrActos[i]);
}
}
}
protected Element getAutReq(){
return SerClsXMLUtils.dameElemento(getCCReq(),"AutReq");
}
public void addActoMedico(ActoMedico acto){
SerClsXMLUtils.insertaRutaElementoValor(getAutReq(),"acto",String.valueOf(acto.getCodigoActo()));
}
}
@@ -0,0 +1,110 @@
/*
* Creado el 12-feb-07
*/
package com.tarisan.chipcard.tpvvs.webservicetrayicon.messages;
import es.chipcard.util.*;
import org.w3c.dom.*;
public class AutRes extends CCRes{
private Aut arrAut[]=null;
public AutRes(Document doc) throws Exception{
super(doc);
if(getAutRes()==null){
throw new Exception("El XML dado como argumento no es un AutRes");
}
NodeList nl=getAutRes().getElementsByTagName("Aut");
if(nl.getLength()>0){
arrAut=new Aut[nl.getLength()];
for(int i=0;i<nl.getLength();i++){
arrAut[i]=new Aut((Element)nl.item(i));
}
}
/**
Element xmlAut=SerClsXMLUtils.dameElemento(getAutRes(),"Aut");
Vector vAuts=new Vector();
int nContador=0;
if(xmlAut!=null){
nContador++;
while(xmlAut!=null){
}
Node n=xmlAut.getNextSibling();
}**/
}
protected Element getAutRes(){
return SerClsXMLUtils.dameElemento(getCCRes(),"AutRes");
}
protected Element getTarjeta(){
return SerClsXMLUtils.dameElemento(getAutRes(),"Tarjeta");
}
public boolean hayTarjeta(){
return (getTarjeta()!=null);
}
public String getNumeroTarjeta(){
return SerClsXMLUtils.dameValorEl(getTarjeta(),"num");
}
public String getVersionTarjeta(){
return SerClsXMLUtils.dameValorEl(getTarjeta(),"ver");
}
public String getCoberturaTarjeta(){
return SerClsXMLUtils.dameValorEl(getTarjeta(),"cob");
}
public String getFechaAltaTarjeta(){
return SerClsXMLUtils.dameValorEl(getTarjeta(),"falta");
}
public String getFechaBajaTarjeta(){
return SerClsXMLUtils.dameValorEl(getTarjeta(),"fbaja");
}
public String getTipAut(){
return SerClsXMLUtils.dameValorEl(getAutRes(),"TipAut");
}
public String getCodigoTerminal(){
return SerClsXMLUtils.dameValorEl(getAutRes(),"term");
}
public int getCodigoCompania(){
return Integer.parseInt(SerClsXMLUtils.dameValorEl(getAutRes(),"Comp"));
}
public int getCodigoEspecialidad(){
String sEspe=SerClsXMLUtils.dameValorEl(getAutRes(),"Espec");
if(sEspe==null)
return -1;
return Integer.parseInt(sEspe);
}
public String getCodigoProfesional(){
return SerClsXMLUtils.dameValorEl(getAutRes(),"Prof");
}
public int getCodigoListaActos(){
String sValue=SerClsXMLUtils.dameValorEl(getAutRes(),"lactos");
if(sValue==null)
return -1;
return Integer.parseInt(sValue);
}
public int getNumAut(){
if(arrAut==null)
return 0;
return arrAut.length;
}
public Aut[] getAut(){
return arrAut;
}
}
@@ -0,0 +1,54 @@
/*
* Creado el 12-feb-07
*/
package com.tarisan.chipcard.tpvvs.webservicetrayicon.messages;
import com.tarisan.chipcard.tpvvs.webservicetrayicon.accesodatos.*;
import es.chipcard.util.*;
import org.w3c.dom.*;
/**
* @author jjrider
*
* Para cambiar la plantilla para este comentario de tipo generado vaya a
* Ventana&gt;Preferencias&gt;Java&gt;Generación de código&gt;Código y comentarios
*/
public abstract class CCReq extends Msg{
public CCReq(String sReqType,UsuarioTVS user) throws Exception{
super("<CCReq>"+sReqType+"</CCReq>");
setAutenticacionByLP(user);
}
public int getTypeOfMessage(){
return this.TYPE_OF_MESSAGE_CCREQ;
}
protected Element getCCReq(){
return SerClsXMLUtils.dameElemento(getDocument().getDocumentElement(),"CCReq");
}
public void setDatosCliente(String sData){
Element xmlEl=SerClsXMLUtils.dameElemento(getCCReq(),"DatosCliente");
if(xmlEl!=null){
SerClsXMLUtils.cambiaValorEl(xmlEl,sData);
}else{
SerClsXMLUtils.insertaElementoValor(getCCReq(),"DatosCliente",sData);
}
}
public void setAutenticacionByLP(UsuarioTVS user){
Element xmlEl=SerClsXMLUtils.dameElemento(getCCReq(),"Autenticacion");
if(xmlEl==null){
xmlEl=SerClsXMLUtils.ponHijo(getCCReq(),"Autenticacion");
}else{
SerClsXMLUtils.eliminaElemento(xmlEl,"LP");
SerClsXMLUtils.eliminaElemento(xmlEl,"Firma");
}
xmlEl=SerClsXMLUtils.ponHijo(xmlEl,"LP");
SerClsXMLUtils.insertaElementoValor(xmlEl,"login",user.getLogin());
SerClsXMLUtils.insertaElementoValor(xmlEl,"pass",user.getPassword());
}
}
@@ -0,0 +1,33 @@
/*
* Creado el 12-feb-07
*/
package com.tarisan.chipcard.tpvvs.webservicetrayicon.messages;
import es.chipcard.util.*;
import org.w3c.dom.*;
/**
* @author jjrider
*/
public abstract class CCRes extends Msg{
public CCRes(Document doc) throws Exception{
super(doc);
if(!SerClsXMLUtils.existeElemento(doc.getDocumentElement(),"CCRes")){
throw new Exception("El XML dado como argumento no es un CCRes");
}
}
protected Element getCCRes(){
return SerClsXMLUtils.dameElemento(getDocument().getDocumentElement(),"CCRes");
}
public int getTypeOfMessage(){
return this.TYPE_OF_MESSAGE_CCRES;
}
public String getDatosCliente(){
return SerClsXMLUtils.dameValorEl(getCCRes(),"DatosCliente");
}
}
@@ -0,0 +1,30 @@
package com.tarisan.chipcard.tpvvs.webservicetrayicon.messages;
import com.tarisan.chipcard.tpvvs.webservicetrayicon.accesodatos.*;
import es.chipcard.util.*;
/**
* @author jjrider
*/
public class DocumentoUnico extends AutReq{
public DocumentoUnico(UsuarioTVS user,Paciente paciente,CompaniaSanitaria comp, EspecialidadSanitaria espe,ProfesionalSanitario prof,ListaActos objLA,ActoMedico arrActos[],String sDocUnico) throws Exception{
super("DU",user,paciente,comp, espe, prof,objLA,arrActos);
setDocUnico(sDocUnico);
}
public void setDocUnico(String sDU){
if(sDU==null)
return;
sDU=sDU.trim();
if(sDU.length()==0){
return;
}
if(SerClsXMLUtils.existeElemento(this.getAutReq(),"du")){
SerClsXMLUtils.cambiaValorEl(this.getAutReq(),"du",sDU);
}else{
SerClsXMLUtils.insertaElementoValor(getAutReq(),"du",sDU);
}
}
}
@@ -0,0 +1,13 @@
package com.tarisan.chipcard.tpvvs.webservicetrayicon.messages;
import com.tarisan.chipcard.tpvvs.webservicetrayicon.accesodatos.*;
/**
* @author jjrider
*/
public class DocumentoUnicoLaboratorio extends DocumentoUnico{
public DocumentoUnicoLaboratorio(UsuarioTVS user,Paciente paciente,CompaniaSanitaria comp,ProfesionalSanitario prof,ListaActos objLA,String sDocUnico) throws Exception{
super(user,paciente,comp, null, prof,objLA,null,sDocUnico);
}
}
@@ -0,0 +1,38 @@
/*
* Creado el 15-feb-07
*
* Para cambiar la plantilla para este archivo generado vaya a
* Ventana&gt;Preferencias&gt;Java&gt;Generación de código&gt;Código y comentarios
*/
package com.tarisan.chipcard.tpvvs.webservicetrayicon.messages;
import es.chipcard.util.*;
import org.w3c.dom.*;
/**
* @author jjrider
*/
public class Error extends Msg {
public Error(Document doc) throws Exception{
super(doc);
if(!SerClsXMLUtils.existeElemento(doc.getDocumentElement(),"Error")){
throw new Exception("El XML dado como argumento no es un Error");
}
}
public int getTypeOfMessage(){
return this.TYPE_OF_MESSAGE_ERROR;
}
public Element getErrorElement(){
return SerClsXMLUtils.dameElemento(getDocument().getDocumentElement(),"Error");
}
public String getErrorCode(){
return getErrorElement().getAttribute("errcode");
}
public String getErrorDescription(){
return SerClsXMLUtils.dameValorEl(getErrorElement());
}
}
@@ -0,0 +1,73 @@
package com.tarisan.chipcard.tpvvs.webservicetrayicon.messages;
/**
* @author jjrider
*/
import es.chipcard.util.*;
import org.w3c.dom.*;
import java.io.*;
public abstract class Msg {
public static int TYPE_OF_MESSAGE_ERROR=-1;
public static int TYPE_OF_MESSAGE_CCREQ=1;
public static int TYPE_OF_MESSAGE_CCRES=2;
public static String DEFAULT_XML_DECLARATION="<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>";
private Document xmlDoc=null;
public Msg(String sMessage) throws Exception{
xmlDoc=SerClsXMLUtils.parsearDocumento(new StringReader(DEFAULT_XML_DECLARATION+"<Msg version=\"1.0\">"+sMessage+"</Msg>"));
}
public Msg(Document doc) throws Exception{
if(doc==null)
throw new Exception("El XML dado como argumento no puede ser NULL");
if(!doc.getDocumentElement().getNodeName().equals("Msg")){
throw new Exception("El XML dado como argumento no es un Msg");
}
xmlDoc=doc;
}
public abstract int getTypeOfMessage();
protected Document getDocument(){
return xmlDoc;
}
public void setRepeticion(boolean blnValue){
xmlDoc.getDocumentElement().setAttribute("repeticion",((blnValue)?"true":"false"));
}
public String toString(){
return SerClsXMLUtils.dameTextoXml(xmlDoc);
}
public void saveToOutputStream(OutputStream out) throws Exception{
SerClsXMLUtils.toOutputStream(getDocument(),out);
}
/******
* Crea un objeto Msg a partir de una cadena
* @param sResponse
* @return
* @throws Exception
*/
public static Msg createMsgFromString(String sResponse) throws Exception{
/**if(sResponse!=null){
if(!sResponse.trim().startsWith("<?xml")){
}
}**/
sResponse=DEFAULT_XML_DECLARATION+sResponse;
//System.err.println("XML Respuesta:"+sResponse);
Document xmlResponse=SerClsXMLUtils.parsearDocumentoFromString(sResponse);
if(SerClsXMLUtils.existeElemento(xmlResponse.getDocumentElement(),"Error")){
return new Error(xmlResponse);
}else if(SerClsXMLUtils.existeElemento(xmlResponse.getDocumentElement(),"CCRes")){
return new AutRes(xmlResponse);
}else{
return null;
}
}
}
@@ -0,0 +1,10 @@
package com.tarisan.chipcard.tpvvs.webservicetrayicon.messages;
import com.tarisan.chipcard.tpvvs.webservicetrayicon.accesodatos.*;
public class SoloTarjeta extends AutReq{
public SoloTarjeta(UsuarioTVS user,Paciente paciente,CompaniaSanitaria comp, EspecialidadSanitaria espe,ProfesionalSanitario prof,ListaActos objLA,ActoMedico arrActos[]) throws Exception{
super("ST",user,paciente,comp, espe, prof,objLA,arrActos);
}
}
@@ -0,0 +1,10 @@
package com.tarisan.chipcard.tpvvs.webservicetrayicon.messages;
import com.tarisan.chipcard.tpvvs.webservicetrayicon.accesodatos.*;
public class SoloTarjetaLaboratorio extends SoloTarjeta{
public SoloTarjetaLaboratorio(UsuarioTVS user,Paciente paciente,CompaniaSanitaria comp, ProfesionalSanitario prof,ListaActos objLA) throws Exception{
super(user,paciente,comp, null, prof,objLA,null);
}
}
@@ -0,0 +1,21 @@
package com.tarisan.chipcard.tpvvs.webservicetrayicon.messages;
import com.tarisan.chipcard.tpvvs.webservicetrayicon.accesodatos.*;
import es.chipcard.util.*;
public class VolanteClinico extends AutReq {
public VolanteClinico(UsuarioTVS user,Paciente paciente,CompaniaSanitaria comp, EspecialidadSanitaria espe,ProfesionalSanitario prof,ListaActos objLA,ActoMedico arrActos[],String sVolante) throws Exception{
super("VC",user,paciente,comp, espe, prof,objLA,arrActos);
setVolante(sVolante);
}
public void setVolante(String sVO){
if(sVO==null)
return;
if(SerClsXMLUtils.existeElemento(this.getAutReq(),"vol")){
SerClsXMLUtils.cambiaValorEl(this.getAutReq(),"vol",sVO);
}else{
SerClsXMLUtils.insertaElementoValor(getAutReq(),"vol",sVO);
}
}
}
@@ -0,0 +1,21 @@
package com.tarisan.chipcard.tpvvs.webservicetrayicon.messages;
import com.tarisan.chipcard.tpvvs.webservicetrayicon.accesodatos.*;
import es.chipcard.util.*;
public class VolanteMedico extends AutReq{
public VolanteMedico(UsuarioTVS user,Paciente paciente,CompaniaSanitaria comp, EspecialidadSanitaria espe,ProfesionalSanitario prof,ListaActos objLA,String sVolante) throws Exception{
super("VM",user,paciente,comp, espe, prof,objLA,null);
setVolante(sVolante);
}
public void setVolante(String sVO){
if(sVO==null)
return;
if(SerClsXMLUtils.existeElemento(this.getAutReq(),"vol")){
SerClsXMLUtils.cambiaValorEl(this.getAutReq(),"vol",sVO);
}else{
SerClsXMLUtils.insertaElementoValor(getAutReq(),"vol",sVO);
}
}
}
@@ -0,0 +1,12 @@
/**
* SerClsChipCardWSPuntoEntrada.java
*
* This file was auto-generated from WSDL
* by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter.
*/
package com.tarisan.chipcard.tpvvs.ws;
public interface SerClsChipCardWSPuntoEntrada extends java.rmi.Remote {
public java.lang.String requestService(java.lang.String sXMLRequest) throws java.rmi.RemoteException;
}
@@ -0,0 +1,16 @@
/**
* SerClsChipCardWSPuntoEntradaService.java
*
* This file was auto-generated from WSDL
* by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter.
*/
package com.tarisan.chipcard.tpvvs.ws;
public interface SerClsChipCardWSPuntoEntradaService extends javax.xml.rpc.Service {
public java.lang.String getSerClsChipCardWSPuntoEntradaAddress();
public com.tarisan.chipcard.tpvvs.ws.SerClsChipCardWSPuntoEntrada getSerClsChipCardWSPuntoEntrada() throws javax.xml.rpc.ServiceException;
public com.tarisan.chipcard.tpvvs.ws.SerClsChipCardWSPuntoEntrada getSerClsChipCardWSPuntoEntrada(java.net.URL portAddress) throws javax.xml.rpc.ServiceException;
}
@@ -0,0 +1,143 @@
/**
* SerClsChipCardWSPuntoEntradaServiceLocator.java
*
* This file was auto-generated from WSDL
* by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter.
*/
package com.tarisan.chipcard.tpvvs.ws;
public class SerClsChipCardWSPuntoEntradaServiceLocator extends org.apache.axis.client.Service implements com.tarisan.chipcard.tpvvs.ws.SerClsChipCardWSPuntoEntradaService {
public SerClsChipCardWSPuntoEntradaServiceLocator() {
}
public SerClsChipCardWSPuntoEntradaServiceLocator(org.apache.axis.EngineConfiguration config) {
super(config);
}
public SerClsChipCardWSPuntoEntradaServiceLocator(java.lang.String wsdlLoc, javax.xml.namespace.QName sName) throws javax.xml.rpc.ServiceException {
super(wsdlLoc, sName);
}
// Use to get a proxy class for SerClsChipCardWSPuntoEntrada
private java.lang.String SerClsChipCardWSPuntoEntrada_address = "http://tvs-i.chipcard-salud.es:15643/tpvvs/services/SerClsChipCardWSPuntoEntrada";
public java.lang.String getSerClsChipCardWSPuntoEntradaAddress() {
return SerClsChipCardWSPuntoEntrada_address;
}
// The WSDD service name defaults to the port name.
private java.lang.String SerClsChipCardWSPuntoEntradaWSDDServiceName = "SerClsChipCardWSPuntoEntrada";
public java.lang.String getSerClsChipCardWSPuntoEntradaWSDDServiceName() {
return SerClsChipCardWSPuntoEntradaWSDDServiceName;
}
public void setSerClsChipCardWSPuntoEntradaWSDDServiceName(java.lang.String name) {
SerClsChipCardWSPuntoEntradaWSDDServiceName = name;
}
public com.tarisan.chipcard.tpvvs.ws.SerClsChipCardWSPuntoEntrada getSerClsChipCardWSPuntoEntrada() throws javax.xml.rpc.ServiceException {
java.net.URL endpoint;
try {
endpoint = new java.net.URL(SerClsChipCardWSPuntoEntrada_address);
}
catch (java.net.MalformedURLException e) {
throw new javax.xml.rpc.ServiceException(e);
}
return getSerClsChipCardWSPuntoEntrada(endpoint);
}
public com.tarisan.chipcard.tpvvs.ws.SerClsChipCardWSPuntoEntrada getSerClsChipCardWSPuntoEntrada(java.net.URL portAddress) throws javax.xml.rpc.ServiceException {
try {
com.tarisan.chipcard.tpvvs.ws.SerClsChipCardWSPuntoEntradaSoapBindingStub _stub = new com.tarisan.chipcard.tpvvs.ws.SerClsChipCardWSPuntoEntradaSoapBindingStub(portAddress, this);
_stub.setPortName(getSerClsChipCardWSPuntoEntradaWSDDServiceName());
return _stub;
}
catch (org.apache.axis.AxisFault e) {
return null;
}
}
public void setSerClsChipCardWSPuntoEntradaEndpointAddress(java.lang.String address) {
SerClsChipCardWSPuntoEntrada_address = address;
}
/**
* For the given interface, get the stub implementation.
* If this service has no port for the given interface,
* then ServiceException is thrown.
*/
public java.rmi.Remote getPort(Class serviceEndpointInterface) throws javax.xml.rpc.ServiceException {
try {
if (com.tarisan.chipcard.tpvvs.ws.SerClsChipCardWSPuntoEntrada.class.isAssignableFrom(serviceEndpointInterface)) {
com.tarisan.chipcard.tpvvs.ws.SerClsChipCardWSPuntoEntradaSoapBindingStub _stub = new com.tarisan.chipcard.tpvvs.ws.SerClsChipCardWSPuntoEntradaSoapBindingStub(new java.net.URL(SerClsChipCardWSPuntoEntrada_address), this);
_stub.setPortName(getSerClsChipCardWSPuntoEntradaWSDDServiceName());
return _stub;
}
}
catch (java.lang.Throwable t) {
throw new javax.xml.rpc.ServiceException(t);
}
throw new javax.xml.rpc.ServiceException("There is no stub implementation for the interface: " + (serviceEndpointInterface == null ? "null" : serviceEndpointInterface.getName()));
}
/**
* For the given interface, get the stub implementation.
* If this service has no port for the given interface,
* then ServiceException is thrown.
*/
public java.rmi.Remote getPort(javax.xml.namespace.QName portName, Class serviceEndpointInterface) throws javax.xml.rpc.ServiceException {
if (portName == null) {
return getPort(serviceEndpointInterface);
}
java.lang.String inputPortName = portName.getLocalPart();
if ("SerClsChipCardWSPuntoEntrada".equals(inputPortName)) {
return getSerClsChipCardWSPuntoEntrada();
}
else {
java.rmi.Remote _stub = getPort(serviceEndpointInterface);
((org.apache.axis.client.Stub) _stub).setPortName(portName);
return _stub;
}
}
public javax.xml.namespace.QName getServiceName() {
return new javax.xml.namespace.QName("http://ws.tpvvs.sermepa.es", "SerClsChipCardWSPuntoEntradaService");
}
private java.util.HashSet ports = null;
public java.util.Iterator getPorts() {
if (ports == null) {
ports = new java.util.HashSet();
ports.add(new javax.xml.namespace.QName("http://ws.tpvvs.sermepa.es", "SerClsChipCardWSPuntoEntrada"));
}
return ports.iterator();
}
/**
* Set the endpoint address for the specified port name.
*/
public void setEndpointAddress(java.lang.String portName, java.lang.String address) throws javax.xml.rpc.ServiceException {
if ("SerClsChipCardWSPuntoEntrada".equals(portName)) {
setSerClsChipCardWSPuntoEntradaEndpointAddress(address);
}
else
{ // Unknown Port Name
throw new javax.xml.rpc.ServiceException(" Cannot set Endpoint Address for Unknown Port" + portName);
}
}
/**
* Set the endpoint address for the specified port name.
*/
public void setEndpointAddress(javax.xml.namespace.QName portName, java.lang.String address) throws javax.xml.rpc.ServiceException {
setEndpointAddress(portName.getLocalPart(), address);
}
}
@@ -0,0 +1,132 @@
/**
* SerClsChipCardWSPuntoEntradaSoapBindingStub.java
*
* This file was auto-generated from WSDL
* by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter.
*/
package com.tarisan.chipcard.tpvvs.ws;
public class SerClsChipCardWSPuntoEntradaSoapBindingStub extends org.apache.axis.client.Stub implements com.tarisan.chipcard.tpvvs.ws.SerClsChipCardWSPuntoEntrada {
private java.util.Vector cachedSerClasses = new java.util.Vector();
private java.util.Vector cachedSerQNames = new java.util.Vector();
private java.util.Vector cachedSerFactories = new java.util.Vector();
private java.util.Vector cachedDeserFactories = new java.util.Vector();
static org.apache.axis.description.OperationDesc [] _operations;
static {
_operations = new org.apache.axis.description.OperationDesc[1];
_initOperationDesc1();
}
private static void _initOperationDesc1(){
org.apache.axis.description.OperationDesc oper;
org.apache.axis.description.ParameterDesc param;
oper = new org.apache.axis.description.OperationDesc();
oper.setName("requestService");
param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("http://ws.tpvvs.sermepa.es", "sXMLRequest"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), java.lang.String.class, false, false);
param.setNillable(true);
oper.addParameter(param);
oper.setReturnType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
oper.setReturnClass(java.lang.String.class);
oper.setReturnQName(new javax.xml.namespace.QName("http://ws.tpvvs.sermepa.es", "requestServiceReturn"));
oper.setStyle(org.apache.axis.constants.Style.WRAPPED);
oper.setUse(org.apache.axis.constants.Use.LITERAL);
_operations[0] = oper;
}
public SerClsChipCardWSPuntoEntradaSoapBindingStub() throws org.apache.axis.AxisFault {
this(null);
}
public SerClsChipCardWSPuntoEntradaSoapBindingStub(java.net.URL endpointURL, javax.xml.rpc.Service service) throws org.apache.axis.AxisFault {
this(service);
super.cachedEndpoint = endpointURL;
}
public SerClsChipCardWSPuntoEntradaSoapBindingStub(javax.xml.rpc.Service service) throws org.apache.axis.AxisFault {
if (service == null) {
super.service = new org.apache.axis.client.Service();
} else {
super.service = service;
}
((org.apache.axis.client.Service)super.service).setTypeMappingVersion("1.2");
}
public void setEndPoint(java.net.URL endpointURL){
super.cachedEndpoint = endpointURL;
}
protected org.apache.axis.client.Call createCall() throws java.rmi.RemoteException {
try {
org.apache.axis.client.Call _call = super._createCall();
if (super.maintainSessionSet) {
_call.setMaintainSession(super.maintainSession);
}
if (super.cachedUsername != null) {
_call.setUsername(super.cachedUsername);
}
if (super.cachedPassword != null) {
_call.setPassword(super.cachedPassword);
}
if (super.cachedEndpoint != null) {
_call.setTargetEndpointAddress(super.cachedEndpoint);
}
if (super.cachedTimeout != null) {
_call.setTimeout(super.cachedTimeout);
}
if (super.cachedPortName != null) {
_call.setPortName(super.cachedPortName);
}
java.util.Enumeration keys = super.cachedProperties.keys();
while (keys.hasMoreElements()) {
java.lang.String key = (java.lang.String) keys.nextElement();
_call.setProperty(key, super.cachedProperties.get(key));
}
return _call;
}
catch (java.lang.Throwable _t) {
throw new org.apache.axis.AxisFault("Failure trying to get the Call object", _t);
}
}
public java.lang.String requestService(java.lang.String sXMLRequest) throws java.rmi.RemoteException {
if (super.cachedEndpoint == null) {
throw new org.apache.axis.NoEndPointException();
}
org.apache.axis.client.Call _call = createCall();
_call.setOperation(_operations[0]);
_call.setUseSOAPAction(true);
_call.setSOAPActionURI("");
_call.setEncodingStyle(null);
_call.setProperty(org.apache.axis.client.Call.SEND_TYPE_ATTR, Boolean.FALSE);
_call.setProperty(org.apache.axis.AxisEngine.PROP_DOMULTIREFS, Boolean.FALSE);
_call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);
_call.setOperationName(new javax.xml.namespace.QName("http://ws.tpvvs.sermepa.es", "requestService"));
setRequestHeaders(_call);
setAttachments(_call);
try { java.lang.Object _resp = _call.invoke(new java.lang.Object[] {sXMLRequest});
if (_resp instanceof java.rmi.RemoteException) {
throw (java.rmi.RemoteException)_resp;
}
else {
extractAttachments(_call);
try {
return (java.lang.String) _resp;
} catch (java.lang.Exception _exception) {
return (java.lang.String) org.apache.axis.utils.JavaUtils.convert(_resp, java.lang.String.class);
}
}
} catch (org.apache.axis.AxisFault axisFaultException) {
throw axisFaultException;
}
}
}
@@ -0,0 +1,278 @@
package com.tarisan.chipcard.tpvvs.ws;
import com.tarisan.chipcard.tpvvs.webservicetrayicon.ClienteServicioWeb;
import com.tarisan.chipcard.tpvvs.webservicetrayicon.ControladorRespuestas;
import com.tarisan.chipcard.tpvvs.webservicetrayicon.accesodatos.ActoMedico;
import com.tarisan.chipcard.tpvvs.webservicetrayicon.accesodatos.CompaniaSanitaria;
import com.tarisan.chipcard.tpvvs.webservicetrayicon.accesodatos.EspecialidadSanitaria;
import com.tarisan.chipcard.tpvvs.webservicetrayicon.accesodatos.ListaActos;
import com.tarisan.chipcard.tpvvs.webservicetrayicon.accesodatos.Paciente;
import com.tarisan.chipcard.tpvvs.webservicetrayicon.accesodatos.ProfesionalSanitario;
import com.tarisan.chipcard.tpvvs.webservicetrayicon.accesodatos.TerminalSanitario;
import com.tarisan.chipcard.tpvvs.webservicetrayicon.accesodatos.UsuarioTVS;
import com.tarisan.chipcard.tpvvs.webservicetrayicon.messages.AutReq;
import com.tarisan.chipcard.tpvvs.webservicetrayicon.messages.Msg;
import com.tarisan.chipcard.tpvvs.webservicetrayicon.messages.SoloTarjeta;
import com.tarisan.control.ParametrosConfiguracion;
import com.tarisan.excepcion.ExcepcionTarisan;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Calendar;
public class Tarisan {
public static String mensaje = "";
public static int contador = 0;
public static void check_card(String login, String pass, int terminal, int company, String url, String pista, String nif, int especialidad, int codlista, int codact, int secuencial){
mensaje = "";
UsuarioTVS user = new UsuarioTVS();
user.setLogin(login);
user.setPassword(pass);
TerminalSanitario aTS = new TerminalSanitario();
aTS.setNumeroTerminal(terminal);
user.setTerminal(aTS);
Paciente paciente = new Paciente();
paciente.setPista(pista);
CompaniaSanitaria comp = new CompaniaSanitaria();
comp.setCodigoCompania(company);
ProfesionalSanitario prof = new ProfesionalSanitario();
prof.setCodProfesional(nif);
EspecialidadSanitaria espe = new EspecialidadSanitaria();
espe.setCodigoEspecialidad(especialidad);
ListaActos listaActos = new ListaActos();
listaActos.setCodigoListaActos(codlista);
ActoMedico arrActos[] = new ActoMedico[1];
ActoMedico acto = new ActoMedico();
acto.setCodigoActo(codact);
arrActos[0] = acto;
try {
AutReq autRequest =
autRequest =
new SoloTarjeta(
user,
paciente,
comp,
espe,
prof,
listaActos,
arrActos);
ResponseController aResponseController = new ResponseController();
java.net.URL endPointURL = null;
try {
endPointURL = new java.net.URL(url);
} catch (Exception err) {
err.printStackTrace();
}
/*if(contador == 0)
{
Thread.sleep(1000);
contador = 1;
}
else if(contador == 1)
{
try {
System.out.println("Contador = 1, esperando.");
Thread.sleep(5100);
contador = 0;
} catch (InterruptedException e) {
e.printStackTrace();
}
}*/
ClienteServicioWeb objClienteServicioWeb =
new ClienteServicioWeb(
autRequest,
aResponseController,
endPointURL, secuencial);
// mensaje = aResponseController.devolverAutorización(aResponseController.toString());
} catch (Exception e) {
e.printStackTrace();
}
// System.out.println("Mensaje vale: "+mensaje);
//Para asegurarnos de que no devuelve el mensaje vacío...
/*while(mensaje.isEmpty())
{
try {
Thread.sleep(510);
} catch (InterruptedException e) {
e.printStackTrace();
}
}*/
}
static class ResponseController implements ControladorRespuestas {
/*****
* Recibe la respuesta del Servicio Web
*/
public String recibeRespuesta(String sResponse) {
String respuesta="";
mensaje = "";
System.out.println("Entra en devuelveRespuesta. Mensaje tiene valor: "+mensaje);
Msg objResponse = null;
if (sResponse != null) {
try {
// System.out.println("ResponseController.recibeRespuesta:"+sResponse+"\n");
objResponse = Msg.createMsgFromString(sResponse);
if(objResponse.getTypeOfMessage()==Msg.TYPE_OF_MESSAGE_ERROR){
com.tarisan.chipcard.tpvvs.webservicetrayicon.messages.Error errorMes=(com.tarisan.chipcard.tpvvs.webservicetrayicon.messages.Error)objResponse;
//Es un Error en la peticion
System.out.println("Se ha producido el error con código "+errorMes.getErrorCode()+".\nDescripción:"+errorMes.getErrorDescription());
respuesta=objResponse.toString();
}else {
com.tarisan.chipcard.tpvvs.webservicetrayicon.messages.AutRes autResMes=(com.tarisan.chipcard.tpvvs.webservicetrayicon.messages.AutRes)objResponse;
respuesta=objResponse.toString();
mensaje=objResponse.toString();
System.out.println("Respuesta chipcard tarjeta: "+autResMes.getNumeroTarjeta()+", respuesta: "+respuesta);
}
} catch (Exception e) {
System.out.println("Excepcion en recibeRespuesta");
}
}
else{
System.out.println("Sin respuesta");
respuesta = "ERROR";
}
return respuesta;
}
/**
* 15/03/2013 - Inutilizada, devolvemos el mensaje entero en la propia llamada del ControladorRespuestas...
*
* "Parsea" la respuesta del webservice y devuelve el número de la autorización o 0 si no está autorizado
* @param sResponse la respuesta del webservice
* @return El número de autorización
*/
public String devolverAutorizacion(String sResponse)
{
String resul = "";
// System.out.println("Mensaje previo: "+mensaje);
if(sResponse != null)
{
Msg objResponse = null;
try
{
//System.out.println("Llega 125 "+sResponse);
objResponse = Msg.createMsgFromString(sResponse);
//System.out.println("Llega 127 "+objResponse.toString());
if(objResponse.getTypeOfMessage() == Msg.TYPE_OF_MESSAGE_ERROR)
{
// System.out.println("Llega 130 Error");
com.tarisan.chipcard.tpvvs.webservicetrayicon.messages.Error errorMes=(com.tarisan.chipcard.tpvvs.webservicetrayicon.messages.Error)objResponse;
//System.out.println("Llega 132 Error: " + errorMes.toString());
}
else
{
//System.out.println("Llega 136 Bien");
com.tarisan.chipcard.tpvvs.webservicetrayicon.messages.AutRes autResMes=(com.tarisan.chipcard.tpvvs.webservicetrayicon.messages.AutRes)objResponse;
//System.out.println("Llega 138 Bien: " + autResMes.toString());
resul = objResponse.toString();
//System.out.println("Resultado: "+resul);
}
}
catch(Exception e)
{
// System.out.println("Llega 145 Excepcion");
return resul;
}
}
return resul;
}
}
public static boolean inserta_respuesta_oracle(String sResponse, int secuencial){
boolean resul = false;
//insert en la bbdd alberto
StringBuffer strSql = new StringBuffer();
int espe = 0;
int acto = 0;
String tarjeta = "";
String fecha = "";
String respuesta = "";
String mensaje = "";
Integer autorizacion = 0;
int terminal = 0;
//String cadena_conexion = "jdbc:oracle:thin:@(DESCRIPTION=(LOAD_BALANCE=yes)(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.75)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.76)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=realrac)))";
//Properties info = new Properties( );
//info.put( "user", "ALBERTO" );
//info.put( "password", "ALBERTO" );
tarjeta = sResponse.substring(sResponse.indexOf("<Tarjeta><num>")+14, sResponse.indexOf("</num><ver>"));
respuesta = sResponse.substring(sResponse.indexOf("<Aut><response>")+15, sResponse.indexOf("</response><desc>"));
mensaje = sResponse.substring(sResponse.indexOf("</response><desc>")+17, sResponse.indexOf("</desc><AutID>"));
autorizacion = Integer.parseInt(sResponse.substring(sResponse.indexOf("<numref>")+8, sResponse.indexOf("</numref>")));
terminal = Integer.parseInt(sResponse.substring(sResponse.indexOf("<term>")+6, sResponse.indexOf("</term>")));
acto = Integer.parseInt(sResponse.substring(sResponse.indexOf("<acto>")+6, sResponse.indexOf("</acto>")));
espe = Integer.parseInt(sResponse.substring(sResponse.indexOf("<Espec>")+7, sResponse.indexOf("</Espec>")));
strSql.append("INSERT INTO CHIPCARD_MOVIMIENTOS (TARJETA, RESPUESTA, MENSAJE, AUTORIZACION, TERMINAL, ESPECIALIDAD, ACTO, FECHA_HORA, XMLCOMPLETO, SECUENCIA) VALUES (");
strSql.append("'"+tarjeta+"', ");
strSql.append("'"+respuesta+"', ");
strSql.append("'"+mensaje+"', ");
strSql.append(autorizacion+", ");
strSql.append(terminal+", ");
strSql.append(espe+", ");
strSql.append(acto+", ");//?, '?', TO_DATE('?', 'dd/mm/yyyy hh24:mi:ss'), ?)");
Calendar cal = Calendar.getInstance();
String segundos = "";
if(cal.get(Calendar.SECOND)<10)
segundos = "0"+cal.get(Calendar.SECOND);
else
segundos = Integer.toString(cal.get(Calendar.SECOND));
fecha = new String(cal.get(Calendar.DAY_OF_MONTH)+"/"+(cal.get(Calendar.MONTH)+1)+"/"+cal.get(Calendar.YEAR)+" "+cal.get(Calendar.HOUR_OF_DAY)+":"+cal.get(Calendar.MINUTE)+":"+segundos);
strSql.append("TO_DATE('"+fecha+"', 'dd/mm/yyyy hh24:mi:ss'), '"+sResponse+"', ");
strSql.append(secuencial + ")");
try {
Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion();
/*
* sqlInsert.append("Insert into control_medicos (id, medico, fecha, tarjeta) values (?, ?, sysdate, ?)");
aValores[0]=siguiente_id();
aValores[1]=Integer.valueOf(medico);
aValores[2]=new String(tarjeta);
resul = ParametrosConfiguracion.dataStore.insertar(sqlInsert.toString(), aValores, conexion);
*/
conexion.setAutoCommit(false);
PreparedStatement ps = conexion.prepareStatement(strSql.toString());
int a = ps.executeUpdate();
ps.close();
conexion.commit();
conexion.setAutoCommit(true);
conexion.close();
if(a>0)
resul = true;
} catch (SQLException | ExcepcionTarisan e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return resul;
}
}
+123
View File
@@ -0,0 +1,123 @@
/**
* @(#) Constantes.java
*/
package com.tarisan.control;
/**
* Interface que contiene las constantes de uso en la aplicación Tarisan.
* @author <a href="mailto:sistemas@imqnavarra.com">Dpto. Informática</a>.
* @version 1.0, 24/09/2003
*/
public interface Constantes
{
//Módulo de Gestión de Médicos
final static int OPC_MED_GESTOR = 0;
final static int OPC_MED_CABECERA = 1;
final static int OPC_MED_PASSWORD = 2;
final static int OPC_MED_ACTOS = 3;
final static int OPC_MED_LIQUIDACION = 4;
final static int OPC_MED_PACIENTES = 5;
final static int OPC_MED_IRPF = 6;
final static int OPC_MED_MEDICAMENTOS = 7;
final static int OPC_MED_PRESCRIPCIONES = 8;
final static int OPC_MED_ANALISIS = 9;
final static int OPC_MED_IGUALADOS = 10;
final static int OPC_MED_ACTUALIZAR_CABECERA = 11;
final static int OPC_MED_ACTUALIZAR_PASSWORD = 12;
final static int OPC_MED_PREAVISO = 13;
final static int OPC_MED_ACTUALIZAR_ACCESO = 14;
final static int OPC_MED_REGISTRAR_LOG_ANALISIS = 15;
final static int OPC_MED_DETALLE_PACIENTE = 20;
final static int OPC_MED_IMPRIMIR_PETICIONES = 21;
final static int OPC_MED_PETICION_CAPTURADA = 32;
final static int OPC_MED_GENERAR_DETALLE_IRPF = 16;
final static int OPC_MED_ENVIAR_EMAIL = 17;
//Módulo de Gestión de Pacientes
final static int OPC_PAC_GESTOR = 0;
final static int OPC_PAC_FACTURACION = 1;
final static int OPC_PAC_AUTORIZACION = 2;
final static int OPC_PAC_ANALITICA = 3;
final static int OPC_PAC_DIAGNOSTICO = 4;
final static int OPC_PAC_ESPECIALIDADES = 5;
final static int OPC_PAC_RECETAS = 6;
final static int OPC_PAC_HISTORIA = 7;
final static int OPC_PAC_ANALISTA = 8;
final static int OPC_PAC_PASO_TARJETA = 9;
final static int OPC_PAC_ACTUALIZAR_HISTORIA_PACIENTE = 10;
final static int OPC_PAC_PRESCRIPCION_ESPECIALIDADES = 11;
final static int OPC_PAC_PRESCRIPCION_DIAGNOSTICO = 12;
final static int OPC_PAC_PRESCRIPCION_FACTURACION = 13;
final static int OPC_PAC_FACTURACION_REHABPOD = 21;
final static int OPC_PAC_PRESCRIPCION_ANALITICA = 14;
final static int OPC_PAC_PETICION_AUTORIZACION = 15;
final static int OPC_PAC_FIRMA_BENEFICIARIO = 16;
final static int OPC_PAC_ANALISTA_ACEPTAR_ANALISIS = 17;
final static int OPC_PAC_REGISTRAR_LOG_ANALISIS = 18;
final static int OPC_PAC_PRESCRIPCION_RECETAS = 19;
final static int OPC_PAC_LEER_NUMERO_TARJETA_ATS = 22;
final static int OPC_PAC_FACTURACION_CHIPCARD = 23;
final static int OPC_PAC_VOLANTE_INGRESO = 24;
final static int OPC_PAC_IMPRIMIR_VOLANTE_INGRESO = 25;
final static int OPC_PAC_BORRAR_VOLANTE_INGRESO = 26;
final static int OPC_PAC_PRESCRIPCION_ATS = 27;
final static int OPC_PAC_FACTURACION_ODON = 28;
final static int OPC_PAC_PRESCRIPCION_FACTURACION_ODON = 29;
final static int OPC_PAC_PRESCRIPCION_FACTURACION_ESTOMATOLOGIA = 30;
final static int OPC_PAC_FACTURACION_ESTOMATOLOGIA = 31;
final static int OPC_PAC_DETALLE_PACIENTE = 32;
final static int OPC_PAC_PRESCRIPCION_ANATOMIA_PATOLOGICA = 33;
final static int OPC_PAC_VER_PDF = 34;
final static int OPC_PAC_RADIOLOGO = 35;
final static int OPC_PAC_ANALISTA_ACEPTAR_RADIODIAGNOSTICO = 36;
//Módulo de Administración
final static int OPC_ADM_USUARIO_LISTA = 1;
final static int OPC_ADM_USUARIO_DETALLE = 2;
final static int OPC_ADM_PASSWORD = 3;
final static int OPC_ADM_ACT_AUTORIZACION = 4;
final static int OPC_ADM_GES_NIVELES_ESPE = 5;
final static int OPC_ADM_GES_ACT_VISIBILI = 6;
final static int OPC_ADM_GES_NIVELES_ACT = 7;
final static int OPC_ADM_GES_ACT_NIVEL_ACTO = 8;
final static int OPC_ADM_MOSTRAR_LOG = 9;
//Perfiles de la aplicación
final static String PERFIL_ADMINISTRADOR = "00";
final static String PERFIL_CABECERA = "01";
final static String PERFIL_ANALISTA = "02";
final static String PERFIL_ESPECIALISTA = "03";
final static String PERFIL_REHABPOD = "04";
final static String PERFIL_ATS = "05";
final static String PERFIL_DENTISTA = "06";
final static String PERFIL_ODONTOLOGIA = "07";
final static String PERFIL_RADIOLOGO= "08";
//Control de acceso de usuarios y autenticación
final static Integer USUARIO_VALIDO = Integer.valueOf(0);
final static Integer USUARIO_BLOQUEADO = Integer.valueOf(1);
final static Integer USUARIO_CADUCADO = Integer.valueOf(2);
final static Integer USUARIO_PREAVISO = Integer.valueOf(3);
final static Integer USUARIO_INACTIVO = Integer.valueOf(4);
final static Integer USUARIO_INEXISTENTE = Integer.valueOf(5);
final static Integer USUARIO_ACCESO = Integer.valueOf(6);
final static Integer USUARIO_INTENTOS = Integer.valueOf(7);
final static Integer USUARIO_ERROR_CLAVE = Integer.valueOf(8);
//Control de la validez de tarjetas de pacientes
final static Integer TARJETA_VALIDA = Integer.valueOf(0);
final static Integer TARJETA_CADUCADA = Integer.valueOf(1);
final static Integer TARJETA_BAJA = Integer.valueOf(2);
final static Integer TARJETA_SUSPENSO = Integer.valueOf(3);
final static Integer TARJETA_AUTORIZACION = Integer.valueOf(4);
final static Integer TARJETA_FIRMA_AUTORIZACION = Integer.valueOf(5);
}
+122
View File
@@ -0,0 +1,122 @@
package com.tarisan.control;
import java.io.File;
import java.util.Properties;
import javax.activation.DataHandler;
// import javax.activation.DataSource;
import javax.activation.FileDataSource;
import jakarta.mail.BodyPart;
import jakarta.mail.Message;
import jakarta.mail.Multipart;
import jakarta.mail.Session;
import jakarta.mail.Transport;
import jakarta.mail.internet.InternetAddress;
import jakarta.mail.internet.MimeBodyPart;
import jakarta.mail.internet.MimeMessage;
import jakarta.mail.internet.MimeMultipart;
import com.tarisan.log.LogTarisan;
import com.tarisan.log.NivelLog;
// import com.sun.mail.util.MessageRemovedIOException;
public class JavaMail {
public static void main(String[] args) {
/*JavaMail javaMail = new JavaMail();
javaMail.mandarCorreo(mensaje,tarjeta); */
}
public void mandarCorreo(String mensaje, String tarjeta, String email, String asunto, String nombreAdjuntos) {
LogTarisan.logger.log(NivelLog.DEBUG, "com.tarisan.servlets/JavaMail -- mandarCorreo("+mensaje+","+tarjeta+","+email+","+asunto+","+nombreAdjuntos);
// El correo de envío
String correoEnvia = "sistemas@imqnavarra.com";
String claveCorreo = "s1st3masacc17";
// La configuración para enviar correo
Properties properties = new Properties();
properties.put("mail.smtp.host", "smtp.imqnavarra.com");
properties.put("mail.smtp.starttls.enable", "true");
properties.put("mail.smtp.port", "587");
properties.put("mail.smtp.auth", "true");
properties.put("mail.user", correoEnvia);
properties.put("mail.password", claveCorreo);
properties.put("mail.debug", "true"); //para que nos muestre en detalle el proceso
// Obtener la sesion
Session session = Session.getInstance(properties, null);
try {
// Crear el cuerpo del mensaje
MimeMessage mimeMessage = new MimeMessage(session);
// Agregar quien envía el correo
//mimeMessage.setFrom(new InternetAddress(correoEnvia, "sistemas"));
mimeMessage.setFrom(new InternetAddress(email));
// Los destinatarios
InternetAddress[] internetAddresses = {
new InternetAddress("soporte_tarisan@imqnavarra.com")};/*,
new InternetAddress("david.andueza@imqnavarra.com"),
new InternetAddress("sistemas@imqnavarra.com") };*/
// Agregar los destinatarios al mensaje
mimeMessage.setRecipients(Message.RecipientType.TO,
internetAddresses);
// Agregar el asunto al correo
mimeMessage.setSubject(asunto);
// Creo la parte del mensaje
String mensajeCompleto = "";
if (tarjeta!=null && tarjeta.compareTo("")!=0){
tarjeta = tarjeta.replace("()", "%");
mensajeCompleto = mensaje+"\n\n\nTARJETA: "+tarjeta;
}else{
mensajeCompleto = mensaje;
}
MimeBodyPart mimeBodyPart = new MimeBodyPart();
mimeBodyPart.setText(mensajeCompleto);
// Crear el multipart para agregar la parte del mensaje anterior
Multipart multipart = new MimeMultipart();
multipart.addBodyPart(mimeBodyPart);
// Creo la parte del archivo adjunto
BodyPart adjuntoBodyPart = new MimeBodyPart();
if( nombreAdjuntos!=null && nombreAdjuntos.length()>0 ){
String[] partes = nombreAdjuntos.split("--");
for (int x=0; x < partes.length ; x++) {
String rutaAdjunto = partes[x];
adjuntoBodyPart = new MimeBodyPart();
LogTarisan.logger.log(NivelLog.DEBUG, "Ruta de adjunto "+x+": " + ParametrosConfiguracion.ruta_adjuntos+rutaAdjunto);
File f = new File(ParametrosConfiguracion.ruta_adjuntos+rutaAdjunto);
if( f.exists() ){
adjuntoBodyPart.setDataHandler(new DataHandler(new FileDataSource(ParametrosConfiguracion.ruta_adjuntos+"/"+rutaAdjunto)));
adjuntoBodyPart.setFileName( f.getName() );
multipart.addBodyPart(adjuntoBodyPart);
}
}
}
// Agregar el multipart al cuerpo del mensaje
mimeMessage.setContent(multipart);
// Enviar el mensaje
Transport transport = session.getTransport("smtp");
transport.connect(correoEnvia, claveCorreo);
transport.sendMessage(mimeMessage, mimeMessage.getAllRecipients());
transport.close();
} catch (Exception ex) {
LogTarisan.logger.log(NivelLog.ERROR, "Error al Enviar el Correo");
ex.printStackTrace();
}
LogTarisan.logger.log(NivelLog.DEBUG, "Correo Enviado");
}
}
+180
View File
@@ -0,0 +1,180 @@
/**
* @(#) Paginacion.java
*/
package com.tarisan.control;
import com.tarisan.excepcion.ExcepcionTarisan;
import com.tarisan.log.*;
import java.sql.*;
/**
* Clase de apoyo utilizada para realizar la paginación de los datos.
* @author <a href="mailto:sistemas@imqnavarra.com">Dpto. Informática</a>.
* @version 1.0, 29/09/2003
*/
public class Paginacion
{
/**
* Número de página que se le presenta al usuario.
*/
private int intNumPagina=0;
/**
* Número de páginas totales de las que está compuesta la consulta realizada por el usuario.
* <br>Este valor se calcula utulizando el número de filas por página.
*/
private int intNumPaginasTotales=0;
/**
* Número de registros totales de los que está compuesta la consulta realizada por el usuario.
*/
private int intNumRegistrosTotales=0;
/**
* Número de filas por página que se le van a mostrar al usuario.
* <br>Este atributo se inicializa cuando se arranca el servidor de aplicaciones.
* <br>El valor de este atributo se coge del fichero properties.
*/
private static int intFilasPorPagina;
/**
* Establece en un atributo de la clase el número de filas por página.
* @param filasPorPagina Entero que indica el número de filas por pagina.
*/
public static void setFilasPorPagina(int filasPorPagina)
{
intFilasPorPagina = filasPorPagina;
}
/**
* Obtiene el número de filas por página utilizados en la paginación.
* @return Valor numérico que indica el número de filas por página.
*/
public static int getFilasPorPagina()
{
return intFilasPorPagina;
}
/**
* Obtiene el número de página que se le presenta al usuario.
* @return Valor numérico que indica el número de página actual.
*/
public int getNumeroPagina()
{
return intNumPagina;
}
/**
* Establece en un atributo de la clase el número de la página actual que se le presenta al usuario.
* @param numeroPagina Entero que indica el número de pagina.
*/
public void setNumeroPagina(int numeroPagina)
{
intNumPagina=numeroPagina;
}
/**
* Obtiene el número de páginas totales.
* @return Valor numérico que indica el número de páginas totales.
*/
public int getNumeroPaginasTotales()
{
return intNumPaginasTotales;
}
/**
* Obtiene el número de registros totales.
* @return Valor numérico que indica el número de registros totales.
*/
public int getNumeroRegistrosTotales()
{
return intNumRegistrosTotales;
}
/**
* Inicializa el objeto <code>Paginacion</code> para su uso.
* @param rs Objeto <code>ResultSet</code> que contiene los datos de la consulta realizada por el usuario.
*/
public void inicializarPaginacion(ResultSet rs) throws ExcepcionTarisan
{
try
{
rs.last();
intNumRegistrosTotales = rs.getRow();
rs.beforeFirst();
intNumPaginasTotales = intNumRegistrosTotales / intFilasPorPagina;
if (intNumRegistrosTotales % intFilasPorPagina != 0)
intNumPaginasTotales++;
}
catch(Exception e)
{
LogTarisan.logger.log(NivelLog.ERROR, "Error al inicializar la paginacion: " + e);
throw new ExcepcionTarisan(e.getMessage());
}
}
/**
* Realiza la paginación de los datos obtenidos. Consiste en posicionarse en el
* registro correspondiente a la página que el usuario desea consultar sobre el objeto <code>ResultSet</code>.
* @param rs Objeto <code>ResultSet</code> que contiene los datos de la consulta realizada por el usuario.
* @param pagina Entero que nos indica la página que el usuario desea visualizar.
*/
public void realizarPaginacion(ResultSet rs, int pagina) throws ExcepcionTarisan
{
int posicion;
try
{
if (pagina!=0 && intNumRegistrosTotales!=0)
{
posicion = ((pagina - 1) * intFilasPorPagina);
if (posicion == 0)
rs.beforeFirst();
else
rs.absolute(posicion);
intNumPagina = pagina;
}
else
intNumPagina = 0;
}
catch(Exception e)
{
LogTarisan.logger.log(NivelLog.ERROR, "Error al realizar la paginacion: " + e);
throw new ExcepcionTarisan(e.getMessage());
}
}
/**
* Indica si la página cargada se trata de la última página.
* @return Valor booleano que indica si es la última página.
*/
public boolean esUltimaPagina()
{
return (intNumPagina == intNumPaginasTotales);
}
/**
* Indica si la página cargada se trata de la primera página.
* @return Valor booleano que indica si es la primera página.
*/
public boolean esPrimeraPagina()
{
return (intNumPagina == 1);
}
}
@@ -0,0 +1,793 @@
/**
* @(#) ParametrosConfiguracion.java
*/
package com.tarisan.control;
import com.tarisan.log.*;
//import com.tarisan.control.Constantes; Elimino el import que nunca se usa
import com.tarisan.persistencia.DataStore;
import com.tarisan.persistencia.PersistenciaParametros;
import com.tarisan.util.Utilidades;
import java.util.MissingResourceException;
import java.util.PropertyResourceBundle;
import java.util.Hashtable;
/**
* Contiene atributos de clase con los parámetros de configuración de la aplicación.
* <br>
* Dichos parámetros se leen de un fichero de propiedades.
* @author <a href="mailto:sistemas@imqnavarra.com">Dpto. Informática</a>.
* @version 1.0, 24/09/2003
*/
public class ParametrosConfiguracion
{
/**
* Nombre del fichero de propiedades de la aplicación Tarisan (con extensión .properties).
*/
private static final String NOMBRE_PROPIEDADES = "tarisan";
private static final String PROP_VISUAL_DECIMALES = "VISUAL.decimales";
private static final String PROP_VISUAL_FORMATO_FECHAS = "VISUAL.formato_fechas";
private static final String PROP_IMP_CIUDAD = "IMP.ciudad";
private static final String PROP_PAC_PERIODO_ANALISIS = "PAC.periodo_analisis";
private static final String PROP_PAC_PERIODO_RX = "PAC.periodo_rx";
private static final String PROP_PAC_CODIGO_PRIMERA_VISITA = "PAC.codigo_primera_visita";
private static final String PROP_PAC_CODIGO_PRIMERA_LIMPIEZA = "PAC.codigo_primera_limpieza";
private static final String PROP_PAC_CODIGO_VISITA_SUCESIVA = "PAC.codigo_visita_sucesiva";
private static final String PROP_PAC_CODIGO_IGUALAS = "PAC.codigo_igualas";
private static final String PROP_PAC_ANALITICAS = "PAC.analisis";
private static final String PROP_PAC_RADIODIAGNOSTICO = "PAC.radiodiag";
private static final String PROP_PAC_PERIODO_PRIMERA_VISITA = "PAC.periodo_primera_visita";
private static final String PROP_PAC_PERIODO_PRIMERA_VISITA_CHIPCARD = "PAC.periodo_primera_visita_chipcard";
private static final String PROP_PAC_PERIODO_NATURAL = "PAC.periodo_natural";
private static final String PROP_PAC_AUTORIZACION = "PAC.autorizacion";
private static final String PROP_PAC_RUTA_PDF_RESULTADOS = "PAC.ruta_pdf_resultados";
private static final String PROP_PAC_RUTA_PDF_RESULTADOS_ANALITICAS = "PAC.ruta_pdf_resultados_analiticas";
private static final String PROP_PAC_RUTA_PDF_RESULTADOS_ANATOMIA_CSM = "PAC.ruta_pdf_resultados_anatomia_CSM";
private static final String PROP_PAC_RUTA_PDF_RESULTADOS_ANATOMIA = "PAC.ruta_pdf_resultados_anatomia";
private static final String PROP_PAC_RUTA_PDF = "PAC.ruta_pdf";
private static final String PROP_PAC_RUTA_LOGOTIPOS = "PAC.ruta_logotipos";
private static final String PROP_PAC_RUTA_ADJUNTOS = "PAC.ruta_adjuntos";
private static final String PROP_PAC_RUTA_PDF_INFORMES_RX = "PAC.ruta_pdf_informes_rx";
private static final String PROP_PAC_RUTA_PDF_PETICIONES_ANALITICAS = "PAC.ruta_pdf_peticiones_analiticas";
private static final String PROP_PAC_RUTA_PDF_PETICIONES_ANALITICAS_CAPTURADAS = "PAC.ruta_pdf_peticiones_analiticas_capturadas";
private static final String PROP_PAC_RUTA_PDF_PETICIONES_RX_CAPTURADOS = "PAC.ruta_pdf_peticiones_rx_capturados";
private static final String PROP_PAC_RUTA_PDF_PETICIONES_DETALLE_PACIENTES = "PAC.ruta_pdf_peticiones_detalle_pacientes";
private static final String PROP_PAC_RUTA_PDF_PETICIONES_FACTURAS = "PAC.ruta_pdf_peticiones_facturas";
private static final String PROP_PAC_RUTA_PDF_PETICIONES_INGRESOS = "PAC.ruta_pdf_peticiones_ingresos";
private static final String PROP_PAC_RUTA_PDF_PETICIONES_RECETAS = "PAC.ruta_pdf_peticiones_recetas";
private static final String PROP_PAC_RUTA_PDF_PETICIONES_AP = "PAC.ruta_pdf_peticiones_ap";
private static final String PROP_PAC_RUTA_PDF_PETICIONES_ATS = "PAC.ruta_pdf_peticiones_ats";
private static final String PROP_PAC_RUTA_PDF_PETICIONES_AUTORIZACIONES = "PAC.ruta_pdf_peticiones_autorizaciones";
private static final String PROP_PAC_RUTA_PDF_PETICIONES_ESPECIALIDADES = "PAC.ruta_pdf_peticiones_especialidades";
private static final String PROP_PAC_RUTA_PDF_PETICIONES_RX = "PAC.ruta_pdf_peticiones_rx";
private static final String PROP_PAC_RUTA_PDF_PETICIONES = "PAC.ruta_pdf_peticiones";
private static final String PROP_PAC_RUTA_PDF_LIQUIDACIONES = "PAC.ruta_pdf_liquidaciones";
private static final String PROP_PAC_RUTA_PDF_IRPF = "PAC.ruta_pdf_irpf";
private static final String PROP_PAC_RUTA_PDF_FRANQUICIAS = "PAC.ruta_pdf_franquicias";
private static final String PROP_PAC_RUTA_IMG = "PAC.ruta_img";
private static final String PROP_PAC_CONTRATO_DENTAL = "PAC.contrato_dental";
private static final String PROP_PAC_SALUD_CON_COBERTURA_DENTAL = "PAC.salud_con_cobertura_dental";
private static final String PROP_LOG_FICHERO = "LOG.nombre_fichero";
private static final String PROP_LOG_PATH = "LOG.path_fichero";
private static final String PROP_LOG_TAMANO = "LOG.tamano_fichero";
private static final String PROP_LOG_NUMERO = "LOG.numero_ficheros";
private static final String PROP_LOG_NIVEL = "LOG.nivel";
private static final String PROP_LOG_CONTROL_MEDICOS = "LOG.control_medicos";
private static final String PROP_DB_DATASTORE = "DB.data_store";
private static final String PROP_DB_USUARIO = "DB.usuario";
private static final String PROP_DB_PASSWORD = "DB.password";
private static final String PROP_DB_MAQUINA = "DB.maquina";
private static final String PROP_DB_MAQUINA2 = "DB.maquina2";
private static final String PROP_DB_PUERTO = "DB.puerto";
private static final String PROP_DB_INSTANCIA = "DB.instancia";
private static final String PROP_DB_DATASOURCE = "DB.data_source";
private static final String PROP_DB_TIPO_SERVIDOR = "DB.tipo_servidor";
private static final String PROP_PAG_FILAS_PAGINACION = "PAG.filas_paginacion";
private static final String PROP_CLAVE_DIAS_ACTIVIDAD = "CLAVE.dias_actividad";
private static final String PROP_CLAVE_DIAS_CADUCIDAD = "CLAVE.dias_caducidad";
private static final String PROP_CLAVE_DIAS_PREAVISO = "CLAVE.dias_preaviso";
private static final String PROP_CLAVE_NUMERO_INTENTOS = "CLAVE.numero_intentos";
/*
* RAYOS.usuario = fidoate
* RAYOS.clave = fidoate
* RAYOS.server = gimli.grupoimq.local
*/
private static final String PROP_RAYOS_USUARIO = "RAYOS.usuario";
private static final String PROP_RAYOS_CLAVE = "RAYOS.clave";
private static final String PROP_RAYOS_SERVER = "RAYOS.server";
//private static final String PROP_RUTA_PDFS = "PAC.ruta_pdf";
//Propiedades para las conexiones con chipcard
private static final String PROP_CHIPCARD_LOGIN = "CHIPCARD.login";
private static final String PROP_CHIPCARD_PASS = "CHIPCARD.password";
private static final String PROP_CHIPCARD_TERMINAL = "CHIPCARD.terminal";
private static final String PROP_CHIPCARD_PROFESIONAL = "CHIPCARD.profesional";
private static final String PROP_CHIPCARD_URL = "CHIPCARD.webservice";
private static final String PROP_CHIPCARD_COMPANY = "CHIPCARD.comp_verify_card";
private static final String PROP_CHIPCARD_BIN_PROPIOS = "CHIPCARD.bin_propios";
private static final String PROP_CHIPCARD_BIN_DKV = "CHIPCARD.bin_dkv";
private static final String PROP_CHIPCARD_BIN_ADESLAS = "CHIPCARD.bin_adeslas";
private static final String PROP_CHIPCARD_BIN_SANITAS = "CHIPCARD.bin_sanitas";
private static final String PROP_CHIPCARD_BIN_IMQBILBO = "CHIPCARD.bin_imqbilbo";
private static final String PROP_CHIPCARD_BIN_HNA = "CHIPCARD.bin_hna";
private static final String PROP_REDSA_BIN_ASISA = "REDSA.bin_asisa";
private static final String PROP_CHIPCARD_LISTA = "CHIPCARD.list_verify_card";
private static final String PROP_CHIPCARD_AUTO = "CHIPCARD.operativa_autorizada";
private static final String PROP_CHIPCARD_DENY = "CHIPCARD.operativa_denegada";
//conexion al his para generar los pdfs de resultados de analiticas de izasa
private static final String PROP_DBHIS_USUARIO = "DBHIS.usuario";
private static final String PROP_DBHIS_PASSWORD ="DBHIS.password";
private static final String PROP_DBHIS_MAQUINA = "DBHIS.maquina";
private static final String PROP_DBHIS_PUERTO = "DBHIS.puerto";
private static final String PROP_DBHIS_INSTANCIA = "DBHIS.instancia";
private static final String PROP_DBHIS_DATASOURCE = "DBHIS.data_source";
private static final String PROP_DBHIS_TIPO_SERVIDOR ="DBHIS.tipo_servidor";
//actos de la especialidad ATS (50) que funcionan como curas, para que no reste las sesiones y solo permita durante un mes
//(acto == 6000 || acto == 6001 || acto == 6002 || acto <= 6003)
private static final String PROP_ACTOS_ATS_CURA = "ATS.actos_cura";
//BEGIN MODIFICADO por ROUMEN ROUMENOV 15/06/2005
@SuppressWarnings("rawtypes")
public static Hashtable tablaPerfiles = new Hashtable();
//END
/**
* DataStore utilizado en la conexión a base de datos.
*/
public static DataStore dataStore;
/**
* Ciudad en la que se esta utilizando la aplicación. Este valor será utilizado a la hora de realizar las impresiones de los documentos.
*/
public static String ciudad;
/**
* Usuario que inicia sesión en el servidor pacs para ver los resultados del diagnóstico por la imagen.
*/
public static String usuario_pacs;
/**
* Clave del usuario que inicia sesión en el servidor pacs para ver los resultados del diagnóstico por la imagen.
*/
public static String clave_usuario_pacs;
/**
* Servidor pacs para ver los resultados del diagnóstico por la imagen.
*/
public static String server_pacs;
/**
* Valor que indica el periodo, en meses, de los analisis que se van a mostrar al usuario.
*/
public static int periodoAnalisis;
/**
* Valor que indica el periodo, en meses, de los radio diagnósticos que se van a mostrar al usuario.
*/
public static int periodoRx;
/**
* Codigo del acto medico de PRIMERA VISITA.
*/
public static int codigoPrimeraVisita;
/**
* Codigo del acto medico de PRIMERA LIMPIEZA DE BOCA.
*/
public static int codigoPrimeraLimpieza;
/**
* Codigo del acto medico de VISITA SUCESIVA.
*/
public static int codigoVisitaSucesiva;
/**
* Codigo del acto medico de IGUALAS.
*/
public static int codigoIgualas;
/**
* Especialidad de analiticas.
*/
public static int analiticas;
/**
* Especialidad de radiodiagnostico.
*/
public static int radiodiagnostico;
/**
* Periodo mensual que indica los meses que deben transcurrir para que se considere primera visita.
*/
public static int periodoPrimeraVisita;
/**
* Periodo mensual que indica los meses que deben transcurrir para que se considere primera visita para los de Chipcard.
*/
public static int periodoPrimeraVisitaChipcard;
/**
* Valor que indica si se trata de un periodo natural (periodo de enero a diciembre) o no.
*/
public static String periodoNatural;
/**
* Indicador de solicitud de autorización del paciente.
*/
public static String autorizacion;
/**
* Ruta para generar los pdf de peticiones, recetas....
*/
public static String ruta_pdf;
/**
* Ruta donde guardamos los pdfs de los resultados de anatomia patológica para episodios de CSM
*/
public static String ruta_pdf_resultados_anatomia_CSM;
/**
* Ruta donde guardamos los pdfs de los resultados de anatomia patológica propios de TARISAN
*/
public static String ruta_pdf_resultados_anatomia;
/**
* Ruta donde guardamos los pdfs de los resultados de las analíticas
*/
public static String ruta_pdf_resultados_analiticas;
/**
* Ruta donde guardamos los pdfs de los resultados de analíticas
*/
public static String ruta_pdf_resultados;
/**
* Ruta donde guardamos los pdfs de los informes de rayos
*/
public static String ruta_pdf_informes_rx;
/**
* Ruta donde guardamos los pdfs de las peticiones de analítica
*/
public static String ruta_pdf_peticiones_analiticas;
/**
* Ruta donde guardamos los pdfs de las analíticas capturadas
*/
public static String ruta_pdf_peticiones_analiticas_capturadas;
/**
* Ruta donde guardamos los pdfs de los radiodiagnósticos capturados
*/
public static String ruta_pdf_peticiones_rx_capturados;
/**
* Ruta donde guardamos los pdfs del detalle de las peticiones de los pacientes vistos por un médico en un día
*/
public static String ruta_pdf_peticiones_detalle_pacientes;
/**
* Ruta donde guardamos los pdfs de las peticiones de facturas
*/
public static String ruta_pdf_peticiones_facturas;
/**
* Ruta donde guardamos los pdfs de las peticiones de ingresos
*/
public static String ruta_pdf_peticiones_ingresos;
/**
* Ruta donde guardamos los pdfs de las peticiones de recetas
*/
public static String ruta_pdf_peticiones_recetas;
/**
* Ruta donde guardamos los pdfs de las peticiones de anatomia patologica
*/
public static String ruta_pdf_peticiones_ap;
/**
* Ruta donde guardamos los pdfs de peticiones de ats
*/
public static String ruta_pdf_peticiones_ats;
/**
* Ruta donde guardamos los pdfs de las peticiones de autorizaciones
*/
public static String ruta_pdf_peticiones_autorizaciones;
/**
* Ruta donde guardamos los pdfs de las peticiones de especialidades
*/
public static String ruta_pdf_peticiones_especialidades;
/**
* Ruta donde guardamos los pdfs de las peticiones de rayos
*/
public static String ruta_pdf_peticiones_rx;
/**
* Ruta donde guardamos los pdfs de las peticiones "viejas" (a partir de Febrero de 2016)
*/
public static String ruta_pdf_peticiones;
/**
* Ruta donde guardamos los pdfs de las liquidaciones de los médicos, así como de sus detalles
*/
public static String ruta_pdf_liquidaciones;
/**
* Ruta donde guardamos los pdfs de los certificados de irpf de los médicos
*/
public static String ruta_pdf_irpf;
/**
* Ruta donde guardamos los pdfs de las franquicias dentales
*/
public static String ruta_pdf_franquicias;
/**
* Ruta donde guardamos las imágenes
*/
public static String ruta_img;
/**
* Ruta donde guardamos los logotipos de los medicos
*/
public static String ruta_logotipos;
/**
* Ruta donde guardamos los archivos adjuntos de las incidencias
*/
public static String ruta_adjuntos;
/**
* Codigo de contrato para polizas dentales
*/
public static String contrato_dental;
/**
* Codigo de contrato para tarjetas de salud concoberturas dentales
*/
public static int salud_con_cobertura_dental;
/**
* Número de días que se permite la inactividad en el uso de la aplicación.
*/
public static int diasActividad;
/**
* Número de días de duración de la clave (a su fin se alcanza la fecha de caducidad).
*/
public static int diasCaducidad;
/**
* Número de días que se muestra el preaviso de caducidad de clave antes de llegar a su fin.
*/
public static int diasPreaviso;
/**
* Número de intentos de accesos fallidos al login en la aplicación.
*/
public static int numeroIntentos;
/**
* Devuelve el nombre del fichero de propiedades utilizado en la aplicación.
* @return Objeto <code>String</code> que contiene el nombre del fichero de propiedades.
*/
public static String getNombrePropiedades()
{
return NOMBRE_PROPIEDADES;
}
/**
* El bin de chipcard para los propios
*/
public static String bin_chipcard_propios;
/**
* El bin de chipcard para los adeslas
*/
public static String bin_chipcard_adeslas;
/**
* El bin de chipcard para los sanitas
*/
public static String bin_chipcard_sanitas;
/**
* El bin de chipcard para los dkv
*/
public static String bin_chipcard_dkv;
/**
* El bin de chipcard para los IMQ de Bilbao
*/
public static String bin_chipcard_imqbilbo;
/**
* El bin de chipcard para los IMQ de Bilbao
*/
public static String bin_chipcard_hna;
/**
* El bin de Redsa para identificar ASISA
*/
public static String bin_redsa_asisa;
/**
*
*/
public static String chipcard_login;
public static String chipcard_pass;
public static String chipcard_terminal;
public static String chipcard_profesional;
public static String chipcard_url;
public static String chipcard_company;
public static String chipcard_lista;
public static String chipcard_oper_auto;
public static String chipcard_oper_deny;
public static int log_control_medicos;
/**
* la conexion al his para obtener los pdfs de izasa
*/
public static String dbhis_usuario;
public static String dbhis_password;
public static String dbhis_maquina;
public static String dbhis_puerto;
public static String dbhis_instancia;
public static String dbhis_tipo_servidor;
public static String dbhis_data_source;
/**
* Los actos de ats curas
*/
public static String actos_ats_curas;
/**
* El destino de la bbdd desarrollo o real
*/
public static String db_destino;
/**
* Carga en variables de la aplicación los valores indicados en el fichero de propiedades.
*/
@SuppressWarnings("unchecked")
public static void cargarPropiedades()
{
String mensaje;
try
{
PropertyResourceBundle propiedades = (PropertyResourceBundle)PropertyResourceBundle.getBundle(NOMBRE_PROPIEDADES);
System.out.println("- Linea 487 - Fichero properties: " + propiedades);
LogTarisan.setNombreFichero(Utilidades.cargarPropiedadString(propiedades, PROP_LOG_FICHERO, LogTarisan.DEF_LOG_FICHERO));
LogTarisan.setPathFichero(Utilidades.cargarPropiedadString(propiedades, PROP_LOG_PATH, LogTarisan.DEF_LOG_PATH));
LogTarisan.setTamanoFichero(Utilidades.cargarPropiedadString(propiedades, PROP_LOG_TAMANO, LogTarisan.DEF_LOG_TAMANO));
LogTarisan.setNumeroFicheros(Utilidades.cargarPropiedadInt(propiedades, PROP_LOG_NUMERO, LogTarisan.DEF_LOG_NUMERO));
LogTarisan.setNivel(Utilidades.cargarPropiedadString(propiedades, PROP_LOG_NIVEL, LogTarisan.DEF_LOG_NIVEL));
//Cargar la propiedad del log_sql de las lecturas de pistas de los médicos
log_control_medicos = Utilidades.cargarPropiedadInt(propiedades, PROP_LOG_CONTROL_MEDICOS, 0);
dataStore = crearDataStore(Utilidades.cargarPropiedadString(propiedades, PROP_DB_DATASTORE, PersistenciaParametros.ORACLE));
PersistenciaParametros.decimales = Utilidades.cargarPropiedadInt(propiedades, PROP_VISUAL_DECIMALES, 0);
PersistenciaParametros.formatoFechas = Utilidades.cargarPropiedadString(propiedades, PROP_VISUAL_FORMATO_FECHAS, "");
PersistenciaParametros.usuario = Utilidades.cargarPropiedadString(propiedades, PROP_DB_USUARIO, "");
PersistenciaParametros.password = Utilidades.cargarPropiedadString(propiedades, PROP_DB_PASSWORD, "");
PersistenciaParametros.maquina = Utilidades.cargarPropiedadString(propiedades, PROP_DB_MAQUINA, "");
PersistenciaParametros.maquina2 = Utilidades.cargarPropiedadString(propiedades, PROP_DB_MAQUINA2, "");
PersistenciaParametros.puerto = Utilidades.cargarPropiedadInt(propiedades, PROP_DB_PUERTO, 0);
PersistenciaParametros.instancia = Utilidades.cargarPropiedadString(propiedades, PROP_DB_INSTANCIA, "");
PersistenciaParametros.dataSource = Utilidades.cargarPropiedadString(propiedades, PROP_DB_DATASOURCE, "");
PersistenciaParametros.tipoServidorOracle = Utilidades.cargarPropiedadString(propiedades, PROP_DB_TIPO_SERVIDOR, "10g");
Paginacion.setFilasPorPagina(Utilidades.cargarPropiedadInt(propiedades, PROP_PAG_FILAS_PAGINACION, 0));
ciudad = Utilidades.cargarPropiedadString(propiedades, PROP_IMP_CIUDAD, "Pamplona");
diasActividad = Utilidades.cargarPropiedadInt(propiedades, PROP_CLAVE_DIAS_ACTIVIDAD, 90);
diasCaducidad = Utilidades.cargarPropiedadInt(propiedades, PROP_CLAVE_DIAS_CADUCIDAD, 180);
diasPreaviso = Utilidades.cargarPropiedadInt(propiedades, PROP_CLAVE_DIAS_PREAVISO, 15);
numeroIntentos = Utilidades.cargarPropiedadInt(propiedades, PROP_CLAVE_NUMERO_INTENTOS, 5);
periodoAnalisis = Utilidades.cargarPropiedadInt(propiedades, PROP_PAC_PERIODO_ANALISIS, 6);
periodoRx = Utilidades.cargarPropiedadInt(propiedades, PROP_PAC_PERIODO_RX, 6);
codigoVisitaSucesiva = Utilidades.cargarPropiedadInt(propiedades, PROP_PAC_CODIGO_VISITA_SUCESIVA, 2);
codigoPrimeraVisita = Utilidades.cargarPropiedadInt(propiedades, PROP_PAC_CODIGO_PRIMERA_VISITA, 1);
codigoPrimeraLimpieza = Utilidades.cargarPropiedadInt(propiedades, PROP_PAC_CODIGO_PRIMERA_LIMPIEZA, 1460);
codigoIgualas = Utilidades.cargarPropiedadInt(propiedades, PROP_PAC_CODIGO_IGUALAS, 993999);
analiticas = Utilidades.cargarPropiedadInt(propiedades, PROP_PAC_ANALITICAS, 17);
radiodiagnostico = Utilidades.cargarPropiedadInt(propiedades, PROP_PAC_RADIODIAGNOSTICO, 20);
periodoPrimeraVisita = Utilidades.cargarPropiedadInt(propiedades, PROP_PAC_PERIODO_PRIMERA_VISITA, 0);
periodoPrimeraVisitaChipcard = Utilidades.cargarPropiedadInt(propiedades, PROP_PAC_PERIODO_PRIMERA_VISITA_CHIPCARD, 0);
periodoNatural = Utilidades.cargarPropiedadString(propiedades, PROP_PAC_PERIODO_NATURAL, "");
autorizacion = Utilidades.cargarPropiedadString(propiedades, PROP_PAC_AUTORIZACION, "N");
ruta_logotipos = Utilidades.cargarPropiedadString(propiedades, PROP_PAC_RUTA_LOGOTIPOS, "/var/lib/tomcat/webapps/tarisan/logotipos");
ruta_adjuntos = Utilidades.cargarPropiedadString(propiedades, PROP_PAC_RUTA_ADJUNTOS, "/var/lib/tomcat/webapps/tarisan/adjuntos");
ruta_pdf = Utilidades.cargarPropiedadString(propiedades, PROP_PAC_RUTA_PDF, "/var/lib/tomcat/webapps/tarisan/peticiones");
/*ruta_pdf_resultados = Utilidades.cargarPropiedadString(propiedades, PROP_PAC_RUTA_PDF_RESULTADOS, "/root/apache-tomcat-6.0.20/webapps/tarisan/resultados");*/
ruta_pdf_resultados = Utilidades.cargarPropiedadString(propiedades, PROP_PAC_RUTA_PDF_RESULTADOS, "/var/lib/tomcat/webapps/tarisan/resultados");
ruta_pdf_resultados_analiticas = Utilidades.cargarPropiedadString(propiedades, PROP_PAC_RUTA_PDF_RESULTADOS_ANALITICAS, "/var/lib/tomcat/webapps/tarisan/resultados/analiticas");
ruta_pdf_resultados_anatomia_CSM = Utilidades.cargarPropiedadString(propiedades, PROP_PAC_RUTA_PDF_RESULTADOS_ANATOMIA_CSM, "/var/lib/tomcat/webapps/tarisan/hador/DOCEXT");
ruta_pdf_resultados_anatomia = Utilidades.cargarPropiedadString(propiedades, PROP_PAC_RUTA_PDF_RESULTADOS_ANATOMIA, "/var/lib/tomcat/webapps/tarisan/resultados/ap");
ruta_pdf_informes_rx = Utilidades.cargarPropiedadString(propiedades, PROP_PAC_RUTA_PDF_INFORMES_RX, "/var/lib/tomcat/webapps/tarisan/resultados/rx");
ruta_pdf_peticiones_analiticas = Utilidades.cargarPropiedadString(propiedades, PROP_PAC_RUTA_PDF_PETICIONES_ANALITICAS, "/var/lib/tomcat/webapps/tarisan/peticiones/analiticas");
ruta_pdf_peticiones_analiticas_capturadas = Utilidades.cargarPropiedadString(propiedades, PROP_PAC_RUTA_PDF_PETICIONES_ANALITICAS_CAPTURADAS, "/var/lib/tomcat/webapps/tarisan/peticiones/analiticas_capturadas");
ruta_pdf_peticiones_rx_capturados = Utilidades.cargarPropiedadString(propiedades, PROP_PAC_RUTA_PDF_PETICIONES_RX_CAPTURADOS, "/var/lib/tomcat/webapps/tarisan/peticiones/rx_capturados");
ruta_pdf_peticiones_detalle_pacientes = Utilidades.cargarPropiedadString(propiedades, PROP_PAC_RUTA_PDF_PETICIONES_DETALLE_PACIENTES, "/var/lib/tomcat/webapps/tarisant/peticiones/detalle_pacientes");
ruta_pdf_peticiones_facturas = Utilidades.cargarPropiedadString(propiedades, PROP_PAC_RUTA_PDF_PETICIONES_FACTURAS, "/var/lib/tomcat/webapps/tarisan/peticiones/facturas");
ruta_pdf_peticiones_ingresos = Utilidades.cargarPropiedadString(propiedades, PROP_PAC_RUTA_PDF_PETICIONES_INGRESOS, "/var/lib/tomcat/webapps/tarisan/peticiones/ingresos");
ruta_pdf_peticiones_recetas = Utilidades.cargarPropiedadString(propiedades, PROP_PAC_RUTA_PDF_PETICIONES_RECETAS, "/var/lib/tomcat/webapps/tarisan/peticiones/recetas");
ruta_pdf_peticiones_ap = Utilidades.cargarPropiedadString(propiedades, PROP_PAC_RUTA_PDF_PETICIONES_AP, "/var/lib/tomcat/webapps/tarisan/peticiones/ap");
ruta_pdf_peticiones_ats = Utilidades.cargarPropiedadString(propiedades, PROP_PAC_RUTA_PDF_PETICIONES_ATS, "/var/lib/tomcat/webapps/tarisan/peticiones/ats");
ruta_pdf_peticiones_autorizaciones = Utilidades.cargarPropiedadString(propiedades, PROP_PAC_RUTA_PDF_PETICIONES_AUTORIZACIONES, "/var/lib/tomcat/webapps/tarisan/peticiones/autorizaciones");
ruta_pdf_peticiones_especialidades = Utilidades.cargarPropiedadString(propiedades, PROP_PAC_RUTA_PDF_PETICIONES_ESPECIALIDADES, "/var/lib/tomcat/webapps/tarisan/peticiones/especialidades");
ruta_pdf_peticiones_rx = Utilidades.cargarPropiedadString(propiedades, PROP_PAC_RUTA_PDF_PETICIONES_RX, "/var/lib/tomcat/webapps/tarisan/peticiones/rx");
ruta_pdf_peticiones = Utilidades.cargarPropiedadString(propiedades, PROP_PAC_RUTA_PDF_PETICIONES, "/var/lib/tomcat/webapps/tarisan/peticiones");
ruta_pdf_liquidaciones = Utilidades.cargarPropiedadString(propiedades, PROP_PAC_RUTA_PDF_LIQUIDACIONES, "/var/lib/tomcat/webapps/tarisan/liquidaciones");
ruta_pdf_irpf = Utilidades.cargarPropiedadString(propiedades, PROP_PAC_RUTA_PDF_IRPF, "/var/lib/tomcat/webapps/tarisan/irpf");
ruta_pdf_franquicias = Utilidades.cargarPropiedadString(propiedades, PROP_PAC_RUTA_PDF_FRANQUICIAS, "/var/lib/tomcat/webapps/tarisan/franquicias");
ruta_img = Utilidades.cargarPropiedadString(propiedades, PROP_PAC_RUTA_IMG, "/var/lib/tomcat/webapps/tarisan/img");
contrato_dental = Utilidades.cargarPropiedadString(propiedades, PROP_PAC_CONTRATO_DENTAL, "723, 748");
salud_con_cobertura_dental = Utilidades.cargarPropiedadInt(propiedades, PROP_PAC_SALUD_CON_COBERTURA_DENTAL, 723);
//MODIFICADO POR José Javier Ripa el 28/06/2011
//Cargar las propiedades de conexión al pacs para ver las imágenes.
usuario_pacs = Utilidades.cargarPropiedadString(propiedades, PROP_RAYOS_USUARIO, "");
clave_usuario_pacs = Utilidades.cargarPropiedadString(propiedades, PROP_RAYOS_CLAVE, "");
server_pacs = Utilidades.cargarPropiedadString(propiedades, PROP_RAYOS_SERVER, "");
//Configuracion conexiones chipcardd
chipcard_login=Utilidades.cargarPropiedadString(propiedades, PROP_CHIPCARD_LOGIN, "");
chipcard_pass=Utilidades.cargarPropiedadString(propiedades, PROP_CHIPCARD_PASS, "");
chipcard_terminal=Utilidades.cargarPropiedadString(propiedades, PROP_CHIPCARD_TERMINAL, "");
chipcard_profesional=Utilidades.cargarPropiedadString(propiedades, PROP_CHIPCARD_PROFESIONAL, "");
chipcard_url=Utilidades.cargarPropiedadString(propiedades, PROP_CHIPCARD_URL, "");
chipcard_company=Utilidades.cargarPropiedadString(propiedades, PROP_CHIPCARD_COMPANY, "");
chipcard_lista=Utilidades.cargarPropiedadString(propiedades, PROP_CHIPCARD_LISTA, "");
chipcard_oper_auto = Utilidades.cargarPropiedadString(propiedades, PROP_CHIPCARD_AUTO, "");
chipcard_oper_deny = Utilidades.cargarPropiedadString(propiedades, PROP_CHIPCARD_DENY, "");
//BIN'es VÁLIDOS CHIPCARD
bin_chipcard_propios = Utilidades.cargarPropiedadString(propiedades, PROP_CHIPCARD_BIN_PROPIOS, "");
bin_chipcard_dkv = Utilidades.cargarPropiedadString(propiedades, PROP_CHIPCARD_BIN_DKV, "");
bin_chipcard_adeslas = Utilidades.cargarPropiedadString(propiedades, PROP_CHIPCARD_BIN_ADESLAS, "");
bin_chipcard_sanitas = Utilidades.cargarPropiedadString(propiedades, PROP_CHIPCARD_BIN_SANITAS, "");
bin_chipcard_imqbilbo = Utilidades.cargarPropiedadString(propiedades, PROP_CHIPCARD_BIN_IMQBILBO, "");
bin_chipcard_hna = Utilidades.cargarPropiedadString(propiedades, PROP_CHIPCARD_BIN_HNA, "");
bin_redsa_asisa = Utilidades.cargarPropiedadString(propiedades, PROP_REDSA_BIN_ASISA, "B8461");
dbhis_usuario = Utilidades.cargarPropiedadString(propiedades, PROP_DBHIS_USUARIO, "");
dbhis_password= Utilidades.cargarPropiedadString(propiedades, PROP_DBHIS_PASSWORD, "");
dbhis_maquina = Utilidades.cargarPropiedadString(propiedades, PROP_DBHIS_MAQUINA, "");
dbhis_puerto = Utilidades.cargarPropiedadString(propiedades, PROP_DBHIS_PUERTO, "");
dbhis_instancia = Utilidades.cargarPropiedadString(propiedades, PROP_DBHIS_INSTANCIA, "");
dbhis_tipo_servidor = Utilidades.cargarPropiedadString(propiedades, PROP_DBHIS_TIPO_SERVIDOR, "");
dbhis_data_source = Utilidades.cargarPropiedadString(propiedades, PROP_DBHIS_DATASOURCE, "");
actos_ats_curas = Utilidades.cargarPropiedadString(propiedades, PROP_ACTOS_ATS_CURA, "6000, 6001, 6002, 6003");
db_destino = Utilidades.cargarPropiedadString(propiedades, PROP_DB_INSTANCIA, "REAL");
//BEGIN MODIFICADO por ROUMEN ROUMENOV 15/06/2005
//Cargar Perfiles CSM
int key = 0;
String valor = "";
//PERFIL ADMINISTRADOR
key = Utilidades.cargarPropiedadInt(propiedades,"PERFIL.ADMINISTRADOR",0);
valor = Constantes.PERFIL_ADMINISTRADOR;
tablaPerfiles.put(Integer.valueOf(key),new String(valor));
//PERFIL ANALISTA
key = Utilidades.cargarPropiedadInt(propiedades,"PERFIL.ANALISTA1",0);
valor = Constantes.PERFIL_ANALISTA;
tablaPerfiles.put(Integer.valueOf(key),new String(valor));
//PERFIL ANALISTA
/*key = Utilidades.cargarPropiedadInt(propiedades,"PERFIL.ANALISTA2",99);
valor = Constantes.PERFIL_ANALISTA;
tablaPerfiles.put(Integer.valueOf(key),new String(valor)); */
//PERFIL CABECERA
key = Utilidades.cargarPropiedadInt(propiedades,"PERFIL.CABECERA",0);
valor = Constantes.PERFIL_CABECERA;
tablaPerfiles.put(Integer.valueOf(key),new String(valor));
//PERFIL PODOLOGÍA
key = Utilidades.cargarPropiedadInt(propiedades,"PERFIL.PODOLOGIA",0);
valor = Constantes.PERFIL_REHABPOD;
tablaPerfiles.put(Integer.valueOf(key),new String(valor));
//PERFIL REHABILITACION
key = Utilidades.cargarPropiedadInt(propiedades,"PERFIL.REHABILITACION",0);
valor = Constantes.PERFIL_REHABPOD;
tablaPerfiles.put(Integer.valueOf(key),new String(valor));
//PERFIL ATS
key = Utilidades.cargarPropiedadInt(propiedades,"PERFIL.ATS",0);
valor = Constantes.PERFIL_ATS;
tablaPerfiles.put(Integer.valueOf(key),new String(valor));
//PERFIL ESTOMATOLOGÍA
key = Utilidades.cargarPropiedadInt(propiedades,"PERFIL.DENTISTA",0);
valor = Constantes.PERFIL_DENTISTA;
tablaPerfiles.put(Integer.valueOf(key),new String(valor));
//PERFIL ODONTOLOGÍA
key = Utilidades.cargarPropiedadInt(propiedades,"PERFIL.ODONTOLOGIA",0);
valor = Constantes.PERFIL_ODONTOLOGIA;
tablaPerfiles.put(Integer.valueOf(key),new String(valor));
//PERFIL radiologo
key = Utilidades.cargarPropiedadInt(propiedades,"PERFIL.RADIOLOGO",0);
valor = Constantes.PERFIL_RADIOLOGO;
tablaPerfiles.put(Integer.valueOf(key),new String(valor));
//PERFIL Psicoterapia (Padre Menni)
key = Utilidades.cargarPropiedadInt(propiedades,"PERFIL.PSICOTERAPIA",64);
System.out.println("- Linea 667 - Psicoterapia key: " + key);
valor = Constantes.PERFIL_REHABPOD;
tablaPerfiles.put(Integer.valueOf(key),new String(valor));
//PERFIL Cirugía Plástica (Dr. Colas)
key = Utilidades.cargarPropiedadInt(propiedades,"PERFIL.CIRUGIA_PLASTICA",14);
System.out.println("- Linea 673 - Colas key: " + key);
valor = Constantes.PERFIL_REHABPOD;
tablaPerfiles.put(Integer.valueOf(key),new String(valor));
//END
mensaje = " (OK)";
}
catch(MissingResourceException ex)
{
mensaje = " (KO, MissingResourceException: " + ex + ")";
}
LogTarisan.inicializarLog();
escribirConfiguracionLog(mensaje);
}
/**
* Crea el data store que se utilizará en la aplicación según se ha indicado en el fichero de propiedades.<br>
* Si no existe la clase, por defecto se usará el data store correspondiente a Oracle.
* @param nombre Nombre de la clase (incluido su paquete) del data store indicado en el fichero de propiedades.
* @return El objeto <code>DataStore</code> correspondiente al parámetro del fichero de propiedades.
*/
private static DataStore crearDataStore(String nombre)
{
DataStore dataStore = null;
@SuppressWarnings("rawtypes")
Class clase = null;
try
{
clase = Class.forName(nombre);
dataStore = (DataStore)clase.newInstance();
}
catch(ClassNotFoundException ex)
{
System.out.println(ex);
dataStore = crearDataStore(PersistenciaParametros.ORACLE);
}
catch(IllegalAccessException ex)
{
System.out.println(ex);
dataStore = crearDataStore(PersistenciaParametros.ORACLE);
}
catch(InstantiationException ex)
{
System.out.println(ex);
dataStore = crearDataStore(PersistenciaParametros.ORACLE);
}
return dataStore;
}
/**
* Escribe en el fichero de log el valor de los atributos de clase leídos desde
* el fichero de propiedades de la aplicación.
* @param mensaje Cadena que indica si el fichero de propiedades se cargó o no correctamente.
*/
private static void escribirConfiguracionLog(String mensaje)
{
LogTarisan.logger.log(NivelLog.INIT, "Parámetros de configuración cargados" + mensaje);
LogTarisan.logger.log(NivelLog.INIT, PROP_LOG_FICHERO + " = " + LogTarisan.getNombreFichero());
LogTarisan.logger.log(NivelLog.INIT, PROP_LOG_PATH + " = " + LogTarisan.getPathFichero());
LogTarisan.logger.log(NivelLog.INIT, PROP_LOG_TAMANO + " = " + LogTarisan.getTamanoFichero());
LogTarisan.logger.log(NivelLog.INIT, PROP_LOG_NUMERO + " = " + LogTarisan.getNumeroFicheros());
LogTarisan.logger.log(NivelLog.INIT, PROP_LOG_NIVEL + " = " + LogTarisan.getNivel());
LogTarisan.logger.log(NivelLog.INIT, PROP_VISUAL_DECIMALES + " = " + PersistenciaParametros.decimales);
LogTarisan.logger.log(NivelLog.INIT, PROP_VISUAL_FORMATO_FECHAS + " = " + PersistenciaParametros.formatoFechas);
LogTarisan.logger.log(NivelLog.INIT, PROP_DB_DATASTORE + " = " + dataStore);
LogTarisan.logger.log(NivelLog.INIT, PROP_DB_USUARIO + " = " + PersistenciaParametros.usuario);
LogTarisan.logger.log(NivelLog.INIT, PROP_DB_PASSWORD + " = " + PersistenciaParametros.password);
LogTarisan.logger.log(NivelLog.INIT, PROP_DB_MAQUINA + " = " + PersistenciaParametros.maquina);
LogTarisan.logger.log(NivelLog.INIT, PROP_DB_MAQUINA2 + " = " + PersistenciaParametros.maquina2);
LogTarisan.logger.log(NivelLog.INIT, PROP_DB_PUERTO + " = " + PersistenciaParametros.puerto);
LogTarisan.logger.log(NivelLog.INIT, PROP_DB_INSTANCIA + " = " + PersistenciaParametros.instancia);
LogTarisan.logger.log(NivelLog.INIT, PROP_DB_DATASOURCE + " = " + PersistenciaParametros.dataSource);
LogTarisan.logger.log(NivelLog.INIT, PROP_DB_TIPO_SERVIDOR + " = " + PersistenciaParametros.tipoServidorOracle);
LogTarisan.logger.log(NivelLog.INIT, PROP_PAG_FILAS_PAGINACION + " = " + Paginacion.getFilasPorPagina());
LogTarisan.logger.log(NivelLog.INIT, PROP_IMP_CIUDAD + " = " + ciudad);
LogTarisan.logger.log(NivelLog.INIT, PROP_CLAVE_DIAS_ACTIVIDAD + " = " + diasActividad);
LogTarisan.logger.log(NivelLog.INIT, PROP_CLAVE_DIAS_CADUCIDAD + " = " + diasCaducidad);
LogTarisan.logger.log(NivelLog.INIT, PROP_CLAVE_DIAS_PREAVISO + " = " + diasPreaviso);
LogTarisan.logger.log(NivelLog.INIT, PROP_CLAVE_NUMERO_INTENTOS + " = " + numeroIntentos);
LogTarisan.logger.log(NivelLog.INIT, PROP_PAC_PERIODO_ANALISIS + " = " + periodoAnalisis);
LogTarisan.logger.log(NivelLog.INIT, PROP_PAC_PERIODO_RX + " = " + periodoRx);
LogTarisan.logger.log(NivelLog.INIT, PROP_PAC_CODIGO_VISITA_SUCESIVA + " = " + codigoVisitaSucesiva);
LogTarisan.logger.log(NivelLog.INIT, PROP_PAC_CODIGO_PRIMERA_VISITA + " = " + codigoPrimeraVisita);
LogTarisan.logger.log(NivelLog.INIT, PROP_PAC_CODIGO_PRIMERA_LIMPIEZA + " = " + codigoPrimeraLimpieza);
LogTarisan.logger.log(NivelLog.INIT, PROP_PAC_CODIGO_IGUALAS + " = " + codigoIgualas);
LogTarisan.logger.log(NivelLog.INIT, PROP_PAC_ANALITICAS + " = " + analiticas);
LogTarisan.logger.log(NivelLog.INIT, PROP_PAC_RADIODIAGNOSTICO + " = " + radiodiagnostico);
LogTarisan.logger.log(NivelLog.INIT, PROP_PAC_PERIODO_PRIMERA_VISITA + " = " + periodoPrimeraVisita);
LogTarisan.logger.log(NivelLog.INIT, PROP_PAC_PERIODO_PRIMERA_VISITA_CHIPCARD + " = " + periodoPrimeraVisitaChipcard);
LogTarisan.logger.log(NivelLog.INIT, PROP_PAC_PERIODO_NATURAL + " = " + periodoNatural);
LogTarisan.logger.log(NivelLog.INIT, PROP_PAC_AUTORIZACION + " = " + autorizacion);
LogTarisan.logger.log(NivelLog.INIT, PROP_RAYOS_USUARIO + " = " + usuario_pacs);
LogTarisan.logger.log(NivelLog.INIT, PROP_RAYOS_CLAVE + " = " + clave_usuario_pacs);
LogTarisan.logger.log(NivelLog.INIT, PROP_RAYOS_SERVER + " = " + server_pacs);
LogTarisan.logger.log(NivelLog.INIT, PROP_CHIPCARD_BIN_PROPIOS + " = " + bin_chipcard_propios);
LogTarisan.logger.log(NivelLog.INIT, PROP_CHIPCARD_BIN_DKV + " = " + bin_chipcard_dkv);
LogTarisan.logger.log(NivelLog.INIT, PROP_CHIPCARD_BIN_ADESLAS + " = " + bin_chipcard_adeslas);
LogTarisan.logger.log(NivelLog.INIT, PROP_CHIPCARD_BIN_SANITAS + " = " + bin_chipcard_sanitas);
LogTarisan.logger.log(NivelLog.INIT, PROP_CHIPCARD_BIN_IMQBILBO + " = " + bin_chipcard_imqbilbo);
LogTarisan.logger.log(NivelLog.INIT, PROP_CHIPCARD_BIN_HNA + " = " + bin_chipcard_hna);
LogTarisan.logger.log(NivelLog.INIT, PROP_REDSA_BIN_ASISA + " =" + bin_redsa_asisa);
}
}
@@ -0,0 +1,54 @@
package com.tarisan.control;
import com.tarisan.excepcion.ExcepcionTarisan;
import com.tarisan.log.*;
import java.sql.*;
public class PersistenciaControlMedicos
{
public boolean insertar(int medico, String tarjeta)
{
boolean resul=false;
StringBuffer sqlInsert = new StringBuffer();
Object[] aValores = new Object[3];
try {
Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion();
LogTarisan.logger.log(NivelLog.DEBUG, medico + " - El medico "+medico+" pasa la tarjeta: "+tarjeta+" vamos a meterlo en la tabla oracle");
sqlInsert.append("Insert into control_medicos (id, medico, fecha, tarjeta) values (?, ?, sysdate, ?)");
aValores[0]=siguiente_id();
aValores[1]=Integer.valueOf(medico);
aValores[2]=new String(tarjeta);
resul = ParametrosConfiguracion.dataStore.insertar(sqlInsert.toString(), aValores, conexion);
} catch (ExcepcionTarisan e) {
LogTarisan.logger.log(NivelLog.ERROR, medico + " - Error al insertar el registro de control de medicos");
}
return resul;
}
public int siguiente_id()
{
int resul = 0;
try {
Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion();
String sql = "select max(id) maximo from control_medicos";
ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sql);
while(rs.next())
{
resul = rs.getInt(1);
}
} catch (ExcepcionTarisan e) {
LogTarisan.logger.log(NivelLog.ERROR, "Error al obtener el max id de la tabla control_medicos");
} catch (SQLException e) {
LogTarisan.logger.log(NivelLog.ERROR, "Error SQL al obtener el max id de la tabla control_medicos");
}
if(resul == 0)
resul = 1;
else
resul += 1;
return resul;
}
}
@@ -0,0 +1,54 @@
package com.tarisan.control;
import com.tarisan.excepcion.ExcepcionTarisan;
import com.tarisan.log.*;
import java.sql.*;
public class PersistenciaControlMedicosTroquelado
{
public boolean insertar(int medico, String troquelado)
{
boolean resul=false;
StringBuffer sqlInsert = new StringBuffer();
Object[] aValores = new Object[3];
try {
Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion();
LogTarisan.logger.log(NivelLog.DEBUG, medico + " - El medico "+medico+" mete el troquelado: "+troquelado+" vamos a meterlo en la tabla oracle");
sqlInsert.append("Insert into control_medicos_troquelado (id, medico, fecha, troquelado) values (?, ?, sysdate, ?)");
aValores[0]=siguiente_id();
aValores[1]=Integer.valueOf(medico);
aValores[2]=new String(troquelado);
resul = ParametrosConfiguracion.dataStore.insertar(sqlInsert.toString(), aValores, conexion);
} catch (ExcepcionTarisan e) {
LogTarisan.logger.log(NivelLog.ERROR, medico + " - Error al insertar el registro de control de medicos troquelado");
}
return resul;
}
public int siguiente_id()
{
int resul = 0;
try {
Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion();
String sql = "select max(id) maximo from control_medicos_troquelado";
ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sql);
while(rs.next())
{
resul = rs.getInt(1);
}
} catch (ExcepcionTarisan e) {
LogTarisan.logger.log(NivelLog.ERROR, "Error al obtener el max id de la tabla control_medicos_troquelado");
} catch (SQLException e) {
LogTarisan.logger.log(NivelLog.ERROR, "Error SQL al obtener el max id de la tabla control_medicos_troquelado");
}
if(resul == 0)
resul = 1;
else
resul += 1;
return resul;
}
}
@@ -0,0 +1,85 @@
package com.tarisan.control;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Vector;
import com.tarisan.data.Tanoticias;
import com.tarisan.data.Tavolin;
import com.tarisan.excepcion.ExcepcionTarisan;
import com.tarisan.log.LogTarisan;
import com.tarisan.log.NivelLog;
import com.tarisan.util.Utilidades;
import com.tarisan.data.Hce_doc_ext_ap;
public class PersistenciaHce_doc_ext_ap {
/**
* El objeto <code>Paginacion</code> que controla el número de filas a mostrar por cada página.
*/
private Paginacion objPaginacion = new Paginacion();
/**
* Obtiene el valor del objeto <code>Paginacion</code> para saber qué página se está visualizando.
* @return El objeto <code>Paginacion</code>.
*/
public Paginacion getPaginacion()
{
return objPaginacion;
}
public Vector seleccionar(Number epis_pk) throws ExcepcionTarisan
{
Vector vResultado = new Vector();
Hce_doc_ext_ap hce_doc_ext_ap = null;
String consulta = "";
String nombrePdf = "";
consulta = "select * from hce_doc_ext_ap where epis_pk = "+ epis_pk;
try
{
Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion();
ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, consulta);
while(rs.next())
{
String[] partes = rs.getString("NOMBRE_DOC").split("\\.");
nombrePdf = partes[0];
hce_doc_ext_ap = new Hce_doc_ext_ap();
hce_doc_ext_ap.setNombre_doc(nombrePdf);
vResultado.addElement(hce_doc_ext_ap);
}
rs.close();
ParametrosConfiguracion.dataStore.liberarConexion(conexion);
LogTarisan.logger.log(NivelLog.DEBUG, "Seleccionados " + vResultado.size() + " registros de la tabla hce_doc_ext_ap (" + consulta + ")");
}
catch (ExcepcionTarisan sqle)
{
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de hce_doc_ext_ap: " + sqle + " (" + consulta + ")");
throw (ExcepcionTarisan)sqle;
}
catch(SQLException sqle)
{
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de hce_doc_ext_ap: " + sqle + " (" + consulta + ")");
throw new ExcepcionTarisan(sqle.getMessage());
}
catch(Exception sqle)
{
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de hce_doc_ext_ap: " + sqle + " (" + consulta + ")");
throw new ExcepcionTarisan(sqle.getMessage());
}
catch(Throwable sqle)
{
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de hce_doc_ext_ap: " + sqle + " (" + consulta + ")");
throw new ExcepcionTarisan(sqle.getMessage());
}
return vResultado;
}
}
@@ -0,0 +1,726 @@
/**
* @(#) PersistenciaPaciente.java
*/
package com.tarisan.control;
import com.tarisan.data.Paciente;
import com.tarisan.data.Tarjeta;
import com.tarisan.excepcion.*;
import com.tarisan.log.*;
import java.sql.*;
import java.util.Calendar;
/**
* Controla los accesos a la persistencia para la entidad <code>Paciente</code>.
* @author <a href="mailto:sistemas@imqnavarra.com">Dpto. Informática</a>.
* @version 1.0, 24/09/2003
*/
public class PersistenciaPaciente implements Constantes
{
/**
* Selecciona el primer registro de la tabla ttbenefi encontrado para la tarjeta de paciente pasada por el médico.
* @param tarjeta El objeto <code>Tarjeta</code> para el que se realiza la búsqueda.
* @return El <code>Paciente</code> encontrado en la tabla de beneficiarios,
* o null si se produce alguna excepción.
* @throws
*/
public Object seleccionar(Tarjeta tarjeta, int medico) throws ExcepcionTarisan
{
Object retorno = null;
Paciente paciente = null;
StringBuffer sqlSelect = new StringBuffer();
try
{
sqlSelect.append("SELECT ttbenefi.TARJETA");
sqlSelect.append(", ttbenefi.CLIENTE");
sqlSelect.append(", ttbenefi.FECHA_BAJA");
sqlSelect.append(", ttbenefi.LPD_AUT");
sqlSelect.append(", ttbenefi.ENTIDAD");
sqlSelect.append(", ttclient.SEXO");
sqlSelect.append(", ttclient.FECHA_NACIMIENTO");
sqlSelect.append(" FROM ttbenefi, ttclient");
sqlSelect.append(" WHERE TARJETA = ? AND");
sqlSelect.append(" ttbenefi.cliente = ttclient.cliente");
sqlSelect.append(" and (ttbenefi.fecha_baja is null or ttbenefi.fecha_baja > sysdate) ");
//sqlSelect.append(" AND POLIZA = ?");
//sqlSelect.append(" AND ORDEN = ?");
Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion();
Object aCondiciones[] = new Object[1];
aCondiciones[0] = Integer.valueOf(tarjeta.getTarjeta());
//aCondiciones[1] = Double.valueOf(tarjeta.getPoliza());
//aCondiciones[2] = Integer.valueOf(tarjeta.getBeneficiario());
@SuppressWarnings("unused")
int numTarjeta = 0;
int codCliente = 0;
Date fecBaja = null;
String autorizado = "";
String sexo = "";
ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect.toString(), aCondiciones);
while(rs.next())
{
paciente = new Paciente();
tarjeta.setEntidadIMQ(rs.getInt("ENTIDAD"));
paciente.setTarjeta(tarjeta);
numTarjeta = rs.getInt("TARJETA");
codCliente = rs.getInt("CLIENTE");
fecBaja = rs.getDate("FECHA_BAJA");
autorizado = rs.getString("LPD_AUT");
sexo = rs.getString("SEXO");
paciente.setSexo(sexo);
paciente.setEdad(com.tarisan.util.Utilidades.calcularEdad(rs.getDate("FECHA_NACIMIENTO"), Calendar.getInstance().getTime()));
}
rs.close();
Calendar calendario = Calendar.getInstance();
/*if((numTarjeta != tarjeta.getTarjeta()) && (tarjeta.getTarjeta() > 0))
{
//La tarjeta del beneficiario (que no es Visa) está caducada (se ha emitido una posterior)
retorno = TARJETA_CADUCADA;
}
else
*/
if((fecBaja != null) && (calendario.getTime().after((java.util.Date)fecBaja)))
{
//esa tarjeta está de baja, vamos a buscar por col-pol-orden a ver si tiene una activa
sqlSelect.append("SELECT TARJETA");
sqlSelect.append(", CLIENTE");
sqlSelect.append(", FECHA_BAJA");
sqlSelect.append(", LPD_AUT");
sqlSelect.append(" FROM ttbenefi");
sqlSelect.append(" WHERE COLECTIVO = ?");
sqlSelect.append(" AND POLIZA = ?");
sqlSelect.append(" AND ORDEN = ?");
sqlSelect.append(" AND ENTIDAD = ?");
sqlSelect.append(" AND (fecha_baja is null or fecha_baja > sysdate) ");
Object bCondiciones[] = new Object[4];
bCondiciones[0] = Long.valueOf(tarjeta.getColectivo());
bCondiciones[1] = Double.valueOf(tarjeta.getPoliza());
bCondiciones[2] = Integer.valueOf(tarjeta.getBeneficiario());
bCondiciones[3] = Integer.valueOf(tarjeta.getEntidadIMQ());
int numTarjeta2 = 0;
rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect.toString(), aCondiciones);
while(rs.next())
{
numTarjeta2 = rs.getInt("TARJETA");
}
rs.close();
if(numTarjeta2 != 0)
{
//La tarjeta pasada está de baja, pero hay otra de alta: tarjeta caducada.
retorno = TARJETA_CADUCADA;
}
else
{
//El beneficiario está dado de baja
retorno = TARJETA_BAJA;
}
}
else if (this.clienteConMorosidad(tarjeta.getColectivo(), tarjeta.getPoliza(), medico))
{
//La tarjeta del paciente está suspendida (es moroso)
retorno = TARJETA_SUSPENSO;
}
else if ((ParametrosConfiguracion.autorizacion.trim().toUpperCase().compareTo("S") == 0))
{
//El sistema comprobará la autorización para mostrar los resultados de las analíticas
paciente.setNombre(this.obtenerNombreAsegurado(codCliente,medico));
if(autorizado == null)
{
paciente.setAutorizado("N");
}
else
{
if(autorizado.compareTo("S")==0)
paciente.setAutorizado(autorizado);
else
paciente.setAutorizado("N");
}
retorno = paciente;
}
else
{
//La tarjeta del beneficiario es correcta y no comprobaremos si el paciente ha firmado la autorización
paciente.setNombre(this.obtenerNombreAsegurado(codCliente,medico));
paciente.setAutorizado("S");
retorno = paciente;
}
ParametrosConfiguracion.dataStore.liberarConexion(conexion);
LogTarisan.logger.log(NivelLog.DEBUG, medico + " - Seleccionado el paciente " + paciente + " de la tabla ttbenefi (" + sqlSelect + ")");
}
catch(SQLException sqle)
{
LogTarisan.logger.log(NivelLog.ERROR, medico + " - Error en la selección de paciente: " + sqle + " (" + sqlSelect + ")");
throw new ExcepcionTarisan();
}
return retorno;
}
public Object seleccionarColPolOrd(Tarjeta tarjeta, int medico) throws ExcepcionTarisan
{
Object retorno = null;
/*Paciente paciente = null;*/
Paciente paciente = new Paciente();
StringBuffer sqlSelect = new StringBuffer();
boolean encontrado = false;
try
{
sqlSelect.append("SELECT ttbenefi.TARJETA");
sqlSelect.append(", ttbenefi.CLIENTE");
sqlSelect.append(", ttbenefi.FECHA_BAJA");
sqlSelect.append(", ttbenefi.LPD_AUT");
sqlSelect.append(", ttbenefi.ENTIDAD");
sqlSelect.append(", ttclient.SEXO");
sqlSelect.append(", ttclient.FECHA_NACIMIENTO");
sqlSelect.append(" FROM ttbenefi, ttclient");
sqlSelect.append(" WHERE COLECTIVO = ? AND");
sqlSelect.append(" POLIZA = ? AND");
sqlSelect.append(" ORDEN = ? AND");
sqlSelect.append(" ttbenefi.cliente = ttclient.cliente");
sqlSelect.append(" and (ttbenefi.fecha_baja is null or ttbenefi.fecha_baja > sysdate) ");
//sqlSelect.append(" AND POLIZA = ?");
//sqlSelect.append(" AND ORDEN = ?");
Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion();
Object aCondiciones[] = new Object[3];
aCondiciones[0] = Long.valueOf(tarjeta.getColectivo());
aCondiciones[1] = Double.valueOf(tarjeta.getPoliza());
aCondiciones[2] = Integer.valueOf(tarjeta.getBeneficiario());
//aCondiciones[1] = Double.valueOf(tarjeta.getPoliza());
//aCondiciones[2] = Integer.valueOf(tarjeta.getBeneficiario());
@SuppressWarnings("unused")
int numTarjeta = 0;
int codCliente = 0;
Date fecBaja = null;
String autorizado = "";
String sexo = "";
ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect.toString(), aCondiciones);
while(rs.next())
{
paciente = new Paciente();
tarjeta.setEntidadIMQ(rs.getInt("ENTIDAD"));
paciente.setTarjeta(tarjeta);
numTarjeta = rs.getInt("TARJETA");
codCliente = rs.getInt("CLIENTE");
fecBaja = rs.getDate("FECHA_BAJA");
autorizado = rs.getString("LPD_AUT");
sexo = rs.getString("SEXO");
paciente.setSexo(sexo);
if(rs.getDate("FECHA_NACIMIENTO") == null){
paciente.setEdad(99);
}else {
paciente.setEdad(com.tarisan.util.Utilidades.calcularEdad(rs.getDate("FECHA_NACIMIENTO"), Calendar.getInstance().getTime()));
}
encontrado = true;
}
rs.close();
Calendar calendario = Calendar.getInstance();
/*if((numTarjeta != tarjeta.getTarjeta()) && (tarjeta.getTarjeta() > 0))
{
//La tarjeta del beneficiario (que no es Visa) está caducada (se ha emitido una posterior)
retorno = TARJETA_CADUCADA;
}
else
*/
if(((fecBaja != null) && (calendario.getTime().after((java.util.Date)fecBaja)) ) || (fecBaja == null && encontrado == false))
{
//esa tarjeta está de baja, vamos a buscar por col-pol-orden a ver si tiene una activa
StringBuffer sqlSelect2 = new StringBuffer();
sqlSelect2.append("SELECT TARJETA");
sqlSelect2.append(", CLIENTE");
sqlSelect2.append(", FECHA_BAJA");
sqlSelect2.append(", LPD_AUT");
sqlSelect2.append(" FROM ttbenefi");
sqlSelect2.append(" WHERE COLECTIVO = ?");
sqlSelect2.append(" AND POLIZA = ?");
sqlSelect2.append(" AND ORDEN = ?");
sqlSelect2.append(" AND ENTIDAD = ?");
sqlSelect2.append(" AND (fecha_baja is null or fecha_baja > sysdate) ");
Object bCondiciones[] = new Object[4];
bCondiciones[0] = Long.valueOf(tarjeta.getColectivo());
bCondiciones[1] = Double.valueOf(tarjeta.getPoliza());
bCondiciones[2] = Integer.valueOf(tarjeta.getBeneficiario());
bCondiciones[3] = Integer.valueOf(tarjeta.getEntidadIMQ());
int numTarjeta2 = 0;
ResultSet rs2 = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect2.toString(), bCondiciones);
while(rs2.next())
{
numTarjeta2 = rs.getInt("TARJETA");
}
rs2.close();
if(numTarjeta2 != 0)
{
//La tarjeta pasada está de baja, pero hay otra de alta: tarjeta caducada.
retorno = TARJETA_CADUCADA;
}
else
{
//El beneficiario está dado de baja
retorno = TARJETA_BAJA;
}
}
else if (this.clienteConMorosidad(tarjeta.getColectivo(), tarjeta.getPoliza(), medico))
{
//La tarjeta del paciente está suspendida (es moroso)
retorno = TARJETA_SUSPENSO;
}
else if ((ParametrosConfiguracion.autorizacion.trim().toUpperCase().compareTo("S") == 0))
{
//El sistema comprobará la autorización para mostrar los resultados de las analíticas
paciente.setNombre(this.obtenerNombreAsegurado(codCliente,medico));
if(autorizado == null)
{
paciente.setAutorizado("N");
}
else
{
if(autorizado.compareTo("S")==0)
paciente.setAutorizado(autorizado);
else
paciente.setAutorizado("N");
}
retorno = paciente;
}
else
{
//La tarjeta del beneficiario es correcta y no comprobaremos si el paciente ha firmado la autorización
paciente.setNombre(this.obtenerNombreAsegurado(codCliente,medico));
paciente.setAutorizado("S");
retorno = paciente;
}
ParametrosConfiguracion.dataStore.liberarConexion(conexion);
LogTarisan.logger.log(NivelLog.DEBUG, medico + " - Seleccionado el paciente " + paciente.getNombre() + " de la tabla ttbenefi (" + sqlSelect.toString() + ")");
}
catch(SQLException sqle)
{
LogTarisan.logger.log(NivelLog.ERROR, medico + " - Error en la selección de paciente: " + sqle + " (" + sqlSelect + ")");
throw new ExcepcionTarisan();
}
return retorno;
}
/**
* Comprueba en la tabla TARECOFI si el cliente buscado tiene morosidad o no.
* @param colectivo El número de colectivo.
* @param póliza El número de póliza.
* @return El valor booleano según sea o no moroso el cliente.
* @throws ExcepcionTarisan
*/
private boolean clienteConMorosidad(long colectivo, double poliza, int medico) throws ExcepcionTarisan
{
boolean retorno;
StringBuffer sqlSelect = new StringBuffer();
try
{
sqlSelect.append("SELECT PENDIENTE");
sqlSelect.append(" FROM TARECOFI, TTCOLECT");
sqlSelect.append(" WHERE COLEC = ?");
sqlSelect.append(" AND POLIZA = ?");
sqlSelect.append(" AND TARECOFI.ENTIDAD = TTCOLECT.ENTIDAD");
sqlSelect.append(" AND TARECOFI.COLEC = TTCOLECT.COLECTIVO");
sqlSelect.append(" AND COPAGO <> 3");
/* Se excluyen los colectivos que tienen copago transferido (TTCOLECT.COPAGO = 3) */
Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion();
Object aCondiciones[] = new Object[2];
aCondiciones[0] = Long.valueOf(colectivo);
aCondiciones[1] = Double.valueOf(poliza);
double importe = -1.0;
ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect.toString(), aCondiciones);
while(rs.next())
{
importe = rs.getDouble("PENDIENTE");
}
rs.close();
ParametrosConfiguracion.dataStore.liberarConexion(conexion);
if (importe >= 0.0)
{
retorno = true;
}
else
{
retorno = false;
}
LogTarisan.logger.log(NivelLog.DEBUG, medico + " - Seleccionado la morosidad del cliente: " + importe + " de la tabla TARECOFI (" + sqlSelect + ")");
}
catch(SQLException sqle)
{
retorno = false;
LogTarisan.logger.log(NivelLog.ERROR, medico + " - Error en la selección de morosidad del cliente: " + sqle + " (" + sqlSelect + ")");
throw new ExcepcionTarisan();
}
return retorno;
}
public String obtenerNombreAsegurado(Tarjeta tarj, int medico)
{
String resul ="";
StringBuffer sqlSelect = new StringBuffer();
try
{
//SELECT * FROM TTBENEFI WHERE COLECTIVO=3 AND POLIZA=9.5957400185E11 AND ENTIDAD=5 AND ORDEN = 1
sqlSelect.append("SELECT CLIENTE FROM TTBENEFI WHERE COLECTIVO=? AND POLIZA=? AND ENTIDAD=? AND ORDEN = ?");
Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion();
Object aCondiciones[] = new Object[4];
aCondiciones[0] = Long.valueOf(tarj.getColectivo());
aCondiciones[1] = Long.valueOf(tarj.getPoliza());
aCondiciones[2] = Integer.valueOf(tarj.getEntidadIMQ());
aCondiciones[3] = Integer.valueOf(tarj.getBeneficiario());
ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect.toString(), aCondiciones);
while(rs.next())
{
resul = obtenerNombreAsegurado(rs.getInt("CLIENTE"), medico);
}
LogTarisan.logger.log(NivelLog.DEBUG, medico + " - Seleccionado el cliente: " + resul + " de la tabla TTBENEFI (" + sqlSelect + ")");
}
catch (Exception e)
{
LogTarisan.logger.log(NivelLog.ERROR, medico + " - PersistenciaPaciente - obtenerNombreAsegurado(Tarjeta) - Excepcion "+e.toString());
} catch (ExcepcionTarisan e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return resul;
}
/**
* Recupera el nombre y apellidos del cliente correspondiente a la tarjeta de paciente.
* @param codCliente Código del cliente correspondiente a la tarjeta del paciente.
* @return El nombre y apellidos del cliente.
* @throws
*/
private String obtenerNombreAsegurado(int codCliente, int medico) throws ExcepcionTarisan
{
/*StringBuffer nombre = new StringBuffer();*/
String nombre = "";
StringBuffer sqlSelect = new StringBuffer();
try
{
sqlSelect.append("SELECT NOMBRE");
sqlSelect.append(", APELLIDOS");
sqlSelect.append(" FROM ttclient");
sqlSelect.append(" WHERE CLIENTE = ?");
Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion();
Object aCondiciones[] = new Object[1];
aCondiciones[0] = Integer.valueOf(codCliente);
ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect.toString(), aCondiciones);
while(rs.next())
{
if(rs.getString("APELLIDOS").contains(rs.getString("NOMBRE").trim()))
{
/*nombre.append(rs.getString("APELLIDOS"));*/
nombre = rs.getString("APELLIDOS");
}
else
{
/*nombre.append(rs.getString("NOMBRE"));
nombre.append(" ");
nombre.append(rs.getString("APELLIDOS"));*/
nombre = rs.getString("NOMBRE") + " " + rs.getString("APELLIDOS");
}
}
rs.close();
ParametrosConfiguracion.dataStore.liberarConexion(conexion);
LogTarisan.logger.log(NivelLog.DEBUG, medico + " - Seleccionado el cliente: " + nombre/*.toString()*/ + " de la tabla ttclient (" + sqlSelect + ")");
}
catch(SQLException sqle)
{
LogTarisan.logger.log(NivelLog.ERROR, medico + " - Error en la selección del cliente: " + sqle + " (" + sqlSelect + ")");
throw new ExcepcionTarisan();
}
/*return nombre.toString();*/
return nombre;
}
/**
* Marca el flag de autorización con el valor 'S' a la firma de la autorización por parte del beneficiario.
* @param tarjeta El objeto <code>Tarjeta</code> del paciente beneficiario.
* @return El resultado de la actualización en base de datos.
* @throws
*
* Se cambia TABENEFI a vista materializada, no se puede hacer update en ella. Se requiere que el médico
* lleve el papel de la autorización firmada al IMQ.
*/
public boolean firmarAutorizacion(Tarjeta tarjeta, int medico) throws ExcepcionTarisan
{
boolean resultado = true;
/*
Connection conexion = null;
StringBuffer sqlUpdate = new StringBuffer();
sqlUpdate.append("UPDATE ttbenefi");
sqlUpdate.append(" SET LPD_AUT = ?");
sqlUpdate.append(" WHERE COLECTIVO = ?");
sqlUpdate.append(" AND POLIZA = ?");
sqlUpdate.append(" AND ORDEN = ?");
sqlUpdate.append(" AND ENTIDAD = ?");
try
{
Object[] aValores = new Object[1];
aValores[0] = "S";
Object[] aCondiciones = new Object[4];
aCondiciones[0] = Integer.valueOf(tarjeta.getColectivo());
aCondiciones[1] = Double.valueOf(tarjeta.getPoliza());
aCondiciones[2] = Integer.valueOf(tarjeta.getBeneficiario());
aCondiciones[3] = Integer.valueOf(tarjeta.getEntidadIMQ());
resultado = ParametrosConfiguracion.dataStore.actualizar(sqlUpdate.toString(), aValores, aCondiciones);
}
catch(ExcepcionTarisan ex)
{
LogTarisan.logger.log(NivelLog.ERROR, "Error en la actualización de la firma del beneficiario " + tarjeta + ": " + ex + " (" + sqlUpdate + ")");
throw ex;
}*/
LogTarisan.logger.log(NivelLog.INFO, medico + " - Ya no se actualiza ttbenefi por que es vista materializada ");
return resultado;
}
public boolean clienteCompatible(int medico)
{
boolean esCompatible = false;
return esCompatible;
}
public Calendar obtenerFechaNacimiento(Tarjeta tarjeta, int medico)
{
Calendar fecnac = Calendar.getInstance();
fecnac.set(Calendar.DAY_OF_MONTH, 1);
fecnac.set(Calendar.MONTH, 1);
fecnac.set(Calendar.YEAR, 1900);
Connection conexion;
try {
conexion = ParametrosConfiguracion.dataStore.obtenerConexion();
StringBuffer sqlSelect = new StringBuffer();
sqlSelect.append("Select fecha_nacimiento ");
sqlSelect.append("from ttbenefi, ttclient ");
sqlSelect.append("where ttclient.cliente = ttbenefi.cliente ");
sqlSelect.append(" and (ttbenefi.fecha_baja is null or ttbenefi.fecha_baja > sysdate) ");
Object[] aCondiciones = new Object[1];
if(tarjeta.getTarjeta()==0)
{
sqlSelect.append("and trim(ttbenefi.tarjeta_chipcard) = trim(?)");
aCondiciones[0]=new String(tarjeta.getTarjetaDesplazado());
}
else
{
sqlSelect.append("and ttbenefi.tarjeta = ?");
aCondiciones[0]=Integer.valueOf(tarjeta.getTarjeta());
}
ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect.toString(), aCondiciones);
try {
while(rs.next())
{
if(rs.getDate("fecha_nacimiento") != null)
fecnac.setTime(rs.getDate("fecha_nacimiento"));
}
rs.close();
LogTarisan.logger.log(NivelLog.DEBUG, medico + " - Seleccionada la fecha de nacimiento: " + fecnac + " del cliente: " + tarjeta.getTarjetaDesplazado() + "/" + tarjeta.getTarjeta() + "de la tabla ttbenefi (" + sqlSelect + ")");
} catch (SQLException e) {
ParametrosConfiguracion.dataStore.liberarConexion(conexion);
}
ParametrosConfiguracion.dataStore.liberarConexion(conexion);
} catch (ExcepcionTarisan e1) {
LogTarisan.logger.log(NivelLog.ERROR, medico + " - Error al obtener la fecha de nacimiento de la tarjeta: "+tarjeta);
}
return fecnac;
}
public String obtenerNIF(Tarjeta tarjeta, int medico) throws ExcepcionTarisan
{
String nif = "";
Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion();
StringBuffer sqlSelect = new StringBuffer();
sqlSelect.append("Select nif ");
sqlSelect.append("from ttbenefi, ttclient ");
sqlSelect.append("where ttclient.cliente = ttbenefi.cliente ");
sqlSelect.append(" and (ttbenefi.fecha_baja is null or ttbenefi.fecha_baja > sysdate) ");
Object[] aCondiciones = new Object[1];
if(tarjeta.getTarjeta()==0)
{
sqlSelect.append("and trim(ttbenefi.tarjeta_chipcard) = trim(?)");
aCondiciones[0]=new String(tarjeta.getTarjetaDesplazado());
}
else
{
sqlSelect.append("and ttbenefi.tarjeta = ?");
aCondiciones[0]=Integer.valueOf(tarjeta.getTarjeta());
}
ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect.toString(), aCondiciones);
try {
while(rs.next())
{
nif = rs.getString("nif");
}
rs.close();
LogTarisan.logger.log(NivelLog.DEBUG, medico + " - Seleccionado el nif: " + nif + "del cliente: " + tarjeta.getTarjeta() + " de la tabla ttclient (" + sqlSelect + ")");
} catch (SQLException e) {
ParametrosConfiguracion.dataStore.liberarConexion(conexion);
LogTarisan.logger.log(NivelLog.ERROR, medico + " - ERROR. "+e.toString());
}
ParametrosConfiguracion.dataStore.liberarConexion(conexion);
return nif;
}
public String obtenerDomicilio(Tarjeta tarjeta, int medico) throws ExcepcionTarisan
{
String direccion = "";
Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion();
StringBuffer sqlSelect = new StringBuffer();
sqlSelect.append("select ttclient.CP, ttclient.DIRECCION, ttclient.POBLACION");
sqlSelect.append(" from ttclient, ttbenefi");
sqlSelect.append(" where ttbenefi.CLIENTE = ttclient.CLIENTE ");
Object[] aCondiciones = new Object[1];
if(tarjeta.getTarjeta()==0)
{
sqlSelect.append("and trim(ttbenefi.tarjeta_chipcard) = trim(?)");
aCondiciones[0]=new String(tarjeta.getTarjetaDesplazado());
}
else
{
sqlSelect.append("and ttbenefi.tarjeta = ?");
aCondiciones[0]=Integer.valueOf(tarjeta.getTarjeta());
}
ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect.toString(), aCondiciones);
try{
while(rs.next())
{
direccion = rs.getString("DIRECCION").trim() + ", CP: " + rs.getString("CP").trim() + ". " + rs.getString("POBLACION").trim();
LogTarisan.logger.log(NivelLog.DEBUG, medico + " - Obtenida dirección: "+direccion);
}
rs.close();
}
catch (SQLException e) {
ParametrosConfiguracion.dataStore.liberarConexion(conexion);
LogTarisan.logger.log(NivelLog.ERROR, medico + " - ERROR. "+e.toString());
}
ParametrosConfiguracion.dataStore.liberarConexion(conexion);
return direccion;
}
public boolean tieneDental(String chipCard, int medico) throws ExcepcionTarisan
{
boolean dental = false;
Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion();
StringBuffer sqlSelect = new StringBuffer();
sqlSelect.append("Select ttbenefi.COLECTIVO ");
sqlSelect.append("from ttbenefi, TTCOLECT ");
sqlSelect.append("where ttbenefi.cliente in (select cliente from ttbenefi where tarjeta_chipcard = '" + chipCard + "') ");
sqlSelect.append(" AND TTCOLECT.COLECTIVO = TTBENEFI.COLECTIVO ");
sqlSelect.append(" AND TTCOLECT.CONTRATO = 723 ");
sqlSelect.append(" and (TTBENEFI.FECHA_BAJA > sysdate OR TTBENEFI.FECHA_BAJA IS NULL)");
ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect.toString());
try {
if(rs.next())
{
dental = true;
}
rs.close();
} catch (SQLException e) {
ParametrosConfiguracion.dataStore.liberarConexion(conexion);
LogTarisan.logger.log(NivelLog.ERROR, medico + " - ERROR. "+e.toString());
}
ParametrosConfiguracion.dataStore.liberarConexion(conexion);
return dental;
}
public boolean tieneSalud(int entidad, long colectivo, int medico) throws ExcepcionTarisan
{
boolean salud = false;
Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion();
StringBuffer sqlSelect = new StringBuffer();
sqlSelect.append("Select ttcolect.CONTRATO ");
sqlSelect.append("from ttbenefi, TTCOLECT ");
sqlSelect.append(" WHERE TTCOLECT.ENTIDAD = ? ");
sqlSelect.append(" AND TTCOLECT.COLECTIVO = ? ");
sqlSelect.append(" AND TTCOLECT.COLECTIVO = TTBENEFI.COLECTIVO ");
sqlSelect.append(" AND TTCOLECT.ENTIDAD = TTBENEFI.ENTIDAD ");
sqlSelect.append(" AND TTCOLECT.CONTRATO <> 723 ");
sqlSelect.append(" and (TTBENEFI.FECHA_BAJA > sysdate OR TTBENEFI.FECHA_BAJA IS NULL)");
Object aCondiciones[] = new Object[2];
aCondiciones[0] = Integer.valueOf(entidad);
aCondiciones[1] = Long.valueOf(colectivo);
ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect.toString(), aCondiciones);
try {
if(rs.next())
{
salud = true;
}
rs.close();
} catch (SQLException e) {
ParametrosConfiguracion.dataStore.liberarConexion(conexion);
LogTarisan.logger.log(NivelLog.ERROR, medico + " - ERROR. "+e.toString());
}
ParametrosConfiguracion.dataStore.liberarConexion(conexion);
return salud;
}
}
@@ -0,0 +1,323 @@
/**
* @(#)
*/
package com.tarisan.control;
import java.sql.Connection;
import java.sql.Date;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Calendar;
import com.tarisan.data.RespuestaChipcard;
import com.tarisan.excepcion.ExcepcionTarisan;
import com.tarisan.log.LogTarisan;
import com.tarisan.log.NivelLog;
import com.tarisan.util.Utilidades;
public class PersistenciaRespuestaChipcard
{
public RespuestaChipcard parsearRespuesta(String response)
{
RespuestaChipcard resul = new RespuestaChipcard();
if(response != null)
{
LogTarisan.logger.log(NivelLog.DEBUG, "Llega 14: "+response);
String campo = "";
if(response.contains("<Error errcode"))
{
resul.set_error(true);
campo = response.substring(response.indexOf("<Error errcode"));
campo = response.substring(response.indexOf(">")+1, response.indexOf("</Error>"));
resul.set_mensaje(campo);
}
else
{
resul.set_error(false);
campo = response.substring(response.indexOf("<Tarjeta><num>"), response.indexOf("</num><ver>"));
LogTarisan.logger.log(NivelLog.DEBUG, "Llega 18");
resul.set_tarjeta(campo);
campo = "";
campo = response.substring(response.indexOf("<Aut><response>"), response.indexOf("</response><desc>"));
LogTarisan.logger.log(NivelLog.DEBUG, "Llega 22");
resul.set_respuesta(campo);
campo = "";
campo = response.substring(response.indexOf("</response><desc>"), response.indexOf("</desc><AutID>"));
LogTarisan.logger.log(NivelLog.DEBUG, "Llega 26");
resul.set_mensaje(campo);
campo = "";
resul.set_talon_chipcard(Integer.parseInt(response.substring(response.indexOf("<numref>")+8, response.indexOf("</numref>"))));
LogTarisan.logger.log(NivelLog.DEBUG, "Llega 30");
campo = "";
resul.set_terminal(Integer.parseInt(response.substring(response.indexOf("<term>")+6, response.indexOf("</term>"))));
LogTarisan.logger.log(NivelLog.DEBUG, "Llega 33");
campo = "";
resul.set_especialidad(Integer.parseInt(response.substring(response.indexOf("<Espec>")+7, response.indexOf("</Espec>"))));
LogTarisan.logger.log(NivelLog.DEBUG, "Llega 53");
campo = "";
resul.set_acto(Integer.parseInt(response.substring(response.indexOf("<acto>")+6, response.indexOf("</acto>"))));
LogTarisan.logger.log(NivelLog.DEBUG, "Llega 56");
campo = "";
// <timestamp>2013-11-27-09.14.45.100121</timestamp>
String tiempo = response.substring(response.indexOf("<timestamp>")+11, response.indexOf("</timestamp>"));
LogTarisan.logger.log(NivelLog.DEBUG, "Llega 61. tiempo: "+tiempo);
Calendar cal = Calendar.getInstance();
int anio = 0;
int mes = 0;
int dia = 0;
int hora=0;
int min=0;
int sec=0;
//cal.set(year, month, date, hourOfDay, minute, second);
anio = Integer.valueOf(tiempo.substring(0, 4));
LogTarisan.logger.log(NivelLog.DEBUG, "año "+anio);
mes = Integer.valueOf(tiempo.substring(5,7));
LogTarisan.logger.log(NivelLog.DEBUG, "Mes "+mes);
dia = Integer.valueOf(tiempo.substring(8,10));
LogTarisan.logger.log(NivelLog.DEBUG, "Dia "+dia);
hora = Integer.valueOf(tiempo.substring(11, 13));
LogTarisan.logger.log(NivelLog.DEBUG, "hora "+hora);
min = Integer.valueOf(tiempo.substring(14, 16));
LogTarisan.logger.log(NivelLog.DEBUG, "min "+min);
sec = Integer.valueOf(tiempo.substring(17, 19));
LogTarisan.logger.log(NivelLog.DEBUG, "sec "+sec);
cal.clear();
cal.set(Calendar.DAY_OF_MONTH, dia);
cal.set(Calendar.MONTH, mes);
cal.set(Calendar.YEAR, anio);
cal.set(Calendar.HOUR_OF_DAY, hora);
cal.set(Calendar.MINUTE, min);
cal.set(Calendar.SECOND, sec);
LogTarisan.logger.log(NivelLog.DEBUG, "Llega 83");
resul.set_fecha_hora(new Date(cal.getTimeInMillis()));
LogTarisan.logger.log(NivelLog.DEBUG, "Llega 85");
resul.set_xml(response);
}
}
return resul;
}
public Integer obtenerSecuencia()
{
Integer sec = 0;
String consulta = "select PETICION_CHIPCARD.NEXTVAL from dual";
Connection conexion = null;
try {
conexion = ParametrosConfiguracion.dataStore.obtenerConexion();
ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, consulta);
if(rs.next())
sec = rs.getInt("NEXTVAL");
}
catch (ExcepcionTarisan e) {
LogTarisan.logger.log(NivelLog.DEBUG, "Excepcion TARISAN en obtenerSecuencia");
} catch (SQLException e) {
LogTarisan.logger.log(NivelLog.DEBUG, "Excepcion SQL en obtenerSecuencia");
}
try {
conexion.close();
} catch (SQLException e) {
LogTarisan.logger.log(NivelLog.ERROR, "Error al cerrar la conexion con oracle");
}
return sec;
}
public boolean insertar_peticiones(int medico, int especialidad, int acto, String tarjeta, Calendar cal, Integer secuencia)
{
boolean resul = false;
StringBuffer strSql = new StringBuffer();
Object[] aValores = new Object[6];
strSql.append("INSERT INTO CHIPCARD_PETICIONES (MEDICO, ESPECIALIDAD, ACTO, TARJETA_CHIPCARD, FECHA_HORA, SECUENCIA) VALUES (?, ?, ?, '?', TO_DATE('?', 'dd/mm/yyyy hh24:mi:ss'), ?)");
aValores[0] = Integer.valueOf(medico);
aValores[1] = Integer.valueOf(especialidad);
aValores[2] = Integer.valueOf(acto);
aValores[3] = new String(tarjeta);
aValores[5] = Integer.valueOf(secuencia);
String segundos = "";
if(cal.get(Calendar.SECOND)<10)
segundos = "0"+cal.get(Calendar.SECOND);
else
segundos = Integer.toString(cal.get(Calendar.SECOND));
aValores[4] = new String(cal.get(Calendar.DAY_OF_MONTH)+"/"+(cal.get(Calendar.MONTH)+1)+"/"+cal.get(Calendar.YEAR)+" "+cal.get(Calendar.HOUR_OF_DAY)+":"+cal.get(Calendar.MINUTE)+":"+segundos);
Connection conexion = null;
try
{
conexion = ParametrosConfiguracion.dataStore.obtenerConexion();
LogTarisan.logger.log(NivelLog.DEBUG, Utilidades.obtenerSentenciaSQL(strSql, aValores, null));
resul = ParametrosConfiguracion.dataStore.insertar(Utilidades.obtenerSentenciaSQL(strSql, aValores, null), conexion);
}catch (ExcepcionTarisan e1) {
LogTarisan.logger.log(NivelLog.DEBUG, "Excepcion tarisan al generar la sentencia sql. "+strSql.toString()+aValores);
}
try {
conexion.close();
} catch (SQLException e) {
LogTarisan.logger.log(NivelLog.ERROR, "Error al cerrar la conexion con oracle");
}
return resul;
}
/**
* Recibe el objeto respuesta chipcard y lo inserta en la tabla Chipcard_movimientos.
* @param res
* @return
*/
public boolean insertar_movimientos(RespuestaChipcard res, Integer secuencia)
{
boolean resul = false;
//INSERTAR EN CHIPCARD_MOVIMIENTOS PARA TENER EN BBDD LOS MOVIMIENTOS DE CHIPCARD
/*
* TARJETA VARCHAR2(24 BYTE),
RESPUESTA VARCHAR2(255 BYTE),
MENSAJE VARCHAR2(255 BYTE),
AUTORIZACION NUMBER(10) NOT NULL,
TERMINAL VARCHAR2(10 BYTE)
*/
StringBuffer strSql = new StringBuffer();
Object[] aValores = new Object[10];
strSql.append("INSERT INTO CHIPCARD_MOVIMIENTOS (TARJETA, RESPUESTA, MENSAJE, AUTORIZACION, TERMINAL, ESPECIALIDAD, ACTO, FECHA_HORA, XMLCOMPLETO, SECUENCIA) VALUES ('?', '?', '?', ?, '?', ?, ?, to_date('?', 'dd/mm/yyyy hh24:mi:ss'), '?', ?)");
aValores[0] = new String(res.get_tarjeta().substring(14));
aValores[1] = new String(res.get_respuesta().substring(15));
aValores[2] = new String(res.get_mensaje().substring(17));
aValores[3] = Integer.valueOf(res.get_talon_chipcard());
aValores[4] = Integer.valueOf(res.get_terminal());
aValores[5] = Integer.valueOf(res.get_especialidad());
aValores[6] = Integer.valueOf(res.get_acto());
aValores[9] = Integer.valueOf(secuencia);
Calendar cal = Calendar.getInstance();
cal.setTime(res.get_fecha_hora());
String segundos = "";
if(cal.get(Calendar.SECOND)<10)
segundos = "0"+cal.get(Calendar.SECOND);
else
segundos = Integer.toString(cal.get(Calendar.SECOND));
aValores[7] = new String(cal.get(Calendar.DAY_OF_MONTH)+"/"+(cal.get(Calendar.MONTH)+1)+"/"+cal.get(Calendar.YEAR)+" "+cal.get(Calendar.HOUR_OF_DAY)+":"+cal.get(Calendar.MINUTE)+":"+segundos);
aValores[8] = new String(res.get_xml());
try {
LogTarisan.logger.log(NivelLog.DEBUG, Utilidades.obtenerSentenciaSQL(strSql, aValores, null));
} catch (ExcepcionTarisan e1) {
LogTarisan.logger.log(NivelLog.DEBUG, "Excepcion tarisan al generar la sentencia sql. "+strSql.toString()+aValores);
}
Connection conexion = null;
try {
conexion = ParametrosConfiguracion.dataStore.obtenerConexion();
//resul = ParametrosConfiguracion.dataStore.insertar(strSql.toString(), aValores, conexion);
resul = ParametrosConfiguracion.dataStore.insertar(Utilidades.obtenerSentenciaSQL(strSql, aValores, null), conexion);
} catch (ExcepcionTarisan e) {
LogTarisan.logger.log(NivelLog.ERROR, "Excepcion en chipcard_movimientos la respuesta: "+res.get_talon_chipcard()+", el error: "+e.toString());
}
try {
conexion.close();
} catch (SQLException e) {
LogTarisan.logger.log(NivelLog.ERROR, "Error al cerrar la conexion con oracle");
}
return resul;
}
public boolean talon_duplicado(Integer autoriz, int medico)
{
boolean resultado = false;
StringBuffer strSql = new StringBuffer();
Object[] aCondiciones = new Object[2];
strSql.append("select count(talon_chipcard) cuantos from tamovext where talon_chipcard = ? and medico <> ?");
aCondiciones[0]=autoriz;
aCondiciones[0]=medico;
Connection conexion = null;
try{
conexion = ParametrosConfiguracion.dataStore.obtenerConexion();
ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, strSql.toString(), aCondiciones);
if(rs.next())
{
int cuanto = rs.getInt("CUANTOS");
if(cuanto > 0)
resultado = true;
}
}
catch (ExcepcionTarisan e) {
LogTarisan.logger.log(NivelLog.DEBUG, "Excepcion en talon_duplicado");
} catch (SQLException e) {
LogTarisan.logger.log(NivelLog.DEBUG, "Excepcion en talon_duplicado");
}
try {
conexion.close();
} catch (SQLException e) {
LogTarisan.logger.log(NivelLog.ERROR, "Error al cerrar la conexion con oracle");
}
return resultado;
}
/**
* Hemos detectado que si hay dos peticiones exáctamente al mismo tiempo las respuestas se alternan y da un error a pesar de que la respuesta haya sido autorizada.
* para asegurarnos buscamos la secuencia de la petición en la tabla de respuestas y "recomprobamos" el resultado
* @param secuencia
* @return
*/
public boolean obtener_resultado_secuencia(Integer secuencia)
{
boolean resul = false;
String sql = "SELECT RESPUESTA FROM CHIPCARD_MOVIMIENTOS WHERE SECUENCIA = "+secuencia;
Connection conexion = null;
try
{
conexion = ParametrosConfiguracion.dataStore.obtenerConexion();
ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sql);
if(rs.next())
{
String respuesta = rs.getString("RESPUESTA");
if(respuesta.contains(ParametrosConfiguracion.chipcard_oper_auto))
resul = true;
}
}catch (ExcepcionTarisan e) {
LogTarisan.logger.log(NivelLog.DEBUG, "Excepcion tarisan al obtener resultado por secuencia");
} catch (SQLException e) {
LogTarisan.logger.log(NivelLog.DEBUG, "Excepcion sql al obtener resultado por secuencia");
}
try {
conexion.close();
} catch (SQLException e) {
LogTarisan.logger.log(NivelLog.ERROR, "Error al cerrar la conexion con oracle");
}
LogTarisan.logger.log(NivelLog.DEBUG, "Se encuentra la secuencia "+secuencia+"? "+resul);
return resul;
}
public String obtener_respuesta_secuencia(Integer secuencia)
{
String resul = "";
String sql = "SELECT XMLCOMPLETO FROM CHIPCARD_MOVIMIENTOS WHERE SECUENCIA = "+secuencia;
Connection conexion = null;
try
{
conexion = ParametrosConfiguracion.dataStore.obtenerConexion();
ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sql);
if(rs.next())
{
resul = rs.getString("XMLCOMPLETO");
}
}catch (ExcepcionTarisan e) {
LogTarisan.logger.log(NivelLog.DEBUG, "Excepcion tarisan al obtener resultado por secuencia");
} catch (SQLException e) {
LogTarisan.logger.log(NivelLog.DEBUG, "Excepcion sql al obtener resultado por secuencia");
}
try {
conexion.close();
} catch (SQLException e) {
LogTarisan.logger.log(NivelLog.ERROR, "Error al cerrar la conexion con oracle");
}
LogTarisan.logger.log(NivelLog.DEBUG, "Se encuentra la secuencia "+secuencia+"? "+resul);
return resul;
}
}
@@ -0,0 +1,67 @@
/**
* @(#) PersistenciaPaciente.java
*/
package com.tarisan.control;
import com.tarisan.excepcion.*;
import com.tarisan.log.*;
import java.sql.*;
import java.util.Calendar;
/**
* Controla los accesos a la persistencia para la entidad <code>Paciente</code>.
* @author <a href="mailto:sistemas@imqnavarra.com">Dpto. Informática</a>.
* @version 1.0, 24/09/2003
*/
public class PersistenciaTTColect implements Constantes
{
/**
* Selecciona el primer registro de la tabla ttbenefi encontrado para la tarjeta de paciente pasada por el médico.
* @param tarjeta El objeto <code>Tarjeta</code> para el que se realiza la búsqueda.
* @return El <code>Paciente</code> encontrado en la tabla de beneficiarios,
* o null si se produce alguna excepción.
* @throws
*/
public int obtenerContrato(int entidad, long colectivo) throws ExcepcionTarisan
{
int contrato=0;
StringBuffer sqlSelect = new StringBuffer();
try
{
sqlSelect.append("SELECT CONTRATO");
sqlSelect.append(" FROM TTCOLECT");
sqlSelect.append(" WHERE ENTIDAD = ?");
sqlSelect.append(" AND COLECTIVO = ?");
Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion();
Object aCondiciones[] = new Object[2];
aCondiciones[0] = Integer.valueOf(entidad);
aCondiciones[1] = Long.valueOf(colectivo);
ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect.toString(), aCondiciones);
while(rs.next())
{
contrato = rs.getInt("CONTRATO");
}
rs.close();
ParametrosConfiguracion.dataStore.liberarConexion(conexion);
LogTarisan.logger.log(NivelLog.DEBUG, "Seleccionado el contrato: " + contrato + " de la tabla TTCOLECT (" + sqlSelect + ")");
}
catch(SQLException sqle)
{
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de morosidad del cliente: " + sqle + " (" + sqlSelect + ")");
throw new ExcepcionTarisan();
}
return contrato;
}
}
@@ -0,0 +1,244 @@
package com.tarisan.control;
import com.tarisan.data.TTFranquiciasDentales;
import com.tarisan.data.Tamedico;
import com.tarisan.excepcion.*;
import com.tarisan.log.*;
import com.tarisan.util.Utilidades;
import java.sql.*;
import java.util.Vector;
public class PersistenciaTTFranquiciasDentales {
/**
* El objeto <code>Paginacion</code> que controla el número de filas a mostrar por cada página.
*/
private Paginacion objPaginacion = new Paginacion();
/**
* Obtiene el valor del objeto <code>Paginacion</code> para saber que página se está visualizando.
* @return El objeto <code>Paginacion</code>
*/
public Paginacion getPaginacion()
{
return objPaginacion;
}
/**
* Obtiene una franquicia dental.
* @param especialidad Numero de especialidad.
* @param entidad Número de entidad.
* @param colectivo Número de colectivo.
* @param anio.
* @return Objeto <code>TTFranquiciasDentales</code>.
* @throws
*/
public Vector obtenerFranquicia(int especialidad, int entidad, long colectivo, int anio, String busquedaActo, int pagina) throws ExcepcionTarisan
{
int elementosPaginacion=1;
Vector vResultado = new Vector();
TTFranquiciasDentales ttFranquiciasDentales = null;
StringBuffer strSql = new StringBuffer();
Object aCondiciones[]=null;
try
{
strSql.append("SELECT ttfranquicias_dentales.precio, ttfranquicias_dentales.acto, ttactmed.descripcion");
strSql.append(" FROM ttfranquicias_dentales, ttactmed");
strSql.append(" WHERE ttactmed.especialidad = TTFRANQUICIAS_DENTALES.ESPECIALIDAD");
strSql.append(" AND ttactmed.ACTO = TTFRANQUICIAS_DENTALES.ACTO");
strSql.append(" AND ttfranquicias_dentales.especialidad=?");
strSql.append(" AND ttfranquicias_dentales.entidad=?");
strSql.append(" AND ttfranquicias_dentales.colectivo=?");
strSql.append(" AND ttfranquicias_dentales.anio=?");
//comprobamos si se trata de una busqueda de actos medicos
if (!busquedaActo.equalsIgnoreCase("")) //la sql tiene tres parametros
{
if (busquedaActo.endsWith("*"))
busquedaActo=busquedaActo.replace('*', '%');
else
busquedaActo="%" + busquedaActo + "%";
strSql.append(" AND ttactmed.descripcion LIKE ?");
//el array de objetos sera de tres elementos
aCondiciones = new Object[5];
aCondiciones[4] = busquedaActo;
}
else //la sql solo tiene dos parametros
aCondiciones = new Object[4];
aCondiciones[0] = Integer.valueOf(especialidad);
aCondiciones[1] = Integer.valueOf(entidad);
aCondiciones[2] = Long.valueOf(colectivo);
aCondiciones[3] = Integer.valueOf(anio);
Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion();
LogTarisan.logger.log(NivelLog.DEBUG, Utilidades.obtenerSentenciaSQL(strSql, null, aCondiciones));
ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, strSql.toString(), aCondiciones);
objPaginacion.inicializarPaginacion(rs);
if (objPaginacion.getNumeroRegistrosTotales()!=0)
{
objPaginacion.realizarPaginacion(rs, pagina);
while(rs.next() && (elementosPaginacion <= Paginacion.getFilasPorPagina()))
{
ttFranquiciasDentales = new TTFranquiciasDentales();
ttFranquiciasDentales.setEspecialidad(especialidad);
ttFranquiciasDentales.setActo(rs.getInt("ACTO"));
ttFranquiciasDentales.setEntidad(entidad);
ttFranquiciasDentales.setColectivo(colectivo);
ttFranquiciasDentales.setAnio(anio);
ttFranquiciasDentales.setPrecio(rs.getInt("PRECIO"));
ttFranquiciasDentales.setDescripcion(rs.getString("DESCRIPCION"));
vResultado.addElement(ttFranquiciasDentales);
if (pagina!=0) //Se quiere realizar la paginacion
elementosPaginacion++;
}
}
rs.close();
ParametrosConfiguracion.dataStore.liberarConexion(conexion);
LogTarisan.logger.log(NivelLog.DEBUG, "Franquicia dental obtenida de la tabla ttfranquicias_dentales es: (" + strSql.toString() + ")");
}
catch (ExcepcionTarisan sqle)
{
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de ttfranquicias_dentales: " + sqle + " (" + strSql.toString() + ")");
throw (ExcepcionTarisan)sqle;
}
catch(SQLException sqle)
{
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de ttfranquicias_dentales: " + sqle + " (" + strSql.toString() + ")");
throw new ExcepcionTarisan(sqle.getMessage());
}
catch(Exception sqle)
{
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de ttfranquicias_dentales: " + sqle + " (" + strSql.toString() + ")");
throw new ExcepcionTarisan(sqle.getMessage());
}
catch(Throwable sqle)
{
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de ttfranquicias_dentales: " + sqle + " (" + strSql.toString() + ")");
throw new ExcepcionTarisan(sqle.getMessage());
}
return vResultado;
}
public int obtenerNumeroFranquicia(int especialidad, int entidad, long colectivo, int anio)
{
int resultado = 0;
StringBuffer strSql = new StringBuffer();
Object aCondiciones[]=null;
try
{
strSql.append("SELECT distinct(ttfranquicias_dentales.tipo_franquicia)");
strSql.append(" FROM ttfranquicias_dentales");
strSql.append(" WHERE ttfranquicias_dentales.especialidad=?");
strSql.append(" AND ttfranquicias_dentales.entidad=?");
strSql.append(" AND ttfranquicias_dentales.colectivo=?");
strSql.append(" AND ttfranquicias_dentales.anio=?");
aCondiciones = new Object[4];
aCondiciones[0] = Integer.valueOf(especialidad);
aCondiciones[1] = Integer.valueOf(entidad);
aCondiciones[2] = Long.valueOf(colectivo);
aCondiciones[3] = Integer.valueOf(anio);
Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion();
LogTarisan.logger.log(NivelLog.DEBUG, Utilidades.obtenerSentenciaSQL(strSql, null, aCondiciones));
ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, strSql.toString(), aCondiciones);
if(rs.next())
{
resultado = rs.getInt("TIPO_FRANQUICIA");
}
rs.close();
ParametrosConfiguracion.dataStore.liberarConexion(conexion);
LogTarisan.logger.log(NivelLog.DEBUG, "Franquicia dental obtenida de la tabla ttfranquicias_dentales es: (" + strSql.toString() + ")");
}
catch (ExcepcionTarisan sqle)
{
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de ttfranquicias_dentales: " + sqle + " (" + strSql.toString() + ")");
}
catch(SQLException sqle)
{
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de ttfranquicias_dentales: " + sqle + " (" + strSql.toString() + ")");
}
catch(Exception sqle)
{
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de ttfranquicias_dentales: " + sqle + " (" + strSql.toString() + ")");
}
catch(Throwable sqle)
{
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de ttfranquicias_dentales: " + sqle + " (" + strSql.toString() + ")");
}
return resultado;
}
public int obtenerNumeroFranquiciaPorContrato(int contrato)
{
int resultado = 0;
StringBuffer strSql = new StringBuffer();
Object aCondiciones[]=null;
try
{
strSql.append("SELECT distinct(ttfranquicias_dentales.tipo_franquicia)");
strSql.append(" FROM ttfranquicias_dentales");
strSql.append(" WHERE ttfranquicias_dentales.contrato=?");
aCondiciones = new Object[1];
aCondiciones[0] = Integer.valueOf(contrato);
Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion();
LogTarisan.logger.log(NivelLog.DEBUG, Utilidades.obtenerSentenciaSQL(strSql, null, aCondiciones));
ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, strSql.toString(), aCondiciones);
if(rs.next())
{
resultado = rs.getInt("TIPO_FRANQUICIA");
}
rs.close();
ParametrosConfiguracion.dataStore.liberarConexion(conexion);
LogTarisan.logger.log(NivelLog.DEBUG, "Franquicia dental obtenida de la tabla ttfranquicias_dentales es: (" + strSql.toString() + ")");
}
catch (ExcepcionTarisan sqle)
{
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de ttfranquicias_dentales: " + sqle + " (" + strSql.toString() + ")");
}
catch(SQLException sqle)
{
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de ttfranquicias_dentales: " + sqle + " (" + strSql.toString() + ")");
}
catch(Exception sqle)
{
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de ttfranquicias_dentales: " + sqle + " (" + strSql.toString() + ")");
}
catch(Throwable sqle)
{
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de ttfranquicias_dentales: " + sqle + " (" + strSql.toString() + ")");
}
return resultado;
}
}
@@ -0,0 +1,430 @@
package com.tarisan.control;
import com.tarisan.data.Paciente;
import com.tarisan.data.TTMovaut;
import com.tarisan.data.Tarjeta;
import com.tarisan.data.Taconaut;
import com.tarisan.excepcion.ExcepcionTarisan;
import com.tarisan.log.LogTarisan;
import com.tarisan.log.NivelLog;
import com.tarisan.util.Utilidades;
import java.sql.*;
import java.util.Vector;
/**
* Controla los accesos a la Tabla TTMovaut para gestionar las autorizaciones de un beneficiario
* @author csm_jjripaper
*
*/
public class PersistenciaTTMovaut implements Constantes
{
/**
* El objeto <code>Paginacion</code> que controla el número de filas a mostrar por cada página.
*/
private Paginacion objPaginacion = new Paginacion();
/**
* Obtiene el valor del objeto <code>Paginacion</code> para saber que página se está visualizando.
* @return El objeto <code>Paginacion</code>
*/
public Paginacion getPaginacion()
{
return objPaginacion;
}
/**
* Obtener el número de autorización a partir de la entidad, colectivo, poliza y orden de un beneficiario
* @param entidad La entidad
* @param col El colectivo
* @param pol La póliza
* @param ord El orden
* @return El número de autorización, 0 si no tiene ninguna activa.
*/
public long ObtenerAutorizacion(int entidad, int col, int pol, int ord, int medico)
{
long autorizacion = 0;
Paciente pac = new Paciente();
Tarjeta tarjeta = new Tarjeta();
tarjeta.setColectivo(col);
tarjeta.setPoliza(pol);
tarjeta.setBeneficiario(ord);
pac.setTarjeta(tarjeta);
autorizacion = ObtenerAutorizacion(pac, medico);
return autorizacion;
}
/**
* Obtener el número de autorización a partir de un objeto paciente
* @param pac El paciente
* @param medico El médico solicitante de la autorizacion
* @return El número de autorización, 0 si no tiene ninguna autorización
*/
public long ObtenerAutorizacion(Paciente pac, int medico)
{
long autorizacion = 0;
int acto = 0;
int cantidad = 0;
StringBuffer sqlSelect = new StringBuffer();
PersistenciaTamedico persistenciaTamedico = new PersistenciaTamedico();
try
{
sqlSelect.append("SELECT autorizacion from ttmovaut ");
sqlSelect.append("WHERE MEDICO = ? ");
sqlSelect.append("AND (especialidad1 = ? or ");
sqlSelect.append("especialidad2 = ? or ");
sqlSelect.append("especialidad3 = ? or ");
sqlSelect.append("especialidad4 = ?) ");
sqlSelect.append("AND colectivo = ? ");
sqlSelect.append("AND poliza = ? ");
sqlSelect.append("AND orden = ? ");
sqlSelect.append("AND fecha_autorizacion <= sysdate");
sqlSelect.append(" order by FECHA_AUTORIZACION asc");
Object aCondiciones[] = new Object[8];
aCondiciones[0] = Integer.valueOf(medico);
aCondiciones[1] = Integer.valueOf(persistenciaTamedico.obtenerEspecialidad(medico));
aCondiciones[2] = Integer.valueOf(persistenciaTamedico.obtenerEspecialidad(medico));
aCondiciones[3] = Integer.valueOf(persistenciaTamedico.obtenerEspecialidad(medico));
aCondiciones[4] = Integer.valueOf(persistenciaTamedico.obtenerEspecialidad(medico));
aCondiciones[5] = Long.valueOf(pac.getTarjeta().getColectivo());
aCondiciones[6] = Double.valueOf(pac.getTarjeta().getPoliza());
aCondiciones[7] = Integer.valueOf(pac.getTarjeta().getBeneficiario());
Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion();
LogTarisan.logger.log(NivelLog.DEBUG, "Sentencia:" +Utilidades.obtenerSentenciaSQL(sqlSelect, null, aCondiciones));
ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect.toString(), aCondiciones);
while(rs.next())
{
autorizacion = rs.getLong("autorizacion");
}
rs.close();
}
catch (ExcepcionTarisan e) {
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de la autorizacion del paciente: " + e.toString() + " (" + sqlSelect + ")");
} catch (SQLException e) {
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de la autorizacion del paciente: " + e.toString() + " (" + sqlSelect + ")");
}
return autorizacion;
}
/**
* Clase para saber que actos están incluidos en una autorización y que el médico solo pueda seleccionar entre esos actos.
* @param autorizacion El número de la autorización
* @return Un vector con los códigos de los actos autorizados
*/
public Vector ObtenerActosAutorizados(long autorizacion, int especialidad){
Vector vSeleccion = new Vector();
StringBuffer sqlSelect = new StringBuffer();
try
{
sqlSelect.append("SELECT acto1, especialidad2, acto2, especialidad3, acto3, especialidad4, acto4 from ttmovaut ");
sqlSelect.append("WHERE autorizacion = ? ");
Object aCondiciones[] = new Object[1];
aCondiciones[0] = Long.valueOf(autorizacion);
Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion();
ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect.toString(), aCondiciones);
while(rs.next())
{
vSeleccion.addElement(rs.getInt("acto1"));
if(rs.getInt("especialidad2") == especialidad)
vSeleccion.addElement(rs.getInt("acto2"));
if(rs.getInt("especialidad3") == especialidad)
vSeleccion.addElement(rs.getInt("acto3"));
if(rs.getInt("especialidad4") == especialidad)
vSeleccion.addElement(rs.getInt("acto4"));
}
rs.close();
}
catch (ExcepcionTarisan e) {
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de la autorizacion del paciente: " + e.toString() + " (" + sqlSelect + ")");
} catch (SQLException e) {
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de la autorizacion del paciente: " + e.toString() + " (" + sqlSelect + ")");
}
return vSeleccion;
}
public Vector ObtenerAutorizacionesPoliza(long autorizacion)
{
Vector resultado = new Vector();
TTMovaut ttmov = ObtenerAutorizacionTTmovaut(autorizacion);
StringBuffer sqlSelect = new StringBuffer();
try
{
sqlSelect.append("select autorizacion from ttmovaut ");
sqlSelect.append("where entidad = ? ");
sqlSelect.append("and colectivo = ? ");
sqlSelect.append("and poliza = ? ");
sqlSelect.append("and orden = ? ");
Object aCondiciones[] = new Object[4];
aCondiciones[0] = Integer.valueOf(ttmov.get_entidad());
aCondiciones[1] = Long.valueOf(ttmov.get_colectivo());
aCondiciones[2] = Long.valueOf(ttmov.get_poliza());
aCondiciones[3] = Integer.valueOf(ttmov.get_orden());
Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion();
ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect.toString(), aCondiciones);
while(rs.next())
{
resultado.add(rs.getLong("AUTORIZACION"));
}
}
catch (ExcepcionTarisan e) {
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de las autorizaciones del paciente: " + e.toString() + " (" + sqlSelect + ")");
} catch (SQLException e) {
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de las autorizaciones del paciente: " + e.toString() + " (" + sqlSelect + ")");
}
return resultado;
}
public Vector ObtenerAutorizacionADM(long autorizacion)
{
Vector resultado = new Vector();
Taconaut tacon = new Taconaut();
StringBuffer sqlSelect = new StringBuffer();
try
{
sqlSelect.append("select * from ttmovaut ");
sqlSelect.append("where autorizacion = ?");
Object aCondiciones[] = new Object[1];
aCondiciones[0] = Long.valueOf(autorizacion);
Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion();
ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect.toString(), aCondiciones);
while(rs.next())
{
for(int i=1;i<5;i++)
{
if(rs.getInt("cantidad"+i) >0)
{
LogTarisan.logger.log(NivelLog.DEBUG, "ObtenerAutorizacionADM - Llega 165 - Iteracion: "+i);
tacon = new Taconaut();
tacon.setActo(rs.getInt("acto"+i));
tacon.setAutorizacion(String.valueOf(autorizacion));
tacon.setCantidad(rs.getInt("cantidad"+i));
tacon.setEspecialidad(rs.getInt("especialidad"+i));
tacon.setFromGesigu(true);
tacon.setInforme("");
tacon.setMedico(rs.getInt("medico"));
resultado.add(tacon);
}
}
}
}
catch (ExcepcionTarisan e) {
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de la autorizacion del paciente: " + e.toString() + " (" + sqlSelect + ")");
} catch (SQLException e) {
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de la autorizacion del paciente: " + e.toString() + " (" + sqlSelect + ")");
}
return resultado;
}
public TTMovaut ObtenerAutorizacionTTmovaut(long autorizacion){
TTMovaut ttmov = new TTMovaut();
LogTarisan.logger.log(NivelLog.DEBUG, "Inicia ObtenerAutorizacionTTMovaut");
StringBuffer sqlSelect = new StringBuffer();
try
{
sqlSelect.append("Select * from ttmovaut ");
sqlSelect.append("where autorizacion = ?");
Object aCondiciones[] = new Object[1];
aCondiciones[0] = Long.valueOf(autorizacion);
Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion();
ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect.toString(), aCondiciones);
if(rs.next())
{
LogTarisan.logger.log(NivelLog.DEBUG, "Se encuentra la autorizacion: "+autorizacion);
ttmov.set_autorizacion(autorizacion);
ttmov.set_medico(rs.getInt("MEDICO"));
ttmov.set_especialidad1(rs.getInt("ESPECIALIDAD1"));
ttmov.set_acto1(rs.getInt("ACTO1"));
ttmov.set_entidad(rs.getInt("ENTIDAD"));
ttmov.set_colectivo(rs.getLong("COLECTIVO"));
ttmov.set_poliza(rs.getLong("POLIZA"));
ttmov.set_orden(rs.getInt("ORDEN"));
ttmov.set_fecha_autorizacion(rs.getDate("FECHA_AUTORIZACION"));
ttmov.set_prescriptor(rs.getInt("PRESCRIPTOR"));
ttmov.set_provincia(rs.getString("PROVINCIA"));
ttmov.set_cantidad1(rs.getInt("CANTIDAD1"));
ttmov.set_descripcion1(rs.getString("DESCRIPCION1"));
ttmov.set_fecha_validez(rs.getDate("FECHA_VALIDEZ"));
ttmov.set_nombre_completo(rs.getString("NOMBRE_COMPLETO"));
ttmov.set_especialidad2(rs.getInt("ESPECIALIDAD2"));
ttmov.set_acto2(rs.getInt("ACTO2"));
ttmov.set_cantidad2(rs.getInt("CANTIDAD2"));
ttmov.set_descripcion2(rs.getString("DESCRIPCION2"));
ttmov.set_especialidad3(rs.getInt("ESPECIALIDAD3"));
ttmov.set_acto3(rs.getInt("ACTO3"));
ttmov.set_cantidad3(rs.getInt("CANTIDAD3"));
ttmov.set_descripcion3(rs.getString("DESCRIPCION3"));
ttmov.set_especialidad4(rs.getInt("ESPECIALIDAD4"));
ttmov.set_acto4(rs.getInt("ACTO4"));
ttmov.set_cantidad4(rs.getInt("CANTIDAD4"));
ttmov.set_descripcion4(rs.getString("DESCRIPCION4"));
ttmov.set_texto(rs.getString("TEXTO"));
ttmov.set_usuario(rs.getString("USUARIO"));
LogTarisan.logger.log(NivelLog.DEBUG, "Se ha cargado bien la autorizacion: "+autorizacion);
}
}
catch (ExcepcionTarisan e) {
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de la autorizacion del paciente: " + e.toString() + " (" + sqlSelect + ")");
} catch (SQLException e) {
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de la autorizacion del paciente: " + e.toString() + " (" + sqlSelect + ")");
}
LogTarisan.logger.log(NivelLog.DEBUG, "Fin ObtenerAutorizacionTTMovaut");
return ttmov;
}
public int ObtenerCantidadActoAutorizado(long autorizacion, int acto)
{
int cuantos = 0;
StringBuffer sqlSelect = new StringBuffer();
try
{
sqlSelect.append("SELECT cantidad1, cantidad2, cantidad3, cantidad4, acto1, acto2, acto3, acto4 from ttmovaut ");
sqlSelect.append("WHERE autorizacion = ? ");
sqlSelect.append("and (acto1 = ? or acto2 = ? or acto3 = ? or acto4 = ?)");
Object aCondiciones[] = new Object[5];
aCondiciones[0] = Long.valueOf(autorizacion);
aCondiciones[1] = Integer.valueOf(acto);
aCondiciones[2] = Integer.valueOf(acto);
aCondiciones[3] = Integer.valueOf(acto);
aCondiciones[4] = Integer.valueOf(acto);
Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion();
ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect.toString(), aCondiciones);
while(rs.next())
{
if(rs.getInt("acto1") == acto)
cuantos = rs.getInt("cantidad1");
if(rs.getInt("acto2") == acto)
cuantos = rs.getInt("cantidad2");
if(rs.getInt("acto3") == acto)
cuantos = rs.getInt("cantidad3");
if(rs.getInt("acto4") == acto)
cuantos = rs.getInt("cantidad4");
}
rs.close();
}
catch (ExcepcionTarisan e) {
LogTarisan.logger.log(NivelLog.ERROR, "Error en ObtenerCantidadActoAutorizado: " + e.toString() + " (" + sqlSelect + ")");
}
catch (SQLException e) {
LogTarisan.logger.log(NivelLog.ERROR, "Error en ObtenerCantidadActoAutorizado: " + e.toString() + " (" + sqlSelect + ")");
}
return cuantos;
}
/*public Vector BuscarAutorizacionPorMedicoYPoliza(int medico, int colectivo, long poliza, int orden)
{
Vector resultado = new Vector();
String sqlSelect = new String();
String tarjeta="";
String tarjeta_chipcard="";
try
{
sqlSelect = "select * from ttmovaut where medico = "+ medico + " and colectivo = "+ colectivo + " and poliza = "+ poliza + " and orden = "+ orden;
Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion();
ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect.toString());
while(rs.next())
{
LogTarisan.logger.log(NivelLog.DEBUG, "BuscarAutorizacionPorMedicoYPoliza - Llega 165 - Iteracion: ");
Taconaut tacon = new Taconaut();
tacon.setActo(rs.getInt("acto1"));
tacon.setAutorizacion(rs.getString("autorizacion"));
tacon.setCantidad(rs.getInt("cantidad1"));
tacon.setEspecialidad(rs.getInt("especialidad1"));
tacon.setFromGesigu(true);
tacon.setInforme("");
tacon.setMedico(rs.getInt("medico"));
resultado.add(tacon);
}
rs.close();
}
catch (ExcepcionTarisan e) {
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de la autorizacion del paciente: " + e.toString() + " (" + sqlSelect + ")");
} catch (SQLException e) {
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de la autorizacion del paciente: " + e.toString() + " (" + sqlSelect + ")");
}
return resultado;
} */
public Vector BuscarAutorizacionPorMedicoYPoliza(int medico, int colectivo, long poliza, int orden, int pagina)
{
int elementosPaginacion=1;
Vector resultado = new Vector();
String sqlSelect = new String();
String tarjeta="";
String tarjeta_chipcard="";
try
{
sqlSelect = "select * from ttmovaut where medico = "+ medico + " and colectivo = "+ colectivo + " and poliza = "+ poliza + " and orden = "+ orden;
Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion();
ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect.toString());
objPaginacion.inicializarPaginacion(rs);
if (objPaginacion.getNumeroRegistrosTotales()!=0)
{
objPaginacion.realizarPaginacion(rs, pagina);
while(rs.next() && (elementosPaginacion <= Paginacion.getFilasPorPagina()))
{
LogTarisan.logger.log(NivelLog.DEBUG, "BuscarAutorizacionPorMedicoYPoliza - Llega 165 - Iteracion: ");
Taconaut tacon = new Taconaut();
tacon.setActo(rs.getInt("acto1"));
tacon.setAutorizacion(rs.getString("autorizacion"));
tacon.setCantidad(rs.getInt("cantidad1"));
tacon.setEspecialidad(rs.getInt("especialidad1"));
tacon.setFromGesigu(true);
tacon.setInforme("");
tacon.setMedico(rs.getInt("medico"));
resultado.add(tacon);
if (pagina!=0) //Se quiere realizar la paginacion
elementosPaginacion++;
}
}
rs.close();
}
catch (ExcepcionTarisan e) {
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de la autorizacion del paciente: " + e.toString() + " (" + sqlSelect + ")");
} catch (SQLException e) {
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de la autorizacion del paciente: " + e.toString() + " (" + sqlSelect + ")");
}
return resultado;
}
}
@@ -0,0 +1,263 @@
package com.tarisan.control;
import java.sql.*;
import java.util.Calendar;
import com.tarisan.excepcion.ExcepcionTarisan;
import com.tarisan.log.LogTarisan;
import com.tarisan.log.NivelLog;
import com.tarisan.util.Utilidades;
import com.tarisan.data.*;
public class PersistenciaTaDespla implements Constantes
{
public Tadespla Seleccionar_Tadespla(String tarjeta)
{
Tadespla tades = new Tadespla ();
StringBuffer sqlSelect = new StringBuffer();
tades.set_tarjeta("");
LogTarisan.logger.log(NivelLog.DEBUG, "PersistenciaTaDespla - Seleccionar_Tadespla - Inicio");
try {
Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion();
sqlSelect.append("Select * from tadesplaz ");
sqlSelect.append("where TARJETA_CHIPCARD = ?");
Object aCondiciones[] = new Object[1];
aCondiciones[0] = new String(tarjeta);
ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect.toString(), aCondiciones);
while(rs.next())
{
tades.set_tarjeta((tarjeta == null)?"":tarjeta);
tades.setContrato(rs.getInt("CONTRATO_CHIPCARD"));
tades.setEntidad_chipcard(rs.getInt("ENTIDAD_CHIPCARD"));
tades.setFecha_Alta(rs.getDate("FECHA_ALTA"));
tades.setFecha_Registro(rs.getDate("FECHA_REGISTRO"));
tades.setNombre(rs.getString("NOMBRE_COMPLETO"));
tades.setResultado(rs.getInt("TRATADO"));
}
ParametrosConfiguracion.dataStore.liberarConexion(conexion);
} catch (ExcepcionTarisan e) {
LogTarisan.logger.log(NivelLog.ERROR, "PersistenciaTaDespla - Seleccionar_Tadespla - Error: " + e.toString() + " (" + sqlSelect.toString() + ")");
} catch (SQLException e) {
LogTarisan.logger.log(NivelLog.ERROR, "PersistenciaTaDespla - Seleccionar_Tadespla - Error: " + e.toString() + " (" + sqlSelect.toString() + ")");
}
LogTarisan.logger.log(NivelLog.DEBUG, "PersistenciaTaDespla - Seleccionar_Tadespla - Fin");
return tades;
}
public Date UltimaVisita_Tadespla(int tarjeta, int medico, int espe) throws ExcepcionTarisan
{
Date resultado = new Date(Calendar.getInstance().getTimeInMillis());
StringBuffer sqlSelect = new StringBuffer();
LogTarisan.logger.log(NivelLog.DEBUG, "\nPersistenciaTaDespla - UltimaVisita_Tadespla - Inicio");
Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion();
sqlSelect.append("Select max(fecha_imp) as fecha_imp from tadespla ");
sqlSelect.append("where tarjeta = ? ");
sqlSelect.append("and medico = ? ");
sqlSelect.append("and especialidad = ? ");
Object aCondiciones[] = new Object[3];
aCondiciones[0] = Integer.valueOf(tarjeta);
aCondiciones[1] = Integer.valueOf(medico);
aCondiciones[2] = Integer.valueOf(espe);
try
{
ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect.toString(), aCondiciones);
while(rs.next())
{
resultado = rs.getDate("fecha_imp");
}
rs.close();
}
catch (ExcepcionTarisan e) {
ParametrosConfiguracion.dataStore.liberarConexion(conexion);
resultado.setTime(1);
LogTarisan.logger.log(NivelLog.ERROR, "PersistenciaTaDespla - UltimaVisita_Tadespla - Error: " + e.toString() + " (" + sqlSelect + ")");
} catch (SQLException e) {
ParametrosConfiguracion.dataStore.liberarConexion(conexion);
resultado.setTime(1);
LogTarisan.logger.log(NivelLog.ERROR, "PersistenciaTaDespla - UltimaVisita_Tadespla - Error: " + e.toString() + " (" + sqlSelect + ")");
}
if(resultado == null)
{
resultado = new Date(Calendar.getInstance().getTimeInMillis());
resultado.setTime(1);
}
LogTarisan.logger.log(NivelLog.DEBUG, "\nPersistenciaTaDespla - UltimaVisita_Tadespla - Final");
ParametrosConfiguracion.dataStore.liberarConexion(conexion);
return resultado;
}
public boolean esPrimeraVisitaTarisan(int tarjeta, int medico, int espe)
{
boolean resultado = false;
LogTarisan.logger.log(NivelLog.DEBUG, "Inicio - esprimeravisitatarisan: tarjeta:"+tarjeta+" medico:"+medico+" espe:"+espe);
Calendar ultimavisita = Calendar.getInstance();
Calendar fechaAct = Calendar.getInstance();
try {
ultimavisita.setTime(UltimaVisita_Tadespla(tarjeta, medico, espe));
LogTarisan.logger.log(NivelLog.DEBUG, "esprimeravisitatarisan - Tenemos la fecha de la ultima visita: ");
if(ultimavisita == null)
{
resultado = true;
}
else
{
if(fechaAct.get(Calendar.YEAR) != ultimavisita.get(Calendar.YEAR))
resultado = true;
else
resultado = false;
}
} catch (ExcepcionTarisan e) {
LogTarisan.logger.log(NivelLog.ERROR, "Error al calcular la PrimeravisitaTarisan"+e);
}
return resultado;
}
/**
* Funcion que inserta una línea en la tabla tadespla, recibe un objeto Tadespla
* @param tades
* @return Devuelve cierto o falso según si la inserción se ha realizado correctamente o no...
* @throws ExcepcionTarisan
*/
public boolean Insertar_Tadespla(Tadespla tades, int medico) throws ExcepcionTarisan
{
boolean exito = false;
StringBuffer sqlSelect = new StringBuffer();
LogTarisan.logger.log(NivelLog.DEBUG, "\n\nPersistencaTaDespla - Insertar_Tadespla - Inicio");
LogTarisan.logger.log(NivelLog.DEBUG, "Valores: "+tades.getContrato()+" - "+tades.getEntidad_chipcard()+" - "+tades.getNombre()+" - "+tades.getTarjeta()+" - "+tades.getTroquelado());
Connection conexion = null;
/*Tadespla verify = Seleccionar_Tadespla(tades.getTarjeta());
if(verify.getTarjeta().length()>0)
{
LogTarisan.logger.log(NivelLog.INFO, "Se ha vuelto a intentar insertar el desplazado : "+verify.getNombre());
java.sql.Date dtFecha = new java.sql.Date(Calendar.getInstance().getTime().getTime());
sqlSelect.append("UPDATE TADESPLAZ SET TRATADO = 0, FECHA_REGISTRO = ? ");
sqlSelect.append("WHERE TADESPLAZ.TARJETA_CHIPCARD = ?");
conexion = ParametrosConfiguracion.dataStore.obtenerConexion();
ParametrosConfiguracion.dataStore.iniciarTransaccion(conexion);
Object aCondiciones[] = new Object[1];
aCondiciones[0] = new String(tades.getTarjeta());
Object aValores[] = new Object[1];
aValores[0] = (String)Utilidades.formatear_fecha(dtFecha);
LogTarisan.logger.log(NivelLog.DEBUG, "Update embosado: "+Utilidades.obtenerSentenciaSQL(sqlSelect, aValores, aCondiciones));
exito = ParametrosConfiguracion.dataStore.actualizar(sqlSelect.toString(), aValores, aCondiciones);
if (exito)
{
LogTarisan.logger.log(NivelLog.DEBUG, "Actualizar tratado tadespla - Exito al ponerlo a cero");
ParametrosConfiguracion.dataStore.confirmarTransaccion(conexion);
}
else
{
LogTarisan.logger.log(NivelLog.DEBUG, "Actualizar tratado tadespla - Fallo al ponerlo a cero");
ParametrosConfiguracion.dataStore.deshacerTransaccion(conexion);
}
ParametrosConfiguracion.dataStore.liberarConexion(conexion);
}
else
{*/
try
{
sqlSelect.append("insert into TADESPLAZ (TARJETA_CHIPCARD, NOMBRE_COMPLETO, FECHA_ALTA, ENTIDAD_CHIPCARD, CONTRATO_CHIPCARD, FECHA_REGISTRO, TRATADO, TROQUELADO) ");
sqlSelect.append("values (?, ");
sqlSelect.append("?, ");
sqlSelect.append("?, ");
sqlSelect.append("?, ");
sqlSelect.append("?, ");
sqlSelect.append("?, ");
sqlSelect.append("?, ");
sqlSelect.append("?) ");
Object aValores[] = new Object[8];
aValores[0] = new String(tades.getTarjeta());
aValores[1] = new String(tades.getNombre());
aValores[2] = new Date(tades.getFecha_Alta().getTime());
aValores[3] = Integer.valueOf(tades.getEntidad_chipcard());
aValores[4] = Integer.valueOf(tades.getContrato());
aValores[5] = new Date(tades.getFecha_Registro().getTime());
aValores[6] = Integer.valueOf(tades.getTratado());
aValores[7] = new String(tades.getTroquelado());
//LogTarisan.logger.log(NivelLog.DEBUG, "Insertar tadespla: " + Utilidades.obtenerSentenciaSQL(sqlSelect, null, aCondiciones));
conexion = ParametrosConfiguracion.dataStore.obtenerConexion();
LogTarisan.logger.log(NivelLog.DEBUG, "Insertar tadespla - Se ha obtenido la conexion");
ParametrosConfiguracion.dataStore.iniciarTransaccion(conexion);
LogTarisan.logger.log(NivelLog.DEBUG, "Insertar tadespla - se inicia la transaccion");
PersistenciaTareglog pertareg = new PersistenciaTareglog();
Calendar fecha = Calendar.getInstance();
Timestamp fechaAcceso = new Timestamp(fecha.getTimeInMillis());
int intUltimoValorCorrelativo = pertareg.obtenerUltimoValorCorrelativo(medico, fechaAcceso);
pertareg.insertarLog(medico, fechaAcceso, fecha, intUltimoValorCorrelativo, "TADESPLAZ",Utilidades.obtenerSentenciaSQL(sqlSelect, aValores, null), "insert en tadesplaz", conexion);
/*pertareg.insertarLog(956, fechaAcceso, fecha, intUltimoValorCorrelativo, "taconaut", "insert into taconaut (autorizacion, especialidad, acto, cantidad, medico, informe, from_gesigu, tarjeta) values ", "autorizacion para ats insertada con exito");*/
exito = ParametrosConfiguracion.dataStore.insertar(sqlSelect.toString(), aValores, conexion);
if (exito)
{
LogTarisan.logger.log(NivelLog.DEBUG, "Insertar tadespla - Exito al insertar");
ParametrosConfiguracion.dataStore.confirmarTransaccion(conexion);
}
else
{
LogTarisan.logger.log(NivelLog.DEBUG, "Insertar tadespla - Fallo al insertar");
ParametrosConfiguracion.dataStore.deshacerTransaccion(conexion);
}
}
catch (ExcepcionTarisan e) {
try {
ParametrosConfiguracion.dataStore.deshacerTransaccion(conexion);
} catch (ExcepcionTarisan e1) {
LogTarisan.logger.log(NivelLog.ERROR, "Error al deshacerlatransaccion");
}
LogTarisan.logger.log(NivelLog.ERROR, "Error en la insercion del desplazado: " + e.toString() + " (" + sqlSelect + ")");
}
// }
return exito;
}
public boolean troquelado_repe(String troquelado)
{
boolean resul=false;
/*
* troquelado like '%0015%3915%4315%0465%' encuentra:
* 0015 3915 4315 0465
* 0015391543150465
*/
LogTarisan.logger.log(NivelLog.DEBUG, "Vamos a comprobar que no repitan troquelados");
StringBuffer sqlSelect = new StringBuffer();
Connection conexion = null;
try
{
conexion = ParametrosConfiguracion.dataStore.obtenerConexion();
sqlSelect.append("Select troquelado from tadesplaz where ");
sqlSelect.append("troquelado like '%'||?||'%'");
Object aCondiciones[] = new Object[1];
aCondiciones[0] = new String(troquelado.replace(' ', '%'));
ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect.toString(), aCondiciones);
while(rs.next())
{
resul=true;
}
ParametrosConfiguracion.dataStore.liberarConexion(conexion);
}
catch (ExcepcionTarisan e) {
LogTarisan.logger.log(NivelLog.ERROR, "Error en la verificacion de la duplicidad del troquelado: " + e.toString() + " (" + sqlSelect + ")");
} catch (SQLException e) {
LogTarisan.logger.log(NivelLog.ERROR, "Error en la verificacion de la duplicidad del troquelado: " + e.toString());
}
return resul;
}
}
@@ -0,0 +1,732 @@
package com.tarisan.control;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Calendar;
import com.tarisan.data.Tarjeta;
import com.tarisan.excepcion.ExcepcionTarisan;
import com.tarisan.log.LogTarisan;
import com.tarisan.log.NivelLog;
import com.tarisan.util.Utilidades;
public class PersistenciaTabenefi implements Constantes
{
/**
* Funcion que cargará colectivo, poliza, orden y fecha baja en el objeto tarjeta a partir del número de tarjeta
* @param tarjeta
* @return
*/
public Tarjeta generarObjetoTarjeta(int tarjeta)
{
Tarjeta resultado = new Tarjeta();
StringBuffer sqlSelect = new StringBuffer();
sqlSelect.append("SELECT COLECTIVO");
sqlSelect.append(", POLIZA");
sqlSelect.append(", FECHA_BAJA");
sqlSelect.append(", ORDEN");
sqlSelect.append(", ENTIDAD");
sqlSelect.append(", TARJETA_CHIPCARD");
sqlSelect.append(" FROM ttbenefi");
sqlSelect.append(" WHERE TARJETA = ?");
sqlSelect.append(" and ttbenefi.fecha_baja is null and fecha_alta <= sysdate");
Connection conexion;
try {
conexion = ParametrosConfiguracion.dataStore.obtenerConexion();
Object aCondiciones[] = new Object[1];
aCondiciones[0] = Integer.valueOf(tarjeta);
resultado.setTarjeta(tarjeta);
ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect.toString(), aCondiciones);
while(rs.next())
{
resultado.setColectivo(rs.getLong("COLECTIVO"));
resultado.setPoliza(rs.getInt("POLIZA"));
resultado.setBeneficiario(rs.getInt("ORDEN"));
resultado.setEntidadIMQ(rs.getInt("ENTIDAD"));
resultado.setTarjetaDesplazado(rs.getString("TARJETA_CHIPCARD"));
resultado.setValida(true);
}
rs.close();
ParametrosConfiguracion.dataStore.liberarConexion(conexion);
PersistenciaTaiguala pertaiguala = new PersistenciaTaiguala();
int contrato = pertaiguala.obtenerContrato(resultado.getColectivo(), resultado.getPoliza(), resultado.getEntidadIMQ());
if(contrato > 0)
{
resultado.setContrato(contrato);
resultado.setValida(true);
}
else
{
resultado.setValida(false);
LogTarisan.logger.log(NivelLog.ERROR, "No se encuentra el contrato de la tarjeta: "+tarjeta);
}
} catch (ExcepcionTarisan e) {
LogTarisan.logger.log(NivelLog.ERROR, "Error al generar el objeto tarjeta a partir del número de tarjeta:"+tarjeta);
e.printStackTrace();
} catch (SQLException e) {
LogTarisan.logger.log(NivelLog.ERROR, "Error SQL: "+e.toString()+" al generar el objeto tarjeta a partir del número de tarjeta:"+tarjeta);
}
return resultado;
}
public boolean tiene_embosado(String tarjetachipcard)
{
boolean resul = false;
/**
* 16/02/2016 QUITAMOS EXCEPción PARA OBLIGAR A METER EL TROQUELADO A LOS DE SANITAS TAMBión. (MARTA)
*
*/
/*if(tarjetachipcard.startsWith(ParametrosConfiguracion.bin_chipcard_sanitas))
{
LogTarisan.logger.log(NivelLog.DEBUG, "Es de sanitas no hay que buscar");
resul = true;
}
else
{*/
LogTarisan.logger.log(NivelLog.DEBUG, "Comprobamos si la tarjeta "+tarjetachipcard+" tiene el Identificador introducido");
StringBuffer sqlSelect = new StringBuffer();
sqlSelect.append("SELECT TROQUELADO, TRATADO FROM TADESPLAZ");
sqlSelect.append(" WHERE TRIM(TARJETA_CHIPCARD) = TRIM(?)");
Connection conexion;
try
{
conexion = ParametrosConfiguracion.dataStore.obtenerConexion();
ResultSet rs = null;
Object aCondiciones[] = new Object[1];
aCondiciones[0] = new String(tarjetachipcard);
LogTarisan.logger.log(NivelLog.DEBUG, "SQL: "+Utilidades.obtenerSentenciaSQL(sqlSelect, null, aCondiciones));
rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect.toString(), aCondiciones);
while(rs.next())
{
if(rs.getObject("TROQUELADO") == null && rs.getInt("TRATADO")==0)
{
LogTarisan.logger.log(NivelLog.DEBUG, "PersistenciaTabenefi - NO tiene_embosado hay que pedirlo");
resul = false;
}
// if(rs.getString("TROQUELADO").trim().length()>0)
else
{
//LogTarisan.logger.log(NivelLog.DEBUG, "PersistenciaTabenefi - tiene_embosado - "+ rs.getString("TROQUELADO").trim().length() + " - " + tarjetachipcard);
resul = true;
}
}
rs.close();
ParametrosConfiguracion.dataStore.liberarConexion(conexion);
}
catch (Exception e) {
LogTarisan.logger.log(NivelLog.DEBUG, "Excepcion Tarisan - "+e.toString());
}/* catch (SQLException e) {
LogTarisan.logger.log(NivelLog.DEBUG, "Excepcion SQL - "+e.toString());
}*/
//return true;
catch (ExcepcionTarisan e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
/*}*/
return resul;
}
/*public boolean añade_embosado(String tarjetachipcard, String embosado)
{
boolean resul = false;
boolean resultado = false;
LogTarisan.logger.log(NivelLog.INFO, "Vamos a insertar el identificador de la tarjeta");
StringBuffer sqlInsert = new StringBuffer();
sqlInsert.append("UPDATE TADESPLAZ SET TROQUELADO = ? ");
sqlInsert.append("WHERE TADESPLAZ.TARJETA_CHIPCARD = ?");
Connection conexion = null;
try
{
conexion = ParametrosConfiguracion.dataStore.obtenerConexion();
ParametrosConfiguracion.dataStore.iniciarTransaccion(conexion);
Object aCondiciones[] = new Object[1];
aCondiciones[0] = new String(tarjetachipcard);
Object aValores[] = new Object[1];
aValores[0] = new String(embosado);
LogTarisan.logger.log(NivelLog.DEBUG, "Update embosado: "+Utilidades.obtenerSentenciaSQL(sqlInsert, aValores, aCondiciones));
resul = ParametrosConfiguracion.dataStore.actualizar(sqlInsert.toString(), aValores, aCondiciones);
ParametrosConfiguracion.dataStore.confirmarTransaccion(conexion);
StringBuffer sqlSelect = new StringBuffer();
sqlSelect.append("SELECT * FROM TADESPLAZ");
sqlSelect.append(" WHERE TRIM(TARJETA_CHIPCARD) = TRIM('"+ tarjetachipcard +"')");
sqlSelect.append(" AND TRIM(TROQUELADO) = TRIM('"+ embosado +"')");
ResultSet rs = null;
rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect.toString());
while(rs.next())
{
resultado=true;
}
ParametrosConfiguracion.dataStore.liberarConexion(conexion);
}
catch(Exception e)
{
try {
LogTarisan.logger.log(NivelLog.ERROR, "Error al actualizar el embosado en tadesplaz."+e.toString());
ParametrosConfiguracion.dataStore.deshacerTransaccion(conexion);
} catch (ExcepcionTarisan e1) {
LogTarisan.logger.log(NivelLog.ERROR, "Error al actualizar el embosado en tadesplaz."+e1.toString());
}
} catch (ExcepcionTarisan e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
LogTarisan.logger.log(NivelLog.DEBUG, "Resultado al actualizar embosado." + resul);
return resultado;
}*/
public boolean anade_embosado(String tarjetachipcard, String embosado)
{
boolean resul = false;
boolean resultado = false;
LogTarisan.logger.log(NivelLog.INFO, "Vamos a insertar el identificador de la tarjeta");
StringBuffer sqlInsert = new StringBuffer();
Connection conexion = null;
try
{
StringBuffer sqlSelect = new StringBuffer();
sqlSelect.append("SELECT * FROM TADESPLAZ");
sqlSelect.append(" WHERE TRIM(TARJETA_CHIPCARD) = TRIM('"+ tarjetachipcard +"')");
sqlSelect.append(" AND TRIM(TROQUELADO) = TRIM('"+ embosado +"')");
ResultSet rs = null;
rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect.toString());
if (rs!=null){
while(rs.next())
{
resultado=true;
}
}
//ParametrosConfiguracion.dataStore.liberarConexion(conexion);
if (resultado) {
sqlInsert.append("UPDATE TADESPLAZ SET TROQUELADO = ? ");
sqlInsert.append("WHERE TADESPLAZ.TARJETA_CHIPCARD = ?");
conexion = ParametrosConfiguracion.dataStore.obtenerConexion();
ParametrosConfiguracion.dataStore.iniciarTransaccion(conexion);
Object aCondiciones[] = new Object[1];
aCondiciones[0] = new String(tarjetachipcard);
Object aValores[] = new Object[1];
aValores[0] = new String(embosado);
LogTarisan.logger.log(NivelLog.DEBUG, "Update embosado: "+Utilidades.obtenerSentenciaSQL(sqlInsert, aValores, aCondiciones));
resul = ParametrosConfiguracion.dataStore.actualizar(sqlInsert.toString(), aValores, aCondiciones);
ParametrosConfiguracion.dataStore.confirmarTransaccion(conexion);
ParametrosConfiguracion.dataStore.liberarConexion(conexion);
resultado = resul;
}
}
catch(Exception e)
{
try {
LogTarisan.logger.log(NivelLog.ERROR, "Error al actualizar el embosado en tadesplaz."+e.toString());
ParametrosConfiguracion.dataStore.deshacerTransaccion(conexion);
} catch (ExcepcionTarisan e1) {
LogTarisan.logger.log(NivelLog.ERROR, "Error al actualizar el embosado en tadesplaz."+e1.toString());
}
} catch (ExcepcionTarisan e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
LogTarisan.logger.log(NivelLog.DEBUG, "Resultado al actualizar embosado." + resul);
return resultado;
}
public Calendar getFechaBaja(String tarjetachipcard)
{
Calendar resul = Calendar.getInstance();
LogTarisan.logger.log(NivelLog.DEBUG, "\nEntra en fechabaja para comprobar si la poliza está de baja.");
StringBuffer sqlSelect = new StringBuffer();
sqlSelect.append("SELECT FECHA_BAJA FROM TTBENEFI");
sqlSelect.append(" WHERE TRIM(TARJETA_CHIPCARD) = TRIM(?)");
Connection conexion;
try
{
conexion = ParametrosConfiguracion.dataStore.obtenerConexion();
ResultSet rs = null;
Object aCondiciones[] = new Object[1];
aCondiciones[0] = new String(tarjetachipcard);
rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect.toString(), aCondiciones);
while(rs.next())
{
resul.setTime(rs.getDate("FECHA_BAJA"));
}
} catch (ExcepcionTarisan e) {
LogTarisan.logger.log(NivelLog.DEBUG, "Excepcion Tarisan - "+e.toString());
} catch (SQLException e) {
LogTarisan.logger.log(NivelLog.DEBUG, "Excepcion SQL - "+e.toString());
}
return resul;
}
public boolean existeTarjetaChipcard(String tarjetachipcard, int entidad)
{
boolean resultado = false;
LogTarisan.logger.log(NivelLog.DEBUG, "\nEntra en existeTarjetaChipcard con valores: tarjetachipcard = "+tarjetachipcard+", entidad = "+entidad+"\n");
StringBuffer sqlSelect = new StringBuffer();
sqlSelect.append("SELECT COLECTIVO");
sqlSelect.append(", POLIZA");
sqlSelect.append(", FECHA_BAJA");
sqlSelect.append(", ORDEN");
sqlSelect.append(", ENTIDAD");
sqlSelect.append(" FROM TTBENEFI");
sqlSelect.append(" WHERE TRIM(TARJETA_CHIPCARD) = TRIM(?)");
//sqlSelect.append(" and (ttbenefi.fecha_baja is null or ttbenefi.fecha_baja > sysdate)");
if(entidad > 0)
sqlSelect.append(" AND ENTIDAD = ?");
Connection conexion;
try {
conexion = ParametrosConfiguracion.dataStore.obtenerConexion();
ResultSet rs = null;
if(entidad > 0)
{
Object aCondiciones[] = new Object[2];
aCondiciones[0] = new String(tarjetachipcard);
aCondiciones[1] = Integer.valueOf(entidad);
rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect.toString(), aCondiciones);
}
else
{
Object aCondiciones[] = new Object[1];
aCondiciones[0] = new String(tarjetachipcard);
rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect.toString(), aCondiciones);
}
while(rs.next())
{
LogTarisan.logger.log(NivelLog.DEBUG, "Datos conseguidos COL="+rs.getLong("COLECTIVO")+", POL="+rs.getLong("POLIZA")+", ORD="+rs.getInt("ORDEN"));
resultado = true;
}
rs.close();
ParametrosConfiguracion.dataStore.liberarConexion(conexion);
} catch (ExcepcionTarisan e) {
LogTarisan.logger.log(NivelLog.DEBUG, "Excepcion Tarisan - "+e.toString());
} catch (SQLException e) {
LogTarisan.logger.log(NivelLog.DEBUG, "Excepcion SQL - "+e.toString());
}
LogTarisan.logger.log(NivelLog.DEBUG, "Datos conseguidos?: "+resultado);
return resultado;
}
public Tarjeta generarObjetoTarjetaChipcard(String tarjetachipcard, int entidad)
{
LogTarisan.logger.log(NivelLog.DEBUG, "\nEntra en generarobjetotarjetachipcard con valores: tarjetachipcard = "+tarjetachipcard+", entidad = "+entidad+"\n");
Tarjeta resultado = new Tarjeta();
StringBuffer sqlSelect = new StringBuffer();
sqlSelect.append("SELECT COLECTIVO");
sqlSelect.append(", POLIZA");
sqlSelect.append(", FECHA_BAJA");
sqlSelect.append(", ORDEN");
sqlSelect.append(", ENTIDAD");
sqlSelect.append(" FROM TTBENEFI");
sqlSelect.append(" WHERE TRIM(TARJETA_CHIPCARD) = TRIM(?)");
//sqlSelect.append(" and (ttbenefi.fecha_baja is null or ttbenefi.fecha_baja > sysdate)");
if(entidad > 0)
sqlSelect.append(" AND ENTIDAD = ?");
Connection conexion;
try {
conexion = ParametrosConfiguracion.dataStore.obtenerConexion();
ResultSet rs = null;
if(entidad > 0)
{
Object aCondiciones[] = new Object[2];
aCondiciones[0] = new String(tarjetachipcard);
aCondiciones[1] = Integer.valueOf(entidad);
resultado.setTarjetaDesplazado(tarjetachipcard);
rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect.toString(), aCondiciones);
}
else
{
Object aCondiciones[] = new Object[1];
aCondiciones[0] = new String(tarjetachipcard);
resultado.setTarjetaDesplazado(tarjetachipcard);
rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect.toString(), aCondiciones);
}
while(rs.next())
{
LogTarisan.logger.log(NivelLog.DEBUG, "Datos conseguidos COL="+rs.getLong("COLECTIVO")+", POL="+rs.getLong("POLIZA")+", ORD="+rs.getInt("ORDEN"));
resultado.setColectivo(rs.getLong("COLECTIVO"));
resultado.setPoliza(rs.getLong("POLIZA"));
resultado.setBeneficiario(rs.getInt("ORDEN"));
resultado.setEntidadIMQ(rs.getInt("ENTIDAD"));
PersistenciaTaiguala pertaiguala = new PersistenciaTaiguala();
resultado.setContrato(pertaiguala.obtenerContrato(resultado.getColectivo(), resultado.getPoliza(), resultado.getEntidadIMQ()));
LogTarisan.logger.log(NivelLog.DEBUG, "PersistenciaTabenefi - generarObjetoTarjetaChipcard - LLega 241");
Calendar hoy = Calendar.getInstance();
Calendar baja = Calendar.getInstance();
LogTarisan.logger.log(NivelLog.DEBUG, "PersistenciaTabenefi - generarObjetoTarjetaChipcard - LLega 244");
if(rs.getDate("FECHA_BAJA") == null)
{
LogTarisan.logger.log(NivelLog.DEBUG, "PersistenciaTabenefi - generarObjetoTarjetaChipcard - LLega 247");
baja = null;
}
else
baja.setTime(rs.getDate("FECHA_BAJA"));
LogTarisan.logger.log(NivelLog.DEBUG, "PersistenciaTabenefi - generarObjetoTarjetaChipcard - LLega 252");
if(baja == null || baja.compareTo(hoy) > 0)
{
resultado.setValida(true);
resultado.setEstadeBaja(false);
}
else
{
resultado.setValida(false);
resultado.setEstadeBaja(true);
LogTarisan.logger.log(NivelLog.DEBUG, "El asegurado esta de baja!!!");
}
}
rs.close();
ParametrosConfiguracion.dataStore.liberarConexion(conexion);
} catch (ExcepcionTarisan e) {
LogTarisan.logger.log(NivelLog.DEBUG, "Excepcion Tarisan - "+e.toString());
} catch (SQLException e) {
LogTarisan.logger.log(NivelLog.DEBUG, "Excepcion SQL - "+e.toString());
}
LogTarisan.logger.log(NivelLog.DEBUG, "Datos conseguidos: "+resultado.getColectivo()+"="+resultado.getPoliza()+"="+resultado.getEntidadIMQ());
return resultado;
}
public int obtenerNumCli(int tarjeta) throws ExcepcionTarisan
{
int cliente=0;
StringBuffer sqlSelect = new StringBuffer();
try
{
sqlSelect.append("SELECT CLIENTE");
sqlSelect.append(" FROM TTBENEFI");
sqlSelect.append(" WHERE TARJETA = ?");
Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion();
Object aCondiciones[] = new Object[1];
aCondiciones[0] = Integer.valueOf(tarjeta);
ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect.toString(), aCondiciones);
if(rs.next())
{
cliente = rs.getInt("CLIENTE");
}
rs.close();
ParametrosConfiguracion.dataStore.liberarConexion(conexion);
LogTarisan.logger.log(NivelLog.DEBUG, "Seleccionado el numero de cliente: " + cliente + " de la tabla TTBENEFI (" + sqlSelect + ")");
}
catch(SQLException sqle)
{
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección del numero del cliente: " + sqle + " (" + sqlSelect + ")");
throw new ExcepcionTarisan();
}
return cliente;
}
public int obtenerEntidad(int cliente, long tarjeta) throws ExcepcionTarisan
{
int entidad=0;
StringBuffer sqlSelect = new StringBuffer();
try
{
sqlSelect.append("SELECT ENTIDAD");
sqlSelect.append(" FROM TTBENEFI");
sqlSelect.append(" WHERE CLIENTE = ?");
sqlSelect.append(" AND TARJETA <> ?");
sqlSelect.append(" and (TTBENEFI.FECHA_BAJA > sysdate OR TTBENEFI.FECHA_BAJA IS NULL)");
Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion();
Object aCondiciones[] = new Object[2];
aCondiciones[0] = Integer.valueOf(cliente);
aCondiciones[1] = Long.valueOf(tarjeta);
ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect.toString(), aCondiciones);
if(rs.next())
{
entidad=(rs.getInt("ENTIDAD"));
}
else{
//Devuelvo -1 para saber que no ha encontrado ninguna entidad y diferenciarlo de la entidad=0
entidad=-1;
}
rs.close();
ParametrosConfiguracion.dataStore.liberarConexion(conexion);
LogTarisan.logger.log(NivelLog.DEBUG, "Seleccionado entidad y colectivo del cliente: " + cliente + " de la tabla TTBENEFI (" + sqlSelect + ")");
}
catch(SQLException sqle)
{
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección del entidad y colectivo del cliente: " + sqle + " (" + sqlSelect + ")");
throw new ExcepcionTarisan();
}
return entidad;
}
public long obtenerColectivo(int cliente, long tarjeta) throws ExcepcionTarisan
{
long colectivo=0;
StringBuffer sqlSelect = new StringBuffer();
try
{
sqlSelect.append("SELECT COLECTIVO");
sqlSelect.append(" FROM TTBENEFI");
sqlSelect.append(" WHERE CLIENTE = ?");
sqlSelect.append(" AND TARJETA <> ?");
sqlSelect.append(" and (TTBENEFI.FECHA_BAJA > sysdate OR TTBENEFI.FECHA_BAJA IS NULL)");
Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion();
Object aCondiciones[] = new Object[2];
aCondiciones[0] = Integer.valueOf(cliente);
aCondiciones[1] = Long.valueOf(tarjeta);
ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect.toString(), aCondiciones);
if(rs.next())
{
colectivo=(rs.getLong("COLECTIVO"));
}
else{
//Devuelvo -1 para saber que no ha encontrado ningun colectivo y diferenciarlo del colectivo=0
colectivo=-1;
}
rs.close();
ParametrosConfiguracion.dataStore.liberarConexion(conexion);
LogTarisan.logger.log(NivelLog.DEBUG, "Seleccionado entidad y colectivo del cliente: " + cliente + " de la tabla TTBENEFI (" + sqlSelect + ")");
}
catch(SQLException sqle)
{
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección del entidad y colectivo del cliente: " + sqle + " (" + sqlSelect + ")");
throw new ExcepcionTarisan();
}
return colectivo;
}
public String obtenerIdentificador(String tarjetachipcard) throws ExcepcionTarisan
{
String identificador="";
StringBuffer sqlSelect = new StringBuffer();
LogTarisan.logger.log(NivelLog.DEBUG, "Obtenemos el identificador de la tarjeta "+tarjetachipcard+" introducida");
try
{
sqlSelect.append("SELECT TROQUELADO, TRATADO FROM TADESPLAZ");
sqlSelect.append(" WHERE TRIM(TARJETA_CHIPCARD) = TRIM(?)");
Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion();
Object aCondiciones[] = new Object[1];
aCondiciones[0] = new String(tarjetachipcard);
ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect.toString(), aCondiciones);
if(rs.next())
{
identificador=(rs.getString("TROQUELADO"));
}
rs.close();
ParametrosConfiguracion.dataStore.liberarConexion(conexion);
LogTarisan.logger.log(NivelLog.DEBUG, "Seleccionado el identificador de la tabla TADESPLAZ (" + sqlSelect + ")");
}
catch(SQLException sqle)
{
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección del identificador de la tabla TADESPLAZ: " + sqle + " (" + sqlSelect + ")");
throw new ExcepcionTarisan();
}
return identificador;
}
public String obtenerIdentificador(long col, Double pol, int ord) throws ExcepcionTarisan
{
String identificador="";
StringBuffer sqlSelect = new StringBuffer();
LogTarisan.logger.log(NivelLog.DEBUG, "Obtenemos el identificador del colectivo "+col+", poliza "+pol+"y orden "+ord+" introducidos");
try
{
sqlSelect.append("SELECT TRIM(IDENTIFICADOR) IDENTIFICADOR FROM TTBENEFI");
sqlSelect.append(" WHERE COLECTIVO = ?");
sqlSelect.append(" AND POLIZA = ?");
sqlSelect.append(" AND ORDEN = ?");
Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion();
Object aCondiciones[] = new Object[3];
aCondiciones[0] = Long.valueOf(col);
aCondiciones[1] = Double.valueOf(pol);
aCondiciones[2] = Integer.valueOf(ord);
ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect.toString(), aCondiciones);
if(rs.next())
{
if (rs.getString("IDENTIFICADOR")!=null)
identificador=(rs.getString("IDENTIFICADOR"));
}
rs.close();
ParametrosConfiguracion.dataStore.liberarConexion(conexion);
LogTarisan.logger.log(NivelLog.DEBUG, "Seleccionado el identificador de la tabla TTBENEFI (" + sqlSelect + ")");
}
catch(SQLException sqle)
{
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección del identificador de la tabla TTBENEFI: " + sqle + " (" + sqlSelect + ")");
throw new ExcepcionTarisan();
}
return identificador;
}
public String obtenerTarjetaChipcard(int col, long pol, int ord) throws ExcepcionTarisan
{
String tarjeta="";
StringBuffer sqlSelect = new StringBuffer();
LogTarisan.logger.log(NivelLog.DEBUG, "Obtenemos la tarjeta_chipcard del "+col + " - " + pol + " - " + ord +" introducidos");
try
{
sqlSelect.append("SELECT TARJETA_CHIPCARD FROM TTBENEFI");
sqlSelect.append(" WHERE COLECTIVO = ?");
sqlSelect.append(" AND POLIZA = ?");
sqlSelect.append(" AND ORDEN = ?");
Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion();
Object aCondiciones[] = new Object[3];
aCondiciones[0] = Integer.valueOf(col);
aCondiciones[1] = Long.valueOf(pol);
aCondiciones[2] = Integer.valueOf(ord);
ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect.toString(), aCondiciones);
if(rs.next())
{
tarjeta=(rs.getString("TARJETA_CHIPCARD"));
}
rs.close();
ParametrosConfiguracion.dataStore.liberarConexion(conexion);
LogTarisan.logger.log(NivelLog.DEBUG, "Seleccionada la tarjeta_chipcard de la tabla TTBENEFI (" + sqlSelect + ")");
}
catch(SQLException sqle)
{
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de la tarjeta_chipcard de la tabla TTBENEFI: " + sqle + " (" + sqlSelect + ")");
throw new ExcepcionTarisan();
}
return tarjeta;
}
public String obtenerTarjeta(int col, long pol, int ord) throws ExcepcionTarisan
{
String tarjeta="";
StringBuffer sqlSelect = new StringBuffer();
LogTarisan.logger.log(NivelLog.DEBUG, "Obtenemos la tarjeta del "+col + " - " + pol + " - " + ord +" introducidos");
try
{
sqlSelect.append("SELECT TARJETA FROM TTBENEFI");
sqlSelect.append(" WHERE COLECTIVO = ?");
sqlSelect.append(" AND POLIZA = ?");
sqlSelect.append(" AND ORDEN = ?");
Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion();
Object aCondiciones[] = new Object[3];
aCondiciones[0] = Integer.valueOf(col);
aCondiciones[1] = Long.valueOf(pol);
aCondiciones[2] = Integer.valueOf(ord);
ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect.toString(), aCondiciones);
if(rs.next())
{
tarjeta=(rs.getString("TARJETA"));
}
rs.close();
ParametrosConfiguracion.dataStore.liberarConexion(conexion);
LogTarisan.logger.log(NivelLog.DEBUG, "Seleccionada la tarjeta de la tabla TTBENEFI (" + sqlSelect + ")");
}
catch(SQLException sqle)
{
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de la tarjeta de la tabla TTBENEFI: " + sqle + " (" + sqlSelect + ")");
throw new ExcepcionTarisan();
}
return tarjeta;
}
public Long obtenerTarjeta(long col, Double pol, int ord) throws ExcepcionTarisan
{
long tarjeta=0;
StringBuffer sqlSelect = new StringBuffer();
LogTarisan.logger.log(NivelLog.DEBUG, "Obtenemos la tarjeta del "+col + " - " + pol + " - " + ord +" introducidos");
try
{
sqlSelect.append("SELECT TARJETA FROM TTBENEFI");
sqlSelect.append(" WHERE COLECTIVO = ?");
sqlSelect.append(" AND POLIZA = ?");
sqlSelect.append(" AND ORDEN = ?");
Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion();
Object aCondiciones[] = new Object[3];
aCondiciones[0] = Long.valueOf(col);
aCondiciones[1] = Double.valueOf(pol);
aCondiciones[2] = Integer.valueOf(ord);
ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect.toString(), aCondiciones);
if(rs.next())
{
tarjeta=(rs.getLong("TARJETA"));
}
rs.close();
ParametrosConfiguracion.dataStore.liberarConexion(conexion);
LogTarisan.logger.log(NivelLog.DEBUG, "Seleccionada la tarjeta de la tabla TTBENEFI (" + sqlSelect + ")");
}
catch(SQLException sqle)
{
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de la tarjeta de la tabla TTBENEFI: " + sqle + " (" + sqlSelect + ")");
throw new ExcepcionTarisan();
}
return tarjeta;
}
}
@@ -0,0 +1,135 @@
/**
* @(#) PersistenciaTacentro.java
*/
package com.tarisan.control;
import com.tarisan.data.Tacentro;
import com.tarisan.log.*;
import com.tarisan.excepcion.ExcepcionTarisan;
import java.sql.*;
import java.util.Vector;
/**
* Controla los accesos a la persistencia para la entidad <code>Tacentro</code>.
* @author <a href="mailto:sistemas@imqnavarra.com">Dpto. Informática</a>.
* @version 1.0, 24/09/2003
*/
public class PersistenciaTacentro
{
/**
* Obtiene los centros existentes de la tabla TACENTRO
* @return El Vector con la totalidad de los centros.
* @throws
*/
@SuppressWarnings({ "rawtypes", "unchecked" })
public Vector obtenerCentros() throws ExcepcionTarisan
{
Vector vResultado = new Vector();
Tacentro tacentro = null;
StringBuffer strSql = new StringBuffer();
try
{
strSql.append("SELECT CODIGO, DESCRIPCION");
strSql.append(" FROM tacentro");
Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion();
ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, strSql.toString());
while(rs.next())
{
tacentro = new Tacentro();
tacentro.setCodigo(rs.getString("CODIGO"));
tacentro.setDescripcion(rs.getString("DESCRIPCION"));
vResultado.addElement(tacentro);
}
rs.close();
ParametrosConfiguracion.dataStore.liberarConexion(conexion);
LogTarisan.logger.log(NivelLog.DEBUG, "Seleccionados " + vResultado.size() + " registros de la tabla TACENTRO (" + strSql.toString() + ")");
}
catch (ExcepcionTarisan sqle)
{
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de TACENTRO: " + sqle + " (" + strSql.toString() + ")");
throw (ExcepcionTarisan)sqle;
}
catch(SQLException sqle)
{
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de TACENTRO: " + sqle + " (" + strSql.toString() + ")");
throw new ExcepcionTarisan(sqle.getMessage());
}
catch(Exception sqle)
{
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de TACENTRO: " + sqle + " (" + strSql.toString() + ")");
throw new ExcepcionTarisan(sqle.getMessage());
}
catch(Throwable sqle)
{
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de TACENTRO: " + sqle + " (" + strSql.toString() + ")");
throw new ExcepcionTarisan(sqle.getMessage());
}
return vResultado;
}
/**
* Obtiene el centro asociado al código del centro indicado.
* @param codigo Código del centro.
* @return El objeto <code>Tacentro</code> asociado al codigo del centro indicado.
* @throws
*/
public Tacentro obtenerCentro(String codigo) throws ExcepcionTarisan
{
Tacentro tacentro = null;
StringBuffer strSql = new StringBuffer();
Object[] aCondiciones=null;
try
{
strSql.append("SELECT CODIGO, DESCRIPCION");
strSql.append(" FROM TACENTRO");
strSql.append(" WHERE CODIGO=?");
aCondiciones = new Object[1];
aCondiciones[0] = codigo;
Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion();
ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, strSql.toString(), aCondiciones);
if(rs.next())
{
tacentro = new Tacentro();
tacentro.setCodigo(rs.getString("CODIGO"));
tacentro.setDescripcion(rs.getString("DESCRIPCION"));
}
LogTarisan.logger.log(NivelLog.DEBUG, "Seleccionado " + rs.getRow() + " registros de la tabla TACENTRO (" + strSql.toString() + ")");
rs.close();
ParametrosConfiguracion.dataStore.liberarConexion(conexion);
}
catch (ExcepcionTarisan sqle)
{
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de TACENTRO: " + sqle + " (" + strSql.toString() + ")");
throw (ExcepcionTarisan)sqle;
}
catch(SQLException sqle)
{
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de TACENTRO: " + sqle + " (" + strSql.toString() + ")");
throw new ExcepcionTarisan(sqle.getMessage());
}
catch(Exception sqle)
{
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de TACENTRO: " + sqle + " (" + strSql.toString() + ")");
throw new ExcepcionTarisan(sqle.getMessage());
}
catch(Throwable sqle)
{
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de TACENTRO: " + sqle + " (" + strSql.toString() + ")");
throw new ExcepcionTarisan(sqle.getMessage());
}
return tacentro;
}
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,199 @@
/**
* @(#) PersistenciaTadremed.java
*/
package com.tarisan.control;
import com.tarisan.data.Taconaut;
import com.tarisan.data.Tadremed;
import com.tarisan.log.*;
import com.tarisan.util.DES;
import com.tarisan.util.Utilidades;
import com.tarisan.excepcion.ExcepcionTarisan;
import java.sql.*;
import java.util.Vector;
/**
* Controla los accesos a la persistencia para la entidad <code>Tadremed</code>.
* @author <a href="mailto:sistemas@imqnavarra.com">Dpto. Informática</a>.
* @version 1.0, 24/09/2003
*/
public class PersistenciaTadremed
{
/**
* El objeto <code>Paginacion</code> que controla el número de filas a mostrar por cada página.
*/
private Paginacion objPaginacion = new Paginacion();
/**
* Obtiene el valor del objeto <code>Paginacion</code> para saber que página se está visualizando.
* @return El objeto <code>Paginacion</code>.
*/
public Paginacion getPaginacion()
{
return objPaginacion;
}
/**
* Selecciona los registros de la tabla TADREMED en función de la sentencia SELECT indicada.
* @param sqlSelect La sentencia SELECT de selección.
* @param pagina Número de página a mostrar.
* @param aCondiciones Array que contiene los parámetros utilizados en la sentencia SELECT.
* @return El Vector con los registros seleccionados (todos pertenencientes a la clase <code>Tadremed</code>).
* @throws
*/
public Vector seleccionar(String sqlSelect/*, int pagina*/, Object[] aCondiciones) throws ExcepcionTarisan
{
/*int elementosPaginacion=1;*/
Vector vResultado = new Vector();
Tadremed tadremed = null;
try
{
Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion();
ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect, aCondiciones);
/*objPaginacion.inicializarPaginacion(rs);
if (objPaginacion.getNumeroRegistrosTotales()!=0)
{
objPaginacion.realizarPaginacion(rs, pagina); */
while(rs.next() /*&& (elementosPaginacion <= Paginacion.getFilasPorPagina())*/)
{
tadremed = new Tadremed();
tadremed.setFecha(rs.getDate("FECHA"));
tadremed.setIrpf(rs.getDouble("IRPF"));
tadremed.setImporte(rs.getDouble("IMPORTE"));
vResultado.addElement(tadremed);
/*if (pagina!=0) //Se quiere realizar la paginacion
elementosPaginacion++;*/
}
/*}*/
rs.close();
ParametrosConfiguracion.dataStore.liberarConexion(conexion);
LogTarisan.logger.log(NivelLog.DEBUG, "Seleccionados " + vResultado.size() + " registros de la tabla TADREMED (" + sqlSelect + ")");
}
catch (ExcepcionTarisan sqle)
{
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de TADREMED: " + sqle + " (" + sqlSelect + ")");
throw (ExcepcionTarisan)sqle;
}
catch(SQLException sqle)
{
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de TADREMED: " + sqle + " (" + sqlSelect + ")");
throw new ExcepcionTarisan(sqle.getMessage());
}
catch(Exception sqle)
{
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de TADREMED: " + sqle + " (" + sqlSelect + ")");
throw new ExcepcionTarisan(sqle.getMessage());
}
catch(Throwable sqle)
{
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de TADREMED: " + sqle + " (" + sqlSelect + ")");
throw new ExcepcionTarisan(sqle.getMessage());
}
return vResultado;
}
public Vector listado_detalle_irpf(String anio, int medico/*, int intPagina*/)
{
Vector resul = new Vector();
StringBuffer strSql = new StringBuffer();
Object [] aCondiciones = new Object[1];
String consulta = "";
strSql.append("SELECT FECHA, IRPF, IMPORTE");
strSql.append(" FROM TADREMED");
strSql.append(" WHERE MEDICO=?");
if (!anio.equalsIgnoreCase("")) //la sql tiene dos parametros
{
if (ParametrosConfiguracion.dataStore.getClass().getName().toUpperCase().indexOf("ORACLE") >= 0)
{
strSql.append(" AND EXTRACT(YEAR FROM FECHA) = ?");
}
else
{
strSql.append(" AND {fn YEAR(FECHA)} = ?");
}
//el array de objetos sera de dos elementos
aCondiciones = new Object[2];
aCondiciones[1] = Integer.valueOf(anio);
}
else //la sql tiene un parametro
//el array de objetos sera de un elemento
aCondiciones = new Object[1];
strSql.append(" ORDER BY FECHA");
aCondiciones[0] = Integer.valueOf(medico);
try {
resul = this.seleccionar(strSql.toString()/*, intPagina*/, aCondiciones);
consulta = Utilidades.obtenerSentenciaSQL(strSql, null, aCondiciones);
} catch (ExcepcionTarisan e) {
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de Tamedico_Taprescr (listado_prescripciones): " + e + " (" + consulta + ")");
}
return resul;
}
public Vector<Tadremed> ObtenerTotalesIrpf(int medico, String anio)
{
Vector<Tadremed> vResul = new Vector<Tadremed>();
Tadremed tadremed = null;
/*StringBuffer sqlSelect = new StringBuffer();*/
String consulta = "";
String fechaInicio = "01/01/"+anio;
String fechaFin = "31/12/"+anio;
try
{
/*sqlSelect.append("Select SUM(IMPORTE) AS IMPORTE, SUM(IRPF) AS IRPF from TADREMED ");
sqlSelect.append("where medico = ?");
sqlSelect.append("AND FECHA BETWEEN " + fechaInicio + " AND " + fechaFin);*/
consulta = "Select SUM(IMPORTE) AS IMPORTE, SUM(IRPF) AS IRPF ";
consulta += "from TADREMED ";
consulta += "where medico = ? ";
consulta += "AND FECHA BETWEEN TO_DATE('" + fechaInicio + "','DD/MM/YYYY') AND TO_DATE('" + fechaFin + "','DD/MM/YYYY')";
Object aCondiciones[] = new Object[1];
aCondiciones[0]=Integer.valueOf(medico);
Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion();
ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, consulta, aCondiciones);
while(rs.next())
{
tadremed = new Tadremed();
tadremed.setIrpfTotal(rs.getDouble("IRPF"));
tadremed.setImporteTotal(rs.getDouble("IMPORTE"));
vResul.addElement(tadremed);
}
rs.close();
ParametrosConfiguracion.dataStore.liberarConexion(conexion);
}
catch (ExcepcionTarisan e)
{
LogTarisan.logger.log(NivelLog.ERROR, "ExcepcionTarisan: "+e.toString());
} catch (SQLException e) {
LogTarisan.logger.log(NivelLog.ERROR, "Excepcion SQL: "+e.toString());
}
return vResul;
}
}

Some files were not shown because too many files have changed in this diff Show More