/** * <br> * 1行分の時間帯モデルを生成する <br> * [備考]出力済みの時間帯情報はHashMapに格納します * * @param tzhList 時間帯情報 * @param map 出力済みの時間帯情報情報 * @param admConf タイムカード基本設定 * @param dspList 表示情報リスト * @return ArrayList */ private ArrayList<TcdTimezoneMeiModel> __getDailyLineMdl( ArrayList<TcdTimezoneMeiModel> tzhList, HashMap<String, TcdTimezoneMeiModel> map, TcdAdmConfModel admConf, ArrayList<TcdTimezoneMeiModel> dspList) { TcdTimezoneMeiModel valueMdl = null; TcdTimezoneMeiModel tzMdl = null; int tzSid = 0; int maxRows = __getMaxRowsCount(admConf.getTacInterval()); int endIndex = 1; for (int i = 0; i < tzhList.size(); i++) { tzMdl = tzhList.get(i); tzSid = tzMdl.getTimeZoneSID(); if (map.containsKey(String.valueOf(tzSid))) { // 出力済みは除外 continue; } // 空白部分を設定 valueMdl = __getBlankTimeZone(tzMdl, admConf, endIndex); if (valueMdl != null) { dspList.add(valueMdl); endIndex = endIndex + valueMdl.getRows(); log__.debug("空白部分==>" + valueMdl.getRows()); } // 時間帯部分を設定 int rows = __getRows(tzMdl, admConf, endIndex); log__.debug("時間帯部分row==>" + rows); valueMdl = new TcdTimezoneMeiModel(); valueMdl.setRows(rows); valueMdl.setTimeZoneSID(tzMdl.getTimeZoneSID()); valueMdl.setTimeZoneKbn(tzMdl.getTimeZoneKbn()); valueMdl.setTimeZoneStr(tzMdl.getTimeZoneStr()); valueMdl.setIndex(endIndex); dspList.add(valueMdl); endIndex = endIndex + rows; map.put(String.valueOf(tzSid), tzMdl); // 格納先インデックスがMAXの場合breakする if (endIndex == maxRows) { break; } } // 表示終了時刻までの空白を設定 valueMdl = __getEndBlankTimeZone(tzMdl, admConf, endIndex); if (valueMdl != null) { dspList.add(valueMdl); endIndex = endIndex + valueMdl.getRows(); } return dspList; }