320 lines
12 KiB
XML
320 lines
12 KiB
XML
|
<?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>
|