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 d51ab2e..e4b2551 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 @@ -52,4 +52,12 @@ public class StaticsJob { @Excel(name = "零工投递简历数") @ApiModelProperty("零工投递简历数") private String lgtdjls; + + @Excel(name = "招聘总人数") + @ApiModelProperty("招聘总人数") + private String zpzrs; + + @Excel(name = "人力资源机构") + @ApiModelProperty("人力资源机构") + private String rlzyjg; } diff --git a/ruoyi-bussiness/src/main/resources/mapper/app/StaticsMapper.xml b/ruoyi-bussiness/src/main/resources/mapper/app/StaticsMapper.xml index 153f298..609afcb 100644 --- a/ruoyi-bussiness/src/main/resources/mapper/app/StaticsMapper.xml +++ b/ruoyi-bussiness/src/main/resources/mapper/app/StaticsMapper.xml @@ -59,13 +59,11 @@ 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, 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 + SUM(CASE WHEN type = '4' THEN COALESCE(vacancies,0) ELSE 0 END) lgzprs, + SUM(COALESCE(vacancies,0) ) zpzrs FROM job WHERE del_flag='0' AND job_location_area_code IS NOT NULL - = CAST(#{startTime} AS timestamp) ]]> - - - + = CAST(#{startTime} AS timestamp) ]]> GROUP BY job_location_area_code ),apply_stats AS ( @@ -78,13 +76,28 @@ - GROUP BY j.job_location_area_code ) + GROUP BY j.job_location_area_code ), + user_stats AS ( + SELECT m.map_key, COUNT(a.user_id) AS rlzyjg FROM app_user a + INNER JOIN company b ON a.id_card = b.code LEFT JOIN area_code_mapping m + ON LEFT(COALESCE(b.region_code, '653101000000'), 6) = m.code + WHERE a.is_company_user = '0' AND a.org_type = '3' AND m.code IS NOT NULL + + = CAST(#{startTime} AS timestamp) ]]> + + + + + GROUP BY m.map_key + ) 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,COALESCE(cs.zcqys, 0) AS zcqys,COALESCE(cs.xzcqys, 0) AS xzcqys, - bdd.dict_label as label,COALESCE(ap.lgtdjls, 0) AS lgtdjls FROM bussiness_dict_data bdd + COALESCE(js.lgzprs,0) lgzprs,COALESCE(js.zpzrs,0) zpzrs, COALESCE(ap.jlsl, 0) AS jlsl,COALESCE(cs.zcqys, 0) AS zcqys, + COALESCE(cs.xzcqys, 0) AS xzcqys,bdd.dict_label as label,COALESCE(ap.lgtdjls, 0) AS lgtdjls,COALESCE(usr.rlzyjg, 0) AS rlzyjg + FROM bussiness_dict_data bdd LEFT JOIN company_stats cs ON cs.map_key= bdd.dict_value 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 + LEFT JOIN apply_stats ap ON ap.job_location_area_code=bdd.dict_value + LEFT JOIN user_stats usr ON usr.map_key = bdd.dict_value where bdd.dict_type = 'area' ORDER BY bdd.dict_sort