|
|
|
@ -1,15 +1,17 @@
|
|
|
|
|
json.current_attendance @current_attendance do |attendance|
|
|
|
|
|
json.(attendance, :id, :normal_count, :all_count)
|
|
|
|
|
json.attendance_date attendance.attendance_date.strftime("%Y/%m/%d")
|
|
|
|
|
json.(attendance, :id, :name, :normal_count, :all_count)
|
|
|
|
|
json.attendance_date attendance.attendance_date.strftime("%Y-%m-%d")
|
|
|
|
|
json.start_time attendance.start_time.strftime("%H:%M")
|
|
|
|
|
json.end_time attendance.end_time.strftime("%H:%M")
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
all_normal_rate = []
|
|
|
|
|
all_absence_rate = []
|
|
|
|
|
all_leave_rate = []
|
|
|
|
|
json.history_attendances @history_attendances.each_with_index.to_a do |attendance, index|
|
|
|
|
|
normal_count = history_member_count(@all_member_attendances, "NORMAL", attendance.id)
|
|
|
|
|
absence_count = history_member_count(@all_member_attendances, "ABSENCE", attendance.id)
|
|
|
|
|
leave_count = history_member_count(@all_member_attendances, "LEAVE", attendance.id)
|
|
|
|
|
all_count = @all_member_attendances.select{|member_attendance| member_attendance.course_attendance_id == attendance.id}.size
|
|
|
|
|
|
|
|
|
|
json.index index + 1
|
|
|
|
@ -17,8 +19,11 @@ json.history_attendances @history_attendances.each_with_index.to_a do |attendanc
|
|
|
|
|
all_normal_rate << cal_rate(normal_count, all_count)
|
|
|
|
|
json.absence_rate cal_rate(absence_count, all_count)
|
|
|
|
|
all_absence_rate << cal_rate(absence_count, all_count)
|
|
|
|
|
json.leave_rate cal_rate(leave_count, all_count)
|
|
|
|
|
all_leave_rate << cal_rate(leave_count, all_count)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
json.all_history_count @all_history_count
|
|
|
|
|
json.avg_normal_rate @all_history_count == 0 ? 0 : all_normal_rate.sum / @all_history_count
|
|
|
|
|
json.avg_absence_rate @all_history_count == 0 ? 0 : all_absence_rate.sum / @all_history_count
|
|
|
|
|
json.avg_leave_rate @all_history_count == 0 ? 0 : all_leave_rate.sum / @all_history_count
|
|
|
|
|