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