From 6d837773f257c47ac2bebcef3289b9fbed177282 Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期五, 18 十月 2024 14:08:01 +0800
Subject: [PATCH] 2024-10-18 朱宝民 巡检轨迹续传

---
 pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/inspect/InspectSv.java   |    9 ++++
 pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/inspect/InspectCtrl.java |   18 ++++++++
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveLastMapper.xml            |    8 ++--
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmCommandHistoryMapper.xml                |   73 +++++++++++-------------------------
 4 files changed, 53 insertions(+), 55 deletions(-)

diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmCommandHistoryMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmCommandHistoryMapper.xml
index 7888144..5a14b0e 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmCommandHistoryMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmCommandHistoryMapper.xml
@@ -197,55 +197,26 @@
 
     <!--鏍规嵁鎿嶄綔鍛業D鑾峰彇鏈叧闃�璁板綍锛堝寘鍚湪绾挎儏鍐碉級-->
     <select id="getUnclosedValves" resultType="com.dy.pipIrrGlobal.voRm.VoUnclosedValve">
-        SELECT inta.name                  AS intakeNum,
-               rtus.isOnLine,
-               com.rtu_addr               AS rtuAddr,
-               com.param ->> '$.icCardNo' AS vcNum,
-               (SELECT param ->> '$.orderNo' AS orderNo
+        SELECT
+            inta.name AS intakeNum,
+            rtus.isOnLine,
+            com.rtu_addr AS rtuAddr,
+            com.param ->> '$.icCardNo' AS vcNum,
+            (
+                SELECT param ->> '$.orderNo' AS orderNo
                 FROM rm_command_history
                 WHERE rtu_addr = com.rtu_addr
                 ORDER BY send_time desc
-                LIMIT 0,1)                AS orderNo,
-               'toClose'                  AS state
+                LIMIT 0,1
+            ) AS orderNo,
+            'toClose'                  AS state,
+            CASE
+                WHEN com.command_code = 'A1' OR com.command_code = 'A2' THEN 0
+            END AS planned
         FROM rm_command_history com
-            INNER JOIN pr_controller con ON com.rtu_addr = con.rtuAddr
-            INNER JOIN pr_intake inta ON con.intakeId = inta.id
+            INNER JOIN pr_intake inta ON inta.id = com.intake_id
             INNER JOIN JSON_TABLE(
-        <!--'[{"rtuAddr":"37142501020100215","isOnLine":true},{"rtuAddr":"4000004","isOnLine":true},{"rtuAddr":"dy20240325","isOnLine":false}]',-->
-        #{onLineMap},
-        '$[*]' COLUMNS (
-            rtuAddr VARCHAR(20) PATH '$.rtuAddr',
-            isOnLine BOOLEAN PATH '$.isOnLine'
-            )
-            ) rtus ON com.rtu_addr = rtus.rtuAddr
-        <where>
-            AND (com.command_code = '92' OR com.command_code = 'A2' OR com.command_code = '97')
-                  AND com.operator = #{operator}
-                  AND NOT EXISTS(
-                    SELECT *
-                    FROM rm_command_history
-                    WHERE (result IS NULL OR result = 1)
-                      AND (command_code = '93' OR command_code = 'A3' OR command_code = '98')
-                      AND param ->> '$.orderNo' = com.param ->> '$.orderNo'
-                )
-        </where>
-        GROUP BY inta.name, rtus.isOnLine, com.rtu_addr, com.param ->> '$.icCardNo'
-
-        UNION ALL
-
-        SELECT inta.name                  AS intakeNum,
-               rtus.isOnLine,
-               com.rtu_addr               AS rtuAddr,
-               com.param ->> '$.icCardNo' AS vcNum,
-               (SELECT param ->> '$.orderNo' AS orderNo
-                FROM rm_command_history
-                WHERE rtu_addr = com.rtu_addr
-                ORDER BY send_time desc
-                LIMIT 0,1)                AS orderNo,
-               'toCancel'                 AS state
-        FROM rm_command_history com
-                 INNER JOIN pr_intake inta ON inta.id = com.intake_id
-                 INNER JOIN JSON_TABLE(
+<!--                '[{"rtuAddr":"620201000030","isOnLine":true}]',-->
                 #{onLineMap},
                 '$[*]' COLUMNS (
                     rtuAddr VARCHAR(20) PATH '$.rtuAddr',
@@ -253,14 +224,16 @@
                     )
             ) rtus ON com.rtu_addr = rtus.rtuAddr
         <where>
-            AND (command_code = 'A1' OR command_code = 'A2')
             AND com.operator = #{operator}
