From b397edee2be2dfcc3f28eeac50298b4de26b1afa Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期五, 13 十二月 2024 16:53:45 +0800 Subject: [PATCH] 取水口日取水量表中,出现一些大数,明显不正确,发析系统日志,发现一些阀控器会上报一些累计流量为0的数据,且无规律,推测是其不能从水表读取到累计流量时会上报0值。如果间歇上报0值,间歇上报一些非0值,非0值减去0值,就会出现大数,一天中出现几次那么会大数进行累加,数值将更大。为此变更算法,规避这种情况,但也会丢失一些流量值。 --- pipIrr-platform/pipIrr-global/src/main/resources/mapper/OpeWorkOrderMapper.xml | 14 +++++++------- 1 files changed, 7 insertions(+), 7 deletions(-) diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/OpeWorkOrderMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/OpeWorkOrderMapper.xml index 7201f42..2c29293 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/OpeWorkOrderMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/OpeWorkOrderMapper.xml @@ -225,13 +225,13 @@ ord.dispatch_time AS dispatchTime, ord.reject_times AS rejectTimes, res.id AS proResultId, - res.state AS proResultStateId, + IFNULL(res.state,0) AS proResultStateId, CASE WHEN ord.state = 1 THEN '鏈畬鎴�' WHEN ord.state = 2 THEN '宸插畬鎴�' END AS state, CASE - WHEN res.state = 0 THEN '鏈笂鎶�' + WHEN IFNULL(res.state,0) = 0 THEN '鏈笂鎶�' WHEN res.state = 1 THEN '寰呭鏍�' WHEN res.state = 2 THEN '宸查�氳繃' WHEN res.state = 3 THEN '琚┏鍥�' @@ -241,7 +241,7 @@ INNER JOIN ba_user us1 ON us1.id = ord.dispatcher_id INNER JOIN ba_user us2 ON us2.id = ord.inspector_id INNER JOIN ope_task_type typ ON typ.id = ord.task_type_id - LEFT JOIN ope_processing_result res ON res.work_order_id = ord.id + LEFT JOIN (SELECT * FROM `ope_processing_result` WHERE deleted = 0) res ON res.work_order_id = ord.id WHERE ord.deleted = 0 AND ord.id = #{workOrderId} </select> @@ -268,7 +268,7 @@ INNER JOIN ba_user us1 ON us1.id = ord.dispatcher_id INNER JOIN ba_user us2 ON us2.id = ord.inspector_id INNER JOIN ope_task_type typ ON typ.id = ord.task_type_id - LEFT JOIN ope_processing_result res ON res.work_order_id = ord.id + LEFT JOIN (SELECT * FROM `ope_processing_result` WHERE deleted = 0) res ON res.work_order_id = ord.id <where> AND ord.deleted = 0 @@ -314,13 +314,13 @@ ord.complete_time AS completeTime, ord.dispatch_time AS dispatchTime, ord.reject_times AS rejectTimes, - res.state AS proResultStateId, + IFNULL(res.state,0) AS proResultStateId, CASE WHEN ord.state = 1 THEN '鏈畬鎴�' WHEN ord.state = 2 THEN '宸插畬鎴�' END AS state, CASE - WHEN res.state = 0 THEN '鏈笂鎶�' + WHEN IFNULL(res.state,0) = 0 THEN '鏈笂鎶�' WHEN res.state = 1 THEN '寰呭鏍�' WHEN res.state = 2 THEN '宸查�氳繃' WHEN res.state = 3 THEN '琚┏鍥�' @@ -331,7 +331,7 @@ INNER JOIN ba_user us1 ON us1.id = ord.dispatcher_id INNER JOIN ba_user us2 ON us2.id = ord.inspector_id INNER JOIN ope_task_type typ ON typ.id = ord.task_type_id - LEFT JOIN ope_processing_result res ON res.work_order_id = ord.id + LEFT JOIN (SELECT * FROM `ope_processing_result` WHERE deleted = 0) res ON res.work_order_id = ord.id <where> AND ord.deleted = 0 -- Gitblit v1.8.0