From ad11539a5a924ffdae6eab96a74f1ab81475eb8f Mon Sep 17 00:00:00 2001 From: wuzeyu <1223318623@qq.com> Date: 星期一, 02 九月 2024 14:23:56 +0800 Subject: [PATCH] 优化代码 指定时间段开发时间超过指定值的农户 指定时间段开发时间低于指定值的农户 --- pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/qo/OpenCountQO.java | 2 pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml | 42 ++++++++++++++------ pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/qo/CommonQO.java | 2 pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/ClientSv.java | 18 +++++--- 4 files changed, 42 insertions(+), 22 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 fd60593..20555a2 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml @@ -637,10 +637,14 @@ <select id="getLargeOpenCountClientsCount" resultType="java.lang.Long"> SELECT COUNT(*) AS recordCount FROM se_client cli - WHERE (SELECT COUNT(*) - FROM rm_open_close_valve_history his - WHERE his.client_id = cli.id - AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) > #{openCount} + <where> + <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != '' and openCount != null"> + (SELECT COUNT(*) + FROM rm_open_close_valve_history his + WHERE his.client_id = cli.id + AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) > #{openCount} + </if> + </where> </select> <!--鑾峰彇鎸囧畾鏃堕棿娈靛唴寮�闃�娆℃暟瓒呰繃鎸囧畾鍊肩殑鍐滄埛--> @@ -652,10 +656,14 @@ cli.phone, cli.idCard FROM se_client cli - WHERE (SELECT COUNT(*) + <where> + <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != '' and openCount != null"> + (SELECT COUNT(*) FROM rm_open_close_valve_history his WHERE his.client_id = cli.id AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) > #{openCount} + </if> + </where> ORDER BY cli.id <trim prefix="limit "> <if test="start != null and count != null"> @@ -668,10 +676,14 @@ <select id="getSmallOpenCountClientsCount" resultType="java.lang.Long"> SELECT COUNT(*) AS recordCount FROM se_client cli - WHERE (SELECT COUNT(*) - FROM rm_open_close_valve_history his - WHERE his.client_id = cli.id - AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) < #{openCount} + <where> + <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != '' and openCount != null"> + (SELECT COUNT(*) + FROM rm_open_close_valve_history his + WHERE his.client_id = cli.id + AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) < #{openCount} + </if> + </where> </select> <!--鑾峰彇鎸囧畾鏃堕棿娈靛唴寮�闃�娆℃暟浣庝簬鎸囧畾鍊肩殑鍐滄埛--> @@ -683,10 +695,14 @@ cli.phone, cli.idCard FROM se_client cli - WHERE (SELECT COUNT(*) - FROM rm_open_close_valve_history his - WHERE his.client_id = cli.id - AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) < #{openCount} + <where> + <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != '' and openCount != null"> + (SELECT COUNT(*) + FROM rm_open_close_valve_history his + WHERE his.client_id = cli.id + AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) < #{openCount} + </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 d339094..e023155 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 @@ -47,17 +47,19 @@ */ public QueryResultVo<List<VoClient>> getLargeOpenCountClients(OpenCountQO qo) { /** - * 琛ラ綈璧锋鏃堕棿锛屽鏋滃紑濮嬫椂闂翠负绌猴紝鍒欓粯璁や负褰撳墠鏃ユ湡 + * 琛ラ綈璧锋鏃堕棿 */ String timeStart = qo.getTimeStart(); String timeStop = qo.getTimeStop(); - if(timeStart != null) { + if(timeStart != null && timeStart != "") { timeStart = timeStart + " 00:00:00"; - }else { + } else { timeStart = LocalDate.now() + " 00:00:00"; } - if(timeStop != null) { + if(timeStop != null && timeStop != "") { timeStop = timeStop + " 23:59:59"; + }else { + timeStop = LocalDate.now() + " 23:59:59"; } qo.setTimeStart(timeStart); qo.setTimeStop(timeStop); @@ -89,13 +91,15 @@ */ String timeStart = qo.getTimeStart(); String timeStop = qo.getTimeStop(); - if(timeStart != null) { + if(timeStart != null && timeStart != "") { timeStart = timeStart + " 00:00:00"; - }else { + } else { timeStart = LocalDate.now() + " 00:00:00"; } - if(timeStop != null) { + if(timeStop != null && timeStop != "") { timeStop = timeStop + " 23:59:59"; + }else { + timeStop = LocalDate.now() + " 23:59:59"; } qo.setTimeStart(timeStart); qo.setTimeStop(timeStop); diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/qo/CommonQO.java b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/qo/CommonQO.java index 7ae262c..8eee570 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/qo/CommonQO.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/qo/CommonQO.java @@ -27,6 +27,6 @@ * 缁撴潫鏃堕棿 */ @JsonFormat(pattern = "yyyy-MM-dd") - @NotBlank(message = "缁撴潫鏃堕棿涓嶈兘涓虹┖") +// @NotBlank(message = "缁撴潫鏃堕棿涓嶈兘涓虹┖") private String timeStop; } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/qo/OpenCountQO.java b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/qo/OpenCountQO.java index bf200f6..4b10a6b 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/qo/OpenCountQO.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/qo/OpenCountQO.java @@ -18,6 +18,6 @@ /** * 寮�闃�娆℃暟 */ - @NotNull(message = "寮�闃�娆℃暟涓嶈兘涓虹┖") +// @NotNull(message = "寮�闃�娆℃暟涓嶈兘涓虹┖") private Integer openCount; } -- Gitblit v1.8.0