From 0a9628c6c5880d4eed055d50e6e8083a2e5a8637 Mon Sep 17 00:00:00 2001
From: Administrator <zhubaomin>
Date: 星期二, 06 八月 2024 15:48:46 +0800
Subject: [PATCH] Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV
---
pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOnHourReportHistoryMapper.xml | 70 ++++++++++++++++
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOnHourReportHistoryMapper.java | 14 +++
pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/qo/IntakeCountValueQO.java | 2
pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntkeCtrl.java | 34 ++++++++
pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntakeSv.java | 45 ++++++++++
pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/qo/IntakeAmountValueQO.java | 19 ++++
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoIntakeAccumulateAmount.java | 19 ++++
7 files changed, 194 insertions(+), 9 deletions(-)
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOnHourReportHistoryMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOnHourReportHistoryMapper.java
index ac3353d..7b6797b 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOnHourReportHistoryMapper.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOnHourReportHistoryMapper.java
@@ -4,6 +4,7 @@
import com.dy.pipIrrGlobal.pojoRm.RmOnHourReportHistory;
import com.dy.pipIrrGlobal.voRm.VoOnHour;
import com.dy.pipIrrGlobal.voSt.VoIntake;
+import com.dy.pipIrrGlobal.voSt.VoIntakeAccumulateAmount;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@@ -86,4 +87,17 @@
*/
List<VoIntake> getNotOnlineIntakes(Map<?, ?> params);
+ /**
+ * 鎸囧畾鏃堕棿娈靛唴鐢ㄦ按閲忚秴杩囨寚瀹氬�肩殑鍙栨按鍙f暟閲�
+ * @param params
+ * @return
+ */
+ Long getUseWaterGtValueIntakesCount(Map<String, Object> params);
+
+ /**
+ * 鎸囧畾鏃堕棿娈靛唴鐢ㄦ按閲忚秴杩囨寚瀹氬�肩殑鍙栨按鍙�
+ * @param params
+ * @return
+ */
+ List<VoIntakeAccumulateAmount> getUseWaterGtValueIntakes(Map<String, Object> params);
}
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoIntakeAccumulateAmount.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoIntakeAccumulateAmount.java
new file mode 100644
index 0000000..cb89d48
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoIntakeAccumulateAmount.java
@@ -0,0 +1,19 @@
+package com.dy.pipIrrGlobal.voSt;
+
+import lombok.Data;
+
+/**
+ * @author :WuZeYu
+ * @Date :2024/8/5 10:45
+ * @LastEditTime :2024/8/5 10:45
+ * @Description 鍙栨按鍙g疮绉祦閲� 澶т簬 鎸囧畾鍊�
+ */
+@Data
+public class VoIntakeAccumulateAmount extends VoIntake{
+ private static final long serialVersionUID = 202408051046001L;
+
+ /**
+ * 鎸囧畾鍊�
+ */
+ private Double value;
+}
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOnHourReportHistoryMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOnHourReportHistoryMapper.xml
index 461c263..c3afb26 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOnHourReportHistoryMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOnHourReportHistoryMapper.xml
@@ -283,7 +283,71 @@
</if>
</trim>
</select>
-
-
-
+ <!--鎸囧畾鏃堕棿娈靛唴鐢ㄦ按閲忚秴杩囨寚瀹氬�肩殑鍙栨按鍙f暟閲�-->
+ <select id="getUseWaterGtValueIntakesCount" resultType="java.lang.Long">
+ select
+ count(*)
+ from
+ (
+ SELECT
+ inta.id AS intakeId,
+ inta.NAME AS intakeNum,
+ blo.NAME AS blockName ,
+ IFNULL(b.total_amount, 0)-IFNULL(a.total_amount, 0) AS value
+ FROM
+ pr_intake inta
+ INNER JOIN ba_block blo ON blo.id = inta.blockId
+ LEFT JOIN (SELECT
+ intake_id,
+ total_amount
+ FROM
+ rm_on_hour_report_history rohrs
+ WHERE rohrs.rtu_dt = ( SELECT MAX(rtu_dt)
+ FROM rm_on_hour_report_history
+ WHERE rtu_dt <= #{timeStart})) AS a ON inta.id = a.intake_id
+ LEFT JOIN ( SELECT
+ intake_id,
+ total_amount
+ FROM
+ rm_on_hour_report_history rohrs
+ WHERE rohrs.rtu_dt = ( SELECT MAX(rtu_dt)
+ FROM rm_on_hour_report_history
+ WHERE rtu_dt <= #{timeStop})) AS b ON inta.id = b.intake_id
+ WHERE IFNULL(b.total_amount, 0)-IFNULL(a.total_amount, 0) > #{value} AND inta.deleted = 0
+ ) c
+ </select>
+ <!--鎸囧畾鏃堕棿娈靛唴鐢ㄦ按閲忚秴杩囨寚瀹氬�肩殑鍙栨按鍙�-->
+ <select id="getUseWaterGtValueIntakes" resultType="com.dy.pipIrrGlobal.voSt.VoIntakeAccumulateAmount">
+ SELECT
+ inta.id AS intakeId,
+ inta.NAME AS intakeNum,
+ blo.NAME AS blockName ,
+ IFNULL(b.total_amount, 0)-IFNULL(a.total_amount, 0) AS value
+ FROM
+ pr_intake inta
+ INNER JOIN ba_block blo ON blo.id = inta.blockId
+ LEFT JOIN (SELECT
+ intake_id,
+ total_amount
+ FROM
+ rm_on_hour_report_history rohrs
+ WHERE rohrs.rtu_dt = ( SELECT MAX(rtu_dt)
+ FROM rm_on_hour_report_history
+ WHERE rtu_dt <= #{timeStart})) AS a ON inta.id = a.intake_id
+ LEFT JOIN ( SELECT
+ intake_id,
+ total_amount
+ FROM
+ rm_on_hour_report_history rohrs
+ WHERE rohrs.rtu_dt = ( SELECT MAX(rtu_dt)
+ FROM rm_on_hour_report_history
+ WHERE rtu_dt <= #{timeStop})) AS b ON inta.id = b.intake_id
+ WHERE IFNULL(b.total_amount, 0)-IFNULL(a.total_amount, 0) > #{value} AND inta.deleted = 0
+ ORDER BY inta.id
+ <trim prefix="limit " >
+ <if test="start != null and count != null">
+ #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER}
+ </if>
+ </trim>
+ </select>
</mapper>
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntakeSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntakeSv.java
index 0bc6f0d..2d265fc 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntakeSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntakeSv.java
@@ -14,8 +14,8 @@
import com.dy.pipIrrGlobal.voSt.VoSignalIntensity;
import com.dy.pipIrrStatistics.intake.qo.BatteryVoltQO;
import com.dy.pipIrrStatistics.intake.qo.CumulativeFlowQO;
+import com.dy.pipIrrStatistics.intake.qo.IntakeCountValueQO;
import com.dy.pipIrrStatistics.intake.qo.CommonQO;
-import com.dy.pipIrrStatistics.intake.qo.IntakeValueQO;
import com.dy.pipIrrStatistics.intake.qo.SignalIntensityQO;
import lombok.extern.slf4j.Slf4j;
import org.apache.dubbo.common.utils.PojoUtils;
@@ -25,6 +25,7 @@
import java.text.DecimalFormat;
import java.time.LocalDate;
+import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;
import java.util.Optional;
@@ -231,7 +232,7 @@
* @param qo
* @return
*/
- public QueryResultVo<List<VoIntakeOpenCount>> getOpenValveGtIntakes(IntakeValueQO qo) {
+ public QueryResultVo<List<VoIntakeOpenCount>> getOpenValveGtIntakes(IntakeCountValueQO qo) {
String timeStart = qo.getTimeStart();
String timeStop = qo.getTimeStop();
@@ -269,7 +270,7 @@
* @param qo
* @return
*/
- public QueryResultVo<List<VoIntakeOpenCount>> getOpenValveLtIntakes(IntakeValueQO qo) {
+ public QueryResultVo<List<VoIntakeOpenCount>> getOpenValveLtIntakes(IntakeCountValueQO qo) {
String timeStart = qo.getTimeStart();
String timeStop = qo.getTimeStop();
@@ -422,4 +423,42 @@
return vo;
}
+ /**
+ * 鎸囧畾鏃堕棿娈靛唴鐢ㄦ按閲忚秴杩囨寚瀹氬�肩殑鍙栨按鍙�
+ * @param qo
+ * @return
+ */
+ public QueryResultVo<List<VoIntakeAccumulateAmount>> getUseWaterGtValueIntakes(IntakeAmountValueQO qo) {
+ String timeStart = qo.getTimeStart();
+ String timeStop = qo.getTimeStop();
+ if(timeStart != null && timeStart != "") {
+ timeStart = timeStart + " 00:00:00";
+ } else {
+ timeStart = LocalDateTime.of(2024, 1, 1, 0, 0, 0).toString();
+ }
+ qo.setTimeStart(timeStart);
+
+ if(timeStop != null && timeStop != "") {
+ timeStop = timeStop + " 23:59:59";
+ }else {
+ timeStop = LocalDate.now() + " 23:59:59";
+ }
+ qo.setTimeStop(timeStop);
+
+ if (qo.getValue() == null){
+ qo.setValue(0.0);
+ }
+
+
+ Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo);
+ Long itemTotal = rmOnHourReportHistoryMapper.getUseWaterGtValueIntakesCount(params);
+
+ QueryResultVo<List<VoIntakeAccumulateAmount>> rsVo = new QueryResultVo<>() ;
+ rsVo.pageSize = qo.pageSize ;
+ rsVo.pageCurr = qo.pageCurr ;
+
+ rsVo.calculateAndSet(itemTotal, params);
+ rsVo.obj = rmOnHourReportHistoryMapper.getUseWaterGtValueIntakes(params);
+ return rsVo ;
+ }
}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntkeCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntkeCtrl.java
index 9affdc2..16241f1 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntkeCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntkeCtrl.java
@@ -6,6 +6,15 @@
import com.dy.common.webUtil.QueryResultVo;
import com.dy.pipIrrGlobal.voSt.*;
import com.dy.pipIrrStatistics.intake.qo.*;
+import com.dy.pipIrrGlobal.voSt.VoBatteryVolt;
+import com.dy.pipIrrGlobal.voSt.VoCumulativeFlow;
+import com.dy.pipIrrGlobal.voSt.VoIntake;
+import com.dy.pipIrrGlobal.voSt.VoSignalIntensity;
+import com.dy.pipIrrStatistics.intake.qo.BatteryVoltQO;
+import com.dy.pipIrrGlobal.voSt.VoIntakeOpenCount;
+import com.dy.pipIrrStatistics.intake.qo.CumulativeFlowQO;
+import com.dy.pipIrrStatistics.intake.qo.SignalIntensityQO;
+import com.dy.pipIrrStatistics.intake.qo.IntakeCountValueQO;
import com.dy.pipIrrStatistics.result.StatisticlResultCode;
import jakarta.validation.Valid;
import lombok.RequiredArgsConstructor;
@@ -195,7 +204,7 @@
*/
@GetMapping(path = "/getOpenValveGtIntakes")
@SsoAop()
- public BaseResponse<QueryResultVo<List<VoIntakeOpenCount>>> getOpenValveGtIntakes(IntakeValueQO qo) {
+ public BaseResponse<QueryResultVo<List<VoIntakeOpenCount>>> getOpenValveGtIntakes(IntakeCountValueQO qo) {
try {
QueryResultVo<List<VoIntakeOpenCount>> res = intakeSv.getOpenValveGtIntakes(qo);
if(res.itemTotal == 0) {
@@ -216,7 +225,7 @@
*/
@GetMapping(path = "/getOpenValveLtIntakes")
@SsoAop()
- public BaseResponse<QueryResultVo<List<VoIntakeOpenCount>>> getOpenValveLtIntakes(IntakeValueQO qo) {
+ public BaseResponse<QueryResultVo<List<VoIntakeOpenCount>>> getOpenValveLtIntakes(IntakeCountValueQO qo) {
try {
QueryResultVo<List<VoIntakeOpenCount>> res = intakeSv.getOpenValveLtIntakes(qo);
if(res.itemTotal == 0) {
@@ -228,4 +237,25 @@
return BaseResponseUtils.buildException(e.getMessage()) ;
}
}
+
+
+ /**
+ * 鎸囧畾鏃堕棿娈靛唴鐢ㄦ按閲忚秴杩囨寚瀹氬�肩殑鍙栨按鍙�
+ * @param
+ * @return
+ */
+ @GetMapping(path = "/getUseWaterGtValueIntakes")
+ @SsoAop()
+ public BaseResponse<QueryResultVo<List<VoIntakeAccumulateAmount>>> getUseWaterGtValueIntakes(IntakeAmountValueQO qo) {
+ try {
+ QueryResultVo<List<VoIntakeAccumulateAmount>> res = intakeSv.getUseWaterGtValueIntakes(qo);
+ if(res.itemTotal == 0) {
+ return BaseResponseUtils.buildErrorMsg(StatisticlResultCode.NO_RECORDS.getMessage());
+ }
+ return BaseResponseUtils.buildSuccess(res);
+ } catch (Exception e) {
+ log.error("鑾峰彇璁板綍寮傚父", e);
+ return BaseResponseUtils.buildException(e.getMessage()) ;
+ }
+ }
}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/qo/IntakeAmountValueQO.java b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/qo/IntakeAmountValueQO.java
new file mode 100644
index 0000000..f95c127
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/qo/IntakeAmountValueQO.java
@@ -0,0 +1,19 @@
+package com.dy.pipIrrStatistics.intake.qo;
+
+import lombok.Data;
+
+/**
+ * @author :WuZeYu
+ * @Date :2024/8/6 9:32
+ * @LastEditTime :2024/8/3 9:32
+ * @Description
+ */
+@Data
+public class IntakeAmountValueQO extends CommonQO {
+
+
+ /**
+ * 鍊�
+ */
+ private Double value;
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/qo/IntakeValueQO.java b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/qo/IntakeCountValueQO.java
similarity index 86%
rename from pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/qo/IntakeValueQO.java
rename to pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/qo/IntakeCountValueQO.java
index edaec7e..ea38505 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/qo/IntakeValueQO.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/qo/IntakeCountValueQO.java
@@ -10,7 +10,7 @@
* @Description
*/
@Data
-public class IntakeValueQO extends CommonQO {
+public class IntakeCountValueQO extends CommonQO {
/**
--
Gitblit v1.8.0