int row = jTable1.getSelectedRowSorted(); //выделенная
int col = jTable1.getSelectedColumn(); //ячейка
if (col < TableModelAnalyseShedule.COL_COUNT) {
return;
}
CheckupSheduleLocal shedule = ((TableModelAnalyseShedule) jTable1.getModel()).getSheduleAt(row, col);
//Возможно элемент расписания был null создаем его
if (shedule == null) {
DirectoryCheckupTypeItem checkupType = ((TableModelAnalyseShedule)
jTable1.getModel()).getCheckUpTypeAt(row);
Date sheduleDate = ((TableModelAnalyseShedule) jTable1.getModel()).getDateAt(col);
shedule = new CheckupSheduleLocal(checkupType, sheduleDate, getAuditManager());
//trySincShedule(shedule);
}
//Создание и вызов диалога
shedule.addContentStateListener(getContainer());
CollectionUtils.addObectIfNotExist(checkupSheduleLocalList, shedule);
DialogSheduleEditM1 dialog
= new DialogSheduleEditM1(MainWindow.mainWindow,
freeCheckupMap.get(shedule.getType()),
shedule, getAuditManager());
dialog.addPropertyChangeListener(this);
dialog.setVisible(true);
//посмотрим чего вернул диалог
int res = dialog.getDlgResult();
System.out.println("FREE PANEL: "+freeCheckupMap);
switch (res) {
case ModalDialog.DLG_OK:
//готово или анализ
trySincShedule(shedule);//пробуем сохранить
if (dialog.getIndividualCheckUp() != null) {//проверим, мож индивидуальный анализ
individualAnalyse(dialog.getIndividualCheckUp(), shedule);
}
break;
case ModalDialog.DLG_CANCEL:
//отмена
shedule.restore();//откатим шедулю
break;
case ModalDialog.DLG_NEXTRESULT:
//в лабораторию
trySincShedule(shedule);
if (!shedule.getCheckupSet().isEmpty()){
PanelAnalyse panelAnalyse = new PanelAnalyse(getContainer(), shedule);
PageGeneric page = getContainer().addNewPage(panelAnalyse, null);
getContainer().activatePage(page);
} else{
MessageBox.showWarning("Панель "+PanelAnalyse.class.getSimpleName()+