From cb415813de667096290d6bd0f924f5b523104117 Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期一, 10 十一月 2025 17:41:04 +0800
Subject: [PATCH] 报备工单bug修改,定时任务在线问题修改新增导出扣分明细功能
---
ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml | 350 ++++++++++++++++++++++++++++-----------------------------
1 files changed, 172 insertions(+), 178 deletions(-)
diff --git a/ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml
index 7a35194..f6b5108 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml
@@ -2,8 +2,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">
- <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
- <resultMap id="BaseResultMap" type="com.ycl.platform.domain.vo.YwPointVO">
+ <!-- 鍒嗛〉鏄犲皠缁撴灉 -->
+ <resultMap id="pageMap" type="com.ycl.platform.domain.vo.YwPointVO">
<result column="id" property="id"/>
<result column="point_name" property="pointName"/>
<result column="start_time" property="startTime"/>
@@ -13,20 +13,28 @@
<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"/>
- <result column="province_tag" property="provinceTag"/>
+ <result column="province_tag_video" property="provinceTagVideo"/>
+ <result column="province_tag_car" property="provinceTagCar"/>
+ <result column="province_tag_face" property="provinceTagFace"/>
<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"/>
</resultMap>
- <select id="selectData" resultType="com.ycl.platform.base.BaseSelect">
-
- </select>
-
- <select id="page" resultMap="BaseResultMap">
+ <resultMap id="dynamicColumnMap" type="com.ycl.platform.domain.vo.DynamicColumnVO">
+ <result column="prop_name" property="propName"/>
+ <result column="label_value" property="labelValue"/>
+ <result column="column_value" property="columnValue"/>
+ </resultMap>
+ <select id="page" resultMap="pageMap">
SELECT
typ.id,
typ.point_name,
@@ -41,107 +49,40 @@
typ.create_time,
typ.update_time,
typ.important_tag,
- typ.province_tag,
+ typ.province_tag_video,
+ typ.province_tag_car,
+ typ.province_tag_face,
typ.important_command_image_tag,
- typ.dept_tag
+ typ.dept_tag,
+ 't_yw_point' as tableName,
+ #{query.pointName} as pointName
FROM
t_yw_point typ
LEFT JOIN t_yw_unit tyu ON typ.unit_id = tyu.id AND tyu.deleted = 0
LEFT JOIN sys_dept sd ON typ.dept_id = sd.dept_id AND sd.del_flag = 0
+
<where>
+ typ.examine_status = 1 and typ.deleted = 0
<if test="query.pointName != null and query.pointName != ''">
AND typ.point_name like concat('%', #{query.pointName}, '%')
</if>
+ <if test="query.unitId != null">
+ AND typ.unit_id = #{query.unitId}
+ </if>
</where>
</select>
- <select id="dataCenterPage" resultType="com.ycl.platform.domain.vo.PointDetailVO">
+ <select id="getDyColumns" resultMap="dynamicColumnMap">
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>
-
- <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>
+ t_dynamic_column_value dcv
+ LEFT JOIN t_dynamic_column dc ON dc.id = dcv.dynamic_column_id AND dc.table_name = #{tableName}
+ WHERE
+ dcv.ref_id = #{id}
+<!-- <if test="pointName != null and pointName != ''">-->
+<!-- and dcv.column_value like concat('%', #{pointName}, '%')-->
+<!-- </if>-->
</select>
<select id="home" resultType="com.ycl.platform.domain.entity.YwPoint">
@@ -149,50 +90,39 @@
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
+ ORDER BY end_time limit 50
]]>
</select>
- <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">
+ <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,
- CASE WHEN yp.province_tag = 0 THEN '鍚�' ELSE '鏄�' END AS provinceTagString,
+ 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,
+ CASE WHEN yp.province_tag_face = 0 THEN '鍚�' ELSE '鏄�' END AS provinceTagFaceString,
CASE WHEN yp.important_tag = 0 THEN '鍚�' ELSE '鏄�' END AS importantTagString,
CASE WHEN yp.important_command_image_tag = 0 THEN '鍚�' ELSE '鏄�' END AS importantCommandImageTagString,
- CASE WHEN yp.dept_tag = 0 THEN '鍚�' ELSE '鏄�' END AS deptTag
+ CASE WHEN yp.dept_tag = 0 THEN '鍚�' ELSE '鏄�' END AS deptTagString
FROM
t_yw_point yp
INNER JOIN t_monitor m ON yp.serial_number = m.serial_number
LEFT JOIN t_yw_unit yu ON yu.id = yp.unit_id
+ LEFT JOIN sys_dept d ON yp.dept_id = d.dept_id
<where>
+ yp.examine_status = 1
<if test="query.pointName != null and query.pointName != ''">
AND m.name like concat('%', #{query.pointName} ,'%')
</if>
@@ -201,7 +131,8 @@
</select>
<delete id="deleteAll">
- delete from t_yw_point
+ delete
+ from t_yw_point
</delete>
<update id="updatePoint">
@@ -211,71 +142,69 @@
<if test="point.pointName != null and point.pointName != ''">
point_name = #{point.pointName},
</if>
- <if test="point.unitId != null">
+ <if test="needUpdateUnit != null and needUpdateUnit">
unit_id = #{point.unitId},
- </if>
- <if test="point.startTime != null">
start_time = #{point.startTime},
- </if>
- <if test="point.endTime != null">
end_time = #{point.endTime},
</if>
- province_tag = #{point.provinceTag},
+ province_tag_video = #{point.provinceTagVideo},
+ 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>
<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}, '%'))
@@ -289,31 +218,96 @@
</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_face,province_tag_car,province_tag_video, 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_face,province_tag_car,province_tag_video, important_tag, important_command_image_tag, dept_tag
</select>
+ <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 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
+ </if>
+ </where>
+ </select>
+ <update id="myUpdateById">
+ update t_yw_point
+ <set>
+ <if test="pointName !=null and pointName !=''">
+ point_name = #{pointName},
+ </if>
+ <if test="updateTime !=null">
+ update_time = #{updateTime},
+ </if>
+ <if test="deptId !=null">
+ dept_id = #{deptId},
+ </if>
+ <if test="provinceTagVideo !=null">
+ province_tag_video = #{provinceTagVideo},
+ </if>
+ <if test="provinceTagCar !=null">
+ province_tag_car = #{provinceTagCar},
+ </if>
+ <if test="provinceTagFace !=null">
+ province_tag_face = #{provinceTagFace},
+ </if>
+ <if test="importantTag !=null">
+ important_tag = #{importantTag},
+ </if>
+ <if test="importantCommandImageTag !=null">
+ important_command_image_tag = #{importantCommandImageTag},
+ </if>
+ <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},
+ remark = #{remark},
+ </set>
+ where id =#{id}
+ </update>
+ <!-- 娓呯悊涓�鏈轰竴妗� -->
+ <delete id="clearMonitor">
+ delete from t_yw_point p
+ where p.examine_status != 1
+ </delete>
</mapper>
--
Gitblit v1.8.0