qa-prevention-gwj/src/main/resources/mybatis/datasource/bimap/BiMapMapper.xml

320 lines
12 KiB
XML
Raw Normal View History

<?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="com.zcloud.mapper.datasource.bimap.BiMapMapper">
<select id="getCarRecordslistPage" resultType="com.zcloud.entity.PageData">
SELECT LICENSE_PLATE,
STATE,
COMING_REASON,
CASE
STATE
WHEN 4 THEN
TIME_IN
WHEN 5 THEN
TIME_OUT
END TIME
from bus_foreigncar
where STATE in (4, 5) AND ISDELETE = 0 <if test="pd.AREA != null and pd.AREA != ''">
and CORPINFO_ID in (select CORPINFO_ID from bus_corp_info where AREA = #{pd.AREA} and ISDELETE = 0)
</if>
<if test="pd.CORPINFO_ID != null and pd.CORPINFO_ID != ''">
and CORPINFO_ID = #{pd.CORPINFO_ID}
</if>
ORDER BY TIME DESC
</select>
<!-- 统计今日临时人员检测
* 提交申请数[COUNTAPPLY],门卫确认进入数[COUNTIN],现场车辆数[COUNTSITE]
* 审核通过数[COUNPASS],门卫确认离开数[COUNTOUT],入场车辆比例[INRATIO]
* 审核未通过数[COUNREFUSE] -->
<select id="statisticsOutsiderCount" parameterType="pd" resultType="pd">
SELECT F.*,
(f.COUNTIN - f.COUNTOUT) COUNTSITE,
IF(ISNULL(f.COUNTIN / f.COUNTAPPLY), 0, ROUND(f.COUNTIN / f.COUNTAPPLY * 100, 2)) INRATIO
FROM (SELECT COUNT(case when f.STATE != '0' then f.OUTSIDERS_ID END) COUNTAPPLY,
COUNT(case when f.TIME_IN IS NOT NULL then f.OUTSIDERS_ID END) COUNTIN,
COUNT(case when f.TIME_OUT IS NOT NULL then f.OUTSIDERS_ID END) COUNTOUT,
COUNT(case when f.STATE IN ('3', '4', '5', '7', '8') then f.OUTSIDERS_ID END) COUNPASS,
COUNT(case when f.STATE = '6' then f.OUTSIDERS_ID END) COUNREFUSE
FROM bus_outsiders f
WHERE f.ISDELETE = 0
AND f.CREATTIME >= CONCAT_WS(" ", DATE_FORMAT(CURDATE(), '%Y-%m-%d'), '00:00:00')) f
</select>
<!-- 统计今日临时车辆-->
<!-- 统计今日人员刷卡数据(今日进入[COUNTUSERIN],今日离场[COUNTUSEROUT],现场人数[COUNTUSER],入场刷卡数[COUNTCARDIN],出场刷卡数[COUNTCARDOUT] -->
<select id="statisticsCardUserCount" parameterType="pd" resultType="pd">
SELECT f.*, (COUNTUSERIN - COUNTUSEROUT) COUNTUSER
FROM (SELECT COUNT(DISTINCT (case when f.STATE = 0 then f.USERID END)) COUNTUSERIN,
COUNT(DISTINCT (case when f.STATE = 1 then f.USERID END)) COUNTUSEROUT,
COUNT(case when f.STATE = 0 then f.CARDID END) COUNTCARDIN,
COUNT(case when f.STATE = 1 then f.CARDID END) COUNTCARDOUT
FROM bus_carduser f
WHERE f.`TIME` >= CONCAT_WS(" ", DATE_FORMAT(CURDATE(), '%Y-%m-%d'), '00:00:00')) f
</select>
<!-- 统计今日车辆-->
<select id="getCorpinfoIds" parameterType="string" resultType="string">
SELECT CORPINFO_ID FROM bus_corp_info WHERE ISDELETE = '0' AND AREA IN
<foreach item="item" index="index" collection="array" open="(" separator="," close=")">
#{item}
</foreach>
</select>
<select id="getPeopleRecordslistPage" resultType="com.zcloud.entity.PageData">
select
CARDID,
CARDNUMBER,
USERID,
USERNAME,
USERNUMBER,
USERDEPARTMENTNAME,
CARDTYPE,
EQUIPMENTNAME,
EQUIPMENTID,
TIME,
STATE
from
BUS_CARDUSER f
where 1 = 1
<if test="pd.AREA != null and pd.AREA != ''">
and f.CORPINFO_ID in (select CORPINFO_ID from bus_corp_info where AREA = #{pd.AREA} and ISDELETE = 0)
</if>
<if test="pd.CORPINFO_ID != null and pd.CORPINFO_ID != ''">
and f.CORPINFO_ID = #{pd.CORPINFO_ID}
</if>
<if test="pd.USERNAME != null and pd.USERNAME != ''"><!-- 关键词检索 -->
and f.USERNAME LIKE CONCAT(CONCAT('%', #{pd.USERNAME}),'%')
</if>
<if test="pd.STARTTIME != null and pd.STARTTIME != ''"><!-- 关键词检索 -->
and f.TIME <![CDATA[ >= ]]> CONCAT_WS(' ',#{pd.STARTTIME}, '00:00')
</if>
<if test="pd.ENDTIME != null and pd.ENDTIME != ''"><!-- 关键词检索 -->
and f.TIME <![CDATA[ <= ]]> CONCAT_WS(' ',#{pd.ENDTIME}, '23:59')
</if>
<if test="pd.STATE != null and pd.STATE != ''"><!-- 关键词检索 -->
and f.STATE = #{pd.STATE}
</if>
ORDER BY f.`TIME` DESC
</select>
<select id="getRiskIdentificationCount" resultType="com.zcloud.entity.PageData">
SELECT *
FROM (
(SELECT COUNT(r.RISKUNIT_ID) '0'
FROM bus_riskunit r
WHERE r.ISDELETE = '0'
AND r.CORPINFO_ID = #{CORPINFO_ID}) t1,
(
SELECT
COUNT( i.IDENTIFICATIONPARTS_ID ) '1'
FROM
bus_identificationparts i
WHERE
i.ISDELETE = '0'
AND i.CORPINFO_ID = #{CORPINFO_ID}
) t2,
( SELECT COUNT( 1 ) '2' FROM bus_riskpoint r WHERE r.ISDELETE = '0' AND r.CORPINFO_ID = #{CORPINFO_ID} )
t3
)
</select>
<!-- 列表 -->
<select id="listbymeteorological" parameterType="pd" resultType="pd">
SELECT
m.CORPINFO_ID,
f.TEMPERATURE,
f.HUMIDITY,
f.WINDDIRECTION,
f.WINDSPEED,
f.ISDELETE,
f.OPERATTIME,
f.METEOROLOGICAL_ID,
f.METEOROLOGICALINFO_ID,
f.OPERATOR,
f.CODE,
sd.NAME as NAME,
m.EQUIPMENTNAME
FROM
`qa-czks-regulatory`.BUS_METEOROLOGICALINFO f
LEFT JOIN `qa-czks-regulatory`.bus_meteorological m ON m.CODE = f.CODE
LEFT JOIN sys_dictionaries sd on sd.DICTIONARIES_ID = m.EQUIPMENTTYPE
WHERE 1=1
<if test="CORPINFO_ID != null and CORPINFO_ID != ''"><!-- 关键词检索 -->
and m.CORPINFO_ID = #{CORPINFO_ID}
</if>
<if test="TYPE != null and TYPE != ''"><!-- 关键词检索 -->
and m.EQUIPMENTTYPE = #{TYPE}
</if>
<if test="id != null and id != ''"><!-- 关键词检索 -->
and m.METEOROLOGICAL_ID = #{id}
</if>
ORDER BY
f.OPERATTIME DESC
LIMIT 1
</select>
<select id="getPersonPositioningCount" resultType="com.zcloud.entity.PageData">
SELECT *
FROM (
(SELECT COUNT(u.USER_ID) '0'
FROM sys_user u
WHERE u.ISDELETE = '0'
AND u.CORPINFO_ID = #{CORPINFO_ID}) t1,
(
SELECT
COUNT( o.DEPARTMENT_ID ) '1'
FROM
oa_department o
WHERE
o.CORPINFO_ID = #{CORPINFO_ID}
) t2,
( SELECT 0 '2' )
t3
)
</select>
<select id="getRiskIndex" resultType="com.zcloud.entity.PageData">
SELECT
IFNULL( COUNT( 1 ), 0 ) COUNT,
'levelA' TYPE,
'重大风险区域数' label
FROM
bus_riskpoint p
LEFT JOIN bus_corp_info ci ON p.CORPINFO_ID = ci.CORPINFO_ID
LEFT JOIN sys_dictionaries d ON p.LEVELID = d.BIANMA
WHERE
p.ISDELETE = 0
AND p.LEVELID = 'levelA'
AND ci.AREA IS NOT NULL
AND ci.AREA != ''
<if test="AREA != null and AREA != ''">
AND ci.AREA = #{AREA}
</if>
UNION ALL
SELECT
IFNULL( COUNT( 1 ), 0 ) COUNT,
'levelB' TYPE,
'较大风险区域数' label
FROM
bus_riskpoint p
LEFT JOIN bus_corp_info ci ON p.CORPINFO_ID = ci.CORPINFO_ID
LEFT JOIN sys_dictionaries d ON p.LEVELID = d.BIANMA
WHERE
p.ISDELETE = 0
AND p.LEVELID = 'levelB'
AND ci.AREA IS NOT NULL
AND ci.AREA != ''
<if test="AREA != null and AREA != ''">
AND ci.AREA = #{AREA}
</if>
UNION ALL
SELECT
IFNULL( COUNT( 1 ), 0 ) COUNT,
'levelC' TYPE,
'一般风险区域数' label
FROM
bus_riskpoint p
LEFT JOIN bus_corp_info ci ON p.CORPINFO_ID = ci.CORPINFO_ID
LEFT JOIN sys_dictionaries d ON p.LEVELID = d.BIANMA
WHERE
p.ISDELETE = 0
AND p.LEVELID = 'levelC'
AND ci.AREA IS NOT NULL
AND ci.AREA != ''
<if test="AREA != null and AREA != ''">
AND ci.AREA = #{AREA}
</if>
UNION ALL
SELECT
IFNULL( COUNT( 1 ), 0 ) COUNT,
'levelD' TYPE,
'低风险性区域数' label
FROM
bus_riskpoint p
LEFT JOIN bus_corp_info ci ON p.CORPINFO_ID = ci.CORPINFO_ID
LEFT JOIN sys_dictionaries d ON p.LEVELID = d.BIANMA
WHERE
p.ISDELETE = 0
AND p.LEVELID = 'levelD'
AND ci.AREA IS NOT NULL
AND ci.AREA != ''
<if test="AREA != null and AREA != ''">
AND ci.AREA = #{AREA}
</if>
</select>
<select id="inAndoutPeoCarToday" resultType="com.zcloud.entity.PageData">
SELECT
IFNULL( COUNT( 1 ), 0 ) count,
'今日出港人员数' label,
'PERSON_OUT' TYPE
FROM
bus_carduser c
WHERE
c.TIME BETWEEN CONCAT( DATE_FORMAT( now(), '%Y-%m-%d' ), ' 00:00:00' )
AND CONCAT( DATE_FORMAT( now(), '%Y-%m-%d' ), ' 23:59:59' )
<if test="AREA != null and AREA != ''">
and CORPINFO_ID in (select CORPINFO_ID from bus_corp_info where AREA = #{AREA} and ISDELETE = 0)
</if>
<if test="CORPINFO_ID != null and CORPINFO_ID != ''">
and CORPINFO_ID = #{CORPINFO_ID}
</if>
AND c.STATE = 1 UNION ALL
SELECT
IFNULL( COUNT( 1 ), 0 ) count,
'今日进港人员数' label,
'PERSON_IN' TYPE
FROM
bus_carduser c
WHERE
c.TIME BETWEEN CONCAT( DATE_FORMAT( now(), '%Y-%m-%d' ), ' 00:00:00' )
AND CONCAT( DATE_FORMAT( now(), '%Y-%m-%d' ), ' 23:59:59' )
<if test="AREA != null and AREA != ''">
and CORPINFO_ID in (select CORPINFO_ID from bus_corp_info where AREA = #{AREA} and ISDELETE = 0)
</if>
<if test="CORPINFO_ID != null and CORPINFO_ID != ''">
and CORPINFO_ID = #{CORPINFO_ID}
</if>
AND c.STATE = 0 UNION ALL
SELECT
IFNULL( COUNT( 1 ), 0 ) count,
'今日进港车辆数' label,
'CAR_IN' TYPE
FROM
bus_foreigncar c
WHERE
c.TIME_IN BETWEEN CONCAT( DATE_FORMAT( now(), '%Y-%m-%d' ), ' 00:00:00' )
AND CONCAT( DATE_FORMAT( now(), '%Y-%m-%d' ), ' 23:59:59' )
<if test="AREA != null and AREA != ''">
and CORPINFO_ID in (select CORPINFO_ID from bus_corp_info where AREA = #{AREA} and ISDELETE = 0)
</if>
<if test="CORPINFO_ID != null and CORPINFO_ID != ''">
and CORPINFO_ID = #{CORPINFO_ID}
</if>
UNION ALL
SELECT
IFNULL( COUNT( 1 ), 0 ) count,
'今日出港车辆数' label,
'CAR_OUT' TYPE
FROM
bus_foreigncar c
WHERE
c.TIME_OUT BETWEEN CONCAT( DATE_FORMAT( now(), '%Y-%m-%d' ), ' 00:00:00' )
AND CONCAT(
DATE_FORMAT( now(), '%Y-%m-%d' ),
' 23:59:59'
)
<if test="AREA != null and AREA != ''">
and CORPINFO_ID in (select CORPINFO_ID from bus_corp_info where AREA = #{AREA} and ISDELETE = 0)
</if>
<if test="CORPINFO_ID != null and CORPINFO_ID != ''">
and CORPINFO_ID = #{CORPINFO_ID}
</if>
</select>
</mapper>