fuliqi
2025-02-10 27e913d6d28a9cfa0785d15453a4de10fd36ce6d
ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml
@@ -1,26 +1,6 @@
<?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.ycl.platform.mapper.YwPointMapper">
    <!-- TODO -->
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.ycl.platform.domain.vo.YwPointVO">
        <result column="id" property="id"/>
        <result column="point_name" property="pointName"/>
        <result column="start_time" property="startTime"/>
        <result column="end_time" property="endTime"/>
        <result column="unit_id" property="unitId"/>
        <result column="unit_name" property="unitName"/>
        <result column="status" property="status"/>
        <result column="dept_id" property="deptId"/>
        <result column="dept_name" property="deptName"/>
        <result column="remark" property="remark"/>
        <result column="create_time" property="createTime"/>
        <result column="update_time" property="updateTime"/>
        <result column="province_tag" property="provinceTag"/>
        <result column="important_tag" property="importantTag"/>
        <result column="important_command_image_tag" property="importantCommandImageTag"/>
        <result column="dept_tag" property="deptTag"/>
    </resultMap>
    <!-- 分页映射结果 -->
    <resultMap id="pageMap" type="com.ycl.platform.domain.vo.YwPointVO">
@@ -33,6 +13,8 @@
        <result column="status" property="status"/>
        <result column="dept_id" property="deptId"/>
        <result column="dept_name" property="deptName"/>
        <result column="username" property="username"/>
        <result column="password" property="password"/>
        <result column="remark" property="remark"/>
        <result column="create_time" property="createTime"/>
        <result column="update_time" property="updateTime"/>
@@ -52,7 +34,6 @@
        <result column="label_value" property="labelValue"/>
        <result column="column_value" property="columnValue"/>
    </resultMap>
    <!-- TODO -->
    <select id="page" resultMap="pageMap">
        SELECT
        typ.id,
