fuliqi
2024-09-29 2819d40212abcccd7d404e2126e281a4d3a7f0a6
ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml
@@ -22,7 +22,7 @@
        <result column="dept_tag" property="deptTag"/>
    </resultMap>
    <!-- 通用查询映射结果 -->
    <!-- 分页映射结果 -->
    <resultMap id="pageMap" type="com.ycl.platform.domain.vo.YwPointVO">
        <result column="id" property="id"/>
        <result column="point_name" property="pointName"/>
@@ -40,7 +40,9 @@
        <result column="important_tag" property="importantTag"/>
        <result column="important_command_image_tag" property="importantCommandImageTag"/>
        <result column="dept_tag" property="deptTag"/>
        <collection property="dynamicColumnList" select="getDyColumns" column="{id=id,tableName=tableName,pointName=pointName}" ofType="com.ycl.platform.domain.vo.DynamicColumnVO"/>
        <collection property="dynamicColumnList" select="getDyColumns"
                    column="{id=id,tableName=tableName,pointName=pointName}"
                    ofType="com.ycl.platform.domain.vo.DynamicColumnVO"/>
    </resultMap>
    <resultMap id="dynamicColumnMap" type="com.ycl.platform.domain.vo.DynamicColumnVO">
@@ -93,18 +95,19 @@
        WHERE
        dcv.ref_id = #{id}
        <if test="pointName != null and pointName != ''">
            and dcv.column_value like concat('%', #{keyword}, '%')
            and dcv.column_value like concat('%', #{pointName}, '%')
        </if>
    </select>
    <select id="dataCenterPage" resultType="com.ycl.platform.domain.vo.PointDetailVO">
        SELECT
               m.*
        m.*
        FROM
             t_yw_point p INNER JOIN t_monitor m ON p.serial_number = m.serial_number
        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}, '%'))
                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
@@ -145,9 +148,9 @@
    <select id="distinctCount" resultType="integer">
        SELECT
            count(DISTINCT m.serial_number)
        count(DISTINCT m.serial_number)
        FROM
            t_yw_point p INNER JOIN t_monitor m ON p.serial_number = m.serial_number
        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
@@ -195,8 +198,7 @@
          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
        ORDER BY end_time limit 50
        ]]>
    </select>
@@ -218,11 +220,12 @@
        </where>
    </select>
    <select id="export" resultType="com.ycl.platform.domain.excel.PointExport">
    <select id="export" resultType ="com.ycl.platform.domain.excel.PointExport">
        SELECT
        yp.id,
        m.name as pointName,
        m.serial_number,
        m.ip as pointIp,
        m.ip as pointIP,
        yu.unit_name,
        yp.start_time,
        yp.end_time,
@@ -243,7 +246,8 @@
    </select>
    <delete id="deleteAll">
        delete from t_yw_point
        delete
        from t_yw_point
    </delete>
    <update id="updatePoint">
@@ -270,54 +274,52 @@
    </update>
    <select id="countNotFinishedWorkOrderByPointId" resultType="com.ycl.platform.domain.vo.YwPointVO">
        SELECT
            yp.id, yp.point_name, wo.serial_number
        FROM
             t_yw_point yp
        SELECT yp.id,
               yp.point_name,
               wo.serial_number
        FROM t_yw_point yp
                 INNER JOIN t_work_order wo ON yp.serial_number = wo.serial_number
                                                   AND wo.status not in ('AUDITING_SUCCESS','WAIT_DISTRIBUTE')
                                                   AND wo.deleted = 0
                                                   AND yp.deleted = 0
        WHERE
            yp.id = #{pointId}
            AND wo.status not in ('AUDITING_SUCCESS', 'WAIT_DISTRIBUTE')
            AND wo.deleted = 0
            AND yp.deleted = 0
        WHERE yp.id = #{pointId}
    </select>
    <select id="countNotFinishedWorkOrderByGb" resultType="com.ycl.platform.domain.vo.YwPointVO">
        SELECT
            yp.id, yp.point_name, wo.serial_number
        FROM
            t_yw_point yp
                INNER JOIN t_work_order wo ON yp.serial_number = wo.serial_number
                AND wo.status not in ('AUDITING_SUCCESS','WAIT_DISTRIBUTE')
                AND wo.deleted = 0
                AND yp.deleted = 0
                AND yp.serial_number = #{serialNumber}
        LIMIT 1
        SELECT yp.id,
               yp.point_name,
               wo.serial_number
        FROM t_yw_point yp
                 INNER JOIN t_work_order wo ON yp.serial_number = wo.serial_number
            AND wo.status not in ('AUDITING_SUCCESS', 'WAIT_DISTRIBUTE')
            AND wo.deleted = 0
            AND yp.deleted = 0
            AND yp.serial_number = #{serialNumber} LIMIT 1
    </select>
    <select id="getDeptPointGB" resultType="string">
        SELECT
            DISTINCT serial_number
        DISTINCT serial_number
        FROM
             t_yw_point
        t_yw_point
        WHERE
            <if test="tagType == 0">
                dept_tag = 1
            </if>
            <if test="tagType == 1">
                important_tag = 1
            </if>
            <if test="tagType == 2">
                important_command_image_tag = 1
            </if>
             AND deleted = 0
        <if test="tagType == 0">
            dept_tag = 1
        </if>
        <if test="tagType == 1">
            important_tag = 1
        </if>
        <if test="tagType == 2">
            important_command_image_tag = 1
        </if>
        AND deleted = 0
    </select>
    <select id="select" resultType="com.ycl.platform.domain.entity.YwPoint">
        SELECT
               *
        *
        FROM
             t_yw_point
        t_yw_point
        <where>
            <if test="keyword != null and keyword != ''">
                AND (serial_number like concat('%', #{keyword}, '%') or point_name like concat('%', #{keyword}, '%'))
@@ -331,30 +333,29 @@
    </select>
    <select id="getReportResult" resultType="com.ycl.platform.domain.vo.ReportAuditingRecordVO">
        SELECT
               ar.result, r.begin_create_time, r.end_create_time
        FROM
             t_report r
        SELECT ar.result,
               r.begin_create_time,
               r.end_create_time
        FROM t_report r
                 INNER JOIN t_report_auditing_record ar ON r.id = ar.report_id
                                                               AND ar.deleted = 0
                                                               AND r.report_type = #{reportType}
                                                               AND r.deleted = 0
                                                               AND r.serial_number = #{serialNumber}
                                                                AND ar.result = 1
        ORDER BY
             ar.create_time DESC
        limit 1
            AND ar.deleted = 0
            AND r.report_type = #{reportType}
            AND r.deleted = 0
            AND r.serial_number = #{serialNumber}
            AND ar.result = 1
        ORDER BY ar.create_time DESC limit 1
    </select>
    <select id="getTagsByGB" resultType="com.ycl.platform.domain.vo.CheckTagVO">
        SELECT
               serial_number as no, province_tag, important_tag, important_command_image_tag, dept_tag
        serial_number as no, province_tag, important_tag, important_command_image_tag, dept_tag
        FROM
            t_yw_point
        t_yw_point
        WHERE
            deleted = 0 AND serial_number in <foreach collection="gbList" open="(" separator="," close=")" item="no">#{no}</foreach>
        deleted = 0 AND serial_number in
        <foreach collection="gbList" open="(" separator="," close=")" item="no">#{no}</foreach>
        GROUP BY
            serial_number, province_tag, important_tag, important_command_image_tag, dept_tag
        serial_number, province_tag, important_tag, important_command_image_tag, dept_tag
    </select>