From 90276a76b56cc1e744f7fa68ce921a28a8a9c92f Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期三, 08 一月 2025 11:52:10 +0800 Subject: [PATCH] 运行监控报表导出时间少一天问题 --- ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml | 251 +++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 218 insertions(+), 33 deletions(-) diff --git a/ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml index 6af0943..a503036 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"/> @@ -16,16 +16,23 @@ <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, @@ -40,17 +47,39 @@ typ.create_time, typ.update_time, typ.important_tag, - typ.province_tag, - typ.important_command_image_tag + typ.province_tag_video, + typ.province_tag_car, + typ.province_tag_face, + typ.important_command_image_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 <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="getDyColumns" resultMap="dynamicColumnMap"> + SELECT + * + FROM + 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"> @@ -58,52 +87,208 @@ 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 + 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> - </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, + m.ip as pointIP, yu.unit_name, yp.start_time, yp.end_time, - yp.province_tag, - yp.important_tag, - yp.important_command_image_tag + 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 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> </where> + ORDER BY yu.unit_name </select> <delete id="deleteAll"> - delete from t_yw_point + delete + from t_yw_point </delete> + + <update id="updatePoint"> + <foreach collection="pointList" separator=";" item="point"> + UPDATE t_yw_point + SET + <if test="point.pointName != null and point.pointName != ''"> + point_name = #{point.pointName}, + </if> + <if test="needUpdateUnit != null and needUpdateUnit"> + unit_id = #{point.unitId}, + start_time = #{point.startTime}, + end_time = #{point.endTime}, + </if> + 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} + 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 + 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} + </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> + + <select id="getDeptPointGB" resultType="string"> + SELECT + DISTINCT serial_number + FROM + 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 + </select> + + <select id="select" resultType="com.ycl.platform.domain.entity.YwPoint"> + SELECT + * + FROM + t_yw_point + <where> + <if test="keyword != null and keyword != ''"> + AND (serial_number like concat('%', #{keyword}, '%') or point_name like concat('%', #{keyword}, '%')) + </if> + <if test="unitId != null"> + AND unit_id = #{unitId} + </if> + AND deleted = 0 + </where> + + </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 + 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 + </select> + <select id="getTagsByGB" resultType="com.ycl.platform.domain.vo.CheckTagVO"> + SELECT + 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 + WHERE + 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_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> + unit_id = #{unitId}, + start_time = #{startTime}, + end_time = #{endTime}, + remark = #{remark}, + </set> + where id =#{id} + </update> </mapper> -- Gitblit v1.8.0