/*
* 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;
}
}