From 001f24d4efd7b818bc2224b976c82faf4f9e564c Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期五, 01 十一月 2024 11:25:00 +0800 Subject: [PATCH] 1、通信协议要增加版本号(目的为远程升级准备),原来没有版本号的协议默认为版本号为1,所以调整了程序命名; 2、流浪控制器与控制器数据库表都增加了协议版本号字段; 3、VO中Double和Float类型的属性增加注解@JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" ) --- pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrControllerMapper.xml | 124 +++++++++++++++++++++++++++++------------ 1 files changed, 88 insertions(+), 36 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 928d0a5..b25dfc9 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrControllerMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrControllerMapper.xml @@ -8,7 +8,9 @@ <result column="intakeId" jdbcType="BIGINT" property="intakeId" /> <result column="rtuAddr" jdbcType="VARCHAR" property="rtuAddr" /> <result column="protocol" jdbcType="VARCHAR" property="protocol" /> + <result column="protocol_version" jdbcType="INTEGER" property="protocolVersion" /> <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 +24,7 @@ <sql id="Base_Column_List"> <!--@mbg.generated--> - id, intakeId, rtuAddr, protocol, findDt, addWays, `operator`, operateDt, deleted + id, intakeId, rtuAddr, protocol, protocol_version, findDt, orgTag, addWays, `operator`, operateDt, deleted </sql> <sql id="Part_Column_List"> <!--@mbg.generated--> @@ -43,12 +45,13 @@ <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoPr.PrController"> <!--@mbg.generated--> insert into pr_controller (id, intakeId, rtuAddr, - protocol, findDt, addWays, + protocol, protocol_version, 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}, #{protocolVersion,jdbcType=INTEGER}, #{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"> @@ -67,8 +70,14 @@ <if test="protocol != null"> protocol, </if> + <if test="protocolVersion != null"> + protocol_version, + </if> <if test="findDt != null"> findDt, + </if> + <if test="orgTag != null"> + orgTag, </if> <if test="addWays != null"> addWays, @@ -96,8 +105,14 @@ <if test="protocol != null"> #{protocol,jdbcType=VARCHAR}, </if> + <if test="protocolVersion != null"> + #{protocolVersion,jdbcType=INTEGER}, + </if> <if test="findDt != null"> #{findDt,jdbcType=TIMESTAMP}, + </if> + <if test="orgTag != null"> + #{orgTag,jdbcType=VARCHAR}, </if> <if test="addWays != null"> #{addWays,jdbcType=TINYINT}, @@ -126,8 +141,14 @@ <if test="protocol != null"> protocol = #{protocol,jdbcType=VARCHAR}, </if> + <if test="protocolVersion != null"> + protocol_version = #{protocolVersion,jdbcType=INTEGER}, + </if> <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}, @@ -150,7 +171,9 @@ set intakeId = #{intakeId,jdbcType=BIGINT}, rtuAddr = #{rtuAddr,jdbcType=VARCHAR}, protocol = #{protocol,jdbcType=VARCHAR}, + protocol_version = #{protocolVersion,jdbcType=INTEGER}, findDt = #{findDt,jdbcType=TIMESTAMP}, + orgTag = #{orgTag,jdbcType=VARCHAR}, addWays = #{addWays,jdbcType=TINYINT}, `operator` = #{operator,jdbcType=BIGINT}, operateDt = #{operateDt,jdbcType=TIMESTAMP}, @@ -160,7 +183,7 @@ <!--鏍规嵁鎺у埗鍣ㄧ紪鍙峰垹闄ゅ彇姘村彛缂栧彿--> <update id="deleteIntakeId"> - UPDATE pr_controller SET intakeId = null WHERE id = ${controllerId} + UPDATE pr_controller SET intakeId = null WHERE id = #{controllerId} </update> <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇鎺у埗鍣ㄨ褰曟暟--> @@ -168,22 +191,30 @@ 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} + 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 intakeId = inta.id AND operateType = 1) = #{bindNumber} </if> </where> </select> @@ -194,26 +225,37 @@ CAST(con.id AS char) AS id, con.rtuAddr AS rtuAddr, inta.name AS intakeName, - "鍦ㄧ嚎" AS onlineState, - (SELECT COUNT(*) FROM pr_intake_controller WHERE controllerId = con.id AND intakeId = inta.id AND operateType = 1) AS bindNumber, + con.protocol, + con.protocol_version, + 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 con.deleted = 0 <if test = "id != null and id > 0"> - AND con.id = ${id} + 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 @@ -230,35 +272,45 @@ </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> <!--鏍规嵁鎺у埗鍣ㄧ紪鍙烽�昏緫鍒犻櫎鎺у埗--> <update id="deleteControllerById"> - UPDATE pr_controller SET deleted = 1 WHERE id = ${controllerId} + UPDATE pr_controller SET deleted = 1 WHERE id = #{controllerId} </update> <!--鏍规嵁鎺у埗鍣ㄧ紪鍙疯幏鍙栨湭鍒犻櫎鐨勬帶鍒跺櫒鏁伴噺--> <select id="getRecordCountOfController" resultType="java.lang.Integer"> - SELECT COUNT(*) AS recordCount FROM pr_controller WHERE deleted = 0 AND id = ${controllerId} + 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 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="getControllerByIntakeId" resultType="com.dy.pipIrrGlobal.pojoPr.PrController"> - SELECT * FROM pr_controller WHERE deleted = 0 AND intakeId = #{intakeId} LIMIT 0,1 - </select> - - <!--鏍规嵁RTU鍦板潃鑾峰彇闃�鎺у櫒瀵硅薄--> - <select id="getControllerByRtuAddr" resultType="com.dy.pipIrrGlobal.pojoPr.PrController"> - SELECT * FROM pr_controller WHERE deleted = 0 AND rtuAddr = #{rtuAddr} LIMIT 0,1 + <!--鏍规嵁鍙栨按鍙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