Re:作業予定表から週単位で作業量を積み上げる
お題: Server error
投稿: Server error
考察
日付の範囲から週の範囲を作る部分とか、リストを縦表示するあたりが小慣れてないなぁ…。まだまだ修行が足りない。
以下は日付の範囲から週の範囲を作る部分
/** 範囲を週の範囲に変換 */ def toWeekRange(dispRange) { def result = [] def list = dispRange.grep{ it[Calendar.DAY_OF_WEEK] == Calendar.MONDAY } if (dispRange.from != list.first()) { result << (dispRange.from..<list.first()) } (0..<[list.size() - 1, 0].max()).each{ idx -> result << (list[idx]..<list[idx+1]) } result << (list.last()..dispRange.to) }
dispRangeは 1/1〜1/31みたいな日付の範囲(Range)。
このメソッドの戻り値は、以下のような月曜始まりの日付の範囲のリストを期待している。
[1/1〜1/4, 1/5〜1/11, 1/12〜1/18, 1/19〜1/25, 1/26〜1/31]