forked from Gitlink/forgeplus
Merge remote-tracking branch 'origin/dev_osredm_server' into dev_osredm_server
This commit is contained in:
commit
10c97c67ab
|
@ -124,11 +124,13 @@ class CompetitionInfosController < ApplicationController
|
|||
return render_error('请上传正确的文件') if params[:file].blank? || !params[:file].is_a?(ActionDispatch::Http::UploadedFile)
|
||||
ActiveRecord::Base.transaction do
|
||||
doc = SimpleXlsxReader.open(params[:file].tempfile)
|
||||
enroll_fields = @competition_info.enroll_fields.stringify_keys
|
||||
enroll_fields = @competition_info.enroll_fields.stringify_keys.except("ID")
|
||||
# 获取第一张工作表的第一行作为列名
|
||||
sheet = doc.sheets.first
|
||||
column_names = sheet.rows.first
|
||||
|
||||
success_count = 0
|
||||
failed_count = 0
|
||||
sheet.rows[1..-1].each do |row|
|
||||
send_data = {}
|
||||
enroll_fields.each do |key, value|
|
||||
|
@ -164,12 +166,19 @@ class CompetitionInfosController < ApplicationController
|
|||
login_index = column_names.index("用户标识")
|
||||
user = User.find_by(login:row[login_index]) || User.find_by(phone: send_data['phone'])
|
||||
if user.present?
|
||||
cu = @competition_info.competition_users.new(user_id: user.id)
|
||||
cu.attributes = send_data
|
||||
cu.save!
|
||||
begin
|
||||
cu = @competition_info.competition_users.new(user_id: user.id)
|
||||
cu.attributes = send_data
|
||||
cu.save!
|
||||
success_count += 1
|
||||
rescue => e
|
||||
failed_count += 1
|
||||
end
|
||||
else
|
||||
failed_count += 1
|
||||
end
|
||||
end
|
||||
render_ok
|
||||
render_ok({success_count: success_count, failed_count: failed_count})
|
||||
end
|
||||
rescue => e
|
||||
render_error("读取Excel文件失败: #{e.message}")
|
||||
|
@ -181,7 +190,7 @@ class CompetitionInfosController < ApplicationController
|
|||
format.json
|
||||
format.xlsx {
|
||||
set_export_cookies
|
||||
enroll_fields = @competition_info.enroll_fields
|
||||
enroll_fields = @competition_info.enroll_fields.except("ID")
|
||||
@table_columns = ["用户标识"] | enroll_fields.keys
|
||||
if EduSetting.get("is_local") == "true"
|
||||
@table_columns = @table_columns + ["成员姓名", "成员单位", "成员手机号"]
|
||||
|
|
Loading…
Reference in New Issue