<?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
|
( role_id = '1412226235153731586' OR role_id = '1416733602219110402' ) 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
|
( role_id = '1412226235153731586' OR role_id = '1416733602219110402' ) 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 role_id = '1412226235153731586' AND
|
status=1 AND dispatch=0 GROUP BY dept_id ) C ON C.dept_id = i.departmentid
|
where 1=1
|
<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}
|
</if>
|
<if test="information.jurisdiction!=null and information.jurisdiction!='' and information.jurisdiction!='1123598813738675201'">
|
and i.jurisdiction=#{information.jurisdiction}
|
</if>
|
<if test="information.departmentid!=null and information.departmentid!=''">
|
and i.departmentid=#{information.departmentid}
|
</if>
|
</select>
|
|
<delete id="deleteIn">
|
delete
|
from sys_information
|
where creditCode = #{creditcode}
|
</delete>
|
<delete id="deleteSh">
|
delete
|
from sys_shareholder
|
where creditCode = #{creditcode}
|
</delete>
|
<delete id="deleteMe">
|
delete
|
from sys_member
|
where creditCode = #{creditcode}
|
</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">
|
delete
|
from blade_dept
|
where id = #{departmentid}
|
</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 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 or u.examination_type is null ) 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
|
<if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
|
and H.jurisdiction = #{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
|
where 1=1
|
<if test="deptid!=null and deptid!=''">
|
and H.departmentid = #{deptid}
|
</if>
|
<if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
|
and H.jurisdiction = #{jurisdiction}
|
</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 where 1=1
|
<if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
|
and H.jurisdiction = #{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.numz, 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
|
GROUP BY dept_id) A ON A.dept_id = H.departmentid
|
LEFT JOIN (SELECT COUNT(*) AS numz, dept_id FROM blade_user WHERE `status` = 1 AND is_deleted = 0 GROUP BY
|
dept_id) B
|
ON H.departmentid = B.dept_id where 1=1
|
<if test="deptid!=null and deptid!=''">
|
and H.departmentid = #{deptid}
|
</if>
|
<if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
|
and H.jurisdiction = #{jurisdiction}
|
</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 bd.dept_category = 3
|
<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
|
start_time,
|
end_time
|
FROM
|
`sys_dispatcher_unit`
|
WHERE YEAR (end_time) >='2021'
|
<if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
|
and jurisdiction =#{jurisdiction}
|
</if>
|
<if test="deptid!=null and deptid!=''">
|
and dept_id =#{deptid}
|
</if>
|
</select>
|
</mapper>
|