123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151 |
- <?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.hz.employmentsite.mapper.cquery.StatisticsCQuery">
- <select id="findSystemDataCount" resultType="com.hz.employmentsite.vo.statistics.SystemDataCount">
- SELECT
- site.SiteID,
- site.RegionCode,
- site.SiteName,
- area.`name` AS regionName,
- -- 驿站人员数量
- (
- SELECT
- COUNT( 1 )
- FROM
- pc_site_user site_user
- LEFT JOIN sys_user sys_user ON site_user.UserID = sys_user.UserID
- WHERE
- site_user.SiteID = site.SiteID
- AND sys_user.RecordStatus = 1
- ) AS siteUserCount,
- -- 指定时间段的登记企业数量
- (
- SELECT
- COUNT( 1 )
- FROM
- pc_company
- WHERE
- SiteID = site.SiteID
- <if test="startDate != null">
- and DATE(CreateTime) <![CDATA[ >= ]]> DATE(#{startDate})
- </if>
- <if test="endDate != null ">
- and DATE(CreateTime) <![CDATA[ <= ]]> DATE(#{endDate})
- </if>
- ) AS companyCount,
- -- 指定时间段的登记岗位数量
- (
- SELECT
- COUNT( 1 )
- FROM
- pc_post post
- WHERE
- CompanyID IN ( SELECT company.CompanyID FROM pc_company company WHERE company.SiteID = site.SiteID )
- <if test="startDate != null">
- and DATE(CreateTime) <![CDATA[ >= ]]> DATE(#{startDate})
- </if>
- <if test="endDate != null ">
- and DATE(CreateTime) <![CDATA[ <= ]]> DATE(#{endDate})
- </if>
- ) AS postCount,
- -- 指定时间段的登记求职人员数量
- (
- SELECT
- COUNT( 1 )
- FROM
- pc_jobuser
- WHERE
- SiteID = site.SiteID
- <if test="startDate != null">
- and DATE(CreateTime) <![CDATA[ >= ]]> DATE(#{startDate})
- </if>
- <if test="endDate != null ">
- and DATE(CreateTime) <![CDATA[ <= ]]> DATE(#{endDate})
- </if>
- ) AS jobUserCount
- FROM
- pc_site site
- LEFT JOIN area_code area ON site.RegionCode = area.`code`
- ORDER BY site.RegionCode
- </select>
- <select id="findWeekSystemDataCount" resultType="com.hz.employmentsite.vo.statistics.RegionSystemDataCount">
- SELECT
- subquery.RegionCode,
- area.`name` AS regionName,
- SUM(subquery.companyCount) AS companyCount,
- SUM(subquery.postCount) AS postCount,
- SUM(subquery.jobUserCount) AS jobUserCount
- FROM
- (
- SELECT
- site.SiteID,
- site.RegionCode,
- -- 指定时间段的登记企业数量
- (
- SELECT COUNT(1)
- FROM pc_company
- WHERE
- SiteID = site.SiteID
- <if test="startDate != null">
- and DATE(CreateTime) <![CDATA[ >= ]]> DATE(#{startDate})
- </if>
- <if test="endDate != null ">
- and DATE(CreateTime) <![CDATA[ <= ]]> DATE(#{endDate})
- </if>
- ) AS companyCount,
- -- 指定时间段的登记岗位数量
- (
- SELECT COUNT(1)
- FROM pc_post post
- WHERE
- CompanyID IN (SELECT company.CompanyID FROM pc_company company WHERE company.SiteID = site.SiteID)
- <if test="startDate != null">
- and DATE(CreateTime) <![CDATA[ >= ]]> DATE(#{startDate})
- </if>
- <if test="endDate != null ">
- and DATE(CreateTime) <![CDATA[ <= ]]> DATE(#{endDate})
- </if>
- ) AS postCount,
- -- 指定时间段的登记求职人员数量
- (
- SELECT COUNT(1)
- FROM pc_jobuser
- WHERE
- SiteID = site.SiteID
- <if test="startDate != null">
- and DATE(CreateTime) <![CDATA[ >= ]]> DATE(#{startDate})
- </if>
- <if test="endDate != null ">
- and DATE(CreateTime) <![CDATA[ <= ]]> DATE(#{endDate})
- </if>
- ) AS jobUserCount
- FROM
- pc_site site
- ) AS subquery
- LEFT JOIN area_code area ON subquery.RegionCode = area.`code`
- GROUP BY
- subquery.RegionCode, area.`name`
- ORDER BY
- subquery.RegionCode;
- </select>
- <select id="findRegionSiteUserCount" resultType="Map">
- SELECT
- area.`code`,
- area.`name`,
- COUNT( sysUser.UserID ) AS siteUserCount
- FROM
- area_code area
- LEFT JOIN pc_site site ON site.RegionCode = area.`code`
- LEFT JOIN pc_site_user siteUser ON site.SiteID = siteUser.SiteID
- LEFT JOIN sys_user sysUser ON siteUser.UserID = sysUser.UserID AND sysUser.RecordStatus = 1
- WHERE
- area.lv = 3
- GROUP BY
- area.`code`,
- area.`name`
- ORDER BY
- area.`code`
- </select>
- </mapper>
|