設備の期間スケジュールの日表示

引き続き設備の期間スケジュールの日表示の実装に取り組みました。

今日は設備の期間スケジュールを管理するscheduletermmapをveloityで受け取ることはできました。

選択された設備グループの設備リストはFacilityMemberListで受け取り、record4に逐次書き込む。

#if($termcolcount == 0)
#foreach($record4 in $result.FacilityMemberList)
#set($hoge = $hoge + 1)
#if($termcolcount < ${result.getFacilityTermResultDataList($record4.FacilityId.Value).size()})
#set($termcolcount = ${result.getFacilityTermResultDataList($record4.FacilityId.Value).size()})
#end
#if($todocolcount < ${result.getToDoResultDataList($record4.FacilityId.Value).size()})
#set($todocolcount = ${result.getToDoResultDataList($record4.FacilityId.Value).size()})
#end
#end
#end

前回作ったfacilitytermmapに期間スケジュールを書き込む部分は、自分が勝手にユーザーグループではない時(つまり、設備グループが選択されたとき)にulistの中身がnullであると思い込んでしまったため、以下のコードに変更しました。

if (usize == 0) {
      ulist.add(Integer.valueOf(-1));
      List<Integer> flist =
        FacilitiesUtils.getFacilityGroupIds(Integer.valueOf(filter));
      int fsize = flist.size();
      for (int i = 0; i < fsize; i++) {
        Integer fid = flist.get(i);
        ScheduleOnedayContainer con = new ScheduleOnedayContainer();
        con.initField();
        con.initHour(startHour, endHour);
        this.facilitytermmap
          .put(fid, new ArrayList<ScheduleOnedayResultData>());
        this.map.put(fid, con);
        this.todomap.put(fid, new ArrayList<ScheduleToDoResultData>());
      }
    }

これで、無事データを設備の期間スケジュールを受け取るはできましたが、表示するところまで行かなかった。

ちなみに、グループに設備一覧を選択したとき、設備一覧は設備グループではないため、エラーが出ます。filtertypeがfacilityのときに新しい処理を作る可能性があるかもしれない。