From c60767599cf741fde1cb7a10544d8c0ebb8db6a5 Mon Sep 17 00:00:00 2001 From: zhubaomin <zhubaomin> Date: 星期四, 08 八月 2024 19:36:33 +0800 Subject: [PATCH] 2024-08-08 朱宝民 统计指定月份各天漏算了、统计指定年份各月漏算量 --- pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntakeSv.java | 149 +++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 124 insertions(+), 25 deletions(-) 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 9357183..704e2c0 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 @@ -1,22 +1,9 @@ package com.dy.pipIrrStatistics.intake; import com.dy.common.webUtil.QueryResultVo; -import com.dy.pipIrrGlobal.daoRm.RmOnHourReportHistoryMapper; -import com.dy.pipIrrGlobal.daoRm.RmOpenCloseValveHistoryMapper; -import com.dy.pipIrrGlobal.daoRm.RmOnHourReportLastMapper; -import com.dy.pipIrrGlobal.daoRm.RmOpenCloseValveLastMapper; +import com.dy.pipIrrGlobal.daoRm.*; 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.VoIntakeOpenCount; -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.SignalIntensityQO; import lombok.extern.slf4j.Slf4j; import org.apache.dubbo.common.utils.PojoUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -25,7 +12,7 @@ import java.text.DecimalFormat; import java.time.LocalDate; -import java.time.LocalDateTime; +import java.util.Calendar; import java.util.List; import java.util.Map; import java.util.Optional; @@ -46,9 +33,13 @@ private RmOpenCloseValveHistoryMapper rmOpenCloseValveHistoryMapper; @Autowired private RmOnHourReportLastMapper rmOnHourReportLastMapper; - @Autowired private RmOpenCloseValveLastMapper rmOpenCloseValveLastMapper; + + @Autowired + private RmIntakeAmountDayMapper rmIntakeAmountDayMapper; + @Autowired + private RmLossDayLastMapper rmLossDayLastMapper; @Value("${rtu.batteryVolt}") private Double batteryVolt; @@ -201,7 +192,7 @@ if(timeStart != null && timeStart != "") { timeStart = timeStart + " 00:00:00"; } else { - timeStart = LocalDateTime.of(2024, 1, 1, 0, 0, 0).toString(); + timeStart = LocalDate.now() + " 00:00:00"; } qo.setTimeStart(timeStart); @@ -240,7 +231,7 @@ if(timeStart != null && timeStart != "") { timeStart = timeStart + " 00:00:00"; } else { - timeStart = LocalDateTime.of(2024, 1, 1, 0, 0, 0).toString(); + timeStart = LocalDate.now() + " 00:00:00"; } qo.setTimeStart(timeStart); @@ -279,7 +270,7 @@ if(timeStart != null && timeStart != "") { timeStart = timeStart + " 00:00:00"; } else { - timeStart = LocalDateTime.of(2024, 1, 1, 0, 0, 0).toString(); + timeStart = LocalDate.now() + " 00:00:00"; } qo.setTimeStart(timeStart); @@ -437,7 +428,7 @@ if(timeStart != null && timeStart != "") { timeStart = timeStart + " 00:00:00"; } else { - timeStart = LocalDateTime.of(2024, 1, 1, 0, 0, 0).toString(); + timeStart = LocalDate.now() + " 00:00:00"; } qo.setTimeStart(timeStart); @@ -477,7 +468,7 @@ if(timeStart != null && timeStart != "") { timeStart = timeStart + " 00:00:00"; } else { - timeStart = LocalDateTime.of(2024, 1, 1, 0, 0, 0).toString(); + timeStart = LocalDate.now() + " 00:00:00"; } qo.setTimeStart(timeStart); @@ -518,7 +509,7 @@ if(timeStart != null && timeStart != "") { timeStart = timeStart + " 00:00:00"; } else { - timeStart = LocalDateTime.of(2024, 1, 1, 0, 0, 0).toString(); + timeStart = LocalDate.now() + " 00:00:00"; } qo.setTimeStart(timeStart); @@ -557,7 +548,7 @@ if(timeStart != null && timeStart != "") { timeStart = timeStart + " 00:00:00"; } else { - timeStart = LocalDateTime.of(2024, 1, 1, 0, 0, 0).toString(); + timeStart = LocalDate.now() + " 00:00:00"; } qo.setTimeStart(timeStart); @@ -592,7 +583,7 @@ if(timeStart != null && timeStart != "") { timeStart = timeStart + " 00:00:00"; } else { - timeStart = LocalDateTime.of(2024, 1, 1, 0, 0, 0).toString(); + timeStart = LocalDate.now() + " 00:00:00"; } qo.setTimeStart(timeStart); @@ -627,7 +618,7 @@ if(timeStart != null && timeStart != "") { timeStart = timeStart + " 00:00:00"; } else { - timeStart = LocalDateTime.of(2024, 1, 1, 0, 0, 0).toString(); + timeStart = LocalDate.now() + " 00:00:00"; } qo.setTimeStart(timeStart); @@ -650,4 +641,112 @@ rsVo.obj = rmOpenCloseValveHistoryMapper.getNoOpenHaveCloseIntakes(params); return rsVo ; } + + /** + * 缁熻鎸囧畾鏈堜唤鍚勫ぉ鐢ㄦ按閲� + * @param qo + * @return + */ + public QueryResultVo<List<VoDayIntakeAmount>> getDayIntakeAmount(IntakeAmountQO qo) { + Calendar calendar = Calendar.getInstance(); + Integer year = Optional.ofNullable(qo.getYear()).orElse(calendar.get(Calendar.YEAR)); + Integer month = Optional.ofNullable(qo.getMonth()).orElse(calendar.get(Calendar.MONTH)); + qo.setYear(year); + qo.setMonth(month); + + // 鐢熸垚鏌ヨ鍙傛暟 + Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ; + + // 鑾峰彇绗﹀悎鏉′欢鐨勮褰曟暟 + Long itemTotal = Optional.ofNullable(rmIntakeAmountDayMapper.getDayIntakeAmountCount(params)).orElse(0L); + + QueryResultVo<List<VoDayIntakeAmount>> rsVo = new QueryResultVo<>() ; + + rsVo.pageSize = qo.pageSize ; + rsVo.pageCurr = qo.pageCurr ; + + rsVo.calculateAndSet(itemTotal, params); + rsVo.obj = rmIntakeAmountDayMapper.getDayIntakeAmount(params); + return rsVo ; + } + + /** + * 缁熻鎸囧畾骞翠唤鍚勬湀鐢ㄦ按閲� + * @param qo + * @return + */ + public QueryResultVo<List<VoMonthAmount>> getMonthIntakeAmount(IntakeAmountQO qo) { + Calendar calendar = Calendar.getInstance(); + Integer year = Optional.ofNullable(qo.getYear()).orElse(calendar.get(Calendar.YEAR)); + qo.setYear(year); + + // 鐢熸垚鏌ヨ鍙傛暟 + Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ; + + // 鑾峰彇绗﹀悎鏉′欢鐨勮褰曟暟 + Long itemTotal = Optional.ofNullable(rmIntakeAmountDayMapper.getMonthIntakeAmountCount(params)).orElse(0L); + + QueryResultVo<List<VoMonthAmount>> rsVo = new QueryResultVo<>() ; + + rsVo.pageSize = qo.pageSize ; + rsVo.pageCurr = qo.pageCurr ; + + rsVo.calculateAndSet(itemTotal, params); + rsVo.obj = rmIntakeAmountDayMapper.getMonthIntakeAmount(params); + return rsVo ; + } + + /** + * 缁熻鎸囧畾鏈堜唤鍚勫ぉ婕忔崯閲� + * @param qo + * @return + */ + public QueryResultVo<List<VoDayLoss>> getDayLossAmount(IntakeAmountQO qo) { + Calendar calendar = Calendar.getInstance(); + Integer year = Optional.ofNullable(qo.getYear()).orElse(calendar.get(Calendar.YEAR)); + Integer month = Optional.ofNullable(qo.getMonth()).orElse(calendar.get(Calendar.MONTH)); + qo.setYear(year); + qo.setMonth(month); + + // 鐢熸垚鏌ヨ鍙傛暟 + Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ; + + // 鑾峰彇绗﹀悎鏉′欢鐨勮褰曟暟 + Long itemTotal = Optional.ofNullable(rmLossDayLastMapper.getDayLossAmountCount(params)).orElse(0L); + + QueryResultVo<List<VoDayLoss>> rsVo = new QueryResultVo<>() ; + + rsVo.pageSize = qo.pageSize ; + rsVo.pageCurr = qo.pageCurr ; + + rsVo.calculateAndSet(itemTotal, params); + rsVo.obj = rmLossDayLastMapper.getDayLossAmount(params); + return rsVo ; + } + + /** + * 缁熻鎸囧畾骞翠唤鍚勬湀婕忔崯閲� + * @param qo + * @return + */ + public QueryResultVo<List<VoMonthAmount>> getMonthLossAmount(IntakeAmountQO qo) { + Calendar calendar = Calendar.getInstance(); + Integer year = Optional.ofNullable(qo.getYear()).orElse(calendar.get(Calendar.YEAR)); + qo.setYear(year); + + // 鐢熸垚鏌ヨ鍙傛暟 + Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ; + + // 鑾峰彇绗﹀悎鏉′欢鐨勮褰曟暟 + Long itemTotal = Optional.ofNullable(rmLossDayLastMapper.getMonthLossAmountCount(params)).orElse(0L); + + QueryResultVo<List<VoMonthAmount>> rsVo = new QueryResultVo<>() ; + + rsVo.pageSize = qo.pageSize ; + rsVo.pageCurr = qo.pageCurr ; + + rsVo.calculateAndSet(itemTotal, params); + rsVo.obj = rmLossDayLastMapper.getMonthLossAmount(params); + return rsVo ; + } } -- Gitblit v1.8.0