Merge branches 'classroom_secondary_directory' and 'dev_aliyun' of https://bdgit.educoder.net/Hjqreturn/educoder into classroom_secondary_directory
commit
cb5726e9ec
@ -0,0 +1,39 @@
|
||||
class AttendancesController < ApplicationController
|
||||
before_action :require_login
|
||||
before_action :find_course, only: [:index, :student_attendances, :history_attendances]
|
||||
before_action :find_attendance, except: [:index, :student_attendances, :history_attendances]
|
||||
before_action :user_course_identity
|
||||
|
||||
def index
|
||||
current_date = Date.current
|
||||
current_end_time = Time.current.strftime("%H:%M:%S")
|
||||
|
||||
if params[:history]
|
||||
@attendances = @course.course_attendances.where("attendance_date < '#{current_date}' or
|
||||
(attendance_date = '#{current_date}' and end_time < '#{current_end_time}')")
|
||||
else
|
||||
@attendances = @course.course_attendances.where("attendance_date > '#{current_date}' or
|
||||
(attendance_date = '#{current_date}' and end_time > '#{current_end_time}')")
|
||||
end
|
||||
@attendances_count = @attendances.size
|
||||
|
||||
@attendances = @attendances.order("attendance_date desc, start_time desc")
|
||||
@attendances = paginate @attendances.includes(:user, :course_member_attendances)
|
||||
end
|
||||
|
||||
def history_attendances
|
||||
current_date = Date.current
|
||||
current_end_time = Time.current.strftime("%H:%M:%S")
|
||||
|
||||
@history_attendances = @course.course_attendances.where("attendance_date < '#{current_date}' or
|
||||
(attendance_date = '#{current_date}' and end_time < '#{current_end_time}')").order("id desc")
|
||||
@all_history_count = @history_attendances.size
|
||||
@history_attendances = paginate @history_attendances.includes(:course_member_attendances)
|
||||
end
|
||||
|
||||
private
|
||||
def find_attendance
|
||||
@attendance = CourseAttendance.find params[:id]
|
||||
@course = @attendance.course
|
||||
end
|
||||
end
|
@ -0,0 +1,18 @@
|
||||
json.attendances @attendances do |attendance|
|
||||
json.(attendance, :id, :name, :normal_count, :all_count, :mode)
|
||||
json.author do
|
||||
user = attendance.user
|
||||
json.user_name user.real_name
|
||||
json.user_login user.login
|
||||
end
|
||||
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.edit_auth @user_course_identity < Course::PROFESSOR || attendance.user_id == User.current.id
|
||||
|
||||
if @user_course_identity < Course::PROFESSOR == Course::STUDENT
|
||||
json.attendance_status student_attendance_status(attendance, User.current)
|
||||
end
|
||||
end
|
||||
|
||||
json.attendances_count @attendances_count
|
@ -0,0 +1,28 @@
|
||||
#coding=utf-8
|
||||
|
||||
desc "合并高校的数据,第一个参数是: 正确高校的id, 第二个参数是: 错误高校需要合并到正确高校的id"
|
||||
# 命令: bundle exec rake schools:merge_school_data f_school=1 s_school=2,3
|
||||
namespace :schools do
|
||||
task merge_school_data: :environment do
|
||||
f_school = ENV['f_school'].to_i
|
||||
school = School.find_by(id: f_school)
|
||||
return if school.blank?
|
||||
|
||||
s_school = ENV['s_school'].split(",")
|
||||
merge_schools = School.where(id: s_school)
|
||||
|
||||
# 改变用户的学校id 和 单位
|
||||
UserExtension.where(school_id: merge_schools)
|
||||
.update_all(school_id: f_school, department_id: nil)
|
||||
|
||||
# 改变课堂的学校id
|
||||
Course.where(school_id: merge_schools).update_all(school_id: f_school)
|
||||
|
||||
# 实训报告表迁移数据
|
||||
s_report = SchoolReport.find_by(school_id: f_school)
|
||||
SchoolReport.where(school_id: merge_schools).each do |sr|
|
||||
s_report.update_column(:shixun_evaluate_count, (s_report.shixun_evaluate_count+sr.shixun_evaluate_count))
|
||||
sr.update(shixun_evaluate_count: 0)
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Reference in new issue