<?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.vo.InformationVO">
|
<id column="id" property="id"/>
|
<result column="creditCode" property="creditcode"/>
|
<result column="enterpriseName" property="enterprisename"/>
|
<result column="representative" property="representative"/>
|
<result column="regstsat" property="regstsat"/>
|
<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"/>
|
<result column="business_License" property="businessLicense"/>
|
<result column="licence" property="licence"/>
|
<result column="znum" property="znum"/>
|
<result column="cnum" property="cnum"/>
|
<result column="pnum" property="pnum"/>
|
<result column="fregion" property="fregion"/>
|
<result column="ftime" property="ftime"/>
|
</resultMap>
|
|
|
<insert id="insertIn" useGeneratedKeys="true" keyProperty="id">
|
insert into sys_information(creditcode, enterprisename, representative, establishtime, registeredcapital,
|
organizationcode, registrationnumber, identificationnumber, enterprises, address,
|
business, region, registration, industry, departmentid, stats, jurisdiction,
|
representativecell, contacts, contactscell)
|
values (#{information.creditcode}, #{information.enterprisename}, #{information.representative},
|
#{information.establishtime}, #{information.registeredcapital},
|
#{information.organizationcode}, #{information.registrationnumber},
|
#{information.identificationnumber}, #{information.enterprises}, #{information.address},
|
#{information.business},
|
#{information.region}, #{information.registration}, #{information.industry},
|
#{information.departmentid}, #{information.stats}, #{information.jurisdiction},
|
#{information.representativecell}, #{information.contacts}, #{information.contactscell})
|
</insert>
|
|
|
<select id="selectInformationPage" resultMap="informationResultMap">
|
SELECT
|
i.*,
|
IFNULL(A.znum ,0) as znum,
|
IFNULL(B.cnum ,0) as cnum,
|
IFNULL(C.pnum ,0) as pnum
|
FROM
|
sys_information i
|
LEFT JOIN
|
(
|
SELECT COUNT( * ) AS znum, dept_id FROM blade_user
|
WHERE 1=1
|
and role_id = '1412226235153731586'
|
and is_deleted = 0
|
AND status=1
|
GROUP BY dept_id
|
) A
|
ON A.dept_id = i.departmentid
|
LEFT JOIN
|
(
|
SELECT COUNT( * ) AS cnum, dept_id FROM blade_user
|
WHERE 1=1
|
and role_id = '1412226235153731586'
|
and is_deleted = 0
|
AND status=1
|
AND hold=1
|
GROUP BY dept_id
|
) B
|
ON B.dept_id = i.departmentid
|
LEFT JOIN
|
(
|
SELECT COUNT( * ) AS pnum, dept_id FROM blade_user
|
WHERE 1=1
|
and is_deleted = 0
|
and role_id = '1412226235153731586'
|
AND status=1
|
AND dispatch='0'
|
GROUP BY dept_id
|
) C
|
ON C.dept_id = i.departmentid
|
left join
|
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})
|
</if>
|
<if test="information.enterprisename!=null and information.enterprisename!=''">
|
and i.enterpriseName like concat(concat('%', #{information.enterprisename}),'%')
|
</if>
|
<if test="information.representative!=null and information.representative!=''">
|
and i.representative like concat(concat('%', #{information.representative}),'%')
|
</if>
|
<if test="information.stats!=null and 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 departmentid = #{departmentid}
|
</delete>
|
<delete id="deleteSh">
|
delete
|
from sys_shareholder
|
where dept_id = #{deptId}
|
</delete>
|
<delete id="deleteMe">
|
delete
|
from sys_member
|
where dept_id = #{deptId}
|
</delete>
|
|
<select id="selectCount" resultType="java.util.HashMap">
|
SELECT isnull(B.confess, 0) AS confess,
|
isnull(C.staff, 0) AS staff,
|
isnull(D.security, 0) AS security,
|
isnull(E.armed, 0) AS armed
|
FROM (SELECT jurisdiction FROM sys_information GROUP BY jurisdiction) A
|
FULL JOIN (SELECT COUNT(stats) AS confess, jurisdiction
|
FROM sys_information
|
WHERE stats = 0
|
GROUP BY jurisdiction) B ON A.jurisdiction = B.jurisdiction
|
FULL JOIN (SELECT COUNT(stats) AS staff, jurisdiction
|
FROM sys_information
|
WHERE stats = 1
|
GROUP BY jurisdiction) C ON A.jurisdiction = C.jurisdiction
|
FULL JOIN (SELECT COUNT(stats) AS security, jurisdiction
|
FROM sys_information
|
WHERE stats = 2
|
GROUP BY jurisdiction) D ON A.jurisdiction = D.jurisdiction
|
FULL JOIN (SELECT COUNT(stats) AS armed, jurisdiction
|
FROM sys_information
|
WHERE stats = 3
|
GROUP BY jurisdiction) E ON A.jurisdiction = E.jurisdiction
|
WHERE A.jurisdiction = #{departmentid}
|
</select>
|
|
<select id="selectInCount" resultType="java.util.HashMap">
|
SELECT COUNT(u.dept_id) AS number, d.dept_name
|
FROM blade_user u
|
LEFT JOIN blade_dept d ON d.id = u.dept_id
|
WHERE u.hold = 1
|
GROUP BY u.dept_id, d.dept_name
|
</select>
|
|
<delete id="deleteDept">
|
update blade_dept set is_deleted = 1
|
where id = #{id}
|
</delete>
|
|
<!--资格审查异常数量-->
|
<select id="selectExtype" resultType="java.util.HashMap">
|
SELECT
|
IFNULL( A.num, 0 ) AS zc,
|
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
|
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
|
u.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>
|
</select>
|
|
|
<!--保安员持证和未持证数量-->
|
<select id="selectHold" resultType="java.util.HashMap">
|
SELECT
|
IFNULL( A.thisnum, 0 ) AS cz,
|
IFNULL( B.lastnum, 0 ) AS wcz
|
FROM
|
(
|
SELECT departmentid,jurisdiction FROM sys_information GROUP BY departmentid,jurisdiction
|
) H
|
LEFT JOIN
|
(
|
SELECT
|
COUNT( * ) AS thisnum,
|
dept_id
|
FROM
|
blade_user
|
WHERE
|
role_id = '1412226235153731586'
|
AND `status` = 1
|
AND is_deleted = 0
|
AND hold = 1
|
GROUP BY
|
dept_id
|
) A
|
ON A.dept_id=H.departmentid
|
LEFT JOIN
|
(
|
SELECT
|
COUNT(*) AS lastnum,
|
dept_id
|
FROM
|
blade_user
|
WHERE
|
role_id = '1412226235153731586'
|
AND `status` = 1
|
AND is_deleted = 0
|
AND hold = 2
|
GROUP BY
|
dept_id
|
) 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>
|
</select>
|
<!--派遣服务单位统计-->
|
<select id="selectDis" resultType="java.util.HashMap">
|
SELECT u.name,
|
COUNT(dispatcher_unit_id) AS num
|
FROM sys_dispatcher d
|
LEFT JOIN sys_dispatcher_unit u ON d.dispatcher_unit_id = u.id
|
WHERE d.dept_id = #{deptid}
|
GROUP BY u.name
|
</select>
|
|
<select id="selectDisp" resultType="java.util.HashMap">
|
SELECT
|
IFNULL( A.thisnum, 0 ) AS pnum,
|
IFNULL( B.lastnum, 0 ) AS wpnum
|
FROM
|
( SELECT departmentid, jurisdiction FROM sys_information GROUP BY departmentid, jurisdiction ) H
|
LEFT JOIN (
|
SELECT
|
COUNT( * ) AS thisnum,
|
dept_id
|
FROM
|
blade_user
|
WHERE
|
role_id = '1412226235153731586'
|
and `status` = 1
|
AND is_deleted = 0
|
AND dispatch = 0
|
GROUP BY
|
dept_id
|
) A
|
ON A.dept_id = H.departmentid
|
LEFT JOIN (
|
SELECT
|
COUNT( * ) AS lastnum,
|
dept_id
|
FROM
|
blade_user
|
WHERE
|
role_id = '1412226235153731586'
|
and `status` = 1
|
AND is_deleted = 0
|
AND dispatch = 1
|
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>
|
</select>
|
|
<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 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
|
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>
|
</select>
|
|
<!--查询培训单位信息(可以报名)-->
|
<select id="securityPage" resultType="org.springblade.modules.information.vo.InformationVO">
|
select
|
si.*,bd.dept_name deptName
|
from
|
sys_information si
|
left join
|
blade_dept bd
|
on
|
si.departmentid = bd.id
|
where 1=1
|
and si.stats = 1
|
<if test="information.deptName!=null and information.deptName!=''">
|
and bd.dept_name like concat(concat('%', #{information.deptName}),'%')
|
</if>
|
<if test="information.representative!=null and information.representative!=''">
|
and representative like concat(concat('%', #{information.representative}),'%')
|
</if>
|
<if test="information.jurisdiction!=null and information.jurisdiction!=''">
|
and si.jurisdiction=#{jurisdiction}
|
</if>
|
<if test="information.departmentid!=null and information.departmentid!=''">
|
and departmentid=#{departmentid}
|
</if>
|
</select>
|
|
<!--查询本年所有月份h合同开始时间的客户数量-->
|
<select id="queryYearKh" resultType="java.util.HashMap">
|
SELECT
|
sdu.start_time,
|
sdu.end_time
|
FROM
|
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 (sj.id = #{jurisdiction} or sj.parent_id = #{jurisdiction})
|
</if>
|
<if test="deptid!=null and 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>
|