From d39e15a3fb45f40e8bf0a52a73ded86158d6e0bd Mon Sep 17 00:00:00 2001
From: tangzy <tangzy123456>
Date: Tue, 17 Aug 2021 17:40:44 +0800
Subject: [PATCH] 1.统计接口调整
---
src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml | 347 ++++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 328 insertions(+), 19 deletions(-)
diff --git a/src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml b/src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml
index 220ac1c..68aa145 100644
--- a/src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml
+++ b/src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml
@@ -66,7 +66,7 @@
IFNULL(C.staff, 0) AS staff,
IFNULL(D.security, 0) AS security,
IFNULL(E.armed, 0) AS armed,
- IFNULL(F.region, 0) AS region
+ 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
@@ -157,7 +157,11 @@
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
+ IFNULL(B.amount, 0) AS thisamount,
+ IFNULL( C.userthismouth, 0 ) AS userthismouth,
+ IFNULL( D.userlastmouth, 0 ) AS userlastmouth,
+ IFNULL( E.userpcthismouth, 0 ) AS userpcthismouth,
+ IFNULL( F.userpclastmouth, 0 ) AS userpclastmouth
FROM (
SELECT COUNT(*) AS lastmonth,
amount,
@@ -200,6 +204,108 @@
amount,
deptid
) B ON A.deptid = B.deptid
+ LEFT JOIN (
+ SELECT COUNT(*) AS userthismouth,
+ 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
+ )
+ AND DATE_FORMAT( update_time, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' ) AND status=1
+ <if test="deptid!=null and deptid!=''">
+ and dept_id =#{deptid}
+ </if>
+ GROUP BY
+ dept_id
+ ) C ON C.dept_id = A.deptid
+ LEFT JOIN(
+ SELECT COUNT(*) AS userlastmouth,
+ 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
+ )
+ AND PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( update_time, '%Y%m' ) ) = 1 AND status=1
+ <if test="deptid!=null and deptid!=''">
+ and dept_id =#{deptid}
+ </if>
+ GROUP BY
+ dept_id
+ ) D ON D.dept_id = A.deptid
+ LEFT JOIN (
+ SELECT COUNT(*) AS userpcthismouth,
+ 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
+ )
+ AND DATE_FORMAT( update_time, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' ) AND dispatch=0
+ <if test="deptid!=null and deptid!=''">
+ and dept_id =#{deptid}
+ </if>
+ GROUP BY
+ dept_id
+ ) E ON E.dept_id = A.deptid
+ LEFT JOIN(
+ SELECT COUNT(*) AS userpclastmouth,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
+ )
+ AND PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( update_time, '%Y%m' ) ) = 1 AND dispatch=0
+ <if test="deptid!=null and deptid!=''">
+ and dept_id =#{deptid}
+ </if>
+ GROUP BY
+ dept_id
+ ) F ON F.dept_id = A.deptid
</select>
@@ -231,6 +337,33 @@
i.departmentid )
<if test="deptid!=null and deptid!=''">
and deptid =#{deptid}
+ </if>
+ </select>
+
+
+ <!--查询本年所有月份的派遣人数量-->
+ <select id="queryYearPz" resultType="java.util.HashMap">
+ SELECT COUNT(CASE WHEN MONTH ( s.update_time ) = 1 THEN s.dispatch END ) AS '1', COUNT(CASE WHEN MONTH (
+ s.update_time ) = 2 THEN s.dispatch END ) AS '2', COUNT(CASE WHEN MONTH ( s.update_time ) = 3 THEN s.dispatch
+ END ) AS '3', COUNT(CASE WHEN MONTH ( s.update_time ) = 4 THEN s.dispatch END ) AS '4', COUNT(CASE WHEN MONTH (
+ s.update_time ) = 5 THEN s.dispatch END ) AS '5', COUNT(CASE WHEN MONTH ( s.update_time ) = 6 THEN s.dispatch
+ END ) AS '6', COUNT(CASE WHEN MONTH ( s.update_time ) = 7 THEN s.dispatch END ) AS '7', COUNT(CASE WHEN MONTH (
+ s.update_time ) = 8 THEN s.dispatch END ) AS '8', COUNT(CASE WHEN MONTH ( s.update_time ) = 9 THEN s.dispatch
+ END ) AS '9', COUNT(CASE WHEN MONTH ( s.update_time ) = 10 THEN s.dispatch END ) AS '10', COUNT(CASE WHEN MONTH
+ ( s.update_time ) = 11 THEN s.dispatch END ) AS '11', COUNT(CASE WHEN MONTH ( s.update_time ) = 12 THEN
+ s.dispatch END ) AS '12'
+ FROM blade_user AS s
+ WHERE
+ YEAR ( s.update_time ) =#{year}
+ AND dispatch = 0
+ 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>
<!--查询本年所有月份的保安派遣的数量-->
@@ -776,8 +909,7 @@
</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
+ SELECT COUNT(CASE WHEN (examination_mx IS NOT NULL OR examination_mx != "") THEN 1 END) AS sum
FROM
blade_user
WHERE
@@ -823,7 +955,9 @@
</if>
</select>
<delete id="deleteDept">
- delete from blade_dept where id=#{ids}
+ delete
+ from blade_dept
+ where id = #{ids}
</delete>
@@ -833,7 +967,7 @@
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( E.sbnum, 0 ) AS sbnum,
IFNULL( F.wcaijnum, 0 ) AS wcaijnum,
IFNULL( G.yicnum, 0 ) AS yicnum,
A.dept_id,
@@ -885,19 +1019,8 @@
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
+ SELECT COUNT( * ) AS sbnum, deptid, jurisdiction FROM sys_socil GROUP BY deptid, jurisdiction
+ ) E ON E.deptid = A.dept_id
LEFT JOIN (
SELECT
COUNT( * ) AS wcaijnum,
@@ -966,4 +1089,190 @@
AND jurisdiction=#{jurisdiction}
</if>
</select>
+
+ <!--公司运营情况进入图表-->
+ <select id="selectTb" resultType="java.util.HashMap">
+ SELECT
+ J.*
+ FROM
+ (
+ SELECT A.enterpriseName,
+ A.departmentid,
+ A.jurisdiction,
+ A.dept_name AS jurname,
+ IFNULL(B.znum, 0) AS znum,
+ IFNULL(C.zcnum, 0) AS zcnum,
+ IFNULL(D.cznum, 0) AS cznum,
+ IFNULL(E.sbnum, 0) AS sbnum,
+ IFNULL(F.ghnum, 0) AS ghnum,
+ IFNULL(G.pcnum, 0) AS pcnum
+ FROM (
+ SELECT i.enterpriseName,
+ i.departmentid,
+ i.jurisdiction,
+ j.dept_name
+ FROM sys_information i
+ LEFT JOIN sys_jurisdiction j ON i.jurisdiction = j.id
+ ) A
+ LEFT JOIN (SELECT COUNT(*) AS znum, dept_id, jurisdiction
+ FROM blade_user
+ WHERE role_id = '1412226235153731586'
+ GROUP BY dept_id, jurisdiction) B ON A.departmentid = B.dept_id
+ LEFT JOIN (
+ SELECT COUNT(*) AS zcnum,
+ dept_id,
+ jurisdiction
+ FROM blade_user
+ WHERE role_id = '1412226235153731586'
+ AND examination_type = 0
+ GROUP BY dept_id,
+ jurisdiction
+ ) C ON A.departmentid = C.dept_id
+ LEFT JOIN (
+ SELECT COUNT(*) AS cznum,
+ dept_id,
+ jurisdiction
+ FROM blade_user
+ WHERE role_id = '1412226235153731586'
+ AND hold = 0
+ GROUP BY dept_id,
+ jurisdiction
+ ) D ON A.departmentid = D.dept_id
+ LEFT JOIN (SELECT COUNT(*) AS sbnum, deptid, jurisdiction
+ FROM sys_socil
+ GROUP BY deptid, jurisdiction) E ON A.departmentid = E.deptid
+ LEFT JOIN (
+ SELECT COUNT(*) AS ghnum,
+ dept_id,
+ jurisdiction
+ FROM sys_dispatcher
+ GROUP BY dept_id, jurisdiction) F ON A.departmentid = F.dept_id
+ LEFT JOIN (SELECT SUM(num) AS pcnum,
+ dept_id,
+ jurisdiction
+ FROM sys_dispatcher
+ GROUP BY dept_id, jurisdiction) G ON A.departmentid = G.dept_id ) J
+ WHERE 1=1
+ <if test="jurisdiction!=null and jurisdiction!=''and jurisdiction!='1123598813738675201'">
+ and J.jurisdiction =#{jurisdiction}
+ </if>
+ <if test="enterpriseName!=null and enterpriseName!=''">
+ and J.enterpriseName like concat('%', #{enterpriseName},'%')
+ </if>
+ GROUP BY J.enterpriseName,
+ J.departmentid, J.cznum, J.ghnum, J.ghnum, J.pcnum, J.sbnum, J.zcnum, J.znum, J.jurname,J.jurisdiction
+ </select>
+
+ <!--公司经济情况进入图表-->
+ <select id="selectJj" resultType="java.util.HashMap">
+ SELECT J.*
+ FROM (
+ SELECT A.enterpriseName,
+ A.departmentid,
+ A.jurisdiction,
+ A.dept_name AS jurname,
+ IFNULL(B.sbcount, 0) AS sbcount,
+ IFNULL(C.sbnum, 0) AS sbnum,
+ IFNULL(D.pcnum, 0) AS pcnum,
+ IFNULL(E.znum, 0) AS znum,
+ TRUNCATE(znum / sbnum, 2) as zb
+ FROM (
+ SELECT i.enterpriseName,
+ i.departmentid,
+ i.jurisdiction,
+ j.dept_name
+ FROM sys_information i
+ LEFT JOIN sys_jurisdiction j ON i.jurisdiction = j.id
+ ) A
+ LEFT JOIN (SELECT SUM(amount) AS sbcount, deptid FROM sys_socil GROUP BY deptid) B
+ ON A.departmentid = B.deptid
+ LEFT JOIN (
+ SELECT COUNT(*) AS sbnum,
+ deptid
+ FROM sys_socil
+ GROUP BY deptid
+ ) C ON A.departmentid = C.deptid
+ LEFT JOIN (
+ SELECT COUNT(*) AS pcnum,
+ dept_id,
+ jurisdiction
+ FROM blade_user
+ WHERE role_id = '1412226235153731586'
+ AND dispatch = 0
+ GROUP BY dept_id,
+ jurisdiction
+ ) D ON A.departmentid = D.dept_id
+ LEFT JOIN (SELECT COUNT(*) AS znum, dept_id, jurisdiction
+ FROM blade_user
+ WHERE role_id = '1412226235153731586'
+ GROUP BY dept_id, jurisdiction) E ON A.departmentid = E.dept_id) J
+ WHERE 1=1
+ <if test="jurisdiction!=null and jurisdiction!=''and jurisdiction!='1123598813738675201'">
+ and J.jurisdiction =#{jurisdiction}
+ </if>
+ <if test="enterpriseName!=null and enterpriseName!=''">
+ and J.enterpriseName like concat('%', #{enterpriseName},'%')
+ </if>
+ GROUP BY J.departmentid, J.enterpriseName, J.jurisdiction, J.jurname, J.pcnum, J.sbcount, J.sbnum, J.zb, J.znum
+ </select>
+
+
+ <!--业务统计情况-->
+ <select id="selectYw" resultType="java.util.HashMap">
+ SELECT
+ A.enterpriseName,
+ A.dept_name as jurname,
+ IFNULL( B.num, 0 ) AS fwnum,
+ IFNULL( C.znum, 0 ) AS znum
+ FROM
+ (
+ SELECT
+ i.enterpriseName,
+ i.departmentid,
+ j.dept_name
+ FROM
+ sys_information i
+ LEFT JOIN sys_jurisdiction j ON i.jurisdiction = j.id
+ WHERE
+ i.enterpriseName IS NOT NULL
+ ) A
+ LEFT JOIN ( SELECT COUNT( * ) AS num, dept_id FROM sys_dispatcher_unit GROUP BY dept_id ) B ON A.departmentid =
+ B.dept_id
+ LEFT JOIN ( SELECT COUNT( * ) AS znum, dept_id FROM blade_user WHERE role_id = '1412226235153731586' GROUP BY
+ dept_id ) C ON A.departmentid = C.dept_id
+ 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.departmentid=#{deptid}
+ </if>
+ </select>
+
+ <!--保安人员详情-->
+ <select id="selectUIn" resultType="java.util.HashMap">
+ SELECT real_name,securitynumber,cardid,phone,hold,soil,photo,examination_type,dispatch FROM blade_user WHERE
+ role_id='1412226235153731586'
+ <if test="deptid!=null and deptid!=''">
+ and dept_id=#{deptid}
+ </if>
+ <if test="name!=null and name!=''">
+ and real_name like concat('%', #{name},'%')
+ </if>
+ <if test="hold!=null and hold!=''">
+ and hold=#{hold}
+ </if>
+ <if test="photo!=null and photo!=''">
+ and photo=#{photo}
+ </if>
+ <if test="examinationtype!=null and examinationtype!=''">
+ and examination_type=#{examinationtype}
+ </if>
+ <if test="dispatch!=null and dispatch!=''">
+ and dispatch=#{dispatch}
+ </if>
+ <if test="soil !=null and soil !=''">
+ and soil =#{soil}
+ </if>
+ </select>
</mapper>
--
Gitblit v1.9.3