历史签到详情中,后加入的学生不需要展示再列表中

courseware
cxt 5 years ago
parent 208716a5bd
commit 32d475c4c9

@ -4,30 +4,36 @@ class Weapps::CourseMemberAttendancesController < ApplicationController
def index
attendance = CourseAttendance.find params[:attendance_id]
if attendance.course_attendance_groups.first&.course_group_id.to_i == 0
@members = attendance.course.students
else
@members = attendance.course.students.where(course_group_id: attendance.course_attendance_groups.pluck(:course_group_id))
end
@member_attendances = attendance.course_member_attendances
if params[:group_ids].present?
@members = @members.where(course_group_id: params[:group_ids])
end
@page = params[:page] || 1
@limit = params[:limit] || 5
if params[:attendance_status].present?
@members = @members.joins(:course_member_attendances).where(course_member_attendances: {course_attendance_id: attendance.id, attendance_status: params[:attendance_status]})
@member_attendances = attendance.course_member_attendances
if params[:group_ids].present?
@member_attendances = @member_attendances.joins(:course_member).where(course_members: {course_group_id: params[:group_ids]})
end
@member_attendances = @member_attendances.where(attendance_status: params[:attendance_status]) if params[:attendance_status].present?
@member_attendances = @member_attendances.order("attendance_status=1 desc, course_member_attendances.updated_at desc")
@members_count = @member_attendances.uniq.count
@member_attendances = paginate @member_attendances.preload(user: :user_extension)
@members = @members.joins(:course_member_attendances).order("attendance_status=1 desc, course_member_attendances.updated_at desc")
@members_count = @members.uniq.count
@members = paginate @members.preload(user: :user_extension).uniq
# @member_attendances = @member_attendances.where(attendance_status: params[:attendance_status]) if params[:attendance_status].present?
# @member_attendances = @member_attendances.joins(user: :user_extension).order("attendance_status=1 desc, course_member_attendances.updated_at desc, user_extensions.student_id asc")
# @member_attendances = paginate @member_attendances.preload(user: :user_extension)
# if attendance.course_attendance_groups.first&.course_group_id.to_i == 0
# @members = attendance.course.students
# else
# @members = attendance.course.students.where(course_group_id: attendance.course_attendance_groups.pluck(:course_group_id))
# end
# @member_attendances = attendance.course_member_attendances
# if params[:group_ids].present?
# @members = @members.where(course_group_id: params[:group_ids])
# end
#
# if params[:attendance_status].present?
# @members = @members.joins(:course_member_attendances).where(course_member_attendances: {course_attendance_id: attendance.id, attendance_status: params[:attendance_status]})
# end
#
# @members = @members.joins(:course_member_attendances).order("attendance_status=1 desc, course_member_attendances.updated_at desc")
# @members_count = @members.uniq.count
# @members = paginate @members.preload(user: :user_extension).uniq
end
def create

@ -1,15 +1,16 @@
# json.member_attendances @member_attendances.each do |member|
# json.(member, :user_id, :attendance_status)
# json.user_name member.user&.real_name
# json.student_id member.user&.student_id
# end
json.member_attendances @members.each_with_index.to_a do |member, index|
json.(member, :user_id)
json.member_attendances @member_attendances.each_with_index.to_a do |member, index|
json.(member, :user_id, :attendance_status)
json.index (@page.to_i - 1) * @limit.to_i + index + 1
json.user_name member.user&.real_name
json.student_id member.user&.student_id
json.attendance_status @member_attendances.select{|attendance| attendance.course_member_id == member.id}.first&.attendance_status || "ABSENCE"
end
# json.member_attendances @members.each_with_index.to_a do |member, index|
# json.(member, :user_id)
# json.index (@page.to_i - 1) * @limit.to_i + index + 1
# json.user_name member.user&.real_name
# json.student_id member.user&.student_id
# json.attendance_status @member_attendances.select{|attendance| attendance.course_member_id == member.id}.first&.attendance_status || "ABSENCE"
# end
json.members_count @members_count
Loading…
Cancel
Save