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 | 214 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 209 insertions(+), 5 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..34b5f19 100644 --- a/ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml +++ b/ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml @@ -19,6 +19,7 @@ <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"> @@ -41,7 +42,8 @@ typ.update_time, typ.important_tag, typ.province_tag, - typ.important_command_image_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 @@ -50,6 +52,90 @@ <if test="query.pointName != null and query.pointName != ''"> AND typ.point_name like concat('%', #{query.pointName}, '%') </if> + </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> @@ -78,6 +164,9 @@ <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> @@ -85,13 +174,14 @@ SELECT 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 + 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 @@ -101,9 +191,123 @@ 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