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