예제 #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;
  }
예제 #2
0
  /**
   * <br>
   * TcdTimezoneMeiModelからHTML文字列を取得します。 <br>
   * 1ユーザの日間タイムカード情報
   *
   * @param writer ライター
   * @param admConf 基本設定情報
   * @param valueList 画面表示用時間帯設定
   * @throws Exception IOエラー時にスロー
   */
  private static void __writeHtmlString(
      JspWriter writer, TcdAdmConfModel admConf, ArrayList<TcdTimezoneMeiModel> valueList)
      throws Exception {

    TcdTimezoneMeiModel valueMdl = null;

    GsMessage gsMsg = new GsMessage();
    String memory = gsMsg.getMessage(req__, "cmn.memory");
    String timeBelt = gsMsg.getMessage(req__, "tcd.tcd070.01");

    // タイムチャート部分出力
    writer.println("<td width=\"40%\" align=\"center\" valign=\"top\">");

    writer.println(
        "  <table width=\"200\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\""
            + " class=\"tl0\">");
    writer.println("  <tr>");
    writer.println("  <th width=\"0%\" class=\"td_gray\" scope=\"col\"></th>");
    writer.println("  <th width=\"0%\" class=\"td_gray\" scope=\"col\">");
    writer.println(
        "  <img src=\"./images/space10.gif\" alt=\"" + memory + "\" width=\"3\" height=\"7\">");
    writer.println("  </th>");
    writer.println(
        "  <th width=\"100%\" align=\"center\" class=\"td_gray\" scope=\"col\">" + timeBelt);
    writer.println("  </th>");
    writer.println("  </tr>");
    // 0時~23時ループ
    int dspHour = 0;
    int counter = __getHourRowsCount(admConf.getTacInterval());
    int hourRows = __getHourRowsCount(admConf.getTacInterval());
    int maxRows = __getMaxRowsCount(admConf.getTacInterval());

    for (int i = 0; i < maxRows; i++) {

      if (counter == hourRows) {
        writer.println("<tr align=\"center\">");
        writer.println(
            "<th class=\"td_gray\" width=\"30\"" + " rowspan=\"" + hourRows + "\" nowrap>");

        writer.println("" + dspHour + "</th>");
        writer.println("<td class=\"td_gray\">");
        writer.println(
            "<img src=\"./images/space10.gif\" alt=\""
                + memory
                + "\""
                + " width=\"3\" height=\"7\">");
        writer.println("</td>");

        dspHour++;
        counter = 1;
      } else {
        writer.println("<tr align=\"center\">");
        writer.println("<td class=\"td_gray\">");
        writer.println(
            "<img src=\"./images/space10.gif\" alt=\""
                + memory
                + "\""
                + " width=\"3\" height=\"7\">");
        writer.println("</td>");
        counter++;
      }
      // 挿入する時間帯を検索
      valueMdl = __getTargetModel(valueList, i + 1);
      if (valueMdl != null) {
        // 時間帯情報セット

        if (valueMdl.getTimeZoneSID() != GSConstTimecard.BLANK_ZONE_SID) {
          String time = valueMdl.getTimeZoneStr();
          String title = __getTitleString(Integer.parseInt(valueMdl.getTimeZoneKbn()));
          String color = __getStyleBgColor(Integer.parseInt(valueMdl.getTimeZoneKbn()));
          writer.println(
              "<td class=\""
                  + color
                  + "\" "
                  + " title=\""
                  + time
                  + " "
                  + title
                  + "\""
                  + " rowspan=\""
                  + valueMdl.getRows()
                  + "\">");

          if (valueMdl.getRows() > GSConstTimecard.MAIN_DSP_HOURS) {
            writer.println("" + time + "<br>");
            writer.println("" + title + "");
          }

        } else {
          writer.println("<td class=\"td_type1\"");
          writer.println("rowspan=\"" + valueMdl.getRows() + "\" >");
        }
        writer.println("</td>");
      }
      writer.println("</tr>");
    }
    writer.println("</table>");
    writer.println("</td>");
  }