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