|
|
|
@ -123,51 +123,83 @@ class GraduationTasksController < ApplicationController
|
|
|
|
|
@work_count = @work_list.count
|
|
|
|
|
@work_excel = @work_list
|
|
|
|
|
@work_list = @work_list.page(page).per(limit)
|
|
|
|
|
respond_to do |format|
|
|
|
|
|
format.json
|
|
|
|
|
format.xlsx{
|
|
|
|
|
if @user_course_identity >= Course::STUDENT
|
|
|
|
|
tip_exception(403, "无权限操作")
|
|
|
|
|
else
|
|
|
|
|
if @work_count > 1
|
|
|
|
|
graduation_work_to_xlsx(@work_excel,@task,current_user)
|
|
|
|
|
exercise_export_name = "#{current_user.real_name}_#{@course.name}_#{@task.name}_#{Time.now.strftime('%Y%m%d_%H%M%S')}"
|
|
|
|
|
render xlsx: "#{exercise_export_name.strip.first(30)}",template: "graduation_tasks/tasks_list.xlsx.axlsx",locals: {table_columns:@head_cells_column, task_users:@task_cells_column}
|
|
|
|
|
else
|
|
|
|
|
normal_status(-1,"暂无提交的学生!")
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
}
|
|
|
|
|
format.zip{
|
|
|
|
|
if @user_course_identity >= Course::STUDENT
|
|
|
|
|
tip_exception(403, "无权限操作")
|
|
|
|
|
|
|
|
|
|
if params[:format] == "xlsx"
|
|
|
|
|
if @user_course_identity >= Course::STUDENT
|
|
|
|
|
tip_exception(403, "无权限操作")
|
|
|
|
|
elsif @work_count == 0
|
|
|
|
|
normal_status(-1,"暂无提交的学生!")
|
|
|
|
|
else
|
|
|
|
|
student_work_to_xlsx(@work_excel,@homework)
|
|
|
|
|
exercise_export_name = current_user.real_name + "_" + @course.name + "_" + @homework.name + "_" + Time.now.strftime('%Y%m%d_%H%M%S')
|
|
|
|
|
|
|
|
|
|
render xlsx: "#{exercise_export_name.strip.first(30)}",template: "homework_commons/works_list.xlsx.axlsx",locals:
|
|
|
|
|
{table_columns: @work_head_cells,task_users: @work_cells_column}
|
|
|
|
|
end
|
|
|
|
|
elsif params[:format] == "zip"
|
|
|
|
|
if @user_course_identity >= Course::STUDENT
|
|
|
|
|
tip_exception(403, "无权限操作")
|
|
|
|
|
else
|
|
|
|
|
zip_works = @work_excel.where("work_status > 0")
|
|
|
|
|
status = checkfileSize(zip_works)
|
|
|
|
|
if status == 0
|
|
|
|
|
zipfile = zip_homework_common @homework, zip_works
|
|
|
|
|
file = decode64(zipfile[0][:base64file])
|
|
|
|
|
send_file "#{OUTPUT_FOLDER}/#{file}", filename: filename_for_content_disposition(file), type: 'application/zip'
|
|
|
|
|
else
|
|
|
|
|
zip_works = @work_excel.where("work_status > 0")
|
|
|
|
|
status = checkfileSize(zip_works)
|
|
|
|
|
if status == 0
|
|
|
|
|
zipfile = zip_homework_common @task, zip_works
|
|
|
|
|
file = decode64(zipfile[0][:base64file])
|
|
|
|
|
send_file "#{OUTPUT_FOLDER}/#{file}", filename: filename_for_content_disposition(file), type: 'application/zip'
|
|
|
|
|
else
|
|
|
|
|
tip_exception(status == -2 ? "500" : "无附件可下载")
|
|
|
|
|
end
|
|
|
|
|
tip_exception(status == -2 ? "500M" : "无附件可下载")
|
|
|
|
|
end
|
|
|
|
|
}
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
#
|
|
|
|
|
# respond_to do |format|
|
|
|
|
|
# format.json
|
|
|
|
|
# format.xlsx{
|
|
|
|
|
# if @user_course_identity >= Course::STUDENT
|
|
|
|
|
# tip_exception(403, "无权限操作")
|
|
|
|
|
# else
|
|
|
|
|
# if @work_count > 1
|
|
|
|
|
# graduation_work_to_xlsx(@work_excel,@task,current_user)
|
|
|
|
|
# exercise_export_name = "#{current_user.real_name}_#{@course.name}_#{@task.name}_#{Time.now.strftime('%Y%m%d_%H%M%S')}"
|
|
|
|
|
# render xlsx: "#{exercise_export_name.strip.first(30)}",template: "graduation_tasks/tasks_list.xlsx.axlsx",locals: {table_columns:@head_cells_column, task_users:@task_cells_column}
|
|
|
|
|
# else
|
|
|
|
|
# normal_status(-1,"暂无提交的学生!")
|
|
|
|
|
# end
|
|
|
|
|
# end
|
|
|
|
|
# }
|
|
|
|
|
# format.zip{
|
|
|
|
|
# if @user_course_identity >= Course::STUDENT
|
|
|
|
|
# tip_exception(403, "无权限操作")
|
|
|
|
|
# else
|
|
|
|
|
# zip_works = @work_excel.where("work_status > 0")
|
|
|
|
|
# status = checkfileSize(zip_works)
|
|
|
|
|
# if status == 0
|
|
|
|
|
# zipfile = zip_homework_common @task, zip_works
|
|
|
|
|
# file = decode64(zipfile[0][:base64file])
|
|
|
|
|
# send_file "#{OUTPUT_FOLDER}/#{file}", filename: filename_for_content_disposition(file), type: 'application/zip'
|
|
|
|
|
# else
|
|
|
|
|
# tip_exception(status == -2 ? "500" : "无附件可下载")
|
|
|
|
|
# end
|
|
|
|
|
# end
|
|
|
|
|
# }
|
|
|
|
|
# end
|
|
|
|
|
else
|
|
|
|
|
@work_list = @work
|
|
|
|
|
@view_work = false
|
|
|
|
|
@work_count = @work_list.count
|
|
|
|
|
@all_work_count = @work_list.count
|
|
|
|
|
respond_to do |format|
|
|
|
|
|
format.json
|
|
|
|
|
format.xlsx{
|
|
|
|
|
normal_status(-1,"作业未发布")
|
|
|
|
|
}
|
|
|
|
|
format.zip{
|
|
|
|
|
normal_status(-1,"作业未发布")
|
|
|
|
|
}
|
|
|
|
|
if params[:format] == "xlsx" || params[:format] == "zip"
|
|
|
|
|
normal_status(-1,"作业未发布")
|
|
|
|
|
end
|
|
|
|
|
# respond_to do |format|
|
|
|
|
|
# format.json
|
|
|
|
|
# format.xlsx{
|
|
|
|
|
# normal_status(-1,"作业未发布")
|
|
|
|
|
# }
|
|
|
|
|
# format.zip{
|
|
|
|
|
# normal_status(-1,"作业未发布")
|
|
|
|
|
# }
|
|
|
|
|
# end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|