|  |  |  | 
|---|
|  |  |  | LIMIT 0,1 | 
|---|
|  |  |  | </select> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <!--根据取水口ID获取该取水口未关阀参数--> | 
|---|
|  |  |  | <select id="getUncloseParamByCd" 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 = #{code} | 
|---|
|  |  |  | 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 | 
|---|
|  |  |  | 
|---|
|  |  |  | WHERE com_id = #{commId} | 
|---|
|  |  |  | </select> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <!--根据命令日志ID获取取水口及虚拟卡信息,终止灌溉计划时使用,用来执行远程关阀--> | 
|---|
|  |  |  | <select id="getIntakeVc" resultType="com.dy.pipIrrGlobal.voRm.VoIntakeVc"> | 
|---|
|  |  |  | <!--根据命令日志ID获取开阀信息,终止灌溉计划时使用,用来执行远程关阀--> | 
|---|
|  |  |  | <select id="getValveOpen" resultType="com.dy.pipIrrGlobal.voRm.VoIntakeVc"> | 
|---|
|  |  |  | SELECT | 
|---|
|  |  |  | intake_id AS intakeId, | 
|---|
|  |  |  | (SELECT id FROM se_virtual_card WHERE vc_num = param ->> '$.icCardNo') AS vcId | 
|---|
|  |  |  | FROM rm_command_history WHERE com_id = #{commandId} | 
|---|
|  |  |  | LIMIT 0, 1 | 
|---|
|  |  |  | rtu_addr AS rtuAddr, | 
|---|
|  |  |  | param ->> '$.icCardNo' AS vcNum, | 
|---|
|  |  |  | param ->> '$.orderNo' AS orderNo | 
|---|
|  |  |  | FROM rm_command_history | 
|---|
|  |  |  | WHERE com_id = #{commandId} | 
|---|
|  |  |  | LIMIT 0, 1 | 
|---|
|  |  |  | </select> | 
|---|
|  |  |  | </mapper> | 
|---|