/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package clips.doctor.invalidity;
import clips.delegate.kek.InabilityData;
import cli_fmw.main.ClipsException;
import cli_fmw.utils.ErrorValue;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import javax.swing.table.DefaultTableModel;
/**
* Модель таблицы списка диагнозов
* @author vip
*/
public class TableModelInvalidityList extends DefaultTableModel {
public static final int COL_DATE = 0;
public static final int COL_LEVELIN = 1;
public static final int COL_DATEANSWER = 2;
public static final int COL_LEVELOUT = 3;
public static final int COLUMN_COUNT = 4;
private ArrayList<InabilityData> ii;
public TableModelInvalidityList(ArrayList<InabilityData> ii) {
this.ii = ii;
}
@Override
public int getColumnCount() {
return COLUMN_COUNT;
}
@Override
public String getColumnName(int col) {
switch (col) {
case COL_DATE:
return "Дата направл.";
case COL_LEVELIN:
return "Инвал-ть до МСЭК";
case COL_DATEANSWER:
return "Дата МСЭК";
case COL_LEVELOUT:
return "Инвал-ть после МСЭК";
}
return "";
}
@Override
public int getRowCount() {
if (ii == null) {
return 0;
}
return ii.size();
}
@Override
public Object getValueAt(int row, int col) {
try {
InabilityData invalidity = ii.get(row);
//invalidity.load();
switch (col) {
case COL_DATE: {
return invalidity.getDate();
}
case COL_LEVELIN: {
if (invalidity.getLevelIn() != 0) {
return invalidity.getLevelIn();
} else {
return "";
}
}
case COL_DATEANSWER: {
Date date = invalidity.getDateAnswer();
if (date != null) {
return (new SimpleDateFormat("dd.MM.yyyy")).format(date);
} else {
return "";
}
}
case COL_LEVELOUT: {
Date date = invalidity.getDateAnswer();
if (date != null) {
return invalidity.getLevelOut();
} else {
return "";
}
}
}
} catch (ClipsException ex) {
return new ErrorValue(ex);
}
return null;
}
@Override
public boolean isCellEditable(int row, int col) {
return false;
}
@Override
public Class<?> getColumnClass(int columnIndex) {
if (columnIndex == COL_DATE){
return Date.class;
}else{
return super.getColumnClass(columnIndex);
}
}
}