Merge branch 'develop' of https://bdgit.trustie.net/hushasha/bigdata into develop

This commit is contained in:
cxt 2017-10-13 21:59:32 +08:00
commit 5e4a80d245
2 changed files with 68 additions and 21 deletions

View File

@ -533,11 +533,21 @@ class CoursesController < ApplicationController
@search = params[:search]
q = params[:search] ? "#{params[:search].strip}" : ""
if @order == "student_id"
@members = @course.members.joins("join user_extensions on members.user_id = user_extensions.user_id").order("student_id #{@r_sort}").select{|m| m.roles.to_s.include?("Student")}
else
@members = @course.members.joins("join users on members.user_id = users.id").order("CONVERT(lastname USING gbk) COLLATE gbk_chinese_ci #{@r_sort}, login #{@r_sort}").select{|m| m.roles.to_s.include?("Student")}
end
# if @order == "student_id"
# @members = @course.members.joins("join user_extensions on members.user_id = user_extensions.user_id").order("student_id #{@r_sort}").select{|m| m.roles.to_s.include?("Student")}
# else
# @members = @course.members.joins("join users on members.user_id = users.id").order("CONVERT(lastname USING gbk) COLLATE gbk_chinese_ci #{@r_sort}, login #{@r_sort}").select{|m| m.roles.to_s.include?("Student")}
# end
@members = Member.find_by_sql("SELECT members.*,(
SELECT SUM(student_works.work_score)
FROM student_works,homework_commons
WHERE student_works.homework_common_id = homework_commons.id
AND homework_commons.course_id = #{@course.id}
AND student_works.user_id = members.user_id
) AS score FROM members
JOIN students_for_courses
ON students_for_courses.student_id = members.user_id AND students_for_courses.course_id = members.course_id
WHERE members.course_id = #{@course.id} ORDER BY score desc")
if q.nil? || q == ""
else
members = []
@ -576,11 +586,21 @@ class CoursesController < ApplicationController
@search = params[:search]
q = params[:search] ? "#{params[:search].strip}" : ""
if @order == "student_id"
@members = @course.members.where(:course_group_id => 0).joins("join user_extensions on members.user_id = user_extensions.user_id").order("student_id #{@sort}").select{|m| m.roles.to_s.include?("Student")}
else
@members = @course.members.where(:course_group_id => 0).joins("join users on members.user_id = users.id").order("CONVERT(lastname USING gbk) COLLATE gbk_chinese_ci #{@sort}, login #{@b_sort}").select{|m| m.roles.to_s.include?("Student")}
end
@members = Member.find_by_sql("SELECT members.*,(
SELECT SUM(student_works.work_score)
FROM student_works,homework_commons
WHERE student_works.homework_common_id = homework_commons.id
AND homework_commons.course_id = #{@course.id}
AND student_works.user_id = members.user_id
) AS score FROM members
JOIN students_for_courses
ON students_for_courses.student_id = members.user_id AND students_for_courses.course_id = members.course_id
WHERE members.course_id = #{@course.id} AND members.course_group_id = 0 ORDER BY score desc")
# if @order == "student_id"
# @members = @course.members.where(:course_group_id => 0).joins("join user_extensions on members.user_id = user_extensions.user_id").order("student_id #{@sort}").select{|m| m.roles.to_s.include?("Student")}
# else
# @members = @course.members.where(:course_group_id => 0).joins("join users on members.user_id = users.id").order("CONVERT(lastname USING gbk) COLLATE gbk_chinese_ci #{@sort}, login #{@b_sort}").select{|m| m.roles.to_s.include?("Student")}
# end
if q.nil? || q == ""
else
members = []
@ -613,17 +633,27 @@ class CoursesController < ApplicationController
end
def has_group_student_list
@order, @r_sort = params[:order] || "student_id", params[:sort] || "asc"
@sort = @r_sort == "desc" ? "asc" : "desc"
#@order, @r_sort = params[:order] || "student_id", params[:sort] || "asc"
#@sort = @r_sort == "desc" ? "asc" : "desc"
@search = params[:search]
q = params[:search] ? "#{params[:search].strip}" : ""
@group = @course.course_groups.find params[:group_id]
if @order == "student_id"
@members = @course.members.where(:course_group_id => @group.id).joins("join user_extensions on members.user_id = user_extensions.user_id").order("student_id #{@sort}").select{|m| m.roles.to_s.include?("Student")}
else
@members = @course.members.where(:course_group_id => @group.id).joins("join users on members.user_id = users.id").order("CONVERT(lastname USING gbk) COLLATE gbk_chinese_ci #{@sort}, login #{@b_sort}").select{|m| m.roles.to_s.include?("Student")}
end
@members = Member.find_by_sql("SELECT members.*,(
SELECT SUM(student_works.work_score)
FROM student_works,homework_commons
WHERE student_works.homework_common_id = homework_commons.id
AND homework_commons.course_id = #{@course.id}
AND student_works.user_id = members.user_id
) AS score FROM members
JOIN students_for_courses
ON students_for_courses.student_id = members.user_id AND students_for_courses.course_id = members.course_id
WHERE members.course_id = #{@course.id} AND members.course_group_id = #{@group.id} ORDER BY score desc")
# if @order == "student_id"
# @members = @course.members.where(:course_group_id => @group.id).joins("join user_extensions on members.user_id = user_extensions.user_id").select{|m| m.roles.to_s.include?("Student")}.reorder("student_id #{@sort}")
# else
# @members = @course.members.where(:course_group_id => @group.id).joins("join users on members.user_id = users.id").select{|m| m.roles.to_s.include?("Student")}.reorder("CONVERT(lastname USING gbk) COLLATE gbk_chinese_ci #{@sort}, login #{@b_sort}")
# end
if q.nil? || q == ""
else
members = []
@ -635,6 +665,7 @@ class CoursesController < ApplicationController
end
@members = members
end
#分页
@member_count = @members.count
@all_member_ids = @members.map(&:id).join(",")

View File

@ -839,12 +839,28 @@ end
AppliedMessage.create(:user_id => aas.user_id, :status => 2, :viewed => 0, :applied_id => aas.id, :applied_type => "ApplyAddSchools", :name => school.name )
users = UserExtensions.where("school_id = #{aas.school_id}")
users.update_all(:school_id => school.id)
ApplyAddDepartment.where(:school_id => aas.school_id).update_all(:school_id => school.id)
# 判断重复
before_apply_departments = Department.where(:school_id => params[:applied_id])
after_apply_deparments = Department.where(:school_id => params[:school_id])
before_apply_departments.each do |department|
after_dep = Department.where(:school_id => params[:school_id], :name => department.name).first
if after_dep
UserExtensions.where(:school_id => params[:applied_id], :department_id => department.id).update_all(:department_id => after_dep.id)
else
UserExtensions.where(:school_id => params[:applied_id]).update_all(:department_id => new_department.id)
if after_dep.status == 2 ||after_dep.status == 3
new_department = Department.create(:name => department.name,:school_id =>params[:school_id], :is_auth => 1)
else
new_department = Department.create(:name => department.name,:school_id =>params[:school_id], :is_auth => 0)
end
end
ApplyAddDepartment.where(:department_id => department.id).destroy_all
department.destroy
end
UserExtensions.where(:school_id => params[:applied_id]).update_all(:school_id => params[:school_id])
Department.where(:school_id => aas.school_id).update_all(:school_id => school.id)
# Department.where(:school_id => aas.school_id).update_all(:school_id => school.id)
aas.school.destroy
aas.update_attribute(:school_id, school.id)
end