From 04821fd724cc279ae6d41f968f79c767cfd9233e Mon Sep 17 00:00:00 2001 From: wuzeyu <1223318623@qq.com> Date: 星期四, 12 九月 2024 17:17:55 +0800 Subject: [PATCH] 优化代码 指定时间段内开阀次数高于指定值的农户 指定时间段内开阀次数低于指定值的农户 --- pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveLastMapper.xml | 87 ++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 80 insertions(+), 7 deletions(-) diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveLastMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveLastMapper.xml index dba5edd..e929674 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveLastMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveLastMapper.xml @@ -469,10 +469,10 @@ <if test="rtuAddr != null and rtuAddr != ''"> AND oh.rtu_addr LIKE CONCAT('%', #{rtuAddr}, '%') </if> - <if test="timeStart_open != null and timeStop_open != null"> + <if test="timeStart_open != null and timeStart_open != '' and timeStop_open != null and timeStop_open != ''"> AND oh.op_dt BETWEEN #{timeStart_open} AND #{timeStop_open} </if> - <if test="timeStart_close != null and timeStop_close != null"> + <if test="timeStart_close != null and timeStart_close != '' and timeStop_close != null and timeStop_close != ''"> AND oh.cl_dt BETWEEN #{timeStart_close} AND #{timeStop_close} </if> </where> @@ -487,11 +487,10 @@ oh.op_ic_card_no AS openIcNum, oh.op_ic_card_addr AS openIcAddr, oh.op_dt AS openTime, - CASE WHEN oh.op_type = 1 THEN '鍒峰崱寮�闃�' WHEN oh.op_type = 3 THEN '涓績绔欏紑闃�' - WHEN oh.op_type = 5 THEN '娆犺垂鍏抽榾' + WHEN oh.op_type = 5 THEN '浣欓涓嶈冻鍏抽榾' WHEN oh.op_type = 8 THEN '鐢ㄦ埛杩滅▼寮�闃�' WHEN oh.op_type = 11 THEN '寮�鍏抽榾鍗″紑闃�' ELSE '鏈煡' @@ -507,7 +506,77 @@ CASE WHEN oh.cl_type = 2 THEN '鍒峰崱鍏抽榾' WHEN oh.cl_type = 4 THEN '涓績绔欏叧闃�' - WHEN oh.cl_type = 5 THEN '娆犺垂鍏抽榾' + WHEN oh.cl_type = 5 THEN '浣欓涓嶈冻鍏抽榾' + WHEN oh.cl_type = 6 THEN '娴侀噺璁℃晠闅滃叧闃�' + WHEN oh.cl_type = 7 THEN '绱ф�ュ叧闂�' + WHEN oh.cl_type = 9 THEN '鐢ㄦ埛杩滅▼鍏抽榾' + WHEN oh.cl_type = 10 THEN '寮�鍏抽榾鍗″叧闃�' + WHEN oh.cl_type = 12 THEN '榛戝悕鍗曞懡浠ゅ叧闃�' + WHEN oh.cl_type = 13 THEN '鐢ㄦ埛杩滅▼瀹氭椂鍏抽榾' + WHEN oh.cl_type = 14 THEN '鐢ㄦ埛杩滅▼瀹氶噺鍏抽榾' + ELSE '鏈煡' + END AS closeType, + oh.cl_this_amount AS closeThisAmount, + oh.cl_this_time AS thisTime, + oh.cl_this_money AS thisMoney, + oh.cl_remain_money AS closeRemainMoney, + oh.cl_total_amount AS closeTotalAmount + FROM rm_open_close_valve_last oh + INNER JOIN pr_intake inta ON inta.id = oh.intake_id + <where> + <if test="intakeId != null and intakeId > 0"> + AND oh.intake_id = #{intakeId} + </if> + <if test="intakeNum != null and intakeNum != ''"> + AND inta.name LIKE CONCAT('%', #{intakeNum}, '%') + </if> + <if test="rtuAddr != null and rtuAddr != ''"> + AND oh.rtu_addr LIKE CONCAT('%', #{rtuAddr}, '%') + </if> + <if test="timeStart_open != null and timeStart_open != '' and timeStop_open != null and timeStop_open != ''"> + AND oh.op_dt BETWEEN #{timeStart_open} AND #{timeStop_open} + </if> + <if test="timeStart_close != null and timeStart_close != '' and timeStop_close != null and timeStop_close != ''"> + AND oh.cl_dt BETWEEN #{timeStart_close} AND #{timeStop_close} + </if> + </where> + ORDER BY oh.op_dt DESC + <trim prefix="limit "> + <if test="start != null and count != null"> + #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER} + </if> + </trim> + </select> + <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇寮�鍏抽榾鎶ユ渶鏂拌褰�--> + <select id="getOpenCloseValveReports_last" resultType="com.dy.pipIrrGlobal.voRm.VoOpenCloseValve"> + SELECT oh.intake_id AS intakeId, + inta.name AS intakeNum, + oh.rtu_addr AS rtuAddr, + oh.client_name AS clientName, + oh.op_ic_card_no AS openIcNum, + oh.op_ic_card_addr AS openIcAddr, + oh.op_dt AS openTime, + + CASE + WHEN oh.op_type = 1 THEN '鍒峰崱寮�闃�' + WHEN oh.op_type = 3 THEN '涓績绔欏紑闃�' + WHEN oh.op_type = 5 THEN '浣欓涓嶈冻鍏抽榾' + WHEN oh.op_type = 8 THEN '鐢ㄦ埛杩滅▼寮�闃�' + WHEN oh.op_type = 11 THEN '寮�鍏抽榾鍗″紑闃�' + ELSE '鏈煡' + END AS openType, + oh.op_order_no AS openOrderNo, + oh.op_total_amount AS openTotalAmount, + oh.op_remain_money AS openRemainMoney, + oh.op_water_remain_user AS openWaterRemain, + oh.op_ele_total_amount AS openEleTotalAmount, + oh.cl_ic_card_no AS closeIcNum, + oh.cl_ic_card_addr AS closeIcAddr, + oh.cl_dt AS closeTime, + CASE + WHEN oh.cl_type = 2 THEN '鍒峰崱鍏抽榾' + WHEN oh.cl_type = 4 THEN '涓績绔欏叧闃�' + WHEN oh.cl_type = 5 THEN '浣欓涓嶈冻鍏抽榾' WHEN oh.cl_type = 6 THEN '娴侀噺璁℃晠闅滃叧闃�' WHEN oh.cl_type = 7 THEN '绱ф�ュ叧闃�' WHEN oh.cl_type = 9 THEN '鐢ㄦ埛杩滅▼鍏抽榾' @@ -554,7 +623,9 @@ SELECT COUNT(*) AS recordCount FROM rm_open_close_valve_history <where> - AND op_type = #{openType} + <if test="openType != null"> + AND op_type = #{openType} + </if> <if test="timeStart != null and timeStop != null"> AND op_dt BETWEEN #{timeStart} AND #{timeStop} </if> @@ -566,7 +637,9 @@ SELECT COUNT(*) AS recordCount FROM rm_open_close_valve_history <where> - AND cl_type = #{closeType} + <if test="closeType != null"> + AND cl_type = #{closeType} + </if> <if test="timeStart != null and timeStop != null"> AND cl_dt BETWEEN #{timeStart} AND #{timeStop} </if> -- Gitblit v1.8.0