Package clips.doctor.sicklist.search

Source Code of clips.doctor.sicklist.search.PanelSicklistSearch

/*
* PanelCreateDeseaseList.java
*
* Created on 17 Март 2008 г., 17:49
*/
package clips.doctor.sicklist.search;

import cli_fmw.delegate.DelegateLine2;
import clips.doctor.sicklist.sicklist.PanelSicklistView;
import beans.doctor.sicklist.search.SicklistFilter;
import clips.delegate.client.ClientLocal;
import cli_fmw.delegate.directory.complex.DirectoryLocator;
import clips.delegate.doctor.sicklist.SicklistSearchLocal;
import clips.delegate.doctor.sicklist.SicklistLocal;
import cli_fmw.delegate.utils.TimeLocal;
import cli_fmw.directory.dialogs.DirectoryDialogDefault;
import clips.doctor.sicklist.clientSicklist.TableModelSicklist;
import cli_fmw.main.ClipsException;
import cli_fmw.main.MainWindow;
import cli_fmw.main.PageContainer;
import cli_fmw.main.PageException;
import cli_fmw.main.PageGeneric;
import cli_fmw.main.Printable;
import cli_fmw.main.PageGeneric;
import clips.userseach.PanelUserSearch;
import framework.utils.CollectionUtils;
import cli_fmw.utils.EmptyDialog;
import cli_fmw.utils.MessageBox;
import cli_fmw.utils.ModalDialog;
import cli_fmw.utils.Selector;
import cli_fmw.utils.table_config_states.StateSaver;
import cli_fmw.utils.table_config_states.TableState;
import clips.delegate.directory.complex.DirectoryEnterprise;
import clips.delegate.directory.complex.DirectoryEnterpriseItem;
import java.util.ArrayList;
import java.util.Calendar;
import javax.swing.JTextField;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
import framework.utils.DateTimeUtils;
import java.util.GregorianCalendar;

/**
* Панель поиска больничных по заданным параметрам
* @author petr
*/
public class PanelSicklistSearch extends PageGeneric implements DocumentListener, Printable {

    private ArrayList<SicklistLocal> sicklistLocalList;//кэш больничных
    private SicklistFilter filter; //фильтр для поиска
    private SicklistSearchLocal sicklistSearch;//поисковик

    /** Creates new form PanelCreateDeseaseList */
    public PanelSicklistSearch(PageContainer container) throws ClipsException {
        super(container);
        initComponents();
        sicklistSearch = new SicklistSearchLocal(getAuditManager());
        filter = new SicklistFilter();
        GregorianCalendar gc = TimeLocal.getCurrentTime();
        gc.setTime(gc.getTime());
        gc.add(Calendar.MONTH, -1);
        dchFromDate.setDate(gc.getTime());
        dchTillDate.setDate(TimeLocal.getCurrentTime().getTime());
       
        tfSerial.getDocument().addDocumentListener(this);
        updateTable();
        tblSicklistList.setSelectionMode(0);
    resizeColumn();
    StateSaver.attachTo(this);
    }

    /**
     * Обновляет таблицу больничных
     */
    private void updateTable() {
        TableModelSicklist model = new TableModelSicklist(sicklistLocalList);
        tblSicklistList.setModel(model);
    }
   