-                  AND DATE_FORMAT(
-                              CONCAT(com.param ->> '$.year', '-', com.param ->> '$.month', '-', com.param ->> '$.day',
-                                     ' ',
-                                     com.param ->> '$.hour', ':', com.param ->> '$.minute', ':', '0'),
-                              '%Y-%m-%d %H:%i:%S') > NOW()
+            AND (com.protocol = 'p206V1_0_1' AND (com.command_code = '92' OR com.command_code = '97' OR com.command_code = '99' OR com.command_code = 'A0' OR com.command_code = 'A1' OR com.command_code = 'A2'))
+            AND NOT EXISTS(
+                SELECT * FROM rm_command_history
+                WHERE (result IS NULL OR result = 1)
+                AND (com.protocol = 'p206V1_0_1' AND (command_code = '93' OR command_code = '98' OR command_code = '00'))
+                AND param ->> '$.orderNo' = com.param ->> '$.orderNo'
+            )
         </where>
+        GROUP BY inta.name, rtus.isOnLine, com.rtu_addr, com.param ->> '$.icCardNo', com.command_code
     </select>
 
     <!--鏍规嵁鍙栨按鍙D鑾峰彇璇ュ彇姘村彛鏈叧闃�鍙傛暟-->
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveLastMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveLastMapper.xml
index dd62be3..34f6871 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveLastMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveLastMapper.xml
@@ -473,10 +473,10 @@
                 AND oh.rtu_addr LIKE CONCAT('%', #{rtuAddr}, '%')
             </if>
             <if test="timeStart_open != null and timeStart_open != '' and timeStop_open != null and timeStop_open != ''">
-                AND oh.op_dt BETWEEN #{timeStart_open} AND #{timeStop_open}
+                AND oh.open_dt BETWEEN #{timeStart_open} AND #{timeStop_open}
             </if>
             <if test="timeStart_close != null and timeStart_close != '' and timeStop_close != null and timeStop_close != ''">
-                AND oh.cl_dt BETWEEN #{timeStart_close} AND #{timeStop_close}
+                AND oh.close_dt BETWEEN #{timeStart_close} AND #{timeStop_close}
             </if>
         </where>
     </select>
@@ -540,10 +540,10 @@
                 AND oh.rtu_addr LIKE CONCAT('%', #{rtuAddr}, '%')
             </if>
             <if test="timeStart_open != null and timeStart_open != '' and timeStop_open != null and timeStop_open != ''">
-                AND oh.op_dt BETWEEN #{timeStart_open} AND #{timeStop_open}
+                AND oh.open_dt BETWEEN #{timeStart_open} AND #{timeStop_open}
             </if>
             <if test="timeStart_close != null and timeStart_close != '' and timeStop_close != null and timeStop_close != ''">
-                AND oh.cl_dt BETWEEN #{timeStart_close} AND #{timeStop_close}
+                AND oh.close_dt BETWEEN #{timeStart_close} AND #{timeStop_close}
             </if>
         </where>
         ORDER BY oh.op_dt DESC
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/inspect/InspectCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/inspect/InspectCtrl.java
index 26e4ca5..26446d4 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/inspect/InspectCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/inspect/InspectCtrl.java
@@ -75,7 +75,7 @@
 
                     // 娣诲姞宸℃璁板綍
                     OpeInspect opeInspect = new OpeInspect();
-                    opeInspect.setInspectorId(inspects.getInspectorId());
+                    opeInspect.setInspectorId(inspectorId);
                     if(startTime != null) {
                         opeInspect.setStartTime(startTime);
                     }
@@ -97,7 +97,23 @@
                     }
                 }else {
                     // 璇ュ贰妫�宸蹭笂浼犺繃璁板綍锛岀画浼�
+                    if(stopTime != null) {
+                        OpeInspect inspect = new OpeInspect();
+                        inspect.setId(inspectId);
+                        inspect.setStopTime(stopTime);
+                        inspectSv.updateInspect(inspect);
+                    }
 
+                    if(tracks != null && tracks.size() > 0) {
+                        for (int j = 0; j < tracks.size(); j++) {
+                            tracks.get(j).setId(idLongGenerator.generate());
+                            tracks.get(j).setInspectId(inspectId);
+                        }
+                        Integer rec = inspectSv.insertTracks(tracks);
+                        if(rec == null || rec == 0) {
+                            return BaseResponseUtils.buildErrorMsg("宸℃杞ㄨ抗娣诲姞澶辫触");
+                        }
+                    }
                 }
             }
             return BaseResponseUtils.buildSuccess() ;
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/inspect/InspectSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/inspect/InspectSv.java
index 20893a0..6d04f09 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/inspect/InspectSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/inspect/InspectSv.java
@@ -37,6 +37,15 @@
     }
 
     /**
+     * 淇敼宸℃璁板綍
+     * @param po
+     * @return
+     */
+    public Integer updateInspect(OpeInspect po) {
+        return opeInspectMapper.updateByPrimaryKeySelective(po);
+    }
+
+    /**
      * 鎵归噺娣诲姞宸℃杞ㄨ抗
      * @param list
      * @return

--
Gitblit v1.8.0