From f8889f7364adae89e45a5ec3fcf4b38e430cf389 Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期二, 10 九月 2024 10:41:18 +0800 Subject: [PATCH] 工单详情 --- ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml | 313 +++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 274 insertions(+), 39 deletions(-) diff --git a/ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml index 59aac6f..34b5f19 100644 --- a/ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml +++ b/ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml @@ -4,21 +4,22 @@ <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> <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="category" property="category" /> - <result column="province_tag" property="provinceTag" /> - <result column="important_tag" property="importantTag" /> + <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> <select id="selectData" resultType="com.ycl.platform.base.BaseSelect"> @@ -27,25 +28,26 @@ <select id="page" resultMap="BaseResultMap"> SELECT - typ.id, - typ.point_name, - typ.start_time, - typ.end_time, - typ.unit_id, - tyu.unit_name, - typ.status, - typ.dept_id, - sd.dept_name, - typ.remark, - typ.create_time, - typ.update_time, - typ.important_tag, - typ.province_tag, - typ.category + typ.id, + typ.point_name, + typ.start_time, + typ.end_time, + typ.unit_id, + tyu.unit_name, + typ.status, + typ.dept_id, + sd.dept_name, + typ.remark, + typ.create_time, + typ.update_time, + typ.important_tag, + typ.province_tag, + typ.important_command_image_tag, + typ.dept_tag 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 + 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> <if test="query.pointName != null and query.pointName != ''"> AND typ.point_name like concat('%', #{query.pointName}, '%') @@ -53,13 +55,99 @@ </where> </select> + <select id="dataCenterPage"> + SELECT + m.* + FROM + t_yw_point p INNER JOIN t_monitor m ON p.serial_number = m.serial_number + <where> + AND p.create_time between #{query.startTime} and #{query.endTime} + <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> + <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> + <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 id, point_name, start_time, end_time, status + SELECT t_yw_point.id, point_name, start_time, end_time, status, unit_name AS remark FROM t_yw_point - WHERE - deleted = 0 - AND TIMESTAMPDIFF(MONTH, NOW(), end_time) <= (SELECT config_value FROM sys_config WHERE config_key = 'operation.and.maintenance.expiration.warning.time') + 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 + 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 ]]> </select> @@ -67,12 +155,159 @@ <select id="selectByTag" resultType="com.ycl.platform.domain.entity.YwPoint"> select * from t_yw_point <where> - <if test="important!=null and important!= '' "> + <if test="important!=null and important == true "> and important_tag = #{important} </if> - <if test="province!=null and province!= '' "> + <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 + m.name as pointName, + m.serial_number, + m.ip as pointIp, + yu.unit_name, + yp.start_time, + yp.end_time, + CASE WHEN yp.province_tag = 0 THEN '鍚�' ELSE '鏄�' END AS provinceTagString, + 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 + 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 + <where> + <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> + + <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="point.unitId != null"> + 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}, + 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, 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, important_tag, important_command_image_tag, dept_tag + </select> + + </mapper> -- Gitblit v1.8.0