    private void resizeColumn() {
    TableState          state = new TableState();
    state.setPreferredWidth(TableModelSicklist.COL_COLLABORATOR,18);
    state.setPreferredWidth(TableModelSicklist.COL_CLIENT,      18);
    state.setPreferredWidth(TableModelSicklist.COL_SERIAL,      12);
    state.setPreferredWidth(TableModelSicklist.COL_DATEOPEN,    8);
    state.setPreferredWidth(TableModelSicklist.COL_DIAGNOSIS,  35);
    state.setPreferredWidth(TableModelSicklist.COL_CLOSED,    7);
      StateSaver.setDefaultState(this, tblSicklistList, state);
    }


    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jPanel4 = new javax.swing.JPanel();
        jPanel16 = new javax.swing.JPanel();
        chbOnlyNotRegistred = new javax.swing.JCheckBox();
        jPanel13 = new javax.swing.JPanel();
        chbOnlyOpened = new javax.swing.JCheckBox();
        jPanel14 = new javax.swing.JPanel();
        jPanel15 = new javax.swing.JPanel();
        chbSerial = new javax.swing.JCheckBox();
        tfSerial = new javax.swing.JTextField();
        jPanel1 = new javax.swing.JPanel();
        jPanel5 = new javax.swing.JPanel();
        chbClient = new javax.swing.JCheckBox();
        jPanel2 = new javax.swing.JPanel();
        tfClient = new javax.swing.JTextField();
        btClient = new javax.swing.JButton();
        jPanel10 = new javax.swing.JPanel();
        jPanel11 = new javax.swing.JPanel();
        chbEnterprise = new javax.swing.JCheckBox();
        jPanel12 = new javax.swing.JPanel();
        tfEnterprise = new javax.swing.JTextField();
        btEnterprise = new javax.swing.JButton();
        jPanel17 = new javax.swing.JPanel();
        jPanel6 = new javax.swing.JPanel();
        jPanel7 = new javax.swing.JPanel();
        dchFromDate = new org.infotechservice.ICalendar.components.ICDateChooser();
        dchTillDate = new org.infotechservice.ICalendar.components.ICDateChooser();
        jPanel8 = new javax.swing.JPanel();
        chbFrom = new javax.swing.JCheckBox();
        chbTill = new javax.swing.JCheckBox();
        jPanel9 = new javax.swing.JPanel();
        btFind = new javax.swing.JButton();
        jPanel3 = new javax.swing.JPanel();
        btEdit = new javax.swing.JButton();
        delBtn = new javax.swing.JButton();
        jScrollPane1 = new javax.swing.JScrollPane();
        tblSicklistList = new cli_fmw.utils.sorted_table.SortedTable();

        setBorder(javax.swing.BorderFactory.createEmptyBorder(5, 5, 5, 5));
        setLayout(new java.awt.BorderLayout());

        jPanel4.setBorder(javax.swing.BorderFactory.createTitledBorder("Поиск больничных листов"));
        jPanel4.setLayout(new javax.swing.BoxLayout(jPanel4, javax.swing.BoxLayout.PAGE_AXIS));

        jPanel16.setBorder(javax.swing.BorderFactory.createEmptyBorder(5, 10, 5, 5));
        jPanel16.setLayout(new java.awt.BorderLayout());

