コード例 #1
0
  /**
   * <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;
  }