MonitorInfoMapper.xml 16.3 KB
<?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.ruoyi.web.controller.business.mapper.MonitorInfoMapper">

    <resultMap type="MonitorInfo" id="MonitorInfoResult">
        <result property="id"    column="id"    />
        <result property="storageTime"    column="storageTime"    />
        <result property="lastUpdataTime"    column="lastUpdataTime"    />
        <result property="deleteState"    column="deleteState"    />
        <result property="operator"    column="operator"    />
        <result property="type"    column="type"    />
        <result property="companyName"    column="companyName"    />
        <result property="data"    column="data"    />
    </resultMap>


    <resultMap type="UserMonitorInfo" id="UserMonitorInfoResult">
        <result property="id"    column="id"    />
        <result property="userId"    column="userId"    />
        <result property="warningLevel"    column="warningLevel"    />
        <result property="storageTime"    column="storageTime"    />
        <result property="lastUpdataTime"    column="lastUpdataTime"    />
        <result property="deleteState"    column="deleteState"    />
        <result property="operator"    column="operator"    />
        <result property="type"    column="type"    />
        <result property="companyName"    column="companyName"    />
        <result property="data"    column="data"    />
    </resultMap>

    <resultMap type="MonitorInfoNum" id="MonitorInfoNumResult">
        <result property="warningLevel"    column="warningLevel"    />
        <result property="monitor_col"    column="monitor_col"    />
        <result property="companyName"    column="companyName"    />
    </resultMap>



    <sql id="selectMonitorInfoVo">
        select id, storageTime, lastUpdataTime, deleteState, operator, type, companyName, data from monitor_info
    </sql>
	
    <select id="selectMonitorInfoList" parameterType="MonitorInfo" resultMap="MonitorInfoResult">
        <include refid="selectMonitorInfoVo"/>
        <where>  
            <if test="id != null  and id != '' "> and id = #{id}</if>
            <if test="storageTime != null "> and storageTime = #{storageTime}</if>
            <if test="lastUpdataTime != null "> and lastUpdataTime = #{lastUpdataTime}</if>
            <if test="deleteState != null  and deleteState != '' "> and deleteState = #{deleteState}</if>
            <if test="operator != null  and operator != '' "> and operator = #{operator}</if>
            <if test="type != null  and type != '' "> and type = #{type}</if>
            <if test="companyName != null  and companyName != '' "> and companyName = #{companyName}</if>
            <if test="data != null  and data != '' "> and data = #{data}</if>
        </where>
    </select>

    <select id="selectUserMonitorInfoList" parameterType="UserMonitorInfo" resultMap="UserMonitorInfoResult">
       select * from monitor_info
        <where>
            <if test="id != null  and id != '' "> and id = #{id}</if>
            <if test="userId != null  and userId != '' "> and userId = #{userId}</if>
            <if test="warningLevel != null  and warningLevel != '' "> and warningLevel = #{warningLevel}</if>
            <if test="storageTime != null "> and storageTime = #{storageTime}</if>
            <if test="lastUpdataTime != null "> and lastUpdataTime = #{lastUpdataTime}</if>
            <if test="deleteState != null  and deleteState != '' "> and deleteState = #{deleteState}</if>
            <if test="operator != null  and operator != '' "> and operator = #{operator}</if>
            <if test="type != null  and type != '' "> and type = #{type}</if>
            <if test="companyName != null  and companyName != '' "> and companyName = #{companyName}</if>
            <if test="data != null  and data != '' "> and data = #{data}</if>
        </where>
    </select>

    <select id="selectUserMonitorInfo" parameterType="String" resultMap="UserMonitorInfoResult">
        select * from monitor_info where id=#{id} and userId=#{userId}
    </select>

    <delete id="delUserMonitorInfo" parameterType="String">
        delete from monitor_info where id=#{id} and userId=#{userId}
    </delete>
    
    <select id="selectMonitorInfoById" parameterType="String" resultMap="MonitorInfoResult">
        <include refid="selectMonitorInfoVo"/>
        where id = #{id}
    </select>
        
    <insert id="insertMonitorInfo" parameterType="MonitorInfo">
        insert into monitor_info
		<trim prefix="(" suffix=")" suffixOverrides=",">
			<if test="id != null   ">id,</if>
			<if test="storageTime != null  ">storageTime,</if>
			<if test="lastUpdataTime != null  ">lastUpdataTime,</if>
			<if test="deleteState != null  and deleteState != ''  ">deleteState,</if>
			<if test="operator != null  and operator != ''  ">operator,</if>
			<if test="type != null  and type != ''  ">type,</if>
			<if test="companyName != null  and companyName != ''  ">companyName,</if>
			<if test="data != null  and data != ''  ">data,</if>
         </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
			<if test="id != null   ">#{id},</if>
			<if test="storageTime != null  ">#{storageTime},</if>
			<if test="lastUpdataTime != null  ">#{lastUpdataTime},</if>
			<if test="deleteState != null  and deleteState != ''  ">#{deleteState},</if>
			<if test="operator != null  and operator != ''  ">#{operator},</if>
			<if test="type != null  and type != ''  ">#{type},</if>
			<if test="companyName != null  and companyName != ''  ">#{companyName},</if>
         </trim>
    </insert>

    <insert id="insertUserMonitorInfo" parameterType="UserMonitorInfo">
        insert into monitor_info
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="id != null   ">id,</if>
            <if test="userId != null  and userId != ''  ">userId,</if>
            <if test="warningLevel != null  and warningLevel != ''  ">warningLevel,</if>
            <if test="warningValue != null  and warningValue != ''  ">warningValue,</if>
            <if test="storageTime != null  ">storageTime,</if>
            <if test="lastUpdataTime != null  ">lastUpdataTime,</if>
            <if test="deleteState != null  and deleteState != ''  ">deleteState,</if>
            <if test="operator != null  and operator != ''  ">operator,</if>
            <if test="type != null  and type != ''  ">type,</if>
            <if test="companyName != null  and companyName != ''  ">companyName,</if>
            <if test="data != null  and data != ''  ">data,</if>
        </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="id != null   ">#{id},</if>
            <if test="userId != null  and userId != ''  ">#{userId},</if>
            <if test="warningLevel != null  and warningLevel != ''  ">#{warningLevel},</if>
            <if test="warningValue != null  and warningValue != ''  ">#{warningValue},</if>
            <if test="storageTime != null  ">#{storageTime},</if>
            <if test="lastUpdataTime != null  ">#{lastUpdataTime},</if>
            <if test="deleteState != null  and deleteState != ''  ">#{deleteState},</if>
            <if test="operator != null  and operator != ''  ">#{operator},</if>
            <if test="type != null  and type != ''  ">#{type},</if>
            <if test="companyName != null  and companyName != ''  ">#{companyName},</if>
            <if test="data != null  and data != ''  ">#{data},</if>
        </trim>
    </insert>

    <insert id="insertMonitorInfoList">
        insert into monitor_info_tyc (
        id,
        storageTime,
        lastUpdataTime,
        deleteState,
        operator,
        type,
        companyName,
        data
        )
        values
        <foreach collection="list" item="item" index="index" separator=", ">(
            (select concat('monitor_info_',replace(uuid(),'-','')) id),
            #{item.storageTime},
            #{item.lastUpdataTime},
            #{item.deleteState},
            #{item.operator},
            #{item.type},
            #{item.companyName},
            #{item.data}
            )
        </foreach>
    </insert>

    <update id="updateMonitorInfo" parameterType="MonitorInfo">
        update monitor_info
        <trim prefix="SET" suffixOverrides=",">
            <if test="storageTime != null  ">storageTime = #{storageTime},</if>
            <if test="lastUpdataTime != null  ">lastUpdataTime = #{lastUpdataTime},</if>
            <if test="deleteState != null  and deleteState != ''  ">deleteState = #{deleteState},</if>
            <if test="operator != null  and operator != ''  ">operator = #{operator},</if>
            <if test="type != null  and type != ''  ">type = #{type},</if>
            <if test="companyName != null  and companyName != ''  ">companyName = #{companyName},</if>
            <if test="data != null  and data != ''  ">data = #{data},</if>
        </trim>
        where id = #{id}
    </update>

	<delete id="deleteMonitorInfoById" parameterType="String">
        delete from monitor_info where id = #{id}
    </delete>
	
    <delete id="deleteMonitorInfoByIds" parameterType="String">
        delete from monitor_info where id in 
        <foreach item="id" collection="array" open="(" separator="," close=")">
            #{id}
        </foreach>
    </delete>

    <select id="getMailContent" parameterType="MonitorInfo" resultMap="MonitorInfoResult">
        SELECT
        *
        FROM
        monitor_info a
        JOIN monitor_type b ON a.type = b.type
        join monitor_list c on a.companyName = c.enterpriseName
        WHERE
        a.type!='3001' and
        a.storageTime &gt;= #{storageTime} and a.storageTime &lt; #{createTime} and c.platform=#{platform}
        union all

        SELECT
        *
        FROM
        monitor_info a
        JOIN monitor_type b ON a.type = b.type
        join monitor_list c on a.companyName = c.enterpriseName
        WHERE
        a.type='3001'  and a.data like '%"emotion":-1%'
        and a.storageTime &gt;= #{storageTime} and a.storageTime &lt; #{createTime} and c.platform=#{platform}
    </select>

    <select id="getMailContentMail1" parameterType="MonitorInfo" resultMap="MonitorInfoResult">
        SELECT
        *
        FROM
        monitor_info a
        JOIN monitor_type b ON a.type = b.type
        join monitor_list c on a.companyName = c.enterpriseName
        WHERE
        a.storageTime &gt;= #{storageTime} and a.storageTime &lt; #{createTime} and c.platform=#{platform}
    </select>

    <select id="getGroupBy" parameterType="String" resultType="Map">
        SELECT warningLevel,COUNT(*) AS ct FROM `monitor_info` m,monitor_company c WHERE 1=1 and m.companyName=c.ename and c.monitor_status=0 and m.userId=c.userId
        <if test="userId != null  and userId != ''  ">and m.userId = #{userId}</if>
        <if test="begin != null  and begin != ''  ">and m.storageTime &gt;= #{begin}</if>
        <if test="end != null  and end != ''  ">and m.storageTime &lt; #{end}</if>
        GROUP BY m.warningLevel
    </select>

    <select id="getCompanyCount" parameterType="String" resultType="String">
        SELECT COUNT(DISTINCT(companyname)) AS ct  FROM `monitor_info` m,monitor_company c WHERE 1=1 and m.companyName=c.ename and c.monitor_status=0 and m.userId=c.userId
        <if test="userId != null  and userId != ''  ">and m.userId = #{userId}</if>
        <if test="begin != null  and begin != ''  ">and m.storageTime &gt;= #{begin}</if>
        <if test="end != null  and end != ''  ">and m.storageTime &lt; #{end}</if>

    </select>

    <select id="getWarningLevel" parameterType="String" resultType="Map">
        SELECT t.`monitor_col`,COUNT(*) AS ct FROM `monitor_info` m,`monitor_type` t,monitor_company c
        where m.`type`=t.`type` and m.companyName=c.ename and c.monitor_status=0 and m.userId=c.userId
        <if test="userId != null  and userId != ''  ">and m.userId = #{userId}</if>
        <if test="begin != null  and begin != ''  ">and m.storageTime &gt;= #{begin}</if>
        <if test="end != null  and end != ''  ">and m.storageTime &lt; #{end}</if>
        <if test="warningLevel != null  and warningLevel != '' ">and m.warningLevel=#{warningLevel}</if>
        GROUP BY m.type
    </select>

    <select id="getList" parameterType="MonitorInfoNum" resultMap="MonitorInfoNumResult">
        SELECT companyName,GROUP_CONCAT(monitor_col SEPARATOR ',') AS monitor_col,warningLevel FROM
         (SELECT m.`companyName`,CONCAT(t.`monitor_col`,'(',COUNT(*),')') AS monitor_col,m.warningLevel FROM `monitor_info` m,`monitor_type` t,monitor_company c WHERE m.`type`=t.`type` and m.companyName=c.ename and c.monitor_status=0 and m.userId=c.userId
        <if test="userId != null  and userId != ''  "> and m.userId=${userId}</if>
        <if test="begin != null  and begin != ''  ">and m.storageTime &gt;= #{begin}</if>
        <if test="end != null  and end != ''  ">and m.storageTime &lt; #{end}</if>
        <if test="warningLevel != null  and warningLevel != '' ">and m.warningLevel=#{warningLevel}</if>
	    GROUP BY m.companyName,m.type) AS info GROUP BY companyName
    </select>

    <select id="getListLevel" parameterType="MonitorInfo" resultMap="UserMonitorInfoResult">
        select m.* from monitor_info m, monitor_company c
        <where>
            1=1 and m.companyName=c.ename and c.monitor_status=0 and m.userId=c.userId
            <if test="id != null  and id != '' "> and m.id = #{id}</if>
            <if test="userId != null  and userId != '' "> and m.userId = #{userId}</if>
            <if test="warningLevel != null  and warningLevel != '' "> and m.warningLevel = #{warningLevel}</if>
            <if test="begin != null and begin!=''"> and m.storageTime &gt;= #{begin}</if>
            <if test="end != null  and end != ''">and m.storageTime &lt; #{end}</if>
            <if test="lastUpdataTime != null "> and m.lastUpdataTime = #{lastUpdataTime}</if>
            <if test="deleteState != null  and deleteState != '' "> and m.deleteState = #{deleteState}</if>
            <if test="operator != null  and operator != '' "> and m.operator = #{operator}</if>
            <if test="type != null  and type != '' "> and m.type = #{type}</if>
            <if test="companyName != null  and companyName != '' "> and m.companyName = #{companyName}</if>
            <if test="data != null  and data != '' "> and m.data = #{data}</if>
        </where>
    </select>


    <select id="getTypeData" parameterType="String" resultType="Map">
        SELECT t.`monitor_col`,m.type,m.warningLevel FROM `monitor_info` m,`monitor_type` t,monitor_company c
        where m.`type`=t.`type` and m.companyName=c.ename and c.monitor_status=0 and m.userId=c.userId
        <if test="userId != null  and userId != ''  ">and m.userId = #{userId}</if>
        <if test="begin != null  and begin != ''  ">and m.storageTime &gt;= #{begin}</if>
        <if test="end != null  and end != ''  ">and m.storageTime &lt; #{end}</if>
        GROUP BY m.type ORDER BY m.warningValue
    </select>

    <select id="getCompanyByType" parameterType="String" resultType="Map">
        SELECT companyName,GROUP_CONCAT(monitor_col SEPARATOR ',') AS monitor_col FROM (SELECT m.`companyName`,CONCAT(t.`monitor_col`,'@',m.type) AS monitor_col FROM `monitor_info` m,`monitor_type` t,monitor_company c WHERE
	    m.`type`=t.`type` and m.companyName=c.ename and c.monitor_status=0 and m.userId=c.userId
        <if test="userId != null  and userId != ''  "> and m.userId=${userId}</if>
        <if test="begin != null  and begin != ''  ">and m.storageTime &gt;= #{begin}</if>
        <if test="end != null  and end != ''  ">and m.storageTime &lt; #{end}</if>
        <if test="companyName != null  and companyName != ''  ">and m.companyName = #{companyName}</if>
          GROUP BY m.companyName,m.type ORDER BY m.warningValue) AS info GROUP BY companyName
    </select>
    <select id="selectUserMonitorInfoByIds"
            resultType="com.ruoyi.web.controller.business.domain.MonitorInfo">
        select * from monitor_info
        <foreach collection="ids" separator="," item="ids" open="(" close=")">
            where id = #{ids} And userId = #{userId}
        </foreach>
    </select>
    <select id="selectMonitorByCompanyName"
            resultType="com.ruoyi.web.controller.business.domain.MonitorInfo" resultMap="MonitorInfoResult">
        SELECT
        *
        FROM
        monitor_info
        WHERE
        companyName = #{companyName}
        AND type = '5035'
        ORDER BY
        storageTime DESC
    </select>
</mapper>