        chbOnlyNotRegistred.setText("Только не зарегистрированные");
        chbOnlyNotRegistred.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                chbOnlyNotRegistredActionPerformed(evt);
            }
        });
        jPanel16.add(chbOnlyNotRegistred, java.awt.BorderLayout.CENTER);

        jPanel4.add(jPanel16);

        jPanel13.setBorder(javax.swing.BorderFactory.createEmptyBorder(5, 10, 5, 5));
        jPanel13.setLayout(new java.awt.BorderLayout());

        chbOnlyOpened.setText("Только открытые");
        chbOnlyOpened.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                chbOnlyOpenedActionPerformed(evt);
            }
        });
        jPanel13.add(chbOnlyOpened, java.awt.BorderLayout.CENTER);

        jPanel4.add(jPanel13);

        jPanel14.setLayout(new java.awt.BorderLayout());

        jPanel15.setBorder(javax.swing.BorderFactory.createEmptyBorder(5, 10, 5, 5));
        jPanel15.setLayout(new java.awt.BorderLayout());

        chbSerial.setText("По номеру");
        chbSerial.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                chbSerialActionPerformed(evt);
            }
        });
        jPanel15.add(chbSerial, java.awt.BorderLayout.LINE_START);

        tfSerial.setText(" ");
        tfSerial.setEnabled(false);
        tfSerial.setPreferredSize(new java.awt.Dimension(200, 19));
        jPanel15.add(tfSerial, java.awt.BorderLayout.CENTER);

        jPanel14.add(jPanel15, java.awt.BorderLayout.WEST);

        jPanel4.add(jPanel14);

        jPanel1.setLayout(new java.awt.BorderLayout());

        jPanel5.setBorder(javax.swing.BorderFactory.createEmptyBorder(5, 10, 5, 5));
        jPanel5.setLayout(new java.awt.BorderLayout());

        chbClient.setText("По пациенту");
        chbClient.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                chbClientActionPerformed(evt);
            }
        });
        jPanel5.add(chbClient, java.awt.BorderLayout.LINE_START);

        jPanel2.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 5, 0, 0));
        jPanel2.setLayout(new java.awt.BorderLayout());

        tfClient.setEditable(false);
        tfClient.setText("                    ");
        jPanel2.add(tfClient, java.awt.BorderLayout.CENTER);

        btClient.setText("...");
        btClient.setEnabled(false);
        btClient.setPreferredSize(new java.awt.Dimension(24, 24));
        btClient.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btClientActionPerformed(evt);
            }
        });
        jPanel2.add(btClient, java.awt.BorderLayout.EAST);

        jPanel5.add(jPanel2, java.awt.BorderLayout.CENTER);

        jPanel1.add(jPanel5, java.awt.BorderLayout.WEST);

        jPanel4.add(jPanel1);

        jPanel10.setLayout(new java.awt.BorderLayout());

        jPanel11.setBorder(javax.swing.BorderFactory.createEmptyBorder(5, 10, 5, 5));
        jPanel11.setLayout(new java.awt.BorderLayout());

        chbEnterprise.setText("По предприятию");
        chbEnterprise.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                chbEnterpriseActionPerformed(evt);
            }
        });
        jPanel11.add(chbEnterprise, java.awt.BorderLayout.LINE_START);

        jPanel12.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 5, 0, 0));
        jPanel12.setLayout(new java.awt.BorderLayout());

        tfEnterprise.setEditable(false);
        tfEnterprise.setText("                    ");
        jPanel12.add(tfEnterprise, java.awt.BorderLayout.CENTER);

        btEnterprise.setText("...");
        btEnterprise.setEnabled(false);
        btEnterprise.setPreferredSize(new java.awt.Dimension(24, 24));
        btEnterprise.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btEnterpriseActionPerformed(evt);
            }
        });
        jPanel12.add(btEnterprise, java.awt.BorderLayout.EAST);

        jPanel11.add(jPanel12, java.awt.BorderLayout.CENTER);

        jPanel10.add(jPanel11, java.awt.BorderLayout.WEST);

        jPanel4.add(jPanel10);

        jPanel17.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 10, 1, 10));
        jPanel17.setLayout(new java.awt.BorderLayout());

        jPanel6.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "По дате открытия", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, chbClient.getFont()));

        jPanel7.setLayout(new java.awt.GridLayout(2, 1));

        dchFromDate.setPreferredSize(new java.awt.Dimension(150, 19));
        dchFromDate.addPropertyChangeListener(new java.beans.PropertyChangeListener() {
            public void propertyChange(java.beans.PropertyChangeEvent evt) {
                dchFromDatePropertyChange(evt);
            }
        });
        jPanel7.add(dchFromDate);

        dchTillDate.setPreferredSize(new java.awt.Dimension(150, 19));
        dchTillDate.addPropertyChangeListener(new java.beans.PropertyChangeListener() {
            public void propertyChange(java.beans.PropertyChangeEvent evt) {
                dchTillDatePropertyChange(evt);
            }
        });
        jPanel7.add(dchTillDate);

        jPanel8.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 40, 0, 0));
        jPanel8.setLayout(new java.awt.GridLayout(2, 1));

        chbFrom.setSelected(true);
        chbFrom.setText("после");
        chbFrom.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                chbFromActionPerformed(evt);
            }
        });
        jPanel8.add(chbFrom);

        chbTill.setSelected(true);
        chbTill.setText("до");
        chbTill.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                chbTillActionPerformed(evt);
            }
        });
        jPanel8.add(chbTill);

        javax.swing.GroupLayout jPanel6Layout = new javax.swing.GroupLayout(jPanel6);
        jPanel6.setLayout(jPanel6Layout);
        jPanel6Layout.setHorizontalGroup(
            jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel6Layout.createSequentialGroup()
                .addComponent(jPanel8, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addComponent(jPanel7, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(258, Short.MAX_VALUE))
        );
        jPanel6Layout.setVerticalGroup(
            jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jPanel8, javax.swing.GroupLayout.PREFERRED_SIZE, 43, javax.swing.GroupLayout.PREFERRED_SIZE)
            .addComponent(jPanel7, javax.swing.GroupLayout.PREFERRED_SIZE, 43, javax.swing.GroupLayout.PREFERRED_SIZE)
        );

        jPanel17.add(jPanel6, java.awt.BorderLayout.CENTER);

        jPanel4.add(jPanel17);

        jPanel9.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 10, 0, 0));
        jPanel9.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.LEFT));

        btFind.setText("Поиск");
        btFind.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btFindActionPerformed(evt);
            }
        });
        jPanel9.add(btFind);

        jPanel4.add(jPanel9);

        add(jPanel4, java.awt.BorderLayout.PAGE_START);

        jPanel3.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.RIGHT));

        btEdit.setText("Редактировать");
        btEdit.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btEditActionPerformed(evt);
            }
        });
        jPanel3.add(btEdit);

        delBtn.setText("Удалить");
        delBtn.setToolTipText("Удалить больничный");
        delBtn.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                delBtnActionPerformed(evt);
            }
        });
        jPanel3.add(delBtn);

        add(jPanel3, java.awt.BorderLayout.PAGE_END);

        jScrollPane1.setViewportView(tblSicklistList);

        add(jScrollPane1, java.awt.BorderLayout.CENTER);
    }// </editor-fold>//GEN-END:initComponents

    /**
     * клик на "искать"
     * @param evt
     */
