<?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>