| | |
| | | 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> |
| | |
| | | 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> |
| | |
| | | SELECT COUNT(*) AS recordCount FROM pr_controller WHERE rtuAddr = (SELECT rtuAddr FROM pr_controller_tramp WHERE id = ${controllerId}) AND intakeId IS NOT NULL |
| | | </select> |
| | | |
| | | <!--根据取水口ID获取阀控器对象--> |
| | | <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 |
| | | <!--根据取水口ID或阀控器地址获取阀控器对象--> |
| | | <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> |