From fd2de42e8b0019e660f04c72d0a9d218e032f4e4 Mon Sep 17 00:00:00 2001 From: wuzeyu <1223318623@qq.com> Date: 星期五, 05 七月 2024 13:59:02 +0800 Subject: [PATCH] 添加取水口和更改取水口时判断取水口是否重名 --- pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmCommandHistoryMapper.xml | 145 ++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 128 insertions(+), 17 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 3bc43bd..2ef9373 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmCommandHistoryMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmCommandHistoryMapper.xml @@ -7,7 +7,8 @@ <id column="id" jdbcType="BIGINT" property="id" /> <result column="command_code" jdbcType="VARCHAR" property="commandCode" /> <result column="command_name" jdbcType="VARCHAR" property="commandName" /> - <result column="rtuAddr" jdbcType="VARCHAR" property="rtuaddr" /> + <result column="intake_id" jdbcType="BIGINT" property="intakeId" /> + <result column="rtu_addr" jdbcType="VARCHAR" property="rtuAddr" /> <result column="protocol" jdbcType="VARCHAR" property="protocol" /> <result column="param" property="param" jdbcType="JAVA_OBJECT" typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler" /> <result column="send_time" jdbcType="TIMESTAMP" property="sendTime" /> @@ -18,7 +19,7 @@ </resultMap> <sql id="Base_Column_List"> <!--@mbg.generated--> - id, command_code, command_name, rtuAddr, protocol, param, send_time, `operator`, + id, command_code, command_name, intake_id, rtu_addr, protocol, param, send_time, `operator`, `result`, result_time, result_text </sql> <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap"> @@ -36,11 +37,11 @@ <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoRm.RmCommandHistory"> <!--@mbg.generated--> insert into rm_command_history (id, command_code, command_name, - rtuAddr, protocol, param, + intake_id, rtu_addr, protocol, param, send_time, `operator`, `result`, result_time, result_text) - values (#{id,jdbcType=BIGINT}, #{commandCode,jdbcType=VARCHAR}, #{commandName,jdbcType=VARCHAR}, - #{rtuaddr,jdbcType=VARCHAR}, #{protocol,jdbcType=VARCHAR}, #{param,jdbcType= JAVA_OBJECT, typeHandler=com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler}, + values (#{id,jdbcType=BIGINT}, #{commandCode,jdbcType=VARCHAR}, #{commandName,jdbcType=VARCHAR}, #{intakeId,jdbcType=BIGINT}, + #{rtuAddr,jdbcType=VARCHAR}, #{protocol,jdbcType=VARCHAR}, #{param,jdbcType= JAVA_OBJECT, typeHandler=com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler}, #{sendTime,jdbcType=TIMESTAMP}, #{operator,jdbcType=BIGINT}, #{result,jdbcType=TINYINT}, #{resultTime,jdbcType=TIMESTAMP}, #{resultText,jdbcType= JAVA_OBJECT, typeHandler=com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler}) </insert> @@ -57,8 +58,11 @@ <if test="commandName != null"> command_name, </if> - <if test="rtuaddr != null"> - rtuAddr, + <if test="intakeId != null"> + intake_id, + </if> + <if test="rtuAddr != null"> + rtu_addr, </if> <if test="protocol != null"> protocol, @@ -92,8 +96,11 @@ <if test="commandName != null"> #{commandName,jdbcType=VARCHAR}, </if> - <if test="rtuaddr != null"> - #{rtuaddr,jdbcType=VARCHAR}, + <if test="intakeId != null"> + #{intakeId,jdbcType=BIGINT}, + </if> + <if test="rtuAddr != null"> + #{rtuAddr,jdbcType=VARCHAR}, </if> <if test="protocol != null"> #{protocol,jdbcType=VARCHAR}, @@ -128,8 +135,11 @@ <if test="commandName != null"> command_name = #{commandName,jdbcType=VARCHAR}, </if> - <if test="rtuaddr != null"> - rtuAddr = #{rtuaddr,jdbcType=VARCHAR}, + <if test="intakeId != null"> + intake_id = #{intakeId,jdbcType=BIGINT}, + </if> + <if test="rtuAddr != null"> + rtu_addr = #{rtuAddr,jdbcType=VARCHAR}, </if> <if test="protocol != null"> protocol = #{protocol,jdbcType=VARCHAR}, @@ -160,7 +170,8 @@ update rm_command_history set command_code = #{commandCode,jdbcType=VARCHAR}, command_name = #{commandName,jdbcType=VARCHAR}, - rtuAddr = #{rtuaddr,jdbcType=VARCHAR}, + intake_id = #{intakeId,jdbcType=BIGINT}, + rtu_addr = #{rtuAddr,jdbcType=VARCHAR}, protocol = #{protocol,jdbcType=VARCHAR}, param = #{param,jdbcType= JAVA_OBJECT, typeHandler=com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler}, send_time = #{sendTime,jdbcType=TIMESTAMP}, @@ -177,12 +188,12 @@ com.command_code AS commandCode, inta.name AS intakeNum, rtus.isOnLine, - com.rtuAddr, + com.rtu_addr AS rtuAddr, com.param ->>'$.orderNo' AS orderNo, com.param ->>'$.icCardNo' AS vcNum, com.send_time AS openTime FROM rm_command_history com - INNER JOIN pr_controller con ON com.rtuAddr = con.rtuAddr + INNER JOIN pr_controller con ON com.rtu_addr = con.rtuAddr INNER JOIN pr_intake inta ON con.intakeId = inta.id INNER JOIN JSON_TABLE( <!--'[{"rtuAddr":"37142501020100215","isOnLine":true},{"rtuAddr":"4000004","isOnLine":true},{"rtuAddr":"dy20240325","isOnLine":false}]',--> @@ -191,9 +202,109 @@ rtuAddr VARCHAR(20) PATH '$.rtuAddr', isOnLine BOOLEAN PATH '$.isOnLine' ) - ) rtus ON com.rtuAddr = rtus.rtuAddr - WHERE (com.command_code = '92' OR com.command_code = 'A2') AND com.operator = #{operator} - AND NOT EXISTS (SELECT * FROM rm_command_history WHERE (command_code = '93' OR command_code = 'A3') AND param ->>'$.orderNo' = com.param ->>'$.orderNo') + ) 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> ORDER BY com.send_time DESC </select> + + <!--鏍规嵁鍙栨按鍙D鑾峰彇璇ュ彇姘村彛鏈叧闃�鍙傛暟--> + <select id="getUncloseParam" resultType="com.dy.pipIrrGlobal.voRm.VoUnclosedParam"> + SELECT + com.rtu_addr AS rtuAddr, + com.param ->>'$.orderNo' AS orderNo, + com.param ->>'$.icCardNo' AS vcNum + 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 JSON_TABLE( +<!-- '[{"rtuAddr":"620201000029","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 (com.command_code = '92' OR com.command_code = 'A2' OR com.command_code = '97') AND con.intakeId = #{intakeId} + 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' + ) + ORDER BY com.send_time DESC + LIMIT 0,1 + </select> + + <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇鍛戒护鏃ュ織鍘嗗彶璁板綍鎬绘暟--> + <select id="getCommandHistoriesCount" resultType="java.lang.Long"> + SELECT + COUNT(*) AS recordCount + FROM rm_command_history his + INNER JOIN pr_intake inta ON inta.id = his.intake_id + LEFT JOIN se_client cli ON cli.id = his.operator + LEFT JOIN ba_user user ON user.id = his.operator + <where> + <if test = "commandName != null and commandName !=''"> + AND his.command_name LIKE CONCAT('%',#{commandName},'%') + </if> + <if test = "result != null"> + AND his.result = #{result} + </if> + <if test = "timeStart != null and timeStop != null"> + AND his.send_time BETWEEN #{timeStart} AND #{timeStop} + </if> + </where> + </select> + + <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇鍛戒护鏃ュ織鍘嗗彶璁板綍--> + <select id="getCommandHistories" resultType="com.dy.pipIrrGlobal.voRm.VoCommand"> + SELECT + his.id, + his.command_name AS commandName, + inta.name AS intakeName, + his.rtu_addr AS rtuAddr, + his.protocol, + his.send_time AS sendTime, + his.result_time AS resultTime, + (CASE + WHEN his.result = 1 THEN "鎴愬姛" + ELSE "澶辫触" + END) AS result, + his.result_text, + IFNULL(cli.name, user.name) AS userName + FROM rm_command_history his + INNER JOIN pr_intake inta ON inta.id = his.intake_id + LEFT JOIN se_client cli ON cli.id = his.operator + LEFT JOIN ba_user user ON user.id = his.operator + <where> + <if test = "commandName != null and commandName !=''"> + AND his.command_name LIKE CONCAT('%',#{commandName},'%') + </if> + <if test = "result != null"> + AND his.result = #{result} + </if> + + <if test = "timeStart != null and timeStop != null"> + AND his.send_time BETWEEN #{timeStart} AND #{timeStop} + </if> + </where> + ORDER BY his.send_time DESC + <trim prefix="limit " > + <if test="start != null and count != null"> + #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER} + </if> + </trim> + </select> + </mapper> \ No newline at end of file -- Gitblit v1.8.0