package org.celllife.idart.gui.dataQualityexports;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;
import model.manager.excel.conversion.exceptions.ReportException;
import org.celllife.idart.database.hibernate.ChemicalDrugStrength;
import org.celllife.idart.database.hibernate.Drug;
import org.celllife.idart.database.hibernate.Regimen;
import org.celllife.idart.database.hibernate.RegimenDrugs;
import org.celllife.idart.database.hibernate.util.HibernateUtil;
import org.eclipse.core.runtime.IProgressMonitor;
import java.util.*;
public class RegimenBreakdowns extends DataQualityBase {
protected List<Regimen> list1;
protected List<Object[]> list2 = new ArrayList<Object[]>();
private final String[] RegimenHeadings = new String[] { "DRUG GROUP NAME",
"REGIMEN", "DRUG 1", "CHEMICAL COMPOUND", "DRUG 2",
"CHEMICAL COMPOUND", "DRUG 3", "CHEMICAL COMPOUND", "DRUG 4",
"CHEMICAL COMPOUND", "DRUG 5", "CHEMICAL COMPOUND", "DRUG 6",
"CHEMICAL COMPOUND", };
Date date = new Date();
@SuppressWarnings("unchecked")
@Override
public void getData() {
setHeadings(RegimenHeadings);
list1 = HibernateUtil.getNewSession().createQuery("from Regimen ")
.list();
for (Regimen regimen : list1) {
String[] obj = new String[2+regimen.getRegimenDrugs().size()*2];
obj[0] = (regimen.getRegimenName().replace(",", "/"));
obj[1] = regimen.getDrugGroup();
int i = 2;
for (RegimenDrugs rd : regimen.getRegimenDrugs()) {
if (rd != null) {
Drug drug = rd.getDrug();
obj[i] = drug.getName();
i++;
for (ChemicalDrugStrength cds : drug.getChemicalDrugStrengths()) {
if (obj[i] == null){
obj[i] = "";
}
obj[i] = obj[i] + cds.getChemicalCompound().getName() + " / ";
}
if (obj[i] != null){
obj[i] = obj[i].substring(0,obj[i].length() - 3);
}
i++;
} else
break;
}
data.add(obj);
}
}
@Override
public String getFileName() {
return "Regimen Breakdowns -"+ new SimpleDateFormat("dd.MM.yyyy").format(date)+" - IDART(regimen breakdowns)" ;
}
@Override
public void performJob(IProgressMonitor monitor) throws ReportException {
super.performJob(monitor);
}
@Override
public String getMessage() {
return "Regimen Breakdowns";
}
}