2026-01-22 11:43:45 +08:00
|
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
|
|
|
|
|
|
|
|
|
<mapper namespace="com.ruoyi.cms.mapper.StaticsMapper">
|
|
|
|
|
|
|
|
|
|
<select id="qygwtjCount" parameterType="com.ruoyi.cms.domain.query.Staticsquery" resultType="com.ruoyi.cms.domain.StaticsJob">
|
|
|
|
|
WITH time_params AS (
|
|
|
|
|
SELECT
|
|
|
|
|
CAST(#{startTime} AS timestamp) AS start_time,
|
|
|
|
|
CAST(#{endTime} AS timestamp) AS end_time
|
|
|
|
|
),
|
|
|
|
|
job_stats AS (
|
2026-02-09 11:46:19 +08:00
|
|
|
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
|
2026-01-22 11:43:45 +08:00
|
|
|
WHERE posting_date >= tp.start_time AND posting_date < tp.end_time
|
|
|
|
|
),
|
|
|
|
|
company_stats AS (
|
|
|
|
|
SELECT COUNT(company_id) AS 注册企业数 FROM company, time_params tp
|
|
|
|
|
WHERE del_flag='0' AND create_time >= tp.start_time AND create_time < tp.end_time
|
|
|
|
|
),
|
|
|
|
|
user_stats AS (
|
|
|
|
|
SELECT COUNT(*) AS 求职者实名数 FROM app_user, time_params tp
|
|
|
|
|
WHERE del_flag='0' AND is_company_user='1' AND id_card IS NOT NULL
|
|
|
|
|
AND create_time >= tp.start_time AND create_time < tp.end_time
|
|
|
|
|
),
|
|
|
|
|
apply_stats AS (
|
|
|
|
|
SELECT COUNT(id) AS 简历投递数量 FROM job_apply, time_params tp
|
|
|
|
|
WHERE del_flag='0' AND create_time >= tp.start_time AND create_time < tp.end_time
|
|
|
|
|
)
|
|
|
|
|
SELECT
|
2026-02-09 11:46:19 +08:00
|
|
|
js.归集岗位合计 gjgwhj, cs.注册企业数 zcqys, us.求职者实名数 qzzsms, as2.简历投递数量 jlsl,
|
|
|
|
|
js.零工岗位数量 lggws,js.零工招聘人数 lgzprs
|
2026-01-22 11:43:45 +08:00
|
|
|
FROM job_stats js, company_stats cs, user_stats us, apply_stats as2;
|
|
|
|
|
</select>
|
|
|
|
|
|
|
|
|
|
<select id="getGroutCityJobs" parameterType="com.ruoyi.cms.domain.query.Staticsquery" resultType="com.ruoyi.cms.domain.StaticsJob">
|
|
|
|
|
WITH job_stats AS (
|
|
|
|
|
SELECT job_location_area_code, COUNT(job_id) AS zs,
|
2026-02-06 14:47:09 +08:00
|
|
|
SUM(CASE WHEN education >= '3' THEN 1 ELSE 0 END) AS gxbysgw,
|
2026-02-09 11:46:19 +08:00
|
|
|
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
|
2026-01-22 11:43:45 +08:00
|
|
|
<if test="startTime!=null and startTime!='' ">
|
|
|
|
|
<![CDATA[ AND posting_date >= CAST(#{startTime} AS timestamp) ]]>
|
|
|
|
|
</if>
|
|
|
|
|
<if test="endTime!=null and endTime!='' ">
|
|
|
|
|
<![CDATA[ AND posting_date <= CAST(#{endTime} AS timestamp) ]]>
|
|
|
|
|
</if>
|
|
|
|
|
GROUP BY job_location_area_code
|
|
|
|
|
),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
|
2026-02-09 11:46:19 +08:00
|
|
|
WHERE j.del_flag='0' and ja.del_flag='0' AND j.job_location_area_code IS NOT NULL
|
2026-01-22 11:43:45 +08:00
|
|
|
GROUP BY j.job_location_area_code )
|
2026-02-09 11:46:19 +08:00
|
|
|
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'
|
2026-01-22 11:43:45 +08:00
|
|
|
ORDER BY bdd.dict_sort
|
|
|
|
|
</select>
|
|
|
|
|
|
|
|
|
|
</mapper>
|