From 735a55a8e00d96a57d166eb6c9bce198ea848e32 Mon Sep 17 00:00:00 2001 From: sh Date: Mon, 9 Feb 2026 11:46:19 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ruoyi/cms/domain/StaticsJob.java | 4 ++++ .../resources/mapper/app/StaticsMapper.xml | 24 +++++++++++-------- 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/domain/StaticsJob.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/domain/StaticsJob.java index 0690112..a782d0b 100644 --- a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/domain/StaticsJob.java +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/domain/StaticsJob.java @@ -22,4 +22,8 @@ public class StaticsJob { private String zcqys; @ApiModelProperty("求职者实名数") private String qzzsms; + @ApiModelProperty("零工岗位数") + private String lggws; + @ApiModelProperty("零工招聘人数") + private String lgzprs; } diff --git a/ruoyi-bussiness/src/main/resources/mapper/app/StaticsMapper.xml b/ruoyi-bussiness/src/main/resources/mapper/app/StaticsMapper.xml index c69dc51..3c4ddd3 100644 --- a/ruoyi-bussiness/src/main/resources/mapper/app/StaticsMapper.xml +++ b/ruoyi-bussiness/src/main/resources/mapper/app/StaticsMapper.xml @@ -10,7 +10,8 @@ CAST(#{endTime} AS timestamp) AS end_time ), job_stats AS ( - SELECT COUNT(*) AS 归集岗位合计 FROM job, time_params tp + SELECT COUNT(*) AS 归集岗位合计,sum(case when type='4' then 1 else 0 end) 零工岗位数量, + sum(case when type='4' then COALESCE(vacancies,0) else 0 end) 零工招聘人数 FROM job, time_params tp WHERE posting_date >= tp.start_time AND posting_date < tp.end_time ), company_stats AS ( @@ -27,8 +28,8 @@ WHERE del_flag='0' AND create_time >= tp.start_time AND create_time < tp.end_time ) SELECT - js.归集岗位合计 gjgwhj, cs.注册企业数 zcqys, - us.求职者实名数 qzzsms, as2.简历投递数量 jlsl + js.归集岗位合计 gjgwhj, cs.注册企业数 zcqys, us.求职者实名数 qzzsms, as2.简历投递数量 jlsl, + js.零工岗位数量 lggws,js.零工招聘人数 lgzprs FROM job_stats js, company_stats cs, user_stats us, apply_stats as2; @@ -36,8 +37,10 @@ WITH job_stats AS ( SELECT job_location_area_code, COUNT(job_id) AS zs, SUM(CASE WHEN education >= '3' THEN 1 ELSE 0 END) AS gxbysgw, - SUM(CASE WHEN del_flag = '0' THEN 1 ELSE 0 END) AS sszzgw - FROM job WHERE job_location_area_code IS NOT NULL + SUM(CASE WHEN del_flag = '0' THEN 1 ELSE 0 END) AS sszzgw, + SUM(CASE WHEN type = '4' THEN 1 ELSE 0 END) as lggws, + SUM(CASE WHEN type = '4' THEN COALESCE(vacancies,0) ELSE 0 END) lgzprs + FROM job WHERE del_flag='0' AND job_location_area_code IS NOT NULL = CAST(#{startTime} AS timestamp) ]]> @@ -48,12 +51,13 @@ ),apply_stats AS ( SELECT j.job_location_area_code, COUNT(ja.id) AS jlsl FROM job j INNER JOIN job_apply ja ON j.job_id = ja.job_id - WHERE j.job_location_area_code IS NOT NULL + WHERE j.del_flag='0' and ja.del_flag='0' AND j.job_location_area_code IS NOT NULL GROUP BY j.job_location_area_code ) - SELECT js.zs, js.gxbysgw, js.sszzgw, COALESCE(ap.jlsl, 0) AS jlsl, - bdd.dict_label as label FROM job_stats js - LEFT JOIN bussiness_dict_data bdd ON js.job_location_area_code = bdd.dict_value AND bdd.dict_type = 'area' - LEFT JOIN apply_stats ap ON js.job_location_area_code = ap.job_location_area_code + SELECT COALESCE(js.zs,0) zs, COALESCE(js.gxbysgw,0) gxbysgw, COALESCE(js.sszzgw,0) sszzgw,COALESCE(js.lggws,0) lggws, + COALESCE(js.lgzprs,0) lgzprs, COALESCE(ap.jlsl, 0) AS jlsl, bdd.dict_label as label FROM bussiness_dict_data bdd + LEFT JOIN job_stats js ON js.job_location_area_code = bdd.dict_value + LEFT JOIN apply_stats ap ON js.job_location_area_code = ap.job_location_area_code + where bdd.dict_type = 'area' ORDER BY bdd.dict_sort