From 8853292babb2ad94de4a3207966f1e83b767cd2d Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Sun, 17 Sep 2023 16:38:34 +0800
Subject: [PATCH] 新增流程节点进程查询接口
---
src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml | 1104 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 1,062 insertions(+), 42 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 224e874..1626c9a 100644
--- a/src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml
+++ b/src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml
@@ -89,7 +89,7 @@
and is_deleted = 0
and role_id = '1412226235153731586'
AND status=1
- AND dispatch=0
+ AND dispatch='0'
GROUP BY dept_id
) C
ON C.dept_id = i.departmentid
@@ -97,6 +97,14 @@
sys_jurisdiction sj
on
sj.id = i.jurisdiction
+ left join
+ blade_dept bd
+ on
+ bd.id = i.departmentid
+ left join
+ blade_user bu
+ on
+ bu.id = i.create_user_id
where 1=1
<if test="information.jurisdiction!=null and information.jurisdiction!='' and information.jurisdiction!='1372091709474910209'">
and (sj.id=#{information.jurisdiction} or sj.parent_id=#{information.jurisdiction})
@@ -108,27 +116,30 @@
and i.representative like concat(concat('%', #{information.representative}),'%')
</if>
<if test="information.stats!=null and information.stats!=''">
- and i.stats=#{information.stats}
+ and i.stats=#{information.stats} and bd.dept_category = 1
</if>
<if test="information.departmentid!=null and information.departmentid!=''">
and i.departmentid=#{information.departmentid}
</if>
+ <if test="information.createDeptId!=null and information.createDeptId!=''">
+ and bu.dept_id =#{information.createDeptId}
+ </if>
+ order by i.establishTime asc
</select>
<delete id="deleteIn">
- delete
- from sys_information
- where creditCode = #{creditcode}
+ delete from sys_information
+ where departmentid = #{departmentid}
</delete>
<delete id="deleteSh">
delete
from sys_shareholder
- where creditCode = #{creditcode}
+ where dept_id = #{deptId}
</delete>
<delete id="deleteMe">
delete
from sys_member
- where creditCode = #{creditcode}
+ where dept_id = #{deptId}
</delete>
<select id="selectCount" resultType="java.util.HashMap">
@@ -165,9 +176,8 @@
</select>
<delete id="deleteDept">
- delete
- from blade_dept
- where id = #{departmentid}
+ update blade_dept set is_deleted = 1
+ where id = #{id}
</delete>
<!--资格审查异常数量-->
@@ -177,16 +187,26 @@
IFNULL( B.num, 0 ) AS bzc
FROM
(
- SELECT departmentid, jurisdiction FROM sys_information GROUP BY departmentid, jurisdiction ) H
- LEFT JOIN ( SELECT COUNT(*) AS num, u.dept_id FROM blade_user u WHERE (u.examination_type = 0 or
+ SELECT departmentid, jurisdiction FROM sys_information GROUP BY departmentid, jurisdiction
+ ) H
+ LEFT JOIN
+ ( SELECT COUNT(*) AS num, u.dept_id FROM blade_user u WHERE (u.examination_type = 0 or
u.examination_type is null) and role_id =
'1412226235153731586' AND `status` = 1 AND is_deleted = 0 GROUP BY u.dept_id
- ) A ON H.departmentid = A.dept_id
- LEFT JOIN ( SELECT COUNT(*) AS num, u.dept_id FROM blade_user u WHERE u.examination_type = 1 and role_id = '1412226235153731586' AND `status` = 1 AND is_deleted = 0 GROUP BY
+ ) A
+ ON H.departmentid = A.dept_id
+ LEFT JOIN
+ ( SELECT COUNT(*) AS num, u.dept_id FROM blade_user u WHERE u.examination_type = 1 and role_id = '1412226235153731586' AND `status` = 1 AND is_deleted = 0 GROUP BY
u.dept_id
- ) B ON H.departmentid = B.dept_id where 1=1
+ ) B
+ ON H.departmentid = B.dept_id
+ left join
+ sys_jurisdiction sj
+ on
+ sj.id = H.jurisdiction
+ where 1=1
<if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
- and H.jurisdiction = #{jurisdiction}
+ and (sj.id = #{jurisdiction} or sj.parent_id = #{jurisdiction})
</if>
<if test="deptid!=null and deptid!=''">
and H.departmentid = #{deptid}
@@ -203,7 +223,8 @@
(
SELECT departmentid,jurisdiction FROM sys_information GROUP BY departmentid,jurisdiction
) H
- LEFT JOIN(
+ LEFT JOIN
+ (
SELECT
COUNT( * ) AS thisnum,
dept_id
@@ -216,8 +237,10 @@
AND hold = 1
GROUP BY
dept_id
- ) A ON A.dept_id=H.departmentid
- LEFT JOIN (
+ ) A
+ ON A.dept_id=H.departmentid
+ LEFT JOIN
+ (
SELECT
COUNT(*) AS lastnum,
dept_id
@@ -230,13 +253,18 @@
AND hold = 2
GROUP BY
dept_id
- ) B ON B.dept_id=H.departmentid
+ ) B
+ ON B.dept_id=H.departmentid
+ left join
+ sys_jurisdiction sj
+ on
+ sj.id = H.jurisdiction
where 1=1
+ <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
+ and (sj.id = #{jurisdiction} or sj.parent_id = #{jurisdiction})
+ </if>
<if test="deptid!=null and deptid!=''">
and H.departmentid = #{deptid}
- </if>
- <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
- and H.jurisdiction = #{jurisdiction}
</if>
</select>
<!--派遣服务单位统计-->
@@ -268,7 +296,8 @@
AND dispatch = 0
GROUP BY
dept_id
- ) A ON A.dept_id = H.departmentid
+ ) A
+ ON A.dept_id = H.departmentid
LEFT JOIN (
SELECT
COUNT( * ) AS lastnum,
@@ -282,9 +311,15 @@
AND dispatch = 1
GROUP BY
dept_id
- ) B ON H.departmentid = B.dept_id where 1=1
+ ) B
+ ON H.departmentid = B.dept_id
+ left join
+ sys_jurisdiction sj
+ on
+ sj.id = H.jurisdiction
+ where 1=1
<if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
- and H.jurisdiction = #{jurisdiction}
+ and (sj.id = #{jurisdiction} or sj.parent_id = #{jurisdiction})
</if>
<if test="deptid!=null and deptid!=''">
and H.departmentid = #{deptid}
@@ -294,20 +329,38 @@
<select id="selectSoil" resultType="java.util.HashMap">
SELECT IFNULL(A.numj, 0) as numj,
IFNULL(B.numwj, 0) as numz
- FROM (SELECT departmentid, jurisdiction FROM sys_information GROUP BY departmentid, jurisdiction) H
- LEFT JOIN (SELECT COUNT(*) AS numj, dept_id
+ FROM
+ (
+ SELECT departmentid, jurisdiction FROM sys_information GROUP BY departmentid, jurisdiction
+ ) H
+ LEFT JOIN
+ (
+ SELECT COUNT(*) AS numj, dept_id
FROM blade_user
WHERE soil = 0 AND `status` = 1 AND is_deleted = 0 AND role_id = '1412226235153731586'
- GROUP BY dept_id) A ON A.dept_id = H.departmentid
- LEFT JOIN (SELECT COUNT(*) AS numwj, dept_id FROM blade_user WHERE soil = 1 and `status` = 1 AND is_deleted = 0
- AND role_id = '1412226235153731586' GROUP BY
- dept_id) B
- ON H.departmentid = B.dept_id where 1=1
+ GROUP BY dept_id
+ ) A
+ ON A.dept_id = H.departmentid
+ LEFT JOIN
+ (
+ SELECT COUNT(*) AS numwj, dept_id FROM blade_user
+ WHERE soil = 1
+ and `status` = 1
+ AND is_deleted = 0
+ AND role_id = '1412226235153731586'
+ GROUP BY dept_id
+ ) B
+ ON H.departmentid = B.dept_id
+ left join
+ sys_jurisdiction sj
+ on
+ sj.id = H.jurisdiction
+ where 1=1
+ <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
+ and (sj.id = #{jurisdiction} or sj.parent_id = #{jurisdiction})
+ </if>
<if test="deptid!=null and deptid!=''">
and H.departmentid = #{deptid}
- </if>
- <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
- and H.jurisdiction = #{jurisdiction}
</if>
</select>
@@ -340,16 +393,983 @@
<!--查询本年所有月份h合同开始时间的客户数量-->
<select id="queryYearKh" resultType="java.util.HashMap">
SELECT
- start_time,
- end_time
+ sdu.start_time,
+ sdu.end_time
FROM
- `sys_dispatcher_unit`
- WHERE YEAR (end_time) >='2021'
+ sys_dispatcher_unit sdu
+ left join
+ sys_jurisdiction sj
+ on
+ sj.id = sdu.jurisdiction
+ where 1=1
+ and YEAR (end_time) >= #{year}
<if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
- and jurisdiction =#{jurisdiction}
+ and (sj.id = #{jurisdiction} or sj.parent_id = #{jurisdiction})
</if>
<if test="deptid!=null and deptid!=''">
- and dept_id =#{deptid}
+ and sdu.dept_id =#{deptid}
</if>
</select>
+
+ <!--根据deptid 删除用户信息-->
+ <update id="deleteUserByDeptId">
+ update blade_user set is_deleted = 1 where dept_id = #{deptId}
+ </update>
+ <!--查辖区的子数据-->
+ <select id="selJurchilder" resultType="java.lang.String">
+ SELECT GROUP_CONCAT(id) as id
+ FROM sys_jurisdiction
+ WHERE parent_id = #{id}
+ </select>
+
+ <!--查询当前单位是否有子级单位-->
+ <select id="getDeptHashChildren" resultType="org.springblade.modules.system.entity.Dept">
+ select * from blade_dept where is_deleted = 0 and parent_id = #{information.departmentid}
+ </select>
+
+ <!--查询单位的人数-->
+ <select id="selectInformationUserNumCount" resultType="java.lang.Integer">
+ SELECT COUNT( * ) FROM blade_user
+ WHERE 1=1
+ and role_id = '1412226235153731586'
+ and is_deleted = 0
+ AND status=1
+ and dept_id in
+ (
+ SELECT
+ id
+ FROM
+ (
+ SELECT
+ t1.id,t1.parent_id,t1.dept_name,
+ IF
+ ( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild
+ FROM
+ ( SELECT id, parent_id,dept_name FROM blade_dept t ORDER BY parent_id, id ) t1,
+ ( SELECT @pids := #{dept.id} ) t2
+ ) t3
+ WHERE
+ ischild != 0
+ )
+ </select>
+
+ <!--查询单位的已派遣人数-->
+ <select id="selectInformationDispatcherNumCount" resultType="java.lang.Integer">
+ SELECT COUNT( * ) FROM blade_user
+ WHERE 1=1
+ and role_id = '1412226235153731586'
+ and is_deleted = 0
+ AND status=1
+ AND dispatch=0
+ and dept_id in
+ (
+ SELECT
+ id
+ FROM
+ (
+ SELECT
+ t1.id,t1.parent_id,t1.dept_name,
+ IF
+ ( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild
+ FROM
+ ( SELECT id, parent_id,dept_name FROM blade_dept t ORDER BY parent_id, id ) t1,
+ ( SELECT @pids := #{dept.id} ) t2
+ ) t3
+ WHERE
+ ischild != 0
+ )
+ </select>
+
+ <!--查询单位持证的人数-->
+ <select id="selectInformationHoldNumCount" resultType="java.lang.Integer">
+ SELECT COUNT( * ) FROM blade_user
+ WHERE 1=1
+ and role_id = '1412226235153731586'
+ and is_deleted = 0
+ AND status=1
+ AND hold=1
+ and dept_id in
+ (
+ SELECT
+ id
+ FROM
+ (
+ SELECT
+ t1.id,t1.parent_id,t1.dept_name,
+ IF
+ ( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild
+ FROM
+ ( SELECT id, parent_id,dept_name FROM blade_dept t ORDER BY parent_id, id ) t1,
+ ( SELECT @pids := #{dept.id} ) t2
+ ) t3
+ WHERE
+ ischild != 0
+ )
+ </select>
+
+ <!--业务统计情况-->
+ <select id="selectBusinessStatistics" resultType="org.springblade.modules.information.vo.InformationStatisticsVO">
+ SELECT
+ A.enterpriseName,
+ A.departmentid,
+ A.stats,
+ A.jurisdiction,
+ j.dept_name as jurname,
+ IFNULL( C.znum, 0 ) AS znum,
+ IFNULL( E.cznum, 0 ) AS cznum,
+ IFNULL( F.pqnum, 0 ) AS pqnum,
+ IFNULL( B.num, 0 ) AS fwnum,
+ IFNULL( D.dqnum, 0 ) AS dqnum
+ FROM
+ (
+ SELECT enterpriseName,jurisdiction, departmentid,stats,create_time FROM sys_information WHERE stats!=1 GROUP BY
+ enterpriseName,jurisdiction,departmentid,stats,create_time) A
+ LEFT JOIN
+ (
+ SELECT COUNT( * ) AS num, dept_id FROM sys_dispatcher_unit
+ where
+ start_time <= now() and end_time > now()
+ GROUP BY dept_id
+ ) B
+ ON A.departmentid = B.dept_id
+ LEFT JOIN
+ (
+ SELECT
+ COUNT( * ) AS znum,
+ bu.dept_id
+ FROM
+ blade_user bu
+ WHERE
+ bu.`status` = 1
+ AND bu.is_deleted = 0
+ AND bu.role_id = '1412226235153731586'
+ GROUP BY
+ bu.dept_id
+ ) C
+ ON A.departmentid = C.dept_id
+ LEFT JOIN
+ (
+ SELECT COUNT( * ) AS dqnum, dept_id FROM sys_dispatcher_unit where end_time < now() GROUP BY dept_id
+ ) D
+ ON A.departmentid = D.dept_id
+ LEFT JOIN
+ (
+ SELECT COUNT( * ) AS cznum, dept_id FROM blade_user where
+ hold = 1
+ and role_id = '1412226235153731586'
+ and status= 1
+ and is_deleted = 0
+ GROUP BY dept_id
+ ) E
+ ON A.departmentid = E.dept_id
+ LEFT JOIN
+ (
+ SELECT
+ count(*) AS pqnum,
+ dept_id
+ FROM
+ blade_user
+ where 1=1
+ and status = 1
+ and is_deleted = 0
+ and role_id = "1412226235153731586"
+ and dispatch = '0'
+ GROUP BY
+ dept_id
+ ) F
+ ON A.departmentid = F.dept_id
+ LEFT JOIN blade_dept d ON A.departmentid = d.id
+ LEFT JOIN sys_jurisdiction j ON j.id = A.jurisdiction
+ WHERE 1 =1
+ and d.dept_category = 1
+ <if test="information.jurisdiction!=null and information.jurisdiction!='' and information.jurisdiction!='1372091709474910209'">
+ and (j.id = #{information.jurisdiction} or j.parent_id = #{information.jurisdiction})
+ </if>
+ <if test="information.deptid!=null and information.deptid!=''">
+ and A.enterpriseName like concat('%', #{information.deptid},'%')
+ </if>
+ <if test="information.stats!=null and information.stats!=''">
+ and A.stats=#{information.stats}
+ </if>
+ <if test="information.startTime!=null and information.startTime!=''">
+ and A.create_time >= #{information.startTime}
+ </if>
+ <if test="information.endTime!=null and information.endTime!=''">
+ and A.create_time <= #{information.endTime}
+ </if>
+ </select>
+
+ <!--查询当前单位是否有子级单位-->
+ <select id="getDeptHashChildrens" resultType="org.springblade.modules.system.entity.Dept">
+ select * from blade_dept where is_deleted = 0 and parent_id = #{information.departmentid}
+ </select>
+
+ <!--查询服务单位数-->
+ <select id="selectInformationUnitNumCount" resultType="java.lang.Integer">
+ SELECT COUNT(*) FROM sys_dispatcher_unit
+ where
+ start_time <= now() and end_time > now()
+ and dept_id in
+ (
+ SELECT
+ id
+ FROM
+ (
+ SELECT
+ t1.id,t1.parent_id,t1.dept_name,
+ IF
+ ( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild
+ FROM
+ ( SELECT id, parent_id,dept_name FROM blade_dept t ORDER BY parent_id, id ) t1,
+ ( SELECT @pids := #{dept.id} ) t2
+ ) t3
+ WHERE
+ ischild != 0
+ )
+ </select>
+
+ <!--查询服务单位到期数-->
+ <select id="selectInformationUnitExpireNumCount" resultType="java.lang.Integer">
+ SELECT COUNT(*) FROM sys_dispatcher_unit
+ where end_time < now()
+ and dept_id in
+ (
+ SELECT
+ id
+ FROM
+ (
+ SELECT
+ t1.id,t1.parent_id,t1.dept_name,
+ IF
+ ( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild
+ FROM
+ ( SELECT id, parent_id,dept_name FROM blade_dept t ORDER BY parent_id, id ) t1,
+ ( SELECT @pids := #{dept.id} ) t2
+ ) t3
+ WHERE
+ ischild != 0
+ )
+ </select>
+
+ <!--查询单位的未派遣人数-->
+ <select id="selectInformationNotDispatcherNumCount" resultType="java.lang.Integer">
+ SELECT COUNT( * ) FROM blade_user
+ WHERE 1=1
+ and role_id = '1412226235153731586'
+ and is_deleted = 0
+ AND status=1
+ AND dispatch=1
+ and dept_id in
+ (
+ SELECT
+ id
+ FROM
+ (
+ SELECT
+ t1.id,t1.parent_id,t1.dept_name,
+ IF
+ ( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild
+ FROM
+ ( SELECT id, parent_id,dept_name FROM blade_dept t ORDER BY parent_id, id ) t1,
+ ( SELECT @pids := #{dept.id} ) t2
+ ) t3
+ WHERE
+ ischild != 0
+ )
+ </select>
+
+ <!--查询单位的已采集照片人数-->
+ <select id="selectInformationUnitAvatarNumCount" resultType="java.lang.Integer">
+ SELECT COUNT(*) FROM blade_user
+ WHERE
+ role_id = '1412226235153731586'
+ AND STATUS = 1
+ AND is_deleted = 0
+ AND avatar is not null and avatar!=""
+ and dept_id in
+ (
+ SELECT
+ id
+ FROM
+ (
+ SELECT
+ t1.id,t1.parent_id,t1.dept_name,
+ IF
+ ( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild
+ FROM
+ ( SELECT id, parent_id,dept_name FROM blade_dept t ORDER BY parent_id, id ) t1,
+ ( SELECT @pids := #{dept.id} ) t2
+ ) t3
+ WHERE
+ ischild != 0
+ )
+ </select>
+
+ <!--查询单位的未采集照片人数-->
+ <select id="selectInformationUnitNotAvatarNumCount" resultType="java.lang.Integer">
+ SELECT COUNT(*) FROM blade_user
+ WHERE
+ role_id = '1412226235153731586'
+ AND STATUS = 1
+ AND is_deleted = 0
+ AND (avatar is null or avatar = "")
+ and dept_id in
+ (
+ SELECT
+ id
+ FROM
+ (
+ SELECT
+ t1.id,t1.parent_id,t1.dept_name,
+ IF
+ ( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild
+ FROM
+ ( SELECT id, parent_id,dept_name FROM blade_dept t ORDER BY parent_id, id ) t1,
+ ( SELECT @pids := #{dept.id} ) t2
+ ) t3
+ WHERE
+ ischild != 0
+ )
+ </select>
+
+ <!--查询单位的已采集指纹人数-->
+ <select id="selectInformationUnitZwNumCount" resultType="java.lang.Integer">
+ SELECT COUNT(*) FROM blade_user
+ WHERE
+ role_id = '1412226235153731586'
+ AND STATUS = 1
+ AND is_deleted = 0
+ AND fingerprint is not null and fingerprint!=""
+ and dept_id in
+ (
+ SELECT
+ id
+ FROM
+ (
+ SELECT
+ t1.id,t1.parent_id,t1.dept_name,
+ IF
+ ( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild
+ FROM
+ ( SELECT id, parent_id,dept_name FROM blade_dept t ORDER BY parent_id, id ) t1,
+ ( SELECT @pids := #{dept.id} ) t2
+ ) t3
+ WHERE
+ ischild != 0
+ )
+ </select>
+
+
+ <!--查询单位的审查异常人数-->
+ <select id="selectInformationUnitYcNumCount" resultType="java.lang.Integer">
+ SELECT COUNT(*) FROM blade_user
+ WHERE
+ role_id = '1412226235153731586'
+ AND STATUS = 1
+ AND is_deleted = 0
+ AND examination_type = 1
+ and dept_id in
+ (
+ SELECT
+ id
+ FROM
+ (
+ SELECT
+ t1.id,t1.parent_id,t1.dept_name,
+ IF
+ ( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild
+ FROM
+ ( SELECT id, parent_id,dept_name FROM blade_dept t ORDER BY parent_id, id ) t1,
+ ( SELECT @pids := #{dept.id} ) t2
+ ) t3
+ WHERE
+ ischild != 0
+ )
+ </select>
+
+ <!--查询单位的社保缴纳人数-->
+ <select id="selectInformationUnitJnsbNumCount" resultType="java.lang.Integer">
+ SELECT COUNT(*) FROM blade_user
+ WHERE
+ role_id = '1412226235153731586'
+ AND STATUS = 1
+ AND is_deleted = 0
+ AND soil = 0
+ and dept_id in
+ (
+ SELECT
+ id
+ FROM
+ (
+ SELECT
+ t1.id,t1.parent_id,t1.dept_name,
+ IF
+ ( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild
+ FROM
+ ( SELECT id, parent_id,dept_name FROM blade_dept t ORDER BY parent_id, id ) t1,
+ ( SELECT @pids := #{dept.id} ) t2
+ ) t3
+ WHERE
+ ischild != 0
+ )
+ </select>
+
+ <!--保安员统计查询-->
+ <select id="selectSecurityStatistics" resultType="org.springblade.modules.information.vo.InformationStatisticsVO">
+ SELECT
+ IFNULL( V.num, 0 ) AS num,
+ IFNULL( B.cznum, 0 ) AS cznum,
+ IFNULL( D.num, 0 ) AS wpqnum,
+ IFNULL( C.num, 0 ) AS pqnum,
+ IFNULL( H.ycaijzpnum, 0 ) AS ycjzpnum,
+ IFNULL( F.wcaijnum, 0 ) AS wcjzpnum,
+ IFNULL( I.ycaijzwnum, 0 ) AS ycjzwnum,
+ IFNULL( G.yicnum, 0 ) AS scycnum,
+ IFNULL( E.sbnum, 0 ) AS jnsbnum,
+ A.departmentid,
+ A.enterpriseName AS deptname,
+ A.stats,
+ j.dept_name AS jurname
+ FROM
+ ( SELECT jurisdiction, departmentid, enterpriseName, stats, create_time FROM sys_information WHERE stats != 1 ) A
+ LEFT JOIN (
+ SELECT
+ COUNT( * ) AS num,
+ bu.dept_id
+ FROM
+ blade_user bu
+ WHERE
+ bu.`status` = 1
+ AND bu.is_deleted = 0
+ AND bu.role_id = '1412226235153731586'
+ GROUP BY
+ bu.dept_id
+ ) V ON V.dept_id = A.departmentid
+ LEFT JOIN (
+ SELECT
+ COUNT( * ) AS cznum,
+ dept_id
+ FROM
+ blade_user
+ WHERE
+ role_id = '1412226235153731586'
+ AND STATUS = 1
+ AND is_deleted = 0
+ AND hold = 1
+ GROUP BY
+ dept_id
+ ) B ON A.departmentid = B.dept_id
+ LEFT JOIN (
+ SELECT
+ COUNT( * ) AS num,
+ bu.dept_id
+ FROM
+ blade_user bu
+ WHERE
+ bu.`status` = 1
+ AND bu.is_deleted = 0
+ AND bu.role_id = '1412226235153731586'
+ AND bu.dispatch = '0'
+ GROUP BY
+ bu.dept_id
+ ) C ON C.dept_id = A.departmentid
+ LEFT JOIN (
+ SELECT
+ COUNT( * ) AS num,
+ bu.dept_id
+ FROM
+ blade_user bu
+ WHERE
+ bu.`status` = 1
+ AND bu.is_deleted = 0
+ AND bu.role_id = '1412226235153731586'
+ AND (bu.dispatch = '1' or bu.dispatch is null or bu.dispatch = '')
+ GROUP BY
+ bu.dept_id
+ ) D ON D.dept_id = A.departmentid
+ LEFT JOIN (
+ SELECT COUNT( * ) AS sbnum,dept_id FROM
+ blade_user
+ WHERE
+ role_id = '1412226235153731586'
+ AND STATUS = 1
+ AND is_deleted = 0
+ AND soil = 0
+ GROUP BY
+ dept_id
+ ) E ON E.dept_id = A.departmentid
+ LEFT JOIN (
+ SELECT
+ COUNT( * ) AS wcaijnum,
+ dept_id
+ FROM
+ blade_user
+ WHERE
+ role_id = '1412226235153731586'
+ AND STATUS = 1
+ AND is_deleted = 0
+ AND (avatar is null or avatar = "")
+ GROUP BY
+ dept_id
+ ) F ON F.dept_id = A.departmentid
+ LEFT JOIN (
+ SELECT
+ COUNT( * ) AS ycaijzpnum,
+ dept_id
+ FROM
+ blade_user
+ WHERE
+ role_id = '1412226235153731586'
+ AND STATUS = 1
+ AND is_deleted = 0
+ AND avatar is not null and avatar!=""
+ GROUP BY
+ dept_id
+ ) H ON H.dept_id = A.departmentid
+ LEFT JOIN (
+ SELECT
+ COUNT( * ) AS ycaijzwnum,
+ dept_id
+ FROM
+ blade_user
+ WHERE
+ role_id = '1412226235153731586'
+ AND STATUS = 1
+ AND is_deleted = 0
+ AND fingerprint is not null and fingerprint!=""
+ GROUP BY
+ dept_id
+ ) I ON I.dept_id = A.departmentid
+ LEFT JOIN (
+ SELECT
+ COUNT( * ) AS yicnum,
+ dept_id
+ FROM
+ blade_user
+ WHERE
+ role_id = '1412226235153731586'
+ AND STATUS = 1
+ AND is_deleted = 0
+ AND examination_type = 1
+ GROUP BY
+ dept_id
+ ) G ON G.dept_id = A.departmentid
+ LEFT JOIN blade_dept d ON A.departmentid = d.id
+ LEFT JOIN sys_jurisdiction j ON j.id = A.jurisdiction
+ WHERE
+ 1 = 1
+ AND d.dept_category = 1
+ <if test="information.jurisdiction!=null and information.jurisdiction!='' and information.jurisdiction!='1372091709474910209'">
+ and (j.id = #{information.jurisdiction} or j.parent_id = #{information.jurisdiction})
+ </if>
+ <if test="information.deptid!=null and information.deptid!=''">
+ and A.enterpriseName like concat('%', #{information.deptid},'%')
+ </if>
+ <if test="information.stats!=null and information.stats!=''">
+ and A.stats=#{information.stats}
+ </if>
+ <if test="information.startTime!=null and information.startTime!=''">
+ and A.create_time >= #{information.startTime}
+ </if>
+ <if test="information.endTime!=null and information.endTime!=''">
+ and A.create_time <= #{information.endTime}
+ </if>
+ </select>
+
+ <!--查询当前单位是否有子级单位-->
+ <select id="getDeptChildrens" resultType="org.springblade.modules.system.entity.Dept">
+ select * from blade_dept where is_deleted = 0 and parent_id = #{param1}
+ </select>
+
+ <!--导出保安员统计查询-->
+ <select id="exportSecurityStatisInfo" resultType="org.springblade.modules.information.excel.ExportInformationSecurityStatistics">
+ SELECT
+ IFNULL( V.num, 0 ) AS num,
+ IFNULL( B.cznum, 0 ) AS cznum,
+ IFNULL( D.num, 0 ) AS wpqnum,
+ IFNULL( C.num, 0 ) AS pqnum,
+ IFNULL( H.ycaijzpnum, 0 ) AS ycjzpnum,
+ IFNULL( F.wcaijnum, 0 ) AS wcjzpnum,
+ IFNULL( I.ycaijzwnum, 0 ) AS ycjzwnum,
+ IFNULL( G.yicnum, 0 ) AS scycnum,
+ IFNULL( E.sbnum, 0 ) AS jnsbnum,
+ A.departmentid,
+ A.enterpriseName AS deptname,
+ case when A.stats=0 then '自招保安单位'
+ when A.stats=2 then '本市保安公司'
+ when A.stats=4 then '分公司'
+ else "其他" end as stats,
+ j.dept_name AS jurname
+ FROM
+ ( SELECT jurisdiction, departmentid, enterpriseName, stats, create_time FROM sys_information WHERE stats != 1 ) A
+ LEFT JOIN (
+ SELECT
+ COUNT( * ) AS num,
+ bu.dept_id
+ FROM
+ blade_user bu
+ WHERE
+ bu.`status` = 1
+ AND bu.is_deleted = 0
+ AND bu.role_id = '1412226235153731586'
+ GROUP BY
+ bu.dept_id
+ ) V ON V.dept_id = A.departmentid
+ LEFT JOIN (
+ SELECT
+ COUNT( * ) AS cznum,
+ dept_id
+ FROM
+ blade_user
+ WHERE
+ role_id = '1412226235153731586'
+ AND STATUS = 1
+ AND is_deleted = 0
+ AND hold = 1
+ GROUP BY
+ dept_id
+ ) B ON A.departmentid = B.dept_id
+ LEFT JOIN (
+ SELECT
+ COUNT( * ) AS num,
+ bu.dept_id
+ FROM
+ blade_user bu
+ WHERE
+ bu.`status` = 1
+ AND bu.is_deleted = 0
+ AND bu.role_id = '1412226235153731586'
+ AND bu.dispatch = '0'
+ GROUP BY
+ bu.dept_id
+ ) C ON C.dept_id = A.departmentid
+ LEFT JOIN (
+ SELECT
+ COUNT( * ) AS num,
+ bu.dept_id
+ FROM
+ blade_user bu
+ WHERE
+ bu.`status` = 1
+ AND bu.is_deleted = 0
+ AND bu.role_id = '1412226235153731586'
+ AND (bu.dispatch = '1' or bu.dispatch is null or dispatch='')
+ GROUP BY
+ bu.dept_id
+ ) D ON D.dept_id = A.departmentid
+ LEFT JOIN (
+ SELECT COUNT( * ) AS sbnum,dept_id FROM
+ blade_user
+ WHERE
+ role_id = '1412226235153731586'
+ AND STATUS = 1
+ AND is_deleted = 0
+ AND soil = 0
+ GROUP BY
+ dept_id
+ ) E ON E.dept_id = A.departmentid
+ LEFT JOIN (
+ SELECT
+ COUNT( * ) AS wcaijnum,
+ dept_id
+ FROM
+ blade_user
+ WHERE
+ role_id = '1412226235153731586'
+ AND STATUS = 1
+ AND is_deleted = 0
+ AND (avatar is null or avatar = "")
+ GROUP BY
+ dept_id
+ ) F ON F.dept_id = A.departmentid
+ LEFT JOIN (
+ SELECT
+ COUNT( * ) AS ycaijzpnum,
+ dept_id
+ FROM
+ blade_user
+ WHERE
+ role_id = '1412226235153731586'
+ AND STATUS = 1
+ AND is_deleted = 0
+ AND avatar is not null and avatar!=""
+ GROUP BY
+ dept_id
+ ) H ON H.dept_id = A.departmentid
+ LEFT JOIN (
+ SELECT
+ COUNT( * ) AS ycaijzwnum,
+ dept_id
+ FROM
+ blade_user
+ WHERE
+ role_id = '1412226235153731586'
+ AND STATUS = 1
+ AND is_deleted = 0
+ AND fingerprint is not null and fingerprint!=""
+ GROUP BY
+ dept_id
+ ) I ON I.dept_id = A.departmentid
+ LEFT JOIN (
+ SELECT
+ COUNT( * ) AS yicnum,
+ dept_id
+ FROM
+ blade_user
+ WHERE
+ role_id = '1412226235153731586'
+ AND STATUS = 1
+ AND is_deleted = 0
+ AND examination_type = 1
+ GROUP BY
+ dept_id
+ ) G ON G.dept_id = A.departmentid
+ LEFT JOIN blade_dept d ON A.departmentid = d.id
+ LEFT JOIN sys_jurisdiction j ON j.id = A.jurisdiction
+ WHERE
+ 1 = 1
+ AND d.dept_category = 1
+ <if test="information.jurisdiction!=null and information.jurisdiction!='' and information.jurisdiction!='1372091709474910209'">
+ and (j.id = #{information.jurisdiction} or j.parent_id = #{information.jurisdiction})
+ </if>
+ <if test="information.deptid!=null and information.deptid!=''">
+ and A.enterpriseName like concat('%', #{information.deptid},'%')
+ </if>
+ <if test="information.stats!=null and information.stats!=''">
+ and A.stats=#{information.stats}
+ </if>
+ <if test="information.startTime!=null and information.startTime!=''">
+ and A.create_time >= #{information.startTime}
+ </if>
+ <if test="information.endTime!=null and information.endTime!=''">
+ and A.create_time <= #{information.endTime}
+ </if>
+ </select>
+
+ <!--导出业务统计情况-->
+ <select id="exportBusinessStatis" resultType="org.springblade.modules.information.excel.ExportInformationExcel">
+ SELECT
+ A.enterpriseName,
+ A.departmentid,
+ case when A.stats=0 then '自招保安单位'
+ when A.stats=2 then '本市保安公司'
+ when A.stats=4 then '分公司'
+ else "其他" end as stats,
+ A.jurisdiction,
+ j.dept_name as jurname,
+ IFNULL( C.znum, 0 ) AS znum,
+ IFNULL( E.cznum, 0 ) AS cznum,
+ IFNULL( F.pqnum, 0 ) AS pqnum,
+ IFNULL( B.num, 0 ) AS fwnum,
+ IFNULL( D.dqnum, 0 ) AS dqnum
+ FROM
+ (
+ SELECT enterpriseName,jurisdiction, departmentid,stats,create_time FROM sys_information WHERE stats!=1 GROUP BY
+ enterpriseName,jurisdiction,departmentid,stats,create_time) A
+ LEFT JOIN
+ (
+ SELECT COUNT( * ) AS num, dept_id FROM sys_dispatcher_unit
+ where
+ start_time <= now() and end_time > now()
+ GROUP BY dept_id
+ ) B
+ ON A.departmentid = B.dept_id
+ LEFT JOIN
+ (
+ SELECT
+ COUNT( * ) AS znum,
+ bu.dept_id
+ FROM
+ blade_user bu
+ WHERE
+ bu.`status` = 1
+ AND bu.is_deleted = 0
+ AND bu.role_id = '1412226235153731586'
+ GROUP BY
+ bu.dept_id
+ ) C
+ ON A.departmentid = C.dept_id
+ LEFT JOIN
+ (
+ SELECT COUNT( * ) AS dqnum, dept_id FROM sys_dispatcher_unit where end_time < now() GROUP BY dept_id
+ ) D
+ ON A.departmentid = D.dept_id
+ LEFT JOIN
+ (
+ SELECT COUNT( * ) AS cznum, dept_id FROM blade_user where
+ hold = 1
+ and role_id = '1412226235153731586'
+ and status= 1
+ and is_deleted = 0
+ GROUP BY dept_id
+ ) E
+ ON A.departmentid = E.dept_id
+ LEFT JOIN
+ (
+ SELECT
+ count(*) AS pqnum,
+ dept_id
+ FROM
+ blade_user
+ where 1=1
+ and status = 1
+ and is_deleted = 0
+ and role_id = "1412226235153731586"
+ and dispatch = '0'
+ GROUP BY
+ dept_id
+ ) F
+ ON A.departmentid = F.dept_id
+ LEFT JOIN blade_dept d ON A.departmentid = d.id
+ LEFT JOIN sys_jurisdiction j ON j.id = A.jurisdiction
+ WHERE 1 =1
+ and d.dept_category = 1
+ <if test="information.jurisdiction!=null and information.jurisdiction!='' and information.jurisdiction!='1372091709474910209'">
+ and (j.id = #{information.jurisdiction} or j.parent_id = #{information.jurisdiction})
+ </if>
+ <if test="information.deptid!=null and information.deptid!=''">
+ and A.enterpriseName like concat('%', #{information.deptid},'%')
+ </if>
+ <if test="information.stats!=null and information.stats!=''">
+ and A.stats=#{information.stats}
+ </if>
+ <if test="information.startTime!=null and information.startTime!=''">
+ and A.create_time >= #{information.startTime}
+ </if>
+ <if test="information.endTime!=null and information.endTime!=''">
+ and A.create_time <= #{information.endTime}
+ </if>
+ </select>
+
+ <!--保安人员详情-->
+ <select id="selectUIn" resultType="java.util.HashMap">
+ SELECT
+ u.real_name,
+ u.securitynumber,
+ u.cardid,
+ u.phone,
+ u.hold,
+ u.soil,
+ u.photo,
+ u.examination_type,
+ u.dispatch,
+ bd.dept_name enterpriseName
+ FROM
+ blade_user u
+ LEFT JOIN blade_dept bd ON bd.id = u.dept_id
+ WHERE
+ u.role_id = '1412226235153731586'
+ AND u.is_deleted = 0
+ AND u.`status` = 1
+ and bd.is_deleted = 0
+ <if test="deptid!=null and deptid!=''">
+ and bd.id in
+ (
+ select id from blade_dept where id = #{deptid}
+ union all
+ (SELECT
+ id
+ FROM
+ (
+ SELECT
+ t1.id,t1.parent_id,t1.dept_name,
+ IF
+ ( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild
+ FROM
+ ( SELECT id, parent_id,dept_name FROM blade_dept t ORDER BY parent_id, id ) t1,
+ ( SELECT @pids := #{deptid} ) t2
+ ) t3
+ WHERE
+ ischild != 0
+ )
+ )
+ </if>
+ <if test="name!=null and name!=''">
+ and real_name like concat('%', #{name},'%')
+ </if>
+ <if test="hold!=null and hold!=''">
+ <if test="hold==0">
+ and hold=#{hold}
+ </if>
+ <if test="hold==1">
+ and hold=#{hold}
+ </if>
+ </if>
+ <if test="photo!=null and photo!=''">
+ <if test="photo==0">
+ AND avatar is not null and avatar!=""
+ </if>
+ <if test="photo==1">
+ AND (avatar is null or avatar = "")
+ </if>
+ </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>
+
+ <!--查询学历统计信息-->
+ <select id="getEducationStatistics" resultType="java.util.HashMap">
+ SELECT
+ ifnull(b.num,0) value,a.dict_value name
+ FROM
+ ( SELECT dict_key, dict_value FROM blade_dict_biz WHERE CODE = "educationType" AND parent_id = 1442114073897521153 ) a
+ LEFT JOIN (
+ SELECT
+ count( * ) num,
+ education
+ FROM
+ blade_user bu
+ left join blade_dept bd on bu.dept_id = bd.id
+ left join sys_information si on si.departmentid = bd.id
+ left join sys_jurisdiction sj on sj.id = si.jurisdiction
+ where 1=1
+ and bu.role_id = 1412226235153731586
+ and bu.status = 1
+ and bu.is_deleted = 0
+ <if test="jurisdiction!=null and jurisdiction != '' and jurisdiction!='1372091709474910209'">
+ and (sj.id = #{jurisdiction} or sj.parent_id = #{jurisdiction})
+ </if>
+ <if test="deptId!=null and deptId != ''">
+ and bu.dept_id = #{deptId}
+ </if>
+ GROUP BY
+ education ) b ON a.dict_key = b.education
+ </select>
+
+ <!--更具部门id 查询所有的父级部门id包含本身-->
+ <select id="getDeptDetails" resultType="java.lang.String">
+ SELECT
+ T1._id
+ FROM
+ (
+ SELECT
+ @r AS _id,
+ ( SELECT @r := parent_id FROM blade_dept WHERE id = _id ) AS parent_id,
+ @l := @l + 1 AS lvl
+ FROM
+ ( SELECT @r := #{information.departmentid}, @l := 0 ) vars,
+ blade_dept h
+ ) T1
+ where T1._id!=0
+ AND T1._id != 1413470343230877697
+ AND T1._id != 1418458374477549569
+ AND T1._id != 1420222768149966850
+ AND T1._id != 1425366663452196865
+ order by T1._id
+ </select>
+
+ <!--根据部门id 查询公司信息-->
+ <select id="getInformationDetails" resultType="org.springblade.modules.information.vo.InformationVO">
+ select si.*,sj.dept_name jurisdictionName from sys_information si
+ left join sys_jurisdiction sj on sj.id = si.jurisdiction
+ where si.departmentid = #{deptId}
+ </select>
+
</mapper>
--
Gitblit v1.9.3