From 4783fc799e4416c4c90e07afd00e733502f0bba8 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期四, 31 十月 2024 16:09:11 +0800
Subject: [PATCH] 1、更新日漏损最新记录有bug(新生成了记录,应该是更新老记录),修改之 ; 2、CommonV1_0_0中获取开关阀类型名称时,对于null返回空字符串。
---
pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrControllerMapper.xml | 121 +++++++++++++++++++++++++++++++---------
1 files changed, 93 insertions(+), 28 deletions(-)
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrControllerMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrControllerMapper.xml
index fa8b81d..9f98c8b 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrControllerMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrControllerMapper.xml
@@ -9,6 +9,7 @@
<result column="rtuAddr" jdbcType="VARCHAR" property="rtuAddr" />
<result column="protocol" jdbcType="VARCHAR" property="protocol" />
<result column="findDt" jdbcType="TIMESTAMP" property="findDt" />
+ <result column="orgTag" jdbcType="VARCHAR" property="orgTag" />
<result column="addWays" jdbcType="TINYINT" property="addWays" />
<result column="operator" jdbcType="BIGINT" property="operator" />
<result column="operateDt" jdbcType="TIMESTAMP" property="operateDt" />
@@ -19,17 +20,18 @@
<result column="intakeId" jdbcType="BIGINT" property="intakeId" />
<result column="rtuAddr" jdbcType="VARCHAR" property="rtuAddr" />
</resultMap>
+
<sql id="Base_Column_List">
<!--@mbg.generated-->
- id, intakeId, rtuAddr, protocol, findDt, addWays, `operator`, operateDt, deleted
+ id, intakeId, rtuAddr, protocol, findDt, orgTag, addWays, `operator`, operateDt, deleted
</sql>
<sql id="Part_Column_List">
<!--@mbg.generated-->
- id, rtuAddr
+ id, rtuAddr, intakeId
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
<!--@mbg.generated-->
- select
+ select
<include refid="Base_Column_List" />
from pr_controller
where id = #{id,jdbcType=BIGINT}
@@ -42,12 +44,13 @@
<insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoPr.PrController">
<!--@mbg.generated-->
insert into pr_controller (id, intakeId, rtuAddr,
- protocol, findDt, addWays,
+ protocol, findDt, orgTag, addWays,
`operator`, operateDt, deleted
)
values (#{id,jdbcType=BIGINT}, #{intakeId,jdbcType=BIGINT}, #{rtuAddr,jdbcType=VARCHAR},
- #{protocol,jdbcType=VARCHAR}, #{findDt,jdbcType=TIMESTAMP}, #{addWays,jdbcType=TINYINT},
- #{operator,jdbcType=BIGINT}, #{operateDt,jdbcType=TIMESTAMP}, #{deleted,jdbcType=TINYINT}
+ #{protocol,jdbcType=VARCHAR}, #{findDt,jdbcType=TIMESTAMP}, #{orgTag,jdbcType=VARCHAR},
+ #{addWays,jdbcType=TINYINT}, #{operator,jdbcType=BIGINT}, #{operateDt,jdbcType=TIMESTAMP},
+ #{deleted,jdbcType=TINYINT}
)
</insert>
<insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoPr.PrController">
@@ -68,6 +71,9 @@
</if>
<if test="findDt != null">
findDt,
+ </if>
+ <if test="orgTag != null">
+ orgTag,
</if>
<if test="addWays != null">
addWays,
@@ -97,6 +103,9 @@
</if>
<if test="findDt != null">
#{findDt,jdbcType=TIMESTAMP},
+ </if>
+ <if test="orgTag != null">
+ #{orgTag,jdbcType=VARCHAR},
</if>
<if test="addWays != null">
#{addWays,jdbcType=TINYINT},
@@ -128,6 +137,9 @@
<if test="findDt != null">
findDt = #{findDt,jdbcType=TIMESTAMP},
</if>
+ <if test="orgTag != null">
+ orgTag = #{orgTag,jdbcType=VARCHAR},
+ </if>
<if test="addWays != null">
addWays = #{addWays,jdbcType=TINYINT},
</if>
@@ -150,6 +162,7 @@
rtuAddr = #{rtuAddr,jdbcType=VARCHAR},
protocol = #{protocol,jdbcType=VARCHAR},
findDt = #{findDt,jdbcType=TIMESTAMP},
+ orgTag = #{orgTag,jdbcType=VARCHAR},
addWays = #{addWays,jdbcType=TINYINT},
`operator` = #{operator,jdbcType=BIGINT},
operateDt = #{operateDt,jdbcType=TIMESTAMP},
@@ -157,25 +170,38 @@
where id = #{id,jdbcType=BIGINT}
</update>
+ <!--鏍规嵁鎺у埗鍣ㄧ紪鍙峰垹闄ゅ彇姘村彛缂栧彿-->
+ <update id="deleteIntakeId">
+ UPDATE pr_controller SET intakeId = null WHERE id = ${controllerId}
+ </update>
+
<!--鏍规嵁鎸囧畾鏉′欢鑾峰彇鎺у埗鍣ㄨ褰曟暟-->
<select id="getRecordCount" resultType="java.lang.Long">
SELECT
COUNT(*) AS recordCount
FROM pr_controller con
- INNER JOIN pr_intake_controller ic ON ic.controllerId = con.id
- INNER JOIN pr_intake inta ON con.intakeId = inta.id
+ LEFT JOIN pr_intake_controller ic ON ic.controllerId = con.id
+ INNER JOIN pr_intake inta ON con.intakeId = inta.id
+ left 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 con.rtuAddr = rtus.rtuAddr
<where>
- AND ic.operateType = 1
- AND deleted = 0
+ AND con.deleted = 0
<if test = "id != null and id > 0">
AND con.id = ${id}
</if>
-
<if test = "rtuAddr != null and rtuAddr !=''">
AND con.rtuAddr like CONCAT('%',#{rtuAddr},'%')
</if>
-
+ <if test="isOnLine != null and isOnLine !='' ">
+ AND rtus.isOnLine = #{isOnLine}
+ </if>
<if test = "bindNumber != null and bindNumber > 0">
AND (SELECT COUNT(*) FROM pr_intake_controller WHERE controllerId = con.id AND intakeId = inta.id AND operateType = 1) = ${bindNumber}
</if>
@@ -185,33 +211,47 @@
<!--鏍规嵁鎸囧畾鏉′欢鑾峰彇鎺у埗鍣ㄨ褰�-->
<select id="getControllers" resultType="com.dy.pipIrrGlobal.voPr.VoController">
SELECT
+ CAST(con.id AS char) AS id,
con.rtuAddr AS rtuAddr,
inta.name AS intakeName,
- (SELECT COUNT(*) FROM pr_intake_controller WHERE controllerId = con.id AND intakeId = inta.id AND operateType = 1) AS bindNumber,
- con.findDt
+ con.protocol,
+ inta.remarks,
+ rtus.isOnLine,
+ (SELECT COUNT(*) FROM pr_intake_controller WHERE controllerId = con.id AND operateType = 1) AS bindNumber,
+ con.findDt AS findDt
FROM pr_controller con
- INNER JOIN pr_intake_controller ic ON ic.controllerId = con.id
+ LEFT JOIN pr_intake_controller ic ON ic.controllerId = con.id
INNER JOIN pr_intake inta ON con.intakeId = inta.id
+ left 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 con.rtuAddr = rtus.rtuAddr
<where>
- AND ic.operateType = 1
- AND deleted = 0
+ AND con.deleted = 0
<if test = "id != null and id > 0">
AND con.id = ${id}
</if>
-
<if test = "rtuAddr != null and rtuAddr !=''">
AND con.rtuAddr like CONCAT('%',#{rtuAddr},'%')
</if>
-
+ <if test="isOnLine != null and isOnLine !='' ">
+ AND rtus.isOnLine = #{isOnLine}
+ </if>
<if test = "bindNumber != null and bindNumber > 0">
- AND (SELECT COUNT(*) FROM pr_intake_controller WHERE controllerId = con.id AND intakeId = inta.id AND operateType = 1) = ${bindNumber}
+ AND (SELECT COUNT(*) FROM pr_intake_controller WHERE controllerId = con.id AND operateType = 1) = ${bindNumber}
</if>
</where>
ORDER BY con.operateDt DESC
- <if test="pageCurr != null and pageSize != null">
- LIMIT ${pageCurr}, ${pageSize}
- </if>
+ <trim prefix="limit " >
+ <if test="start != null and count != null">
+ #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER}
+ </if>
+ </trim>
</select>
<!--鏍规嵁鎺у埗鍣ㄥ湴鍧�鑾峰彇鎺у埗鍣ㄥ垪琛�-->
@@ -220,11 +260,16 @@
</select>
<!--鏍规嵁鎺у埗鍣ㄥ湴鍧�鑾峰彇鎺у埗鍣ㄥ垪琛�-->
- <select id="getControllersByRtuAddrAndIntakeNotNull" parameterType="java.lang.String" resultMap="PartResultMap">
- SELECT
- <include refid="Part_Column_List">
- </include>
- FROM pr_controller WHERE deleted = 0 AND intakeId is not null AND rtuAddr=#{rtuAddr,jdbcType=VARCHAR}
+ <select id="getControllersByRtuAddrAndIntakeNotNull" parameterType="java.lang.String" resultType="com.dy.pipIrrGlobal.pojoPr.PrController">
+ SELECT tb.id id,
+ tb.rtuAddr rtuAddr,
+ tb.intakeId intakeId,
+ tb.findDt findDt,
+ tb.operateDt operateDt,
+ itb.name intakeName
+ FROM pr_controller tb
+ INNER JOIN pr_intake itb on tb.intakeId = itb.id
+ WHERE tb.deleted = 0 AND tb.intakeId is not null AND tb.rtuAddr=#{rtuAddr,jdbcType=VARCHAR}
</select>
<!--鏍规嵁鎺у埗鍣ㄧ紪鍙烽�昏緫鍒犻櫎鎺у埗-->
@@ -236,4 +281,24 @@
<select id="getRecordCountOfController" resultType="java.lang.Integer">
SELECT COUNT(*) AS recordCount FROM pr_controller WHERE deleted = 0 AND id = ${controllerId}
</select>
+
+ <!--鏍规嵁娴佹氮鎺у埗鍣ㄧ紪鍙疯幏鍙栧凡缁戝畾璁板綍鏁�-->
+ <select id="getBindedCount" resultType="java.lang.Integer">
+ SELECT COUNT(*) AS recordCount FROM pr_controller WHERE rtuAddr = (SELECT rtuAddr FROM pr_controller_tramp WHERE id = ${controllerId}) AND intakeId IS NOT NULL
+ </select>
+
+ <!--鏍规嵁鍙栨按鍙D鎴栭榾鎺у櫒鍦板潃鑾峰彇闃�鎺у櫒瀵硅薄-->
+ <select id="getRtu" resultType="com.dy.pipIrrGlobal.pojoPr.PrController">
+ SELECT * FROM pr_controller
+ <where>
+ AND deleted = 0
+ <if test = "intakeId != null">
+ AND intakeId = #{intakeId}
+ </if>
+ <if test = "rtuAddr != null">
+ AND rtuAddr = #{rtuAddr}
+ </if>
+ </where>
+ LIMIT 0,1
+ </select>
</mapper>
\ No newline at end of file
--
Gitblit v1.8.0