From d65cc4cd967d9c8cbdc8a4dd7c803e952f01098f Mon Sep 17 00:00:00 2001 From: wuzeyu <1223318623@qq.com> Date: 星期三, 28 八月 2024 14:53:35 +0800 Subject: [PATCH] 修改用户登录接口 优化取水口绑定、解绑控制器接口 --- pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrControllerMapper.xml | 88 ++++++++++++++++++++++++++++++++++---------- 1 files changed, 68 insertions(+), 20 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 d9edbe5..7245604 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" /> @@ -22,7 +23,7 @@ <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--> @@ -43,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"> @@ -69,6 +71,9 @@ </if> <if test="findDt != null"> findDt, + </if> + <if test="orgTag != null"> + orgTag, </if> <if test="addWays != null"> addWays, @@ -98,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}, @@ -129,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> @@ -151,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}, @@ -168,20 +180,28 @@ 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 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> @@ -194,24 +214,34 @@ CAST(con.id AS char) AS id, con.rtuAddr AS rtuAddr, inta.name AS intakeName, - "鍦ㄧ嚎" AS onlineState, + con.protocol, + inta.remarks, + rtus.isOnLine, (SELECT COUNT(*) FROM pr_intake_controller WHERE controllerId = con.id AND intakeId = inta.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 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> @@ -230,11 +260,14 @@ </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, + 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> <!--鏍规嵁鎺у埗鍣ㄧ紪鍙烽�昏緫鍒犻櫎鎺у埗--> @@ -247,8 +280,23 @@ 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