/** * ラボモジュールを検索する。 * * @param patientId 対象患者のID * @param firstResult 取得結果リストの最初の番号 * @param maxResult 取得する件数の最大値 * @return ラボモジュールのリスト */ @Override public List<NLaboModule> getLaboTest(String fidPid, int firstResult, int maxResult) { // String fidPid = SessionHelper.getQualifiedPid(ctx, patientId); // // 検体採取日の降順で返す // List<NLaboModule> ret = (List<NLaboModule>) em.createQuery(QUERY_MODULE_BY_FIDPID) .setParameter(FIDPID, fidPid) .setFirstResult(firstResult) .setMaxResults(maxResult) .getResultList(); for (NLaboModule m : ret) { if (m.getReportFormat() != null && m.getReportFormat().equals(WOLF)) { List<NLaboItem> items = (List<NLaboItem>) em.createQuery(QUERY_ITEM_BY_MID_ORDERBY_SORTKEY) .setParameter(MID, m.getId()) .getResultList(); m.setItems(items); } else { List<NLaboItem> items = (List<NLaboItem>) em.createQuery(QUERY_ITEM_BY_MID).setParameter(MID, m.getId()).getResultList(); m.setItems(items); } } return ret; }