From c4d56f4a2c7687739f3bf0f43bcc1f35c9bbeb8b Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期三, 14 五月 2025 15:18:44 +0800
Subject: [PATCH] 1、表阀一体协议解析同步新版本;2、默认设备是表阀一体(0x02)

---
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml |  107 ++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 100 insertions(+), 7 deletions(-)

diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml
index 5873b07..01b3bcf 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml
@@ -50,17 +50,19 @@
         ge.`operator`,
         ge.operateDt,
         blo.`name`                                          AS blockName,
-        CONCAT(country.`name`, town.`name`, village.`name`)              AS address
+        CONCAT(country.`name`, town.`name`, village.`name`)              AS address,
+        con.id AS controllerId,
+        con.rtuAddr,
+        con.protocol
         FROM pr_intake ge
-        INNER JOIN pr_divide divi ON ge.divideId = divi.id
-        INNER JOIN ba_block blo ON divi.blockId = blo.id
+        LEFT JOIN pr_divide divi ON ge.divideId = divi.id
+        LEFT JOIN ba_block blo ON divi.blockId = blo.id
         LEFT JOIN ba_district country ON ge.countyId = country.id
         LEFT JOIN ba_district town ON ge.townId = town.id
         LEFT JOIN ba_district village ON ge.villageId = village.id
+        LEFT JOIN pr_controller con ON con.intakeId = ge.id
         where ge.id = #{id,jdbcType=BIGINT}
         AND ge.deleted = 0
-        AND divi.deleted = 0
-        AND blo.deleted = 0
     </select>
 
     <delete id="deleteLogicById" parameterType="java.lang.Long">
@@ -378,7 +380,7 @@
                 AND bindNumTb.num = #{bindNumber}
             </if>
         </where>
-        ORDER BY ge.operateDt DESC
+        ORDER BY ge.divideId DESC, ge.id DESC
         <trim prefix="limit ">
             <if test="start != null and count != null">
                 #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER}
@@ -402,6 +404,13 @@
         FROM pr_intake
         WHERE deleted = 0
         AND id = #{intakeId}
+    </select>
+
+    <!--鏍规嵁鏉慖D鑾峰彇鍏ㄩ儴鍦板潃-->
+    <select id="getNameById" resultType="java.lang.String">
+        select name
+        from pr_intake
+        where id = #{intakeId, jdbcType=BIGINT}
     </select>
 
     <!--鏍规嵁鏉慖D鑾峰彇鍏ㄩ儴鍦板潃-->
@@ -586,9 +595,12 @@
         SELECT
         inta.id                     AS intakeId,
         con.rtuAddr,
-        inta.name                   AS intakeNum,
+        con.protocol,
+        con.protocol_version       AS protocolVersion,
+        inta.name                  AS intakeNum,
         inta.lng,
         inta.lat,
+        IFNULL(hou.instant_amount, 0) AS instantAmount,
         IFNULL(hou.total_amount, 0) AS totalAmount,
         <if test="onLineMap != null and onLineMap !='' and isOnLine != null">
             rtus.isOnLine,
@@ -709,4 +721,85 @@
         WHERE id != #{id}
         and `name` = #{intakeName}
     </select>
+    <!--app淇敼鍙栨按鍙g粡绾害-->
+    <update id="updateByPrimaryKeySelective1" parameterType="com.dy.pipIrrGlobal.voPr.IntakeUpdateLngLat">
+        <!--@mbg.generated-->
+        update pr_intake
+        <set>
+            <if test="lng != null">
+                lng = #{lng,jdbcType=DOUBLE},
+            </if>
+            <if test="lat != null">
+                lat = #{lat,jdbcType=DOUBLE},
+            </if>
+            <if test="operator != null">
+                `operator` = #{operator,jdbcType=BIGINT},
+            </if>
+            <if test="operateDt != null">
+                operateDt = #{operateDt,jdbcType=TIMESTAMP},
+            </if>
+        </set>
+        where id = #{id,jdbcType=BIGINT}
+    </update>
+
+    <!--鑾峰彇鏈粦瀹氬埌杞亴缁勭殑鍙栨按鍙e垪琛�-->
+    <select id="getFreeIntakes" resultType="com.dy.pipIrrGlobal.voPr.VoIntakeSimple">
+        SELECT
+            id AS intakeId,
+            name AS intakeName
+        FROM pr_intake inta
+        <where>
+            AND inta.deleted = 0
+            AND NOT EXISTS (SELECT 1 FROM ir_group_intake gi WHERE gi.intake_id = inta.id)
+            <if test="intakeName != null and intakeName != ''">
+                AND LOWER(inta.name) LIKE CONCAT('%', #{intakeName}, '%')
+            </if>
+        </where>
+    </select>
+
+    <!--鑾峰彇鏈粦瀹氳櫄鎷熷崱鐨勫彇姘村彛鍒楄〃锛岀粰鍙栨按鍙g粦铏氭嫙鍗′娇鐢�-->
+    <select id="getNotLinkVcIntakes" resultType="com.dy.pipIrrGlobal.voPr.VoIntakeSimple">
+        SELECT
+            id AS intakeId,
+            name AS intakeName
+        FROM pr_intake inta
+        WHERE NOT EXISTS (
+                SELECT 1
+                FROM pr_intake_vc iv
+                WHERE iv.intake_id = inta.id
+            ) AND inta.deleted = 0
+    </select>
+
+
+
+    <!-- 涓簑echat,鏍规嵁鎸囧畾鍙栨按鍙e悕绉版ā绯婏紙鍚庣锛夋煡璇㈡按鍙h褰曟暟 -->
+    <select id="getSomeIntakesCount4Wx" parameterType="java.util.Map" resultType="java.lang.Long">
+        SELECT COUNT(*) AS recordCount
+        FROM pr_intake tb
+        <where>
+            tb.deleted = 0
+            <if test="intakeNum != null and intakeNum != ''">
+                AND tb.name LIKE CONCAT('%', #{intakeNum})
+            </if>
+        </where>
+    </select>
+
+    <!-- 涓簑echat,鏍规嵁鎸囧畾鍙栨按鍙e悕绉版ā绯婏紙鍚庣锛夋煡璇㈡按鍙h褰� -->
+    <select id="getSomeIntakes4Wx" parameterType="java.util.Map" resultType="com.dy.pipIrrGlobal.voPr.VoOnLineIntake">
+        SELECT
+        inta.id AS intakeId,
+        con.rtuAddr,
+        inta.name AS intakeNum
+        FROM pr_intake inta
+        INNER JOIN pr_controller con ON con.intakeId = inta.id
+        <where>
+            inta.deleted = 0
+            <if test="intakeNum != null and intakeNum != ''">
+                AND inta.name LIKE CONCAT('%', #{intakeNum})
+            </if>
+        </where>
+        ORDER BY inta.id DESC
+    </select>
+
+
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0