Sha256: 28caa678b7f974531b6272b73c336f0e8283ff28dec865bef88b49b2813ee585

Contents?: true

Size: 1.67 KB

Versions: 176

Compression:

Stored size: 1.67 KB

Contents

departments_count = 0
schools_count = 0
area_ids = EducodeSales::Common.where(clazz: 'area').ids.sort.to_s
json.data do
  json.array! @staffs do |d|
    json.id d.id
    json.name d.user.real_name
    json.role d.role&.name
    json.job_type EducodeSales::Common.job_type_name[d.job_type]
    # json.area d.areas.present? ? d.areas.pluck(:name).join("、") : ''
    if d.areas.present?
      if d.areas.ids.sort.to_s == area_ids
        json.area '全国'
      else
        json.area  d.areas.pluck(:name).join("、")
      end
    else
      json.area  ''
    end
    departments = (EducodeSales::Business.joins(:follow_ups, [department: :school]).where("educode_sales_follow_ups.staff_id = #{d.id}").select("departments.id, departments.name, schools.name AS school, educode_sales_follow_ups.updated_at") + EducodeSales::Teacher.joins(:follow_up, [department: :school]).where("educode_sales_teacher_follows.staff_id = #{d.id}").select("departments.id, departments.name, schools.name AS school, educode_sales_teacher_follows.updated_at")).uniq{|s| s.id}.size
    json.departments departments
    schools = EducodeSales::Business.joins(:follow_ups, :department).where("educode_sales_follow_ups.staff_id = #{d.id}").select("COUNT(distinct(departments.school_id)) AS count")[0]['count'] + EducodeSales::Teacher.joins(:follow_up, :department).where("educode_sales_teacher_follows.staff_id = #{d.id}").select("COUNT(distinct(departments.school_id)) AS count")[0]['count']
    json.schools schools
    departments_count += departments
    schools_count += schools
  end
end

json.totalRow do
  json.departments departments_count.to_s
  json.schools schools_count.to_s
end
json.code 0
json.count @staffs.total_count

Version data entries

176 entries across 176 versions & 1 rubygems

Version Path
educode_sales-1.10.74 app/views/educode_sales/sales/operations.json.jbuilder
educode_sales-1.10.73 app/views/educode_sales/sales/operations.json.jbuilder
educode_sales-1.10.72 app/views/educode_sales/sales/operations.json.jbuilder
educode_sales-1.10.71 app/views/educode_sales/sales/operations.json.jbuilder
educode_sales-1.10.70 app/views/educode_sales/sales/operations.json.jbuilder
educode_sales-1.10.59 app/views/educode_sales/sales/operations.json.jbuilder
educode_sales-1.10.58 app/views/educode_sales/sales/operations.json.jbuilder
educode_sales-1.10.49 app/views/educode_sales/sales/operations.json.jbuilder
educode_sales-1.10.48 app/views/educode_sales/sales/operations.json.jbuilder
educode_sales-1.10.46 app/views/educode_sales/sales/operations.json.jbuilder
educode_sales-1.10.41 app/views/educode_sales/sales/operations.json.jbuilder
educode_sales-1.10.37 app/views/educode_sales/sales/operations.json.jbuilder
educode_sales-1.10.36 app/views/educode_sales/sales/operations.json.jbuilder
educode_sales-1.10.35 app/views/educode_sales/sales/operations.json.jbuilder
educode_sales-1.10.34 app/views/educode_sales/sales/operations.json.jbuilder
educode_sales-1.10.33 app/views/educode_sales/sales/operations.json.jbuilder
educode_sales-1.10.31 app/views/educode_sales/sales/operations.json.jbuilder
educode_sales-1.10.30 app/views/educode_sales/sales/operations.json.jbuilder
educode_sales-1.10.29 app/views/educode_sales/sales/operations.json.jbuilder
educode_sales-1.10.28 app/views/educode_sales/sales/operations.json.jbuilder