private void btFindActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btFindActionPerformed
    try {
        sicklistSearch.setFilter(filter);
        sicklistLocalList = sicklistSearch.getFilteredSicklistList();
        updateTable();
    } catch (ClipsException ex) {
        MessageBox.showException(ex);
    }
}//GEN-LAST:event_btFindActionPerformed

/**
* Поиск по дате после
* @param evt
*/
private void chbFromActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_chbFromActionPerformed
    dchFromDate.setEnabled(chbFrom.isSelected());
}//GEN-LAST:event_chbFromActionPerformed

/**
* Поиск по дате до
* @param evt
*/
private void chbTillActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_chbTillActionPerformed
    dchTillDate.setEnabled(chbTill.isSelected());
}//GEN-LAST:event_chbTillActionPerformed

    /**
     * поиск по клиенту
     * @param evt
     */
private void chbClientActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_chbClientActionPerformed
    if (chbClient.isSelected()) {
// Показываем диалог выбора человека
        EmptyDialog dialog = new EmptyDialog(MainWindow.mainWindow, "Выбор пациента", getAuditManager());
        PanelUserSearch pus = null;
        try {
            pus = new PanelUserSearch(dialog, PanelUserSearch.MODE_SELECT);
            dialog.addNewPage(pus, null);
            dialog.setVisible(true);
        } catch (Exception ex) {
            if ((ex instanceof ClipsException) && !(ex instanceof PageException)) {
            }
            MessageBox.showException(ex);
            return;
        }
        if (dialog.getDlgResult() == ModalDialog.DLG_OK) {
            ClientLocal cl = pus.getSelectedClient();
            if (cl != null){
                tfClient.setText(cl.toString());
                jPanel2.revalidate();
                filter.clientId = cl.getID();
            }else{
                chbClient.setSelected(false);
                btClient.setEnabled(false);
            }
        } else {
            chbClient.setSelected(false);
            btClient.setEnabled(false);
        }
    } else {
        tfClient.setText("");
        jPanel2.revalidate();
        filter.clientId = 0;
    }
    btClient.setEnabled(chbClient.isSelected());

}//GEN-LAST:event_chbClientActionPerformed

/**
* клик на выборе клиента
* смена клиенту
* @param evt
*/
private void btClientActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btClientActionPerformed
// Показываем диалог выбора человека
    EmptyDialog dialog = new EmptyDialog(MainWindow.mainWindow, "Выбор пациента", getAuditManager());
    PanelUserSearch pus = null;
    try {
        pus = new PanelUserSearch(dialog, PanelUserSearch.MODE_SELECT);
        dialog.addNewPage(pus, null);
        dialog.setVisible(true);
    } catch (Exception ex) {
        if ((ex instanceof ClipsException) && !(ex instanceof PageException)) {
//                setErrorMode();
            }
        MessageBox.showException(ex);
        return;
    }
    if (dialog.getDlgResult() == ModalDialog.DLG_OK) {
        ClientLocal cl = pus.getSelectedClient();
        tfClient.setText(cl.toString());
        jPanel2.revalidate();
        filter.clientId = chbClient.isSelected() ? cl.getID() : 0;
    }
}//GEN-LAST:event_btClientActionPerformed

/**
* Установка даты начала отрезка поиска
* @param evt
*/
private void dchFromDatePropertyChange(java.beans.PropertyChangeEvent evt) {//GEN-FIRST:event_dchFromDatePropertyChange
    filter.dateOpenFrom = chbFrom.isSelected() ? DateTimeUtils.getDateOnly(dchFromDate.getDate()) : null;
}//GEN-LAST:event_dchFromDatePropertyChange

/**
* Установка даты конца отрезка поиска
* @param evt
*/
private void dchTillDatePropertyChange(java.beans.PropertyChangeEvent evt) {//GEN-FIRST:event_dchTillDatePropertyChange
    filter.dateOpenTill = chbTill.isSelected() ? DateTimeUtils.getDateOnly(dchTillDate.getDate()) : null;
}//GEN-LAST:event_dchTillDatePropertyChange