@@ -102,126 +83,18 @@
<!--            and dcv.column_value like concat('%', #{pointName}, '%')-->
<!--        </if>-->
    </select>
    <!-- TODO -->
    <select id="dataCenterPage" resultType="com.ycl.platform.domain.vo.PointDetailVO">
        SELECT
        m.*
        FROM
        t_yw_point p INNER JOIN t_monitor m ON p.serial_number = m.serial_number
        <where>
            <if test="query.keyword != null and query.keyword != ''">
                AND (m.name like concat('%', #{query.keyword}, '%') OR m.serial_number like concat('%',
                #{query.keyword}, '%'))
            </if>
            <if test="query.dataType == 1">
                AND p.province_tag = 1
            </if>
            <if test="query.dataType == 2">
                AND p.dept_tag = 1
            </if>
            <choose>
                <when test="query.deptTag == 1">
                    AND p.dept_tag = 1
                </when>
                <when test="query.deptTag == 2">
                    AND p.province_tag = 1
                </when>
                <when test="query.deptTag == 3">
                    AND p.important_tag = 1
                </when>
                <when test="query.deptTag == 4">
                    AND p.important_command_image_tag = 1
                </when>
                <when test="query.deptTag == 5">
                    AND p.new_device = 1
                </when>
            </choose>
            <choose>
                <when test="query.deviceType == 1">
                    AND m.camera_fun_type like '%1%'
                </when>
                <when test="query.deviceType == 2">
                    AND m.camera_fun_type like '%2%'
                </when>
                <when test="query.deviceType == 3">
                    AND m.camera_fun_type like '%3%'
                </when>
            </choose>
        </where>
    </select>
    <!-- TODO -->
    <select id="distinctCount" resultType="integer">
        SELECT
        count(DISTINCT m.serial_number)
        FROM
        t_yw_point p INNER JOIN t_monitor m ON p.serial_number = m.serial_number
        <where>
            <if test="query.dataType == 1">
                AND p.province_tag = 1
            </if>
            <if test="query.dataType == 2">
                AND p.dept_tag = 1
            </if>
            <choose>
                <when test="query.deptTag == 1">
                    AND dept_tag = 1
                </when>
                <when test="query.deptTag == 2">
                    AND province_tag = 1
                </when>
                <when test="query.deptTag == 3">
                    AND important_tag = 1
                </when>
                <when test="query.deptTag == 4">
                    AND important_command_image_tag = 1
                </when>
                <when test="query.deptTag == 5">
                    AND new_device = 1
                </when>
            </choose>
            <choose>
                <when test="query.deviceType == 1">
                    AND m.camera_fun_type like '%1%'
                </when>
                <when test="query.deviceType == 2">
                    AND m.camera_fun_type like '%2%'
                </when>
                <when test="query.deviceType == 3">
                    AND m.camera_fun_type like '%3%'
                </when>
            </choose>
        </where>
    </select>
    <select id="home" resultType="com.ycl.platform.domain.entity.YwPoint">
        <![CDATA[
        SELECT t_yw_point.id, point_name, start_time, end_time, status, unit_name AS remark
        FROM t_yw_point
                 LEFT JOIN t_yw_unit ON t_yw_unit.id = t_yw_point.unit_id AND t_yw_point.deleted = 0
        WHERE t_yw_point.deleted = 0
        WHERE t_yw_point.deleted = 0 AND t_yw_point.examine_status = 1
          AND TIMESTAMPDIFF(MONTH, NOW(), end_time) <= (SELECT config_value
                                                        FROM sys_config
                                                        WHERE config_key = 'operation.and.maintenance.expiration.warning.time')
        ORDER BY end_time limit 50
        ]]>
    </select>
    <!-- TODO -->
    <select id="selectByTag" resultType="com.ycl.platform.domain.entity.YwPoint">
        select * from t_yw_point
        <where>
            <if test="important!=null and important == true ">
                and important_tag = #{important}
            </if>
            <if test="province!=null and province == true ">
                and province_tag = #{province}
            </if>
            <if test="commandImage!=null and commandImage == true ">
                and important_command_image_tag = #{commandImage}
            </if>
            <if test="deptTag !=null and deptTag == true ">
                and dept_tag = #{deptTag}
            </if>
        </where>
    </select>
    <select id="export" resultType ="com.ycl.platform.domain.excel.PointExport">
@@ -233,6 +106,8 @@
        yu.unit_name,
        yp.start_time,
        yp.end_time,
        yp.username,
        yp.password,
        d.area,
        CASE WHEN yp.province_tag_video = 0 THEN '否' ELSE '是' END AS provinceTagVideoString,
        CASE WHEN yp.province_tag_car = 0 THEN '否' ELSE '是' END AS provinceTagCarString,
@@ -275,7 +150,9 @@
            province_tag_car = #{point.provinceTagCar},
            province_tag_face = #{point.provinceTagFace},
            important_command_image_tag = #{point.importantCommandImageTag},
            dept_tag = #{point.deptTag}
            dept_tag = #{point.deptTag},
            username = #{point.username},
            password = #{point.password}
            WHERE serial_number = #{point.serialNumber}
        </foreach>
    </update>
@@ -361,16 +238,22 @@
        deleted = 0 AND serial_number in
        <foreach collection="gbList" open="(" separator="," close=")" item="no">#{no}</foreach>
        GROUP BY
        serial_number, province_tag_face,province_tag_car,province_tag_videogetTagsByGB, important_tag, important_command_image_tag, dept_tag
        serial_number, province_tag_face,province_tag_car,province_tag_video, important_tag, important_command_image_tag, dept_tag
    </select>
    <!-- TODO -->
    <select id="selectToCount" resultType="com.ycl.platform.domain.vo.YwPointVO">
        select p.* from t_yw_point p
        left join t_monitor m on p.serial_number = m.serial_number
        <where>
            p.examine_status = 1 and m.camera_fun_type like concat('%',#{examineCategory},'%')
            <if test="examineTag == 0">
                and p.province_tag = 1
            <if test="examineTag == 0 and examineCategory ==1" >
                and p.province_tag_video = 1
            </if>
            <if test="examineTag == 0 and examineCategory ==2" >
                and p.province_tag_car = 1
            </if>
            <if test="examineTag == 0 and examineCategory ==3" >
                and p.province_tag_face = 1
            </if>
            <if test="examineTag == 2">
                and p.dept_tag = 1
@@ -407,6 +290,12 @@
            <if test="deptTag !=null">
                dept_tag = #{deptTag},
            </if>
            <if test="username !=null and username!=''">
                username = #{username},
            </if>
            <if test="password !=null and password !=''">
                password = #{password},
            </if>
            unit_id = #{unitId},
            start_time = #{startTime},
            end_time = #{endTime},
@@ -414,4 +303,10 @@
        </set>
        where id =#{id}
    </update>
    <!-- 清理一机一档 -->
    <delete id="clearMonitor">
        delete from t_yw_point p
        where p.examine_status != 1
    </delete>
</mapper>