spec.setKarteId(getContext().getKarte().getId());
spec.setFromDate(fromDate);
spec.setToDate(MMLDate.getDate());
ldl = new LaboDelegater();
DBTask task = new DBTask<Void>(getContext()) {
@Override
public Void doInBackground() throws Exception {
List<LaboModuleValue> results = (List<LaboModuleValue>) ldl.getLaboModules(spec);
if (results == null || results.size() == 0) {
return null;
}
if (laboModules != null) {
laboModules.clear();
}
laboModules = new Vector<SimpleLaboModule>();
// LaboModuleValueをイテレートし、テーブルへ表示できるデータに分解する
for (LaboModuleValue moduleValue : results) {
// LaboModuleValuの簡易版オブジェクトを生成しベクトルに加える
SimpleLaboModule simpleLaboModule = new SimpleLaboModule();
laboModules.add(simpleLaboModule);
// 簡易版に値を設定する
simpleLaboModule.setSampleTime(moduleValue.getSampleTime());
simpleLaboModule.setRegistTime(moduleValue.getRegistTime());
simpleLaboModule.setReportTime(moduleValue.getReportTime());
simpleLaboModule.setMmlConfirmDate(moduleValue.getConfirmDate());
simpleLaboModule.setReportStatus(moduleValue.getReportStatus());
simpleLaboModule.setTestCenterName(moduleValue.getLaboratoryCenter());
simpleLaboModule.setSet(moduleValue.getSetName());
// Module に含まれる標本をイテレートする
Collection<LaboSpecimenValue> specimens = moduleValue.getLaboSpecimens();
if (specimens != null) {
for (LaboSpecimenValue bean : specimens) {
// 簡易版ラボテストオブジェクトを生成し簡易版のモジュールへ加える
SimpleLaboTest laboTest = new SimpleLaboTest();
simpleLaboModule.addSimpleLaboTest(laboTest);
SimpleLaboSpecimen specimen = new SimpleLaboSpecimen();
laboTest.setSimpleSpecimen(specimen);
specimen.setSpecimenCodeID(bean.getSpecimenCodeId());
specimen.setSpecimenCode(bean.getSpecimenCode());
specimen.setSpecimenName(bean.getSpecimenName());
//pns^ 以前の検査項目を消さないようにする
if (allLaboTest == null) {
allLaboTest = new AllLaboTest();
}
// // 検索期間に含まれる全ての検査を保持するオブジェクト - allLaboTestsを生成する
// if (allLaboTest != null) {
// allLaboTest.clear();
// }
// // 標本をキーとして登録する
// allLaboTest = new AllLaboTest();
//pns$
allLaboTest.addSpecimen(specimen);
// Specimenに含まれる Item をイテレートする
Collection<LaboItemValue> items = bean.getLaboItems();
if (items != null) {
for (LaboItemValue itemBean : items) {
// 検索項目を標本キーの値(TreeSet)として登録する
SimpleLaboTestItem testItem = new SimpleLaboTestItem();
LaboTestItemID testItemID = new LaboTestItemID();
testItem.setItemCodeID(itemBean.getItemCodeId());
testItemID.setItemCodeID(itemBean.getItemCodeId());
testItem.setItemCode(itemBean.getItemCode());
testItemID.setItemCode(itemBean.getItemCode());
testItem.setItemName(trimJSpace(itemBean.getItemName()));
testItemID.setItemName(trimJSpace(itemBean.getItemName()));
allLaboTest.addTestItem(specimen, testItemID);
testItem.setItemValue(itemBean.getItemValue());
testItem.setItemUnit(itemBean.getUnit());
testItem.setLow(itemBean.getLow());
testItem.setUp(itemBean.getUp());
testItem.setNormal(itemBean.getNormal());
testItem.setOut(itemBean.getNout());
laboTest.addSimpleLaboTestItem(testItem);
}
}
}
}
}
return null;
}
@Override
public void succeeded(Void result) {
int count = laboModules != null ? laboModules.size() : 0;
countField.setText(String.valueOf(count));
generateObjectsForTable();
constructTable();
}
};
task.execute();
}