From ecef3df4890be54c1da2a8a4fc1c8c1f50f1c263 Mon Sep 17 00:00:00 2001 From: zhubaomin <zhubaomin> Date: 星期一, 07 四月 2025 15:41:47 +0800 Subject: [PATCH] 式样代码管理 --- pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml | 199 +++++++++++++++++++++++++++++++------------------ 1 files changed, 127 insertions(+), 72 deletions(-) diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml index 509381e..af44947 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml @@ -34,13 +34,33 @@ operateDt, deleted </sql> - <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap"> + <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultType="com.dy.pipIrrGlobal.voPr.VoAllIntake"> <!--@mbg.generated--> select - <include refid="Base_Column_List"/> - from pr_intake - where id = #{id,jdbcType=BIGINT} - and deleted = 0 + ge.id, + ge.countyId, + ge.townId, + ge.villageId, + ge.divideId, + ge.blockId, + ge.`name`, + ge.lng, + ge.lat, + ge.remarks, + ge.`operator`, + ge.operateDt, + blo.`name` AS blockName, + CONCAT(country.`name`, town.`name`, village.`name`) AS address + FROM pr_intake ge + INNER JOIN pr_divide divi ON ge.divideId = divi.id + INNER JOIN ba_block blo ON divi.blockId = blo.id + LEFT JOIN ba_district country ON ge.countyId = country.id + LEFT JOIN ba_district town ON ge.townId = town.id + LEFT JOIN ba_district village ON ge.villageId = village.id + where ge.id = #{id,jdbcType=BIGINT} + AND ge.deleted = 0 + AND divi.deleted = 0 + AND blo.deleted = 0 </select> <delete id="deleteLogicById" parameterType="java.lang.Long"> @@ -50,12 +70,33 @@ where id = #{id,jdbcType=BIGINT} </delete> - <select id="selectAll" resultMap="BaseResultMap"> + <select id="selectAll" resultType="com.dy.pipIrrGlobal.voPr.VoAllIntake"> <!--@mbg.generated--> select - <include refid="Base_Column_List"/> - from pr_intake - where deleted != 1 + ge.id, + ge.countyId, + ge.townId, + ge.villageId, + ge.divideId, + ge.blockId, + ge.`name`, + ge.lng, + ge.lat, + ge.remarks, + ge.`operator`, + ge.operateDt, + blo.`name` AS blockName, + CONCAT(country.`name`, town.`name`, village.`name`) AS address + FROM pr_intake ge + INNER JOIN pr_divide divi ON ge.divideId = divi.id + INNER JOIN ba_block blo ON divi.blockId = blo.id + LEFT JOIN ba_district country ON ge.countyId = country.id + LEFT JOIN ba_district town ON ge.townId = town.id + LEFT JOIN ba_district village ON ge.villageId = village.id + where + ge.deleted = 0 + AND divi.deleted = 0 + AND blo.deleted = 0 </select> <delete id="deleteByPrimaryKey" parameterType="java.lang.Long"> <!--@mbg.generated--> @@ -232,7 +273,7 @@ LEFT JOIN ba_district village ON ge.villageId = village.id LEFT JOIN pr_controller cont ON ge.id = cont.intakeId <if test = "bindNumber != null and bindNumber > 0"> - JOIN (SELECT intakeId, COUNT(*) num FROM pr_intake_controller WHERE operateType = 1 group by intakeId) AS bindNumTb on bindNumTb.intakeId= ge.id + LEFT JOIN (SELECT intakeId, COUNT(*) num FROM pr_intake_controller WHERE operateType = 1 group by intakeId) AS bindNumTb on bindNumTb.intakeId= ge.id </if> <where> ge.deleted = 0 @@ -302,7 +343,7 @@ LEFT JOIN ba_district town ON ge.townId = town.id LEFT JOIN ba_district village ON ge.villageId = village.id LEFT JOIN pr_controller cont ON ge.id = cont.intakeId - JOIN (SELECT intakeId, COUNT(*) num FROM pr_intake_controller WHERE operateType = 1 group by intakeId) AS bindNumTb on bindNumTb.intakeId= ge.id + LEFT JOIN (SELECT intakeId, COUNT(*) num FROM pr_intake_controller WHERE operateType = 1 group by intakeId) AS bindNumTb on bindNumTb.intakeId= ge.id <where> ge.deleted = 0 AND divi.deleted = 0 @@ -361,6 +402,13 @@ FROM pr_intake WHERE deleted = 0 AND id = #{intakeId} + </select> + + <!--鏍规嵁鏉慖D鑾峰彇鍏ㄩ儴鍦板潃--> + <select id="getNameById" resultType="java.lang.String"> + select name + from pr_intake + where id = #{intakeId, jdbcType=BIGINT} </select> <!--鏍规嵁鏉慖D鑾峰彇鍏ㄩ儴鍦板潃--> @@ -438,44 +486,45 @@ <!--鑾峰彇鍙栨按鍙e垪琛紙鍦ㄧ嚎鍜屼笉鍦ㄥ厛锛�--> <select id="getOnLineIntakes" resultType="com.dy.pipIrrGlobal.voPr.VoOnLineIntake"> - SELECT inta.id AS intakeId, - con.rtuAddr, - inta.name AS intakeNum, - inta.lng, - inta.lat, - IFNULL(hou.total_amount, 0) AS totalAmount, - (CASE - WHEN con.rtuAddr IS NULL THEN false - WHEN con.rtuAddr IS NOT NULL THEN true - END) AS isBinded, - rtus.isOnLine, - alarm.alarm + SELECT + inta.id AS intakeId, + con.rtuAddr, + inta.name AS intakeNum, + inta.lng, + inta.lat, + IFNULL(hou.total_amount, 0) AS totalAmount, + (CASE + WHEN con.rtuAddr IS NULL THEN false + WHEN con.rtuAddr IS NOT NULL THEN true + END) AS isBinded, + rtus.isOnLine, + alarm.alarm FROM pr_intake inta - LEFT JOIN pr_controller con ON con.intakeId = inta.id - LEFT JOIN rm_on_hour_report_last hou ON hou.intake_id = inta.id - LEFT JOIN( - SELECT intake_id AS intakeId, - CONCAT( - IF(alarm_loss = 1, IF(alarm_water_meter_fault = 1, '娴侀噺璁℃晠闅�,', ''), - IF(alarm_water_meter_fault = 1, '娴侀噺璁℃晠闅�', '')), - IF(alarm_battery_volt = 1, IF(alarm_loss = 1, '婕忔崯(鍋锋按)鎶ヨ,', ''), - IF(alarm_loss = 1, '婕忔崯(鍋锋按)鎶ヨ', '')), - IF(alarm_valve = 1, IF(alarm_battery_volt = 1, '钃勭數姹犵數鍘嬫姤璀�,', ''), - IF(alarm_battery_volt = 1, '钃勭數姹犵數鍘嬫姤璀�', '')), - IF(alarm_valve = 1, '闃�闂ㄦ姤璀�', '') - ) AS alarm - FROM rm_alarm_state_last - WHERE (alarm_water_meter_fault = 1 OR alarm_loss = 1 OR alarm_battery_volt = 1 OR alarm_valve = 1) - AND dt >= DATE_SUB(NOW(), INTERVAL 12 HOUR) - ) alarm ON alarm.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 + LEFT JOIN pr_controller con ON con.intakeId = inta.id + LEFT JOIN rm_on_hour_report_last hou ON hou.intake_id = inta.id + LEFT JOIN( + SELECT intake_id AS intakeId, + CONCAT( + IF(alarm_loss = 1, IF(alarm_water_meter_fault = 1, '娴侀噺璁℃晠闅�,', ''), + IF(alarm_water_meter_fault = 1, '娴侀噺璁℃晠闅�', '')), + IF(alarm_battery_volt = 1, IF(alarm_loss = 1, '婕忔崯(鍋锋按)鎶ヨ,', ''), + IF(alarm_loss = 1, '婕忔崯(鍋锋按)鎶ヨ', '')), + IF(alarm_valve = 1, IF(alarm_battery_volt = 1, '钃勭數姹犵數鍘嬫姤璀�,', ''), + IF(alarm_battery_volt = 1, '钃勭數姹犵數鍘嬫姤璀�', '')), + IF(alarm_valve = 1, '闃�闂ㄦ姤璀�', '') + ) AS alarm + FROM rm_alarm_state_last + WHERE (alarm_water_meter_fault = 1 OR alarm_loss = 1 OR alarm_battery_volt = 1 OR alarm_valve = 1) + AND dt >= DATE_SUB(NOW(), INTERVAL 12 HOUR) + ) alarm ON alarm.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> <if test="isOnLine != null"> rtus.isOnLine = #{isOnLine} @@ -547,11 +596,13 @@ inta.name AS intakeNum, inta.lng, inta.lat, + IFNULL(hou.instant_amount, 0) AS instantAmount, IFNULL(hou.total_amount, 0) AS totalAmount, <if test="onLineMap != null and onLineMap !='' and isOnLine != null"> rtus.isOnLine, </if> - alarm.alarm + alarm.alarm, + alarm.alarmDt FROM pr_intake inta INNER JOIN pr_controller con ON con.intakeId = inta.id LEFT JOIN rm_on_hour_report_last hou ON hou.intake_id = inta.id @@ -562,7 +613,8 @@ IF(alarm_battery_volt = 1, '鐢垫睜鐢靛帇鎶ヨ锛�', ''), IF(alarm_valve = 1, '闃�闂ㄦ姤璀︼紝', ''), IF(alarm_water_meter_fault = 1, '娴侀噺璁℃晠闅滄姤璀︼紝', '') - ) AS alarm + ) AS alarm, + dt AS alarmDt FROM rm_alarm_state_last WHERE (alarm_loss = 1 OR alarm_battery_volt = 1 OR alarm_valve = 1 OR alarm_water_meter_fault = 1) AND dt >= DATE_SUB(NOW(), INTERVAL 12 HOUR) @@ -602,31 +654,14 @@ </trim> </select> - - - - - - - - - - <!--鏍规嵁鍙栨按鍙g紪鍙疯幏鍙栧彇姘村彛瀵硅薄--> <select id="getIntakeByName" resultType="com.dy.pipIrrGlobal.voPr.VoOnLineIntake"> - SELECT con.intakeId, - con.rtuAddr, - inta.name AS intakeNum, - rtus.isOnLine + SELECT + con.intakeId, + con.rtuAddr, + inta.name AS intakeNum FROM pr_controller con - INNER JOIN pr_intake inta ON con.intakeId = inta.id - left JOIN JSON_TABLE( - #{onLineMap}, - '$[*]' COLUMNS ( - rtuAddr VARCHAR(20) PATH '$.rtuAddr', - isOnLine BOOLEAN PATH '$.isOnLine' - ) - ) rtus ON con.rtuAddr = rtus.rtuAddr + INNER JOIN pr_intake inta ON con.intakeId = inta.id <where> <if test="intakeNum != null and intakeNum != ''"> AND LOWER(inta.name) = #{intakeNum} @@ -682,4 +717,24 @@ WHERE id != #{id} and `name` = #{intakeName} </select> + <!--app淇敼鍙栨按鍙g粡绾害--> + <update id="updateByPrimaryKeySelective1" parameterType="com.dy.pipIrrGlobal.voPr.IntakeUpdateLngLat"> + <!--@mbg.generated--> + update pr_intake + <set> + <if test="lng != null"> + lng = #{lng,jdbcType=DOUBLE}, + </if> + <if test="lat != null"> + lat = #{lat,jdbcType=DOUBLE}, + </if> + <if test="operator != null"> + `operator` = #{operator,jdbcType=BIGINT}, + </if> + <if test="operateDt != null"> + operateDt = #{operateDt,jdbcType=TIMESTAMP}, + </if> + </set> + where id = #{id,jdbcType=BIGINT} + </update> </mapper> \ No newline at end of file -- Gitblit v1.8.0