/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package clips.kek.direction;
import clips.delegate.doctor.direction.DirectionLocal;
import clips.delegate.kek.CommitteeDirectionData;
import cli_fmw.main.ClipsException;
import cli_fmw.utils.ErrorValue;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import javax.swing.table.DefaultTableModel;
/**
*
* @author lacoste
*/
public class TableModelDirMemList extends DefaultTableModel{
public static final int COL_DIRMEM_ID = 0;
public static final int COL_CLIENT = 1;
public static final int COL_DATE = 2;
public static final int COL_MKB = 3;
public static final int COL_REASON = 4;
public static final int COL_DESC = 5;
public static final int COL_COLLAB = 6;
public static final int COLUMN_COUNT = 7;
private ArrayList<CommitteeDirectionData> dirList;
public TableModelDirMemList(ArrayList<CommitteeDirectionData> list) {
this.dirList = list;
}
@Override
public int getColumnCount() {
return COLUMN_COUNT;
}
@Override
public String getColumnName(int col) {
switch(col) {
case COL_DIRMEM_ID: return "№";
case COL_CLIENT: return "Пациент";
case COL_DATE: return "Дата";
case COL_MKB: return "Заболевание";
case COL_REASON: return "Причина";
case COL_DESC: return "Примечание";
case COL_COLLAB: return "Выписал";
}
return "";
}
@Override
public int getRowCount() {
if (dirList == null) {
return 0;
}
return dirList.size();
}
@Override
public Object getValueAt(int row, int col) {
try {
DirectionLocal directionLocal = dirList.get(row).getDirection(null);
switch (col) {
case COL_DIRMEM_ID: {
return dirList.get(row).getId();
}
case COL_CLIENT: {
return directionLocal.getSerrenLocal().getPolisData().getClient().getFIO();
}
case COL_DATE: {
return (new SimpleDateFormat("dd.MM.yyyy")).format(directionLocal.getDate());
}
case COL_MKB: {
return directionLocal.getMkb();
}
case COL_REASON: {
return directionLocal.getCommitteeReason();
}
case COL_DESC: {
return directionLocal.getDescription();
}
case COL_COLLAB: {
return directionLocal.getSerrenLocal().getSerRenDirector();
}
}
} catch (ClipsException ex) {
return new ErrorValue(ex);
}
return null;
}
@Override
public boolean isCellEditable(int row, int col) {
return false;
}
public CommitteeDirectionData getCommiteDirection(int row){
return dirList.get(row);
}
}