From a27ef29ee2116befc9043fb34db5d3a7fecb4094 Mon Sep 17 00:00:00 2001 From: wuzeyu <1223318623@qq.com> Date: 星期一, 02 九月 2024 16:02:26 +0800 Subject: [PATCH] 优化代码 指定时间段用水量超过指定值的农户 指定时间段用水时长超过指定值的农户 指定时间段消费金额超过指定值的农户 --- pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/qo/AmountSpentQO.java | 2 pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/qo/WaterConsumptionQO.java | 2 pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml | 60 +++++++++++++++++++++--------- pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/qo/WaterDurationQO.java | 2 pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/ClientSv.java | 30 ++++----------- 5 files changed, 53 insertions(+), 43 deletions(-) diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml index 20555a2..12007b5 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml @@ -715,10 +715,14 @@ <select id="getLargeWaterConsumptionClientsCount" resultType="java.lang.Long"> SELECT COUNT(*) AS recordCount FROM se_client cli - WHERE (SELECT SUM(his.cl_this_amount) - FROM rm_open_close_valve_history his - WHERE his.client_id = cli.id - AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) > #{waterConsumption} + <where> + <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != '' and waterConsumption != null"> + (SELECT SUM(his.cl_this_amount) + FROM rm_open_close_valve_history his + WHERE his.client_id = cli.id + AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) > #{waterConsumption} + </if> + </where> </select> <!--鑾峰彇鎸囧畾鏃堕棿娈靛唴鐢ㄦ按閲忚秴杩囨寚瀹氬�肩殑鍐滄埛--> @@ -730,10 +734,14 @@ cli.phone, cli.idCard FROM se_client cli - WHERE (SELECT SUM(his.cl_this_amount) - FROM rm_open_close_valve_history his - WHERE his.client_id = cli.id - AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) > #{waterConsumption} + <where> + <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != '' and waterConsumption != null"> + (SELECT SUM(his.cl_this_amount) + FROM rm_open_close_valve_history his + WHERE his.client_id = cli.id + AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) > #{waterConsumption} + </if> + </where> ORDER BY cli.id <trim prefix="limit "> <if test="start != null and count != null"> @@ -746,10 +754,14 @@ <select id="getLargeAmountSpentClientsCount" resultType="java.lang.Long"> SELECT COUNT(*) AS recordCount FROM se_client cli - WHERE (SELECT SUM(his.cl_this_money) + <where> + <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != '' and amountSpent != null"> + (SELECT SUM(his.cl_this_money) FROM rm_open_close_valve_history his WHERE his.client_id = cli.id AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) > #{amountSpent} + </if> + </where> </select> <!--鑾峰彇鎸囧畾鏃堕棿娈靛唴娑堣垂閲戦瓒呰繃鎸囧畾鍊肩殑鍐滄埛--> <select id="getLargeAmountSpentClients" resultType="com.dy.pipIrrGlobal.voSt.VoClient"> @@ -760,10 +772,14 @@ cli.phone, cli.idCard FROM se_client cli - WHERE (SELECT SUM(his.cl_this_money) - FROM rm_open_close_valve_history his - WHERE his.client_id = cli.id - AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) > #{amountSpent} + <where> + <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != '' and amountSpent != null"> + (SELECT SUM(his.cl_this_money) + FROM rm_open_close_valve_history his + WHERE his.client_id = cli.id + AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) > #{amountSpent} + </if> + </where> ORDER BY cli.id <trim prefix="limit "> <if test="start != null and count != null"> @@ -776,10 +792,14 @@ <select id="getLargeWaterDurationClientsCount" resultType="java.lang.Long"> SELECT COUNT(*) AS recordCount FROM se_client cli - WHERE (SELECT SUM(his.cl_this_time) + <where> + <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != '' and waterDuration != null"> + (SELECT SUM(his.cl_this_time) FROM rm_open_close_valve_history his WHERE his.client_id = cli.id AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) > #{waterDuration} + </if> + </where> </select> <!--鑾峰彇鎸囧畾鏃堕棿娈靛唴鐢ㄦ按鏃堕暱瓒呰繃鎸囧畾鍊肩殑鍐滄埛--> @@ -791,10 +811,14 @@ cli.phone, cli.idCard FROM se_client cli - WHERE (SELECT SUM(his.cl_this_time) - FROM rm_open_close_valve_history his - WHERE his.client_id = cli.id - AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) > #{waterDuration} + <where> + <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != '' and waterDuration != null"> + (SELECT SUM(his.cl_this_time) + FROM rm_open_close_valve_history his + WHERE his.client_id = cli.id + AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) > #{waterDuration} + </if> + </where> ORDER BY cli.id <trim prefix="limit "> <if test="start != null and count != null"> diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/ClientSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/ClientSv.java index e023155..999d976 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/ClientSv.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/ClientSv.java @@ -53,13 +53,9 @@ String timeStop = qo.getTimeStop(); if(timeStart != null && timeStart != "") { timeStart = timeStart + " 00:00:00"; - } else { - timeStart = LocalDate.now() + " 00:00:00"; } if(timeStop != null && timeStop != "") { timeStop = timeStop + " 23:59:59"; - }else { - timeStop = LocalDate.now() + " 23:59:59"; } qo.setTimeStart(timeStart); qo.setTimeStop(timeStop); @@ -87,19 +83,15 @@ */ public QueryResultVo<List<VoClient>> getSmallOpenCountClients(OpenCountQO qo) { /** - * 琛ラ綈璧锋鏃堕棿锛屽鏋滃紑濮嬫椂闂翠负绌猴紝鍒欓粯璁や负褰撳墠鏃ユ湡 + * 琛ラ綈璧锋鏃堕棿 */ String timeStart = qo.getTimeStart(); String timeStop = qo.getTimeStop(); if(timeStart != null && timeStart != "") { timeStart = timeStart + " 00:00:00"; - } else { - timeStart = LocalDate.now() + " 00:00:00"; } if(timeStop != null && timeStop != "") { timeStop = timeStop + " 23:59:59"; - }else { - timeStop = LocalDate.now() + " 23:59:59"; } qo.setTimeStart(timeStart); qo.setTimeStop(timeStop); @@ -127,16 +119,14 @@ */ public QueryResultVo<List<VoClient>> getLargeWaterConsumptionClients(WaterConsumptionQO qo) { /** - * 琛ラ綈璧锋鏃堕棿锛屽鏋滃紑濮嬫椂闂翠负绌猴紝鍒欓粯璁や负褰撳墠鏃ユ湡 + * 琛ラ綈璧锋鏃堕棿 */ String timeStart = qo.getTimeStart(); String timeStop = qo.getTimeStop(); - if(timeStart != null) { + if(timeStart != null && timeStart != "") { timeStart = timeStart + " 00:00:00"; - }else { - timeStart = LocalDate.now() + " 00:00:00"; } - if(timeStop != null) { + if(timeStop != null && timeStop != "") { timeStop = timeStop + " 23:59:59"; } qo.setTimeStart(timeStart); @@ -169,12 +159,10 @@ */ String timeStart = qo.getTimeStart(); String timeStop = qo.getTimeStop(); - if(timeStart != null) { + if(timeStart != null && timeStart != "") { timeStart = timeStart + " 00:00:00"; - }else { - timeStart = LocalDate.now() + " 00:00:00"; } - if(timeStop != null) { + if(timeStop != null && timeStop != "") { timeStop = timeStop + " 23:59:59"; } qo.setTimeStart(timeStart); @@ -207,12 +195,10 @@ */ String timeStart = qo.getTimeStart(); String timeStop = qo.getTimeStop(); - if(timeStart != null) { + if(timeStart != null && timeStart != "") { timeStart = timeStart + " 00:00:00"; - }else { - timeStart = LocalDate.now() + " 00:00:00"; } - if(timeStop != null) { + if(timeStop != null && timeStop != "") { timeStop = timeStop + " 23:59:59"; } qo.setTimeStart(timeStart); diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/qo/AmountSpentQO.java b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/qo/AmountSpentQO.java index 83ccde4..50e425a 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/qo/AmountSpentQO.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/qo/AmountSpentQO.java @@ -18,6 +18,6 @@ /** * 娑堣垂閲戦 */ - @NotNull(message = "娑堣垂閲戦涓嶈兘涓虹┖") +// @NotNull(message = "娑堣垂閲戦涓嶈兘涓虹┖") private Double amountSpent; } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/qo/WaterConsumptionQO.java b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/qo/WaterConsumptionQO.java index 53c1a6b..135fcb5 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/qo/WaterConsumptionQO.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/qo/WaterConsumptionQO.java @@ -18,6 +18,6 @@ /** * 鎸囧畾鐨勭敤姘撮噺 */ - @NotNull(message = "鐢ㄦ按閲忎笉鑳戒负绌�") +// @NotNull(message = "鐢ㄦ按閲忎笉鑳戒负绌�") private Double waterConsumption; } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/qo/WaterDurationQO.java b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/qo/WaterDurationQO.java index 0afdcf6..64f5fc8 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/qo/WaterDurationQO.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/qo/WaterDurationQO.java @@ -18,6 +18,6 @@ /** * 鐢ㄦ按鏃堕暱 */ - @NotNull(message = "鐢ㄦ按鏃堕暱涓嶈兘涓虹┖") +// @NotNull(message = "鐢ㄦ按鏃堕暱涓嶈兘涓虹┖") private Integer waterDuration; } -- Gitblit v1.8.0