From 95f69d1183a56f5768e6d56d043b0c6e5a878bb5 Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期三, 04 十二月 2024 21:30:26 +0800 Subject: [PATCH] 空指针校验 --- ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml | 54 ++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 36 insertions(+), 18 deletions(-) diff --git a/ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml index b6307bf..1b74f97 100644 --- a/ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml +++ b/ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml @@ -58,8 +58,8 @@ FROM t_work_order wo INNER JOIN t_monitor tm ON wo.serial_number = tm.serial_number - INNER JOIN t_work_order_error_type et ON wo.work_order_no = et.work_order_no INNER JOIN t_yw_unit u ON wo.unit_id = u.id AND u.deleted = 0 + INNER JOIN t_work_order_error_type et ON wo.work_order_no = et.work_order_no INNER JOIN sys_dict_data da ON da.dict_value = et.error_name AND da.dict_type = 'error_type' LEFT JOIN t_work_order_check_img ci ON ci.work_order_no = wo.work_order_no LEFT JOIN t_yw_people p ON wo.yw_people_id = p.id AND p.deleted = 0 @@ -68,13 +68,12 @@ <if test="query.unitId != null"> AND wo.unit_id = #{query.unitId} </if> - <if test="query.errorTypeList != null and query.errorTypeList.size() > 0"> + <if test="query.errorType != null and query.errorType != ''"> AND (EXISTS ( SELECT 1 FROM t_work_order_error_type twoet WHERE twoet.work_order_no = wo.work_order_no - AND twoet.error_name in - <foreach collection="query.errorTypeList" open="(" separator="," close=")" item="errorType">#{errorType}</foreach> + AND twoet.error_name = #{query.errorType} )) </if> <if test="query.keyword != null and query.keyword != ''"> @@ -118,8 +117,8 @@ t_work_order wo INNER JOIN t_monitor tm ON wo.serial_number = tm.serial_number INNER JOIN t_work_order_error_type et ON wo.work_order_no = et.work_order_no - INNER JOIN t_yw_unit u ON wo.unit_id = u.id AND u.deleted = 0 INNER JOIN sys_dict_data da ON da.dict_value = et.error_name AND da.dict_type = 'error_type' + INNER JOIN t_yw_unit u ON wo.unit_id = u.id AND u.deleted = 0 LEFT JOIN t_work_order_check_img ci ON ci.work_order_no = wo.work_order_no LEFT JOIN t_yw_people p ON wo.yw_people_id = p.id AND p.deleted = 0 WHERE @@ -136,13 +135,12 @@ <if test="query.start != null and query.end != null"> AND wo.create_time BETWEEN #{query.start} AND #{query.end} </if> - <if test="query.errorTypeList != null and query.errorTypeList.size() > 0"> + <if test="query.errorType != null and query.errorType !='' "> AND (EXISTS ( SELECT 1 FROM t_work_order_error_type twoet WHERE twoet.work_order_no = wo.work_order_no - AND twoet.error_name in - <foreach collection="query.errorTypeList" open="(" separator="," close=")" item="errorType">#{errorType}</foreach> + AND twoet.error_name = #{query.errorType} )) </if> GROUP BY @@ -170,9 +168,9 @@ t_work_order wo INNER JOIN t_monitor tm ON wo.serial_number = tm.serial_number INNER JOIN t_yw_point yp ON yp.serial_number = wo.serial_number AND yp.deleted = 0 + INNER JOIN t_yw_unit u ON wo.unit_id = u.id and u.deleted = 0 INNER JOIN t_work_order_error_type et ON wo.work_order_no = et.work_order_no INNER JOIN sys_dict_data da ON da.dict_value = et.error_name AND da.dict_type = 'error_type' - INNER JOIN t_yw_unit u ON wo.unit_id = u.id and u.deleted = 0 LEFT JOIN t_yw_people p ON wo.yw_people_id = p.id and p.deleted = 0 LEFT JOIN t_work_order_distribute_record odr ON odr.work_order_no = wo.work_order_no AND odr.deleted = 0 LEFT JOIN sys_user su ON su.user_id = odr.user_id @@ -189,16 +187,17 @@ </if> <if test="query.keyword != null and query.keyword != ''"> AND (tm.name like concat('%', #{query.keyword}, '%') or tm.serial_number like concat('%', #{query.keyword}, - '%')) + '%') or wo.work_order_no like concat('%', #{query.keyword}, '%')) </if> - <if test="query.errorTypeList != null and query.errorTypeList.size() > 0"> + <if test="query.start != null and query.end != null"> + AND wo.create_time BETWEEN #{query.start} AND #{query.end} + </if> + <if test="query.errorType != null and query.errorType != ''"> AND (EXISTS ( SELECT 1 FROM t_work_order_error_type twoet WHERE twoet.work_order_no = wo.work_order_no - AND twoet.error_name in - <foreach collection="query.errorTypeList" open="(" separator="," close=")" item="errorType">#{errorType} - </foreach> + AND twoet.error_name = #{query.errorType} )) </if> GROUP BY @@ -289,8 +288,8 @@ <select id="workOrderTotal" resultType="com.ycl.platform.domain.vo.screen.WorkOrderTotalVO"> SELECT - COUNT(*) AS totalNum, - COUNT(IF(w.status != 'AUDITING_SUCCESS' and w.status != 'WAIT_DISTRIBUTED', 1, NULL)) AS todoNum, + COUNT(IF(w.status != 'WAIT_DISTRIBUTE', 1, NULL)) AS totalNum, + COUNT(IF(w.status != 'AUDITING_SUCCESS' and w.status != 'WAIT_DISTRIBUTE', 1, NULL)) AS todoNum, COUNT(IF(w.status = 'AUDITING_SUCCESS', 1, NULL)) AS doneNum FROM t_work_order w LEFT JOIN t_yw_point p ON w.serial_number = p.serial_number AND p.deleted = 0 @@ -417,8 +416,15 @@ INNER JOIN t_yw_unit u ON wo.unit_id = u.id AND u.deleted = 0 INNER JOIN sys_dict_data da ON da.dict_value = et.error_name AND da.dict_type = 'error_type' LEFT JOIN t_yw_people p ON wo.yw_people_id = p.id AND p.deleted = 0 - WHERE - wo.deleted = 0 + where + wo.deleted = 0 and wo.status != 'WAIT_DISTRIBUTED' +<!-- <if test="orders !=null and orders.size >0 ">--> +<!-- wo.work_order_no in--> +<!-- <foreach collection="orders" item="workOrderNo" separator="," open="(" close=")">--> +<!-- #{workOrderNo}--> +<!-- </foreach>--> +<!-- </if>--> +<!-- </where>--> GROUP BY wo.work_order_no, u.unit_name, @@ -426,4 +432,16 @@ u.unit_contact_phone, p.yw_person_name </select> + + <select id="selectByNos" resultType="com.ycl.platform.domain.entity.WorkOrder"> + select wo.id,wo.unit_id,wo.work_order_no,wo.serial_number + from t_work_order wo + <where> + wo.deleted = 0 and wo.status = 'YW_HANDLE' + and wo.work_order_no in + <foreach collection="workOrderNos" open="(" separator="," close=")" item="workOrderNo"> + #{workOrderNo} + </foreach> + </where> + </select> </mapper> -- Gitblit v1.8.0