我已经为spring mvc Controller 编写了一些代码,以便使用lambda表达式过滤器从表的单个列中获取员工出勤记录。
但是我想在我的Grails Controller 中应用相同的逻辑。
看看碎石。
谢谢
最佳答案
在您的情况下,直接迭代同一集合4次(!!!)并生成4个新集合的方法也是性能最低的一种。
我这样说:
import static Constant.*
def data = presentMonthAtten.inject( [:].withDefault{ 0 } ){ accum, record ->
switch( record.status ){
case ABSENT: accum.absent++; break
case PRESENT: accum.present++; break
// other cases
}
accum
}
//....
attendDashBoard.currentMonthAbsentAttn = data.absent.toString()