/**
* Поиск по предприятию
* @param evt
*/
private void chbEnterpriseActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_chbEnterpriseActionPerformed
    if (chbEnterprise.isSelected()) {
        try {
            DirectoryEnterprise directoryEnterprise = DirectoryLocator.getDirectory(DirectoryEnterprise.class, false);
            DirectoryDialogDefault dlg = new DirectoryDialogDefault(false, null, "\\", directoryEnterprise);
            dlg.setVisible(true);
            if (dlg.getDlgResult() == ModalDialog.DLG_OK) {
                Selector items = dlg.getSelectedItems();
                DirectoryEnterpriseItem enterprise = (DirectoryEnterpriseItem) items.get(0);
                tfEnterprise.setText(enterprise.getTitle());
                jPanel12.revalidate();
                filter.enterpriseId = enterprise.getID();
            } else {
                chbEnterprise.setSelected(false);
                btEnterprise.setEnabled(false);
            }
        } catch (ClipsException ex) {
            ex.printStackTrace();
        }
    } else {
        tfEnterprise.setText("         ");
        jPanel12.revalidate();
        filter.enterpriseId = 0;
    }
    btEnterprise.setEnabled(chbEnterprise.isSelected());
}//GEN-LAST:event_chbEnterpriseActionPerformed

/**
* клик на кнопке выбора предприятия
* смена предприятия
* @param evt
*/
private void btEnterpriseActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btEnterpriseActionPerformed
    try {
        DirectoryEnterprise directoryEnterprise = DirectoryLocator.getDirectory(DirectoryEnterprise.class, false);
        DirectoryEnterpriseItem selected = null;
        if(filter.enterpriseId > 0) {
            selected = directoryEnterprise.getItemFromID(filter.enterpriseId);
        }
        DirectoryDialogDefault dlg = new DirectoryDialogDefault(false, selected, "\\", directoryEnterprise);
        dlg.setVisible(true);
        if (dlg.getDlgResult() == ModalDialog.DLG_OK) {
            Selector items = dlg.getSelectedItems();
            DirectoryEnterpriseItem ent = (DirectoryEnterpriseItem) items.get(0);
            tfEnterprise.setText(ent.getTitle());
            jPanel12.revalidate();
            filter.enterpriseId = chbEnterprise.isSelected() ? ent.getID() : 0;
        }
    } catch (ClipsException ex) {
        ex.printStackTrace();
    }
}//GEN-LAST:event_btEnterpriseActionPerformed

/**
* клик на "редактировать"
* @param evt
*/
private void btEditActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btEditActionPerformed
    if (tblSicklistList.getSelectedRowCount() <= 0){
        MessageBox.showWarning(MessageBox.W_SICKLIST_NOT_SELECT);
        return;
    }
    try {
        PanelSicklistView edit = new PanelSicklistView(
                getContainer(), sicklistLocalList.get(tblSicklistList.getSelectedRowSorted()));
        PageGeneric page = getContainer().addNewPage(edit, null);
        getContainer().activatePage(page);
    } catch (ClipsException ex) {
        MessageBox.showException(ex);
    }
}//GEN-LAST:event_btEditActionPerformed

/**
* Поиск по серийному номеру
* @param evt
*/
private void chbSerialActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_chbSerialActionPerformed
    boolean select = chbSerial.isSelected();
    tfSerial.setEnabled(select);
    chbOnlyNotRegistred.setEnabled(!select);
    if (!select) {
        tfSerial.setText("");
        filter.serial = null;
    }
}//GEN-LAST:event_chbSerialActionPerformed

/**
* Поиск только открытых
* @param evt
*/
private void chbOnlyOpenedActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_chbOnlyOpenedActionPerformed
    filter.onlyOpened = chbOnlyOpened.isSelected();
}//GEN-LAST:event_chbOnlyOpenedActionPerformed

/**
* Поиск только незарегестрированных (без номеров)
* @param evt
*/
private void chbOnlyNotRegistredActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_chbOnlyNotRegistredActionPerformed
    filter.onlyNotRegistred = chbOnlyNotRegistred.isSelected();
    chbSerial.setEnabled(!chbOnlyNotRegistred.isSelected());
}//GEN-LAST:event_chbOnlyNotRegistredActionPerformed

    /**
     * клик на "удалить"
     * @param evt
     */
    private void delBtnActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_delBtnActionPerformed
        if (tblSicklistList.getSelectedRowCount() == 0) {//если ничё не выделено
            MessageBox.showWarning(MessageBox.W_SICKLIST_NOT_SELECT);//кинем месседж
            return;//и откат
        }
        //возмём выделенный больничный
        SicklistLocal sl = sicklistLocalList.get(tblSicklistList.getSelectedRowSorted());
        try {
            //если номер выставлен, то ругаемсо и откат
            if (sl.getSerial() != null && !sl.getSerial().isEmpty()) {
                MessageBox.showWarning(MessageBox.W_CANT_DEL_REGISTRED_SICKLIST);
                return;
            }
        } catch (ClipsException ex) {
            MessageBox.showException(ex);
            return;
        }
        try {//и наконец если всё нормально
            //просим подтвердить удаление
            int res = MessageBox.showConfirmYesNo(MessageBox.C_DEL_SICKLIST);
            if (res == MessageBox.ANSWER_OK){//есть подтверждение
                sl.remove();//удалим
                CollectionUtils.removeObectByPtr(sicklistLocalList, sl);
                updateTable();//обновим таблицу
            }
        } catch (ClipsException ex) {
            MessageBox.showException(ex);
            return;
        }
    }//GEN-LAST:event_delBtnActionPerformed

    @Override
    public String getPageTitle() {
        return "Поиск больничных листов";
    }

    public String getPageIcon() {
        return null;
    }

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton btClient;
    private javax.swing.JButton btEdit;
    private javax.swing.JButton btEnterprise;
    private javax.swing.JButton btFind;
    private javax.swing.JCheckBox chbClient;
    private javax.swing.JCheckBox chbEnterprise;
    private javax.swing.JCheckBox chbFrom;
    private javax.swing.JCheckBox chbOnlyNotRegistred;
    private javax.swing.JCheckBox chbOnlyOpened;
    private javax.swing.JCheckBox chbSerial;
    private javax.swing.JCheckBox chbTill;
    private org.infotechservice.ICalendar.components.ICDateChooser dchFromDate;
    private org.infotechservice.ICalendar.components.ICDateChooser dchTillDate;
    private javax.swing.JButton delBtn;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel10;
    private javax.swing.JPanel jPanel11;
    private javax.swing.JPanel jPanel12;
    private javax.swing.JPanel jPanel13;
    private javax.swing.JPanel jPanel14;
    private javax.swing.JPanel jPanel15;
    private javax.swing.JPanel jPanel16;
    private javax.swing.JPanel jPanel17;
    private javax.swing.JPanel jPanel2;
    private javax.swing.JPanel jPanel3;
    private javax.swing.JPanel jPanel4;
    private javax.swing.JPanel jPanel5;
    private javax.swing.JPanel jPanel6;
    private javax.swing.JPanel jPanel7;
    private javax.swing.JPanel jPanel8;
    private javax.swing.JPanel jPanel9;
    private javax.swing.JScrollPane jScrollPane1;
    private cli_fmw.utils.sorted_table.SortedTable tblSicklistList;
    private javax.swing.JTextField tfClient;
    private javax.swing.JTextField tfEnterprise;
    private javax.swing.JTextField tfSerial;
    // End of variables declaration//GEN-END:variables

    @Override
    public void insertUpdate(DocumentEvent e) {
        updateFilterSerial();
    }

    @Override
    public void removeUpdate(DocumentEvent e) {
        updateFilterSerial();
    }

    @Override
    public void changedUpdate(DocumentEvent e) {
        updateFilterSerial();
    }
    /**
     * Изменяет номер в фильтре поиска
     */
    private void updateFilterSerial(){
        filter.serial = tfSerial.getText();
    }

    @Override
    public boolean readyForPrint() {
        return tblSicklistList.getSelectedRowSorted() > 0;
    }

    @Override
    public void print() {
        if (readyForPrint()) {
            try {
                int row = tblSicklistList.getSelectedRowSorted();
                if (row < 0) {
                    return;
                }
                SicklistLocal sicklist = sicklistLocalList.get(row);
                sicklist.printOverBlank();
            } catch (ClipsException ex) {
                MessageBox.showException(ex);
            }
        }
    }

    @Override
    public DelegateLine2 getDelegate() {
        return null;
    }
}
TOP

Related Classes of clips.doctor.sicklist.search.PanelSicklistSearch

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.