設備グループIdでメンバーを取り出し、期間スケジュールをfacilitytermmapに書き込み部分を以下のように変更
if (ulist.isEmpty()) { List<Integer> flist = FacilitiesUtils.getFacilityGroupIds(Integer.valueOf(filter));//設備グループ int fsize = flist.size(); if (fsize == 0) { flist.add(Integer.valueOf(-1)); } else { 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>()); } } }
schedule-oneday-group.vmで設備期間スケジュールのデータを受け取れるようにするために
#foreach($record4 in $result.FacilitiyGroupList) #if($termcolcount < ${result.FacilityTermResultDataList($record4.UserId.Value).size()}) #set($termcolcount = ${result.FacilityTermResultDataList($record4.UserId.Value).size()}) #end #if($todocolcount < ${result.getToDoResultDataList($record4.UserId.Value).size()}) #set($todocolcount = ${result.getToDoResultDataList($record4.UserId.Value).size()}) #end #end
一応指定した設備グループのメンバーでループを回すように作成しましたが、データを受け取ることはできなかった。
可能性としては、おそらく$record4.UserId.Valueのところでは
もともとユーザーのIDを引き渡すためのもで、設備のIDに対応してないかもしれない。(一応ScheduleOnedayGroup.javaでgetUserIdメソッドを見たですが、_VEipTScheduleList.javaに宣言されたらしく、UserIdとFacility Idに両方対応している思いますが。。)