|  |  | 
 |  |  | <?xml version="1.0" encoding="UTF-8"?> | 
 |  |  | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> | 
 |  |  | <mapper namespace="com.dy.pipIrrGlobal.daoRm.RmCommandHistoryMapper"> | 
 |  |  |   <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoRm.RmCommandHistory"> | 
 |  |  |     <!--@mbg.generated--> | 
 |  |  |     <!--@Table rm_command_history--> | 
 |  |  |     <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="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" /> | 
 |  |  |     <result column="operator" jdbcType="BIGINT" property="operator" /> | 
 |  |  |     <result column="result" jdbcType="TINYINT" property="result" /> | 
 |  |  |     <result column="result_time" jdbcType="TIMESTAMP" property="resultTime" /> | 
 |  |  |     <result column="result_text" property="resultText" jdbcType="JAVA_OBJECT" typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler" /> | 
 |  |  |   </resultMap> | 
 |  |  |   <sql id="Base_Column_List"> | 
 |  |  |     <!--@mbg.generated--> | 
 |  |  |     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"> | 
 |  |  |     <!--@mbg.generated--> | 
 |  |  |     select  | 
 |  |  |     <include refid="Base_Column_List" /> | 
 |  |  |     from rm_command_history | 
 |  |  |     where id = #{id,jdbcType=BIGINT} | 
 |  |  |   </select> | 
 |  |  |   <delete id="deleteByPrimaryKey" parameterType="java.lang.Long"> | 
 |  |  |     <!--@mbg.generated--> | 
 |  |  |     delete from rm_command_history | 
 |  |  |     where id = #{id,jdbcType=BIGINT} | 
 |  |  |   </delete> | 
 |  |  |   <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoRm.RmCommandHistory"> | 
 |  |  |     <!--@mbg.generated--> | 
 |  |  |     insert into rm_command_history (id, command_code, command_name,  | 
 |  |  |       intake_id, rtu_addr, protocol, param, | 
 |  |  |       send_time, `operator`, `result`,  | 
 |  |  |       result_time, result_text) | 
 |  |  |     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> | 
 |  |  |   <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmCommandHistory"> | 
 |  |  |     <!--@mbg.generated--> | 
 |  |  |     insert into rm_command_history | 
 |  |  |     <trim prefix="(" suffix=")" suffixOverrides=","> | 
 |  |  |       <if test="id != null"> | 
 |  |  |         id, | 
 |  |  |       </if> | 
 |  |  |       <if test="commandCode != null"> | 
 |  |  |     <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoRm.RmCommandHistory"> | 
 |  |  |         <!--@mbg.generated--> | 
 |  |  |         <!--@Table rm_command_history--> | 
 |  |  |         <id column="com_id" jdbcType="BIGINT" property="comId"/> | 
 |  |  |         <result column="command_code" jdbcType="VARCHAR" property="commandCode"/> | 
 |  |  |         <result column="command_name" jdbcType="VARCHAR" property="commandName"/> | 
 |  |  |         <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"/> | 
 |  |  |         <result column="operator" jdbcType="BIGINT" property="operator"/> | 
 |  |  |         <result column="result" jdbcType="TINYINT" property="result"/> | 
 |  |  |         <result column="result_time" jdbcType="TIMESTAMP" property="resultTime"/> | 
 |  |  |         <result column="result_text" jdbcType="LONGVARCHAR" property="resultText"/> | 
 |  |  |     </resultMap> | 
 |  |  |     <sql id="Base_Column_List"> | 
 |  |  |         <!--@mbg.generated--> | 
 |  |  |         com_id, | 
 |  |  |         command_code, | 
 |  |  |       </if> | 
 |  |  |       <if test="commandName != null"> | 
 |  |  |         command_name, | 
 |  |  |       </if> | 
 |  |  |       <if test="intakeId != null"> | 
 |  |  |         intake_id, | 
 |  |  |       </if> | 
 |  |  |       <if test="rtuAddr != null"> | 
 |  |  |         rtu_addr, | 
 |  |  |       </if> | 
 |  |  |       <if test="protocol != null"> | 
 |  |  |         protocol, | 
 |  |  |       </if> | 
 |  |  |       <if test="param != null"> | 
 |  |  |         param, | 
 |  |  |       </if> | 
 |  |  |       <if test="sendTime != null"> | 
 |  |  |         send_time, | 
 |  |  |       </if> | 
 |  |  |       <if test="operator != null"> | 
 |  |  |         `operator`, | 
 |  |  |       </if> | 
 |  |  |       <if test="result != null"> | 
 |  |  |         `result`, | 
 |  |  |       </if> | 
 |  |  |       <if test="resultTime != null"> | 
 |  |  |         result_time, | 
 |  |  |       </if> | 
 |  |  |       <if test="resultText != null"> | 
 |  |  |         result_text, | 
 |  |  |       </if> | 
 |  |  |     </trim> | 
 |  |  |     <trim prefix="values (" suffix=")" suffixOverrides=","> | 
 |  |  |       <if test="id != null"> | 
 |  |  |         #{id,jdbcType=BIGINT}, | 
 |  |  |       </if> | 
 |  |  |       <if test="commandCode != null"> | 
 |  |  |         #{commandCode,jdbcType=VARCHAR}, | 
 |  |  |       </if> | 
 |  |  |       <if test="commandName != null"> | 
 |  |  |         #{commandName,jdbcType=VARCHAR}, | 
 |  |  |       </if> | 
 |  |  |       <if test="intakeId != null"> | 
 |  |  |         #{intakeId,jdbcType=BIGINT}, | 
 |  |  |       </if> | 
 |  |  |       <if test="rtuAddr != null"> | 
 |  |  |         #{rtuAddr,jdbcType=VARCHAR}, | 
 |  |  |       </if> | 
 |  |  |       <if test="protocol != null"> | 
 |  |  |         #{protocol,jdbcType=VARCHAR}, | 
 |  |  |       </if> | 
 |  |  |       <if test="param != null"> | 
 |  |  |         #{param,jdbcType= JAVA_OBJECT, typeHandler=com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler}, | 
 |  |  |       </if> | 
 |  |  |       <if test="sendTime != null"> | 
 |  |  |         #{sendTime,jdbcType=TIMESTAMP}, | 
 |  |  |       </if> | 
 |  |  |       <if test="operator != null"> | 
 |  |  |         #{operator,jdbcType=BIGINT}, | 
 |  |  |       </if> | 
 |  |  |       <if test="result != null"> | 
 |  |  |         #{result,jdbcType=TINYINT}, | 
 |  |  |       </if> | 
 |  |  |       <if test="resultTime != null"> | 
 |  |  |         #{resultTime,jdbcType=TIMESTAMP}, | 
 |  |  |       </if> | 
 |  |  |       <if test="resultText != null"> | 
 |  |  |         #{resultText,jdbcType= JAVA_OBJECT, typeHandler=com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler}, | 
 |  |  |       </if> | 
 |  |  |     </trim> | 
 |  |  |   </insert> | 
 |  |  |   <update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmCommandHistory"> | 
 |  |  |     <!--@mbg.generated--> | 
 |  |  |     update rm_command_history | 
 |  |  |     <set> | 
 |  |  |       <if test="commandCode != null"> | 
 |  |  |         command_code = #{commandCode,jdbcType=VARCHAR}, | 
 |  |  |       </if> | 
 |  |  |       <if test="commandName != null"> | 
 |  |  |         command_name = #{commandName,jdbcType=VARCHAR}, | 
 |  |  |       </if> | 
 |  |  |       <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}, | 
 |  |  |       </if> | 
 |  |  |       <if test="param != null"> | 
 |  |  |         param = #{param,jdbcType= JAVA_OBJECT, typeHandler=com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler}, | 
 |  |  |       </if> | 
 |  |  |       <if test="sendTime != null"> | 
 |  |  |         send_time = #{sendTime,jdbcType=TIMESTAMP}, | 
 |  |  |       </if> | 
 |  |  |       <if test="operator != null"> | 
 |  |  |         `operator` = #{operator,jdbcType=BIGINT}, | 
 |  |  |       </if> | 
 |  |  |       <if test="result != null"> | 
 |  |  |         `result` = #{result,jdbcType=TINYINT}, | 
 |  |  |       </if> | 
 |  |  |       <if test="resultTime != null"> | 
 |  |  |         result_time = #{resultTime,jdbcType=TIMESTAMP}, | 
 |  |  |       </if> | 
 |  |  |       <if test="resultText != null"> | 
 |  |  |         result_text = #{resultText,jdbcType= JAVA_OBJECT, typeHandler=com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler}, | 
 |  |  |       </if> | 
 |  |  |     </set> | 
 |  |  |     where id = #{id,jdbcType=BIGINT} | 
 |  |  |   </update> | 
 |  |  |   <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoRm.RmCommandHistory"> | 
 |  |  |     <!--@mbg.generated--> | 
 |  |  |     update rm_command_history | 
 |  |  |     set command_code = #{commandCode,jdbcType=VARCHAR}, | 
 |  |  |       command_name = #{commandName,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}, | 
 |  |  |       `operator` = #{operator,jdbcType=BIGINT}, | 
 |  |  |       `result` = #{result,jdbcType=TINYINT}, | 
 |  |  |       result_time = #{resultTime,jdbcType=TIMESTAMP}, | 
 |  |  |       result_text = #{resultText,jdbcType= JAVA_OBJECT, typeHandler=com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler} | 
 |  |  |     where id = #{id,jdbcType=BIGINT} | 
 |  |  |   </update> | 
 |  |  |         result_text | 
 |  |  |     </sql> | 
 |  |  |     <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap"> | 
 |  |  |         <!--@mbg.generated--> | 
 |  |  |         select | 
 |  |  |         <include refid="Base_Column_List"/> | 
 |  |  |         from rm_command_history | 
 |  |  |         where com_id = #{comId,jdbcType=BIGINT} | 
 |  |  |     </select> | 
 |  |  |     <delete id="deleteByPrimaryKey" parameterType="java.lang.Long"> | 
 |  |  |         <!--@mbg.generated--> | 
 |  |  |         delete | 
 |  |  |         from rm_command_history | 
 |  |  |         where com_id = #{comId,jdbcType=BIGINT} | 
 |  |  |     </delete> | 
 |  |  |     <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoRm.RmCommandHistory"> | 
 |  |  |         <!--@mbg.generated--> | 
 |  |  |         insert into rm_command_history (com_id, command_code, command_name, | 
 |  |  |                                         intake_id, rtu_addr, protocol, | 
 |  |  |                                         param, send_time, `operator`, | 
 |  |  |                                         `result`, result_time, result_text) | 
 |  |  |         values (#{comId,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=LONGVARCHAR}) | 
 |  |  |     </insert> | 
 |  |  |     <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmCommandHistory"> | 
 |  |  |         <!--@mbg.generated--> | 
 |  |  |         insert into rm_command_history | 
 |  |  |         <trim prefix="(" suffix=")" suffixOverrides=","> | 
 |  |  |             <if test="comId != null"> | 
 |  |  |                 com_id, | 
 |  |  |             </if> | 
 |  |  |             <if test="commandCode != null"> | 
 |  |  |                 command_code, | 
 |  |  |             </if> | 
 |  |  |             <if test="commandName != null"> | 
 |  |  |                 command_name, | 
 |  |  |             </if> | 
 |  |  |             <if test="intakeId != null"> | 
 |  |  |                 intake_id, | 
 |  |  |             </if> | 
 |  |  |             <if test="rtuAddr != null"> | 
 |  |  |                 rtu_addr, | 
 |  |  |             </if> | 
 |  |  |             <if test="protocol != null"> | 
 |  |  |                 protocol, | 
 |  |  |             </if> | 
 |  |  |             <if test="param != null"> | 
 |  |  |                 param, | 
 |  |  |             </if> | 
 |  |  |             <if test="sendTime != null"> | 
 |  |  |                 send_time, | 
 |  |  |             </if> | 
 |  |  |             <if test="operator != null"> | 
 |  |  |                 `operator`, | 
 |  |  |             </if> | 
 |  |  |             <if test="result != null"> | 
 |  |  |                 `result`, | 
 |  |  |             </if> | 
 |  |  |             <if test="resultTime != null"> | 
 |  |  |                 result_time, | 
 |  |  |             </if> | 
 |  |  |             <if test="resultText != null"> | 
 |  |  |                 result_text, | 
 |  |  |             </if> | 
 |  |  |         </trim> | 
 |  |  |         <trim prefix="values (" suffix=")" suffixOverrides=","> | 
 |  |  |             <if test="comId != null"> | 
 |  |  |                 #{comId,jdbcType=BIGINT}, | 
 |  |  |             </if> | 
 |  |  |             <if test="commandCode != null"> | 
 |  |  |                 #{commandCode,jdbcType=VARCHAR}, | 
 |  |  |             </if> | 
 |  |  |             <if test="commandName != null"> | 
 |  |  |                 #{commandName,jdbcType=VARCHAR}, | 
 |  |  |             </if> | 
 |  |  |             <if test="intakeId != null"> | 
 |  |  |                 #{intakeId,jdbcType=BIGINT}, | 
 |  |  |             </if> | 
 |  |  |             <if test="rtuAddr != null"> | 
 |  |  |                 #{rtuAddr,jdbcType=VARCHAR}, | 
 |  |  |             </if> | 
 |  |  |             <if test="protocol != null"> | 
 |  |  |                 #{protocol,jdbcType=VARCHAR}, | 
 |  |  |             </if> | 
 |  |  |             <if test="param != null"> | 
 |  |  |                 #{param,jdbcType= JAVA_OBJECT, typeHandler=com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler}, | 
 |  |  |             </if> | 
 |  |  |             <if test="sendTime != null"> | 
 |  |  |                 #{sendTime,jdbcType=TIMESTAMP}, | 
 |  |  |             </if> | 
 |  |  |             <if test="operator != null"> | 
 |  |  |                 #{operator,jdbcType=BIGINT}, | 
 |  |  |             </if> | 
 |  |  |             <if test="result != null"> | 
 |  |  |                 #{result,jdbcType=TINYINT}, | 
 |  |  |             </if> | 
 |  |  |             <if test="resultTime != null"> | 
 |  |  |                 #{resultTime,jdbcType=TIMESTAMP}, | 
 |  |  |             </if> | 
 |  |  |             <if test="resultText != null"> | 
 |  |  |                 #{resultText,jdbcType=LONGVARCHAR}, | 
 |  |  |             </if> | 
 |  |  |         </trim> | 
 |  |  |     </insert> | 
 |  |  |     <update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmCommandHistory"> | 
 |  |  |         <!--@mbg.generated--> | 
 |  |  |         update rm_command_history | 
 |  |  |         <set> | 
 |  |  |             <if test="commandCode != null"> | 
 |  |  |                 command_code = #{commandCode,jdbcType=VARCHAR}, | 
 |  |  |             </if> | 
 |  |  |             <if test="commandName != null"> | 
 |  |  |                 command_name = #{commandName,jdbcType=VARCHAR}, | 
 |  |  |             </if> | 
 |  |  |             <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}, | 
 |  |  |             </if> | 
 |  |  |             <if test="param != null"> | 
 |  |  |                 param = #{param,jdbcType= JAVA_OBJECT, typeHandler=com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler}, | 
 |  |  |             </if> | 
 |  |  |             <if test="sendTime != null"> | 
 |  |  |                 send_time = #{sendTime,jdbcType=TIMESTAMP}, | 
 |  |  |             </if> | 
 |  |  |             <if test="operator != null"> | 
 |  |  |                 `operator` = #{operator,jdbcType=BIGINT}, | 
 |  |  |             </if> | 
 |  |  |             <if test="result != null"> | 
 |  |  |                 `result` = #{result,jdbcType=TINYINT}, | 
 |  |  |             </if> | 
 |  |  |             <if test="resultTime != null"> | 
 |  |  |                 result_time = #{resultTime,jdbcType=TIMESTAMP}, | 
 |  |  |             </if> | 
 |  |  |             <if test="resultText != null"> | 
 |  |  |                 result_text = #{resultText,jdbcType=LONGVARCHAR}, | 
 |  |  |             </if> | 
 |  |  |         </set> | 
 |  |  |         where com_id = #{comId,jdbcType=BIGINT} | 
 |  |  |     </update> | 
 |  |  |     <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoRm.RmCommandHistory"> | 
 |  |  |         <!--@mbg.generated--> | 
 |  |  |         update rm_command_history | 
 |  |  |         set command_code = #{commandCode,jdbcType=VARCHAR}, | 
 |  |  |             command_name = #{commandName,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}, | 
 |  |  |             `operator`   = #{operator,jdbcType=BIGINT}, | 
 |  |  |             `result`     = #{result,jdbcType=TINYINT}, | 
 |  |  |             result_time  = #{resultTime,jdbcType=TIMESTAMP}, | 
 |  |  |             result_text  = #{resultText,jdbcType=LONGVARCHAR} | 
 |  |  |         where com_id = #{comId,jdbcType=BIGINT} | 
 |  |  |     </update> | 
 |  |  |  | 
 |  |  |   <!--根据操作员ID获取未关阀记录(包含在线情况)--> | 
 |  |  |   <select id="getUnclosedValves" resultType="com.dy.pipIrrGlobal.voRm.VoUnclosedValve"> | 
 |  |  |     SELECT | 
 |  |  |         com.command_code AS commandCode, | 
 |  |  |         inta.name AS intakeNum, | 
 |  |  |         rtus.isOnLine, | 
 |  |  |         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.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}]',--> | 
 |  |  |             #{onLineMap}, | 
 |  |  |             '$[*]' COLUMNS( | 
 |  |  |                 rtuAddr VARCHAR(20) PATH '$.rtuAddr', | 
 |  |  |                 isOnLine BOOLEAN PATH '$.isOnLine' | 
 |  |  |             ) | 
 |  |  |         ) 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> | 
 |  |  |     <!--根据操作员ID获取未关阀记录(包含在线情况)--> | 
 |  |  |     <select id="getUnclosedValves" resultType="com.dy.pipIrrGlobal.voRm.VoUnclosedValve"> | 
 |  |  |         SELECT | 
 |  |  |             inta.name AS intakeNum, | 
 |  |  |             rtus.isOnLine, | 
 |  |  |             com.rtu_addr AS rtuAddr, | 
 |  |  |             com.param ->> '$.icCardNo' AS vcNum, | 
 |  |  |             ( | 
 |  |  |                 SELECT param ->> '$.orderNo' AS orderNo | 
 |  |  |                 FROM rm_command_history | 
 |  |  |                 WHERE rtu_addr = com.rtu_addr | 
 |  |  |                 ORDER BY send_time desc | 
 |  |  |                 LIMIT 0,1 | 
 |  |  |             ) AS orderNo, | 
 |  |  |             'toClose'                  AS state, | 
 |  |  |             CASE | 
 |  |  |                 WHEN com.command_code = 'A1' OR com.command_code = 'A2' THEN 0 | 
 |  |  |                 ELSE 0 | 
 |  |  |             END AS planned, | 
 |  |  |             com.send_time AS sendTime | 
 |  |  |         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 | 
 |  |  |             LEFT JOIN JSON_TABLE( | 
 |  |  | <!--                '[{"rtuAddr":"620201000030","isOnLine":true}]',--> | 
 |  |  |                 #{onLineMap}, | 
 |  |  |                 '$[*]' COLUMNS ( | 
 |  |  |                     rtuAddr VARCHAR(20) PATH '$.rtuAddr', | 
 |  |  |                     isOnLine BOOLEAN PATH '$.isOnLine' | 
 |  |  |                     ) | 
 |  |  |             ) rtus ON com.rtu_addr = rtus.rtuAddr | 
 |  |  |         <where> | 
 |  |  |             AND com.operator = #{operator} | 
 |  |  |             AND (com.protocol = 'p206V1_0_1' AND (com.command_code = '92' OR com.command_code = '97' OR com.command_code = '99' OR com.command_code = 'A0' OR com.command_code = 'A1' OR com.command_code = 'A2')) | 
 |  |  |             AND ( | 
 |  |  |                 SELECT cl_dt FROM rm_open_close_valve_last | 
 |  |  |                 WHERE rtu_addr = com.rtu_addr AND op_ic_card_no = com.param ->> '$.icCardNo' | 
 |  |  |                 ORDER BY op_dt DESC | 
 |  |  |                 LIMIT 1 | 
 |  |  |             ) IS NULL | 
 |  |  |         </where> | 
 |  |  |         GROUP BY inta.name, rtus.isOnLine, com.rtu_addr, com.param ->> '$.icCardNo', com.command_code, com.send_time | 
 |  |  |         ORDER BY com.send_time DESC | 
 |  |  |         LIMIT 1 | 
 |  |  |     </select> | 
 |  |  |  | 
 |  |  |   <!--根据取水口ID获取该取水口未关阀参数--> | 
 |  |  |   <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}]',--> | 
 |  |  |     <!--根据取水口ID获取该取水口未关阀参数--> | 
 |  |  |     <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> | 
 |  |  |         '$[*]' 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="intakeId != null"> | 
 |  |  |                 AND his.intake_id = #{intakeId} | 
 |  |  |             </if> | 
 |  |  |             <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.com_id                  AS comId, | 
 |  |  |                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="intakeId != null"> | 
 |  |  |                 AND his.intake_id = #{intakeId} | 
 |  |  |             </if> | 
 |  |  |             <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> |