<?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="org.springblade.modules.information.mapper.InformationMapper">
|
|
<!-- 通用查询映射结果 -->
|
<resultMap id="informationResultMap" type="org.springblade.modules.information.entity.Information">
|
<id column="id" property="id"/>
|
<result column="creditCode" property="creditcode"/>
|
<result column="enterpriseName" property="enterprisename"/>
|
<result column="representative" property="representative"/>
|
<result column="establishTime" property="establishtime"/>
|
<result column="registeredCapital" property="registeredcapital"/>
|
<result column="capital" property="capital"/>
|
<result column="organizationCode" property="organizationcode"/>
|
<result column="registrationNumber" property="registrationnumber"/>
|
<result column="identificationNumber" property="identificationnumber"/>
|
<result column="enterprises" property="enterprises"/>
|
<result column="address" property="address"/>
|
<result column="business" property="business"/>
|
<result column="region" property="region"/>
|
<result column="registration" property="registration"/>
|
<result column="industry" property="industry"/>
|
<result column="departmentid" property="departmentid"/>
|
<result column="stats" property="stats"/>
|
<result column="jurisdiction" property="jurisdiction"/>
|
<result column="representativecell" property="representativecell"/>
|
<result column="contacts" property="contacts"/>
|
<result column="contactscell" property="contactscell"/>
|
</resultMap>
|
|
|
<select id="selectInformationPage" resultMap="informationResultMap">
|
select * from sys_information where 1=1
|
<if test="information.enterprisename!=null and information.enterprisename!=''">
|
and enterpriseName like concat(concat('%', #{information.enterprisename}),'%')
|
</if>
|
<if test="information.representative!=null and information.representative!=''">
|
and representative like concat(concat('%', #{information.representative}),'%')
|
</if>
|
<if test="information.stats!=null and information.stats!=''">
|
and stats=#{stats}
|
</if>
|
<if test="information.jurisdiction!=null and information.jurisdiction!=''">
|
and jurisdiction=#{jurisdiction}
|
</if>
|
</select>
|
|
<delete id="deleteIn">
|
delete
|
from sys_information
|
where creditCode = #{ids}
|
</delete>
|
<delete id="deleteSh">
|
delete
|
from sys_shareholder
|
where creditCode = #{ids}
|
</delete>
|
<delete id="deleteMe">
|
delete
|
from sys_member
|
where creditCode = #{ids}
|
</delete>
|
|
<select id="selectCount" resultType="java.util.HashMap">
|
SELECT IFNULL(B.confess, 0) AS confess,
|
IFNULL(C.staff, 0) AS staff,
|
IFNULL(D.security, 0) AS security,
|
IFNULL(E.armed, 0) AS armed,
|
IFNULL(F.region, 0) AS region
|
FROM (SELECT jurisdiction FROM sys_information GROUP BY jurisdiction) A
|
LEFT JOIN (SELECT COUNT(stats) AS confess, jurisdiction
|
FROM sys_information
|
WHERE stats = 0
|
GROUP BY jurisdiction) B ON A.jurisdiction = B.jurisdiction
|
LEFT JOIN (SELECT COUNT(stats) AS staff, jurisdiction
|
FROM sys_information
|
WHERE stats = 1
|
GROUP BY jurisdiction) C ON A.jurisdiction = C.jurisdiction
|
LEFT JOIN (SELECT COUNT(stats) AS security, jurisdiction
|
FROM sys_information
|
WHERE stats = 2
|
GROUP BY jurisdiction) D ON A.jurisdiction = D.jurisdiction
|
LEFT JOIN (SELECT COUNT(stats) AS armed, jurisdiction
|
FROM sys_information
|
WHERE stats = 3
|
GROUP BY jurisdiction) E ON A.jurisdiction = E.jurisdiction
|
LEFT JOIN (SELECT COUNT(stats) AS region, jurisdiction
|
FROM sys_information
|
WHERE stats = 4
|
GROUP BY jurisdiction) F ON A.jurisdiction = E.jurisdiction
|
WHERE A.jurisdiction = #{departmentid}
|
</select>
|
|
<!--保安公司未持证预警-->
|
<select id="selectInCount" resultType="java.util.HashMap">
|
SELECT
|
d.dept_name,
|
j.dept_name as jurname
|
FROM
|
blade_user u
|
LEFT JOIN blade_dept d ON d.id= u.dept_id
|
LEFT JOIN sys_jurisdiction j ON j.id= u.jurisdiction
|
WHERE
|
hold = 1
|
<if test="jurisdiction!=null and jurisdiction!=''">
|
and u.jurisdiction =#{jurisdiction}
|
</if>
|
<if test="deptid!=null and deptid!=''">
|
and u.dept_id =#{deptid}
|
</if>
|
GROUP BY
|
d.dept_name,
|
j.dept_name
|
</select>
|
|
<!--通过辖区查询机构id,然后通过机构id查询当前机构交社保的人数(numj单位已交社保数量;numz单位人员总数)-->
|
<select id="selectCs" resultType="java.util.HashMap">
|
SELECT A.numj,
|
B.numz,
|
d.dept_name as deptname
|
FROM (
|
SELECT COUNT
|
(*) AS numj,
|
deptid
|
FROM sys_socil
|
WHERE deptid IN (SELECT i.departmentid
|
FROM sys_information i
|
LEFT JOIN sys_jurisdiction j ON j.id = i.jurisdiction where 1=1
|
<if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
|
and i.jurisdiction =#{jurisdiction}
|
</if>
|
GROUP BY i.departmentid)
|
GROUP BY deptid
|
) A
|
left JOIN (
|
SELECT COUNT
|
(*) AS numz,
|
dept_id
|
FROM blade_user
|
WHERE dept_id IN (SELECT i.departmentid
|
FROM sys_information i
|
LEFT JOIN sys_jurisdiction j ON j.id = i.jurisdiction where 1=1
|
<if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
|
and i.jurisdiction =#{jurisdiction}
|
</if>
|
GROUP BY i.departmentid)
|
GROUP BY dept_id
|
) B ON A.deptid = B.dept_id
|
LEFT JOIN (SELECT id, dept_name FROM blade_dept) d ON d.id = A.deptid where 1=1
|
<if test="deptid!=null and deptid!=''">
|
and A.deptid =#{deptid}
|
</if>
|
</select>
|
|
<!--统计上个月和这个月交社保的人数以及缴纳金额-->
|
<select id="selectTo" resultType="java.util.HashMap">
|
SELECT IFNULL(A.lastmonth, 0) AS lastmonth,
|
IFNULL(B.thismouth, 0) AS thismouth,
|
IFNULL(A.amount, 0) AS lastamount,
|
IFNULL(B.amount, 0) AS thisamount
|
FROM (
|
SELECT COUNT(*) AS lastmonth,
|
amount,
|
deptid
|
FROM
|
sys_socil
|
WHERE
|
deptid IN ( SELECT i.departmentid FROM sys_information i LEFT JOIN sys_jurisdiction j ON j.id= i.jurisdiction
|
where 1=1
|
<if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
|
and i.jurisdiction =#{jurisdiction}
|
</if>
|
GROUP BY i.departmentid )
|
AND PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( insuredtime, '%Y%m' ) ) = 1
|
<if test="deptid!=null and deptid!=''">
|
and deptid =#{deptid}
|
</if>
|
GROUP BY
|
amount,
|
deptid
|
) A
|
left JOIN (
|
SELECT COUNT(*) AS thismouth,
|
amount,
|
deptid
|
FROM
|
sys_socil
|
WHERE
|
deptid IN ( SELECT i.departmentid FROM sys_information i LEFT JOIN sys_jurisdiction j ON j.id= i.jurisdiction
|
where 1=1
|
<if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
|
and i.jurisdiction =#{jurisdiction}
|
</if>
|
GROUP BY i.departmentid )
|
AND DATE_FORMAT( insuredtime, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )
|
<if test="deptid!=null and deptid!=''">
|
and deptid =#{deptid}
|
</if>
|
GROUP BY
|
amount,
|
deptid
|
) B ON A.deptid = B.deptid
|
</select>
|
|
|
<!--查询本年所有月份的交社保的数量-->
|
<select id="queryYearSoil" resultType="java.util.HashMap">
|
SELECT COUNT
|
(CASE WHEN MONTH (
|
s.insuredtime ) = 1 THEN s.cardid END ) AS '1', COUNT(CASE WHEN MONTH ( s.insuredtime ) = 2 THEN s.cardid END )
|
AS '2', COUNT(CASE WHEN MONTH ( s.insuredtime ) = 3 THEN s.cardid END ) AS '3', COUNT(CASE WHEN MONTH (
|
s.insuredtime ) = 4 THEN s.cardid END ) AS '4', COUNT(CASE WHEN MONTH ( s.insuredtime ) = 5 THEN s.cardid END )
|
AS '5', COUNT(CASE WHEN MONTH ( s.insuredtime ) = 6 THEN s.cardid END ) AS '6', COUNT(CASE WHEN MONTH (
|
s.insuredtime ) = 7 THEN s.cardid END ) AS '7', COUNT(CASE WHEN MONTH ( s.insuredtime ) = 8 THEN s.cardid END )
|
AS '8', COUNT(CASE WHEN MONTH ( s.insuredtime ) = 9 THEN s.cardid END ) AS '9', COUNT(CASE WHEN MONTH (
|
s.insuredtime ) = 10 THEN s.cardid END ) AS '10', COUNT(CASE WHEN MONTH ( s.insuredtime ) = 11 THEN s.cardid END
|
) AS '11', COUNT(CASE WHEN MONTH ( s.insuredtime ) = 12 THEN s.cardid END ) AS '12'
|
FROM sys_socil AS s
|
WHERE
|
YEAR ( s.insuredtime ) =#{year}
|
AND deptid IN (
|
SELECT
|
i.departmentid
|
FROM
|
sys_information i
|
LEFT JOIN sys_jurisdiction j ON j.id= i.jurisdiction where 1=1
|
<if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
|
and i.jurisdiction =#{jurisdiction}
|
</if>
|
GROUP BY
|
i.departmentid )
|
<if test="deptid!=null and deptid!=''">
|
and deptid =#{deptid}
|
</if>
|
</select>
|
<!--查询本年所有月份的保安派遣的数量-->
|
<select id="queryYearDe" resultType="java.util.HashMap">
|
SELECT SUM
|
( CASE WHEN MONTH ( s.dispatcherTime ) = 1 THEN s.num END ) AS '1',
|
SUM ( CASE WHEN MONTH ( s.dispatcherTime ) = 2 THEN s.num END ) AS '2',
|
SUM ( CASE WHEN MONTH ( s.dispatcherTime ) = 3 THEN s.num END ) AS '3',
|
SUM ( CASE WHEN MONTH ( s.dispatcherTime ) = 4 THEN s.num END ) AS '4',
|
SUM ( CASE WHEN MONTH ( s.dispatcherTime ) = 5 THEN s.num END ) AS '5',
|
SUM ( CASE WHEN MONTH ( s.dispatcherTime ) = 6 THEN s.num END ) AS '6',
|
SUM ( CASE WHEN MONTH ( s.dispatcherTime ) = 7 THEN s.num END ) AS '7',
|
SUM ( CASE WHEN MONTH ( s.dispatcherTime ) = 8 THEN s.num END ) AS '8',
|
SUM ( CASE WHEN MONTH ( s.dispatcherTime ) = 9 THEN s.num END ) AS '9',
|
SUM ( CASE WHEN MONTH ( s.dispatcherTime ) = 10 THEN s.num END ) AS '10',
|
SUM ( CASE WHEN MONTH ( s.dispatcherTime ) = 11 THEN s.num END ) AS '11',
|
SUM ( CASE WHEN MONTH ( s.dispatcherTime ) = 12 THEN s.num END ) AS '12'
|
FROM
|
sys_dispatcher AS s
|
WHERE
|
YEAR ( s.dispatcherTime ) =#{year}
|
AND dept_id IN ( SELECT i.departmentid FROM sys_information i LEFT JOIN sys_jurisdiction j ON j.id=
|
i.jurisdiction where 1=1
|
<if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
|
and i.jurisdiction =#{jurisdiction}
|
</if>
|
GROUP BY i.departmentid )
|
<if test="deptid!=null and deptid!=''">
|
and dept_id =#{deptid}
|
</if>
|
</select>
|
|
<!--查询本年所有月份的交社保的金额-->
|
<select id="queryYearAn" resultType="java.util.HashMap">
|
SELECT IFNULL(SUM(CASE WHEN MONTH (s.insuredtime) = 1 THEN s.amount END ), 0) AS '1', IFNULL(SUM(CASE WHEN MONTH
|
(s.insuredtime) = 2 THEN s.amount END ), 0) AS '2', IFNULL(SUM(CASE WHEN MONTH (s.insuredtime) = 3 THEN s.amount
|
END ), 0) AS '3', IFNULL(SUM(CASE WHEN MONTH (s.insuredtime) = 4 THEN s.amount END ), 0) AS '4', IFNULL(SUM(CASE
|
WHEN MONTH (s.insuredtime) = 5 THEN s.amount END ), 0) AS '5', IFNULL(SUM(CASE WHEN MONTH (s.insuredtime) = 6
|
THEN s.amount END ), 0) AS '6', IFNULL(SUM(CASE WHEN MONTH (s.insuredtime) = 7 THEN s.amount END ), 0) AS '7',
|
IFNULL(SUM(CASE WHEN MONTH (s.insuredtime) = 8 THEN s.amount END ), 0) AS '8', IFNULL(SUM(CASE WHEN MONTH
|
(s.insuredtime) = 9 THEN s.amount END ), 0) AS '9', IFNULL(SUM(CASE WHEN MONTH (s.insuredtime) = 10 THEN
|
s.amount END ), 0) AS '10', IFNULL(SUM(CASE WHEN MONTH (s.insuredtime) = 11 THEN s.amount END ), 0) AS '11',
|
IFNULL(SUM(CASE WHEN MONTH (s.insuredtime) = 12 THEN s.amount END ), 0) AS '12'
|
FROM sys_socil AS s
|
WHERE YEAR (s.insuredtime) =#{year}
|
AND deptid IN (SELECT i.departmentid FROM sys_information i LEFT JOIN sys_jurisdiction j ON j.id= i.jurisdiction
|
where 1=1
|
<if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
|
and i.jurisdiction =#{jurisdiction}
|
</if>
|
GROUP BY i.departmentid )
|
<if test="deptid!=null and deptid!=''">
|
and deptid =#{deptid}
|
</if>
|
</select>
|
|
|
<!--总保安数量-->
|
<select id="queryCountB" resultType="java.util.HashMap">
|
SELECT
|
C.thisnum,
|
C.lastnum,
|
d.dept_name AS deptname,
|
j.dept_name AS jurname
|
FROM
|
(
|
SELECT
|
IFNULL( A.thisnum, 0 ) AS thisnum,
|
IFNULL( B.lastnum, 0 ) AS lastnum,
|
A.dept_id,
|
A.jurisdiction
|
FROM
|
(
|
SELECT
|
COUNT( * ) AS thisnum,
|
dept_id,
|
jurisdiction
|
FROM
|
blade_user
|
WHERE
|
role_id = '1412226235153731586'
|
AND DATE_FORMAT( create_time, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )
|
GROUP BY
|
dept_id,
|
jurisdiction
|
) A
|
LEFT JOIN (
|
SELECT
|
COUNT( * ) AS lastnum,
|
dept_id,
|
jurisdiction
|
FROM
|
blade_user
|
WHERE
|
role_id = '1412226235153731586'
|
AND PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( create_time, '%Y%m' ) ) = 1
|
GROUP BY
|
dept_id,
|
jurisdiction
|
) B ON A.dept_id = B.dept_id
|
) C
|
LEFT JOIN blade_dept d ON C.dept_id = d.id
|
LEFT JOIN sys_jurisdiction j ON j.id = C.jurisdiction
|
WHERE 1 =1
|
<if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
|
and C.jurisdiction =#{jurisdiction}
|
</if>
|
<if test="deptid!=null and deptid!=''">
|
and C.dept_id =#{deptid}
|
</if>
|
</select>
|
|
<!--正常保安数量-->
|
<select id="queryCountZc" resultType="java.util.HashMap">
|
SELECT C.thisnum,
|
C.lastnum,
|
d.dept_name as deptname,
|
j.dept_name as jurname
|
FROM (
|
SELECT IFNULL(A.thisnum, 0) AS thisnum,
|
IFNULL(B.lastnum, 0) AS lastnum,
|
A.dept_id,
|
A.jurisdiction
|
FROM (
|
SELECT COUNT
|
(*) AS thisnum,
|
dept_id,
|
jurisdiction
|
FROM blade_user
|
WHERE role_id = '1412226235153731586'
|
AND examination_type = 0
|
AND DATE_FORMAT( create_time, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )
|
GROUP BY dept_id,
|
jurisdiction
|
) A
|
left JOIN (
|
SELECT COUNT
|
(*) AS lastnum,
|
dept_id,
|
jurisdiction
|
FROM blade_user
|
WHERE role_id = '1412226235153731586'
|
AND examination_type = 0
|
AND PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( create_time, '%Y%m' ) ) = 1
|
GROUP BY dept_id,
|
jurisdiction
|
) B ON A.dept_id = B.dept_id) C
|
LEFT JOIN blade_dept d ON C.dept_id = d.id
|
LEFT JOIN sys_jurisdiction j ON j.id = C.jurisdiction where 1=1
|
<if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
|
and C.jurisdiction =#{jurisdiction}
|
</if>
|
<if test="deptid!=null and deptid!=''">
|
and C.dept_id =#{deptid}
|
</if>
|
</select>
|
|
<!--持证保安数量-->
|
<select id="queryCountCz" resultType="java.util.HashMap">
|
SELECT C.thisnum,
|
C.lastnum,
|
d.dept_name as deptname,
|
j.dept_name as jurname
|
FROM (
|
SELECT IFNULL(A.thisnum, 0) AS thisnum,
|
IFNULL(B.lastnum, 0) AS lastnum,
|
A.dept_id,
|
A.jurisdiction
|
FROM (
|
SELECT COUNT
|
(*) AS thisnum,
|
dept_id,
|
jurisdiction
|
FROM blade_user
|
WHERE role_id = '1412226235153731586'
|
AND hold = 0
|
AND DATE_FORMAT( create_time, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )
|
GROUP BY dept_id,
|
jurisdiction
|
) A
|
left JOIN (
|
SELECT COUNT
|
(*) AS lastnum,
|
dept_id,
|
jurisdiction
|
FROM blade_user
|
WHERE role_id = '1412226235153731586'
|
AND hold = 0
|
AND PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( create_time, '%Y%m' ) ) = 1
|
GROUP BY dept_id,
|
jurisdiction
|
) B ON A.dept_id = B.dept_id) C
|
LEFT JOIN blade_dept d ON C.dept_id = d.id
|
LEFT JOIN sys_jurisdiction j ON j.id = C.jurisdiction where 1=1
|
<if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
|
and C.jurisdiction =#{jurisdiction}
|
</if>
|
<if test="deptid!=null and deptid!=''">
|
and C.dept_id =#{deptid}
|
</if>
|
</select>
|
|
<!--缴纳社保数量-->
|
<select id="queryCountSb" resultType="java.util.HashMap">
|
SELECT C.thisnum,
|
C.lastnum,
|
d.dept_name AS deptname,
|
j.dept_name AS jurname
|
FROM (
|
SELECT IFNULL(A.thisnum, 0) AS thisnum,
|
IFNULL(B.lastnum, 0) AS lastnum,
|
A.deptid,
|
A.jurisdiction
|
FROM (
|
SELECT COUNT
|
(*) AS thisnum,
|
deptid,
|
jurisdiction
|
FROM sys_socil
|
WHERE DATE_FORMAT(insuredtime, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )
|
GROUP BY deptid,
|
jurisdiction
|
) A
|
left JOIN (
|
SELECT COUNT
|
(*) AS lastnum,
|
deptid,
|
jurisdiction
|
FROM sys_socil
|
WHERE PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( insuredtime, '%Y%m' ) ) = 1
|
GROUP BY deptid,
|
jurisdiction
|
) B ON A.deptid = B.deptid
|
) C
|
LEFT JOIN blade_dept d ON C.deptid = d.id
|
LEFT JOIN sys_jurisdiction j ON j.id = C.jurisdiction where 1=1
|
<if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
|
and C.jurisdiction =#{jurisdiction}
|
</if>
|
<if test="deptid!=null and deptid!=''">
|
and C.deptid =#{deptid}
|
</if>
|
</select>
|
|
<!--服务客户数量-->
|
<select id="queryCountKh" resultType="java.util.HashMap">
|
SELECT C.thisnum,
|
C.lastnum,
|
C.dept_id,
|
d.dept_name AS deptname,
|
j.dept_name AS jurname
|
FROM (
|
SELECT IFNULL(A.thisnum, 0) AS thisnum,
|
IFNULL(B.lastnum, 0) AS lastnum,
|
A.dept_id,
|
A.jurisdiction
|
FROM (
|
SELECT COUNT
|
(*) AS thisnum,
|
dept_id,
|
jurisdiction
|
FROM sys_dispatcher
|
WHERE DATE_FORMAT( dispatcherTime, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )
|
GROUP BY dept_id,
|
jurisdiction
|
) A
|
left JOIN (
|
SELECT COUNT
|
(*) AS lastnum,
|
dept_id,
|
jurisdiction
|
FROM sys_dispatcher
|
WHERE PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( dispatcherTime, '%Y%m' ) ) = 1
|
GROUP BY dept_id,
|
jurisdiction
|
) B ON A.dept_id = B.dept_id
|
) C
|
LEFT JOIN blade_dept d ON C.dept_id = d.id
|
LEFT JOIN sys_jurisdiction j ON j.id = C.jurisdiction WHERE 1=1
|
<if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
|
and C.jurisdiction =#{jurisdiction}
|
</if>
|
<if test="deptid!=null and deptid!=''">
|
and C.dept_id =#{deptid}
|
</if>
|
</select>
|
|
<!--保安派遣数量-->
|
<select id="queryCountPq" resultType="java.util.HashMap">
|
SELECT C.thisnum,
|
C.lastnum,
|
d.dept_name as deptname,
|
j.dept_name as jurname
|
FROM (
|
SELECT IFNULL(A.thisnum, 0) AS thisnum,
|
IFNULL(B.lastnum, 0) AS lastnum,
|
A.dept_id,
|
A.jurisdiction
|
FROM (
|
SELECT SUM(num) AS thisnum,
|
dept_id,
|
jurisdiction
|
FROM sys_dispatcher
|
WHERE DATE_FORMAT( dispatcherTime, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )
|
GROUP BY dept_id, jurisdiction
|
) A
|
left JOIN (
|
SELECT SUM(num) AS lastnum,
|
dept_id,
|
jurisdiction
|
FROM sys_dispatcher
|
WHERE PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( dispatcherTime, '%Y%m' ) ) = 1
|
GROUP BY dept_id, jurisdiction
|
) B ON A.dept_id = B.dept_id) C
|
LEFT JOIN blade_dept d ON C.dept_id = d.id
|
LEFT JOIN sys_jurisdiction j ON j.id = C.jurisdiction where 1=1
|
<if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
|
and C.jurisdiction =#{jurisdiction}
|
</if>
|
<if test="deptid!=null and deptid!=''">
|
and C.dept_id =#{deptid}
|
</if>
|
</select>
|
|
|
<!--查询本年所有月份的总人数-->
|
<select id="queryYearZ" resultType="java.util.HashMap">
|
SELECT COUNT
|
(CASE WHEN MONTH (
|
s.create_time ) = 1 THEN s.role_id END ) AS '1', COUNT(CASE WHEN MONTH ( s.create_time ) = 2 THEN s.role_id END
|
) AS '2', COUNT(CASE WHEN MONTH ( s.create_time ) = 3 THEN s.role_id END ) AS '3', COUNT(CASE WHEN MONTH (
|
s.create_time ) = 4 THEN s.role_id END ) AS '4', COUNT(CASE WHEN MONTH ( s.create_time ) = 5 THEN s.role_id END
|
) AS '5', COUNT(CASE WHEN MONTH ( s.create_time ) = 6 THEN s.role_id END ) AS '6', COUNT(CASE WHEN MONTH (
|
s.create_time ) = 7 THEN s.role_id END ) AS '7', COUNT(CASE WHEN MONTH ( s.create_time ) = 8 THEN s.role_id END
|
) AS '8', COUNT(CASE WHEN MONTH ( s.create_time ) = 9 THEN s.role_id END ) AS '9', COUNT(CASE WHEN MONTH (
|
s.create_time ) = 10 THEN s.role_id END ) AS '10', COUNT(CASE WHEN MONTH ( s.create_time ) = 11 THEN s.role_id
|
END ) AS '11', COUNT(CASE WHEN MONTH ( s.create_time ) = 12 THEN s.role_id END ) AS '12'
|
FROM blade_user AS s
|
WHERE
|
YEAR ( s.create_time ) =#{year}
|
AND dept_id IN (
|
SELECT
|
i.departmentid
|
FROM
|
sys_information i
|
LEFT JOIN sys_jurisdiction j ON j.id= i.jurisdiction where 1=1
|
<if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
|
and i.jurisdiction =#{jurisdiction}
|
</if>
|
GROUP BY
|
i.departmentid
|
)
|
AND role_id='1412226235153731586'
|
<if test="deptid!=null and deptid!=''">
|
and dept_id =#{deptid}
|
</if>
|
</select>
|
<!--查询本年所有月份的正常保安人数-->
|
<select id="queryYearZc" resultType="java.util.HashMap">
|
SELECT COUNT
|
(CASE WHEN MONTH (
|
s.create_time ) = 1 THEN s.role_id END ) AS '1', COUNT(CASE WHEN MONTH ( s.create_time ) = 2 THEN s.role_id END
|
) AS '2', COUNT(CASE WHEN MONTH ( s.create_time ) = 3 THEN s.role_id END ) AS '3', COUNT(CASE WHEN MONTH (
|
s.create_time ) = 4 THEN s.role_id END ) AS '4', COUNT(CASE WHEN MONTH ( s.create_time ) = 5 THEN s.role_id END
|
) AS '5', COUNT(CASE WHEN MONTH ( s.create_time ) = 6 THEN s.role_id END ) AS '6', COUNT(CASE WHEN MONTH (
|
s.create_time ) = 7 THEN s.role_id END ) AS '7', COUNT(CASE WHEN MONTH ( s.create_time ) = 8 THEN s.role_id END
|
) AS '8', COUNT(CASE WHEN MONTH ( s.create_time ) = 9 THEN s.role_id END ) AS '9', COUNT(CASE WHEN MONTH (
|
s.create_time ) = 10 THEN s.role_id END ) AS '10', COUNT(CASE WHEN MONTH ( s.create_time ) = 11 THEN s.role_id
|
END ) AS '11', COUNT(CASE WHEN MONTH ( s.create_time ) = 12 THEN s.role_id END ) AS '12'
|
FROM blade_user AS s
|
WHERE
|
YEAR ( s.create_time ) =#{year}
|
AND dept_id IN (
|
SELECT
|
i.departmentid
|
FROM
|
sys_information i
|
LEFT JOIN sys_jurisdiction j ON j.id= i.jurisdiction where 1=1
|
<if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
|
and i.jurisdiction =#{jurisdiction}
|
</if>
|
GROUP BY
|
i.departmentid
|
)
|
AND role_id='1412226235153731586' AND examination_type=0
|
<if test="deptid!=null and deptid!=''">
|
and dept_id =#{deptid}
|
</if>
|
</select>
|
<!--查询本年所有月份的保安持证人数-->
|
<select id="queryYearCz" resultType="java.util.HashMap">
|
SELECT COUNT
|
(CASE WHEN MONTH (
|
s.create_time ) = 1 THEN s.role_id END ) AS '1', COUNT(CASE WHEN MONTH ( s.create_time ) = 2 THEN s.role_id END
|
) AS '2', COUNT(CASE WHEN MONTH ( s.create_time ) = 3 THEN s.role_id END ) AS '3', COUNT(CASE WHEN MONTH (
|
s.create_time ) = 4 THEN s.role_id END ) AS '4', COUNT(CASE WHEN MONTH ( s.create_time ) = 5 THEN s.role_id END
|
) AS '5', COUNT(CASE WHEN MONTH ( s.create_time ) = 6 THEN s.role_id END ) AS '6', COUNT(CASE WHEN MONTH (
|
s.create_time ) = 7 THEN s.role_id END ) AS '7', COUNT(CASE WHEN MONTH ( s.create_time ) = 8 THEN s.role_id END
|
) AS '8', COUNT(CASE WHEN MONTH ( s.create_time ) = 9 THEN s.role_id END ) AS '9', COUNT(CASE WHEN MONTH (
|
s.create_time ) = 10 THEN s.role_id END ) AS '10', COUNT(CASE WHEN MONTH ( s.create_time ) = 11 THEN s.role_id
|
END ) AS '11', COUNT(CASE WHEN MONTH ( s.create_time ) = 12 THEN s.role_id END ) AS '12'
|
FROM blade_user AS s
|
WHERE
|
YEAR ( s.create_time ) =#{year}
|
AND dept_id IN (
|
SELECT
|
i.departmentid
|
FROM
|
sys_information i
|
LEFT JOIN sys_jurisdiction j ON j.id= i.jurisdiction where 1=1
|
<if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
|
and i.jurisdiction =#{jurisdiction}
|
</if>
|
GROUP BY
|
i.departmentid
|
)
|
AND role_id='1412226235153731586' AND hold=0
|
<if test="deptid!=null and deptid!=''">
|
and dept_id =#{deptid}
|
</if>
|
</select>
|
|
<!--查询本年所有月份的客户数量-->
|
<select id="queryYearKh" resultType="java.util.HashMap">
|
SELECT COUNT
|
(CASE WHEN MONTH (
|
s.dispatcherTime ) = 1 THEN s.dispatcher_unit_id END ) AS '1', COUNT(CASE WHEN MONTH ( s.dispatcherTime ) = 2
|
THEN s.dispatcher_unit_id END ) AS '2', COUNT(CASE WHEN MONTH ( s.dispatcherTime ) = 3 THEN s.dispatcher_unit_id
|
END ) AS '3', COUNT(CASE WHEN MONTH ( s.dispatcherTime ) = 4 THEN s.dispatcher_unit_id END ) AS '4', COUNT(CASE
|
WHEN MONTH ( s.dispatcherTime ) = 5 THEN s.dispatcher_unit_id END ) AS '5', COUNT(CASE WHEN MONTH (
|
s.dispatcherTime ) = 6 THEN s.dispatcher_unit_id END ) AS '6', COUNT(CASE WHEN MONTH ( s.dispatcherTime ) = 7
|
THEN s.dispatcher_unit_id END ) AS '7', COUNT(CASE WHEN MONTH ( s.dispatcherTime ) = 8 THEN s.dispatcher_unit_id
|
END ) AS '8', COUNT(CASE WHEN MONTH ( s.dispatcherTime ) = 9 THEN s.dispatcher_unit_id END ) AS '9', COUNT(CASE
|
WHEN MONTH ( s.dispatcherTime ) = 10 THEN s.dispatcher_unit_id END ) AS '10', COUNT(CASE WHEN MONTH (
|
s.dispatcherTime ) = 11 THEN s.dispatcher_unit_id END ) AS '11', COUNT(CASE WHEN MONTH ( s.dispatcherTime ) = 12
|
THEN s.dispatcher_unit_id END ) AS '12'
|
FROM sys_dispatcher AS s
|
WHERE
|
YEAR ( s.dispatcherTime ) =#{year}
|
AND dept_id IN (
|
SELECT
|
i.departmentid
|
FROM
|
sys_information i
|
LEFT JOIN sys_jurisdiction j ON j.id= i.jurisdiction where 1=1
|
<if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
|
and i.jurisdiction =#{jurisdiction}
|
</if>
|
GROUP BY
|
i.departmentid
|
)
|
<if test="deptid!=null and deptid!=''">
|
and dept_id =#{deptid}
|
</if>
|
</select>
|
|
<!--查询本年所有月份的保安派遣数量-->
|
<select id="queryYearBanan" resultType="java.util.HashMap">
|
SELECT IFNULL(SUM(CASE WHEN MONTH ( s.dispatcherTime ) = 1 THEN s.num END ), 0) AS '1', IFNULL(SUM(CASE WHEN
|
MONTH ( s.dispatcherTime ) = 2 THEN s.num END ), 0) AS '2', IFNULL(SUM(CASE WHEN MONTH ( s.dispatcherTime ) = 3
|
THEN s.num END ), 0) AS '3', IFNULL(SUM(CASE WHEN MONTH ( s.dispatcherTime ) = 4 THEN s.num END ), 0) AS '4',
|
IFNULL(SUM(CASE WHEN MONTH ( s.dispatcherTime ) = 5 THEN s.num END ), 0) AS '5', IFNULL(SUM(CASE WHEN MONTH (
|
s.dispatcherTime ) = 6 THEN s.num END ), 0) AS '6', IFNULL(SUM(CASE WHEN MONTH ( s.dispatcherTime ) = 7 THEN
|
s.num END ), 0) AS '7', IFNULL(SUM(CASE WHEN MONTH ( s.dispatcherTime ) = 8 THEN s.num END ), 0) AS '8',
|
IFNULL(SUM(CASE WHEN MONTH ( s.dispatcherTime ) = 9 THEN s.num END ), 0) AS '9', IFNULL(SUM(CASE WHEN MONTH (
|
s.dispatcherTime ) = 10 THEN s.num END ), 0) AS '10', IFNULL(SUM(CASE WHEN MONTH ( s.dispatcherTime ) = 11 THEN
|
s.num END ), 0) AS '11', IFNULL(SUM(CASE WHEN MONTH ( s.dispatcherTime ) = 12 THEN s.num END ), 0) AS '12'
|
FROM sys_dispatcher AS s
|
WHERE
|
YEAR ( s.dispatcherTime ) =#{year}
|
AND dept_id IN (
|
SELECT
|
i.departmentid
|
FROM
|
sys_information i
|
LEFT JOIN sys_jurisdiction j ON j.id= i.jurisdiction where 1=1
|
<if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
|
and i.jurisdiction =#{jurisdiction}
|
</if>
|
GROUP BY
|
i.departmentid )
|
<if test="deptid!=null and deptid!=''">
|
and dept_id =#{deptid}
|
</if>
|
</select>
|
|
|
<!--资格审查异常数量-->
|
<select id="selectExtype" resultType="java.util.HashMap">
|
SELECT COUNT
|
(*) as num,
|
d.dept_name,
|
j.dept_name AS jurname
|
FROM blade_user u
|
LEFT JOIN blade_dept d ON d.id = u.dept_id
|
LEFT JOIN sys_jurisdiction j ON j.id = u.jurisdiction
|
WHERE u.examination_type = 1
|
<if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
|
and u.jurisdiction =#{jurisdiction}
|
</if>
|
<if test="deptid!=null and deptid!=''">
|
and u.dept_id =#{deptid}
|
</if>
|
<if test="type!=null and type=='1'">
|
and to_days(u.update_time) = to_days(now());
|
</if>
|
<if test="type!=null and type=='2'">
|
and DATE_FORMAT(u.update_time, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' )
|
</if>
|
GROUP BY d.dept_name,
|
j.dept_name
|
</select>
|
<!--表现差的数量-->
|
<select id="selectBx" resultType="java.util.HashMap">
|
SELECT IFNULL(COUNT( * ),0) AS num,
|
d.dept_name,
|
j.dept_name AS jurname
|
FROM sys_performance u
|
LEFT JOIN blade_dept d ON d.id = u.departmentid
|
LEFT JOIN sys_jurisdiction j ON j.id = u.jurisdiction
|
WHERE score = 3
|
<if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
|
and u.jurisdiction =#{jurisdiction}
|
</if>
|
<if test="deptid!=null and deptid!=''">
|
and u.departmentid =#{deptid}
|
</if>
|
<if test="type!=null and type=='1'">
|
and to_days(u.time) = to_days(now());
|
</if>
|
<if test="type!=null and type=='2'">
|
and DATE_FORMAT(u.time, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' )
|
</if>
|
GROUP BY d.dept_name,
|
j.dept_name
|
</select>
|
|
<!--查询出所有辖区信息-->
|
<select id="selectJur" resultType="java.util.HashMap">
|
SELECT id, dept_name
|
FROM sys_jurisdiction
|
WHERE id!=1123598813738675201
|
</select>
|
|
<select id="selectExtypeUser" resultType="java.lang.Integer">
|
SELECT
|
COUNT( CASE WHEN ( examination_mx IS NOT NULL OR examination_mx != "" ) THEN 1 END ) AS sum
|
FROM
|
blade_user
|
WHERE
|
STATUS != 1
|
</select>
|
|
<!--派遣保安人數量-->
|
<select id="selectPcount" resultType="java.util.HashMap">
|
SELECT COUNT
|
(*) AS pnum
|
FROM blade_user u
|
LEFT JOIN blade_dept d ON d.id = u.dept_id
|
LEFT JOIN sys_jurisdiction j ON j.id = u.jurisdiction
|
WHERE dispatch = 0
|
<if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
|
and u.jurisdiction =#{jurisdiction}
|
</if>
|
<if test="deptid!=null and deptid!=''">
|
and u.dept_id =#{deptid}
|
</if>
|
</select>
|
<!--未派遣保安人數量-->
|
<select id="selectWPcount" resultType="java.util.HashMap">
|
SELECT COUNT
|
(*) AS wpnum
|
FROM blade_user u
|
LEFT JOIN blade_dept d ON d.id = u.dept_id
|
LEFT JOIN sys_jurisdiction j ON j.id = u.jurisdiction
|
WHERE dispatch = 1
|
<if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
|
and u.jurisdiction =#{jurisdiction}
|
</if>
|
<if test="deptid!=null and deptid!=''">
|
and u.dept_id =#{deptid}
|
</if>
|
</select>
|
|
<select id="selectIn" resultType="java.util.HashMap">
|
SELECT enterpriseName, departmentid
|
FROM sys_information where 1=1
|
<if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
|
and jurisdiction =#{jurisdiction}
|
</if>
|
</select>
|
<delete id="deleteDept">
|
delete from blade_dept where id=#{ids}
|
</delete>
|
|
|
<select id="selectLi" resultType="java.util.HashMap">
|
SELECT
|
IFNULL( A.num, 0 ) AS num,
|
IFNULL( B.cznum, 0 ) AS cznum,
|
IFNULL( C.paiqnum, 0 ) AS paiqnum,
|
IFNULL( D.wpaiqnum, 0 ) AS wpaiqnum,
|
IFNULL( E.caijnum, 0 ) AS caijnum,
|
IFNULL( F.wcaijnum, 0 ) AS wcaijnum,
|
IFNULL( G.yicnum, 0 ) AS yicnum,
|
A.dept_id,
|
d.dept_name AS deptname,
|
j.dept_name AS jurname
|
FROM
|
( SELECT COUNT( * ) AS num, dept_id, jurisdiction FROM blade_user WHERE role_id = '1412226235153731586' GROUP BY
|
dept_id, jurisdiction ) A
|
LEFT JOIN (
|
SELECT
|
COUNT( * ) AS cznum,
|
dept_id,
|
jurisdiction
|
FROM
|
blade_user
|
WHERE
|
role_id = '1412226235153731586'
|
AND hold=0
|
GROUP BY
|
dept_id,
|
jurisdiction
|
) B ON A.dept_id = B.dept_id
|
LEFT JOIN (
|
SELECT
|
COUNT( * ) AS paiqnum,
|
dept_id,
|
jurisdiction
|
FROM
|
blade_user
|
WHERE
|
role_id = '1412226235153731586'
|
AND dispatch=0
|
GROUP BY
|
dept_id,
|
jurisdiction
|
) C ON C.dept_id = A.dept_id
|
LEFT JOIN (
|
SELECT
|
COUNT( * ) AS wpaiqnum,
|
dept_id,
|
jurisdiction
|
FROM
|
blade_user
|
WHERE
|
role_id = '1412226235153731586'
|
AND dispatch=1
|
GROUP BY
|
dept_id,
|
jurisdiction
|
) D ON D.dept_id = A.dept_id
|
LEFT JOIN (
|
SELECT
|
COUNT( * ) AS caijnum,
|
dept_id,
|
jurisdiction
|
FROM
|
blade_user
|
WHERE
|
role_id = '1412226235153731586'
|
AND photo=0
|
GROUP BY
|
dept_id,
|
jurisdiction
|
) E ON E.dept_id = A.dept_id
|
LEFT JOIN (
|
SELECT
|
COUNT( * ) AS wcaijnum,
|
dept_id,
|
jurisdiction
|
FROM
|
blade_user
|
WHERE
|
role_id = '1412226235153731586'
|
AND photo=1
|
GROUP BY
|
dept_id,
|
jurisdiction
|
) F ON F.dept_id = A.dept_id
|
LEFT JOIN (
|
SELECT
|
COUNT( * ) AS yicnum,
|
dept_id,
|
jurisdiction
|
FROM
|
blade_user
|
WHERE
|
role_id = '1412226235153731586'
|
AND examination_mx=1
|
GROUP BY
|
dept_id,
|
jurisdiction
|
) G ON G.dept_id = A.dept_id
|
LEFT JOIN blade_dept d ON A.dept_id = d.id
|
LEFT JOIN sys_jurisdiction j ON j.id = A.jurisdiction
|
WHERE 1=1
|
<if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
|
and A.jurisdiction =#{jurisdiction}
|
</if>
|
<if test="deptid!=null and deptid!=''">
|
and A.dept_id =#{deptid}
|
</if>
|
</select>
|
|
<select id="seCountI" resultType="java.util.HashMap">
|
SELECT COUNT(*) as num,stats FROM sys_information
|
where 1=1
|
<if test="deptid!=null and deptid!=''">
|
and departmentid=#{deptid}
|
</if>
|
<if test="jurisdiction!=null and jurisdiction!=''and jurisdiction!='1123598813738675201'">
|
AND jurisdiction=#{jurisdiction}
|
</if>
|
GROUP BY stats
|
</select>
|
<select id="seCountUm" resultType="java.lang.String">
|
SELECT COUNT(*) as mnum FROM `blade_user` WHERE status=1 AND sex=1
|
<if test="deptid!=null and deptid!=''">
|
and dept_id=#{deptid}
|
</if>
|
<if test="jurisdiction!=null and jurisdiction!=''and jurisdiction!='1123598813738675201'">
|
AND jurisdiction=#{jurisdiction}
|
</if>
|
</select>
|
<select id="seCountUg" resultType="java.lang.String">
|
SELECT COUNT(*) as gnum FROM `blade_user` WHERE status=1 AND sex=2
|
<if test="deptid!=null and deptid!=''">
|
and dept_id=#{deptid}
|
</if>
|
<if test="jurisdiction!=null and jurisdiction!=''and jurisdiction!='1123598813738675201'">
|
AND jurisdiction=#{jurisdiction}
|
</if>
|
</select>
|
</mapper>
|