From 09e5c09972cd30a4dfe7eeb90e848715291fd020 Mon Sep 17 00:00:00 2001 From: cxt <853663049@qq.com> Date: Thu, 5 Mar 2020 00:53:46 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AD=BE=E5=88=B0=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/application_controller.rb | 2 +- app/controllers/weapps/attendances_controller.rb | 7 ++++--- app/views/weapps/attendances/index.json.jbuilder | 7 +++++-- app/views/weapps/attendances/show.json.jbuilder | 4 ++++ .../weapps/attendances/student_attendances.json.jbuilder | 4 ++-- 5 files changed, 16 insertions(+), 8 deletions(-) diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index 90a5e494e..b7a74cbc1 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -321,7 +321,7 @@ class ApplicationController < ActionController::Base end if !User.current.logged? && Rails.env.development? - User.current = User.find 1 + User.current = User.find 3117 end diff --git a/app/controllers/weapps/attendances_controller.rb b/app/controllers/weapps/attendances_controller.rb index a52e81173..49c5c412d 100644 --- a/app/controllers/weapps/attendances_controller.rb +++ b/app/controllers/weapps/attendances_controller.rb @@ -27,7 +27,8 @@ class Weapps::AttendancesController < ApplicationController tip_exception(403) if @user_course_identity >= Course::STUDENT current_date = Date.current current_end_time = Time.current.strftime("%H:%M:%S") - @current_attendance = @course.course_attendances.where("attendance_date = '#{current_date}' and end_time > '#{current_end_time}'").take + @current_attendance = @course.course_attendances.where("attendance_date = '#{current_date}' and end_time > '#{current_end_time}'") + .order("attendance_date asc, start_time asc") all_attendances = @course.course_attendances.where("attendance_date < '#{current_date}' or (attendance_date = '#{current_date}' and end_time < '#{current_end_time}')") @all_member_attendances = CourseMemberAttendance.where(course_attendance_id: all_attendances) @@ -54,11 +55,11 @@ class Weapps::AttendancesController < ApplicationController @history_attendances = @course.course_attendances.where(id: all_attendance_ids.uniq). where("attendance_date < '#{current_date}' or (attendance_date = '#{current_date}' and end_time < '#{current_end_time}')").order("id desc") @current_attendance = @course.course_attendances.where(id: all_attendance_ids.uniq). - where("attendance_date = '#{current_date}' and start_time <= '#{current_end_time}' and end_time > '#{current_end_time}'").take + where("attendance_date = '#{current_date}' and start_time <= '#{current_end_time}' and end_time > '#{current_end_time}'") @history_count = @history_attendances.size student_attendance_ids = @history_attendances.pluck(:id) - student_attendance_ids += @current_attendance.present? ? [@current_attendance.id] : [] + student_attendance_ids += @current_attendance.present? ? @current_attendance.pluck(:id) : [] if student_attendance_ids.uniq.blank? @normal_count = 0 diff --git a/app/views/weapps/attendances/index.json.jbuilder b/app/views/weapps/attendances/index.json.jbuilder index bff2e1218..34317d08d 100644 --- a/app/views/weapps/attendances/index.json.jbuilder +++ b/app/views/weapps/attendances/index.json.jbuilder @@ -1,5 +1,8 @@ -json.current_attendance do - json.(@current_attendance, :id, :normal_count, :all_count) if @current_attendance +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.start_time attendance.start_time.strftime("%H:%M") + json.end_time attendance.end_time.strftime("%H:%M") end all_normal_rate = [] diff --git a/app/views/weapps/attendances/show.json.jbuilder b/app/views/weapps/attendances/show.json.jbuilder index 4b16b1f72..54d3e870a 100644 --- a/app/views/weapps/attendances/show.json.jbuilder +++ b/app/views/weapps/attendances/show.json.jbuilder @@ -5,6 +5,10 @@ json.all_count @all_count json.code @attendance.attendance_code json.mode @attendance.mode json.edit_auth @user_course_identity < Course::PROFESSOR || @attendance.user_id == User.current.id +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") + json.course_groups @groups do |group| json.(group, :id, :name, :course_members_count) json.attendance_count group_attendance_count(@all_attendances, group) if @_is_current_attendance diff --git a/app/views/weapps/attendances/student_attendances.json.jbuilder b/app/views/weapps/attendances/student_attendances.json.jbuilder index 91c6fd457..c2b9fca12 100644 --- a/app/views/weapps/attendances/student_attendances.json.jbuilder +++ b/app/views/weapps/attendances/student_attendances.json.jbuilder @@ -1,5 +1,5 @@ -json.current_attendance do - json.partial! 'student_attendance', locals: {attendance: @current_attendance} if @current_attendance.present? +json.current_attendance @current_attendance do |attendance| + json.partial! 'student_attendance', locals: {attendance: attendance} end json.history_attendances @history_attendances do |attendance|