From cd9bd57600aeda42a7b06e015ea1e0b94dd37b75 Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期一, 07 四月 2025 17:32:33 +0800
Subject: [PATCH] 虚拟卡余额小于100时提示用户余额不足
---
pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntakeSv.java | 676 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 676 insertions(+), 0 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
new file mode 100644
index 0000000..45472a9
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntakeSv.java
@@ -0,0 +1,676 @@
+package com.dy.pipIrrStatistics.intake;
+
+import com.dy.common.util.DateTime;
+import com.dy.common.webUtil.QueryResultVo;
+import com.dy.pipIrrGlobal.daoRm.*;
+import com.dy.pipIrrGlobal.voSt.*;
+import com.dy.pipIrrStatistics.intake.qo.*;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.dubbo.common.utils.PojoUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+
+import java.text.DecimalFormat;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.time.LocalDate;
+import java.util.*;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-08-01 13:58
+ * @LastEditTime 2024-08-01 13:58
+ * @Description
+ */
+
+@Slf4j
+@Service
+public class IntakeSv {
+ @Autowired
+ private RmOnHourReportHistoryMapper rmOnHourReportHistoryMapper;
+ @Autowired
+ private RmOpenCloseValveHistoryMapper rmOpenCloseValveHistoryMapper;
+ @Autowired
+ private RmOnHourReportLastMapper rmOnHourReportLastMapper;
+ @Autowired
+ private RmOpenCloseValveLastMapper rmOpenCloseValveLastMapper;
+
+ @Autowired
+ private RmIntakeAmountDayMapper rmIntakeAmountDayMapper;
+ @Autowired
+ private RmLossDayLastMapper rmLossDayLastMapper;
+
+ @Value("${rtu.signalIntensity.weak}")
+ private Integer weak;
+
+ @Value("${rtu.signalIntensity.ordinary}")
+ private Integer ordinary;
+
+ /**
+ * 鑾峰彇鎸囧畾鏃堕棿娈靛唴鏈笂绾跨殑鍙栨按鍙�
+ * @param qo
+ * @return
+ */
+ public QueryResultVo<List<VoIntake>> getNotOnlineIntakes(CommonQO qo, Long idStart, Long idEnd) {
+ Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ;
+ params.put("idStart", idStart) ;
+ params.put("idEnd", idEnd) ;
+
+ // 鑾峰彇绗﹀悎鏉′欢鐨勮褰曟暟
+ Long itemTotal = Optional.ofNullable(rmOnHourReportHistoryMapper.getNotOnlineIntakesCount(params)).orElse(0L);
+
+ QueryResultVo<List<VoIntake>> rsVo = new QueryResultVo<>() ;
+
+ rsVo.pageSize = qo.pageSize ;
+ rsVo.pageCurr = qo.pageCurr ;
+
+ rsVo.calculateAndSet(itemTotal, params);
+ rsVo.obj = rmOnHourReportHistoryMapper.getNotOnlineIntakes(params);
+ return rsVo ;
+ }
+
+ /**
+ * 鏈�杩戞湭鎶ユ暟鐨勫彇姘村彛
+ * @param qo
+ * @return
+ */
+ public QueryResultVo<List<VoIntakeUnReported>> getUnReportedIntakes(CommonQO qo) {
+ Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo);
+ Long itemTotal = rmOnHourReportLastMapper.getUnReportedIntakesCount(params);
+
+ QueryResultVo<List<VoIntakeUnReported>> rsVo = new QueryResultVo<>() ;
+ rsVo.pageSize = qo.pageSize ;
+ rsVo.pageCurr = qo.pageCurr ;
+
+ rsVo.calculateAndSet(itemTotal, params);
+ rsVo.obj = rmOnHourReportLastMapper.getUnReportedIntakes(params);
+ return rsVo ;
+ }
+
+ /** ok 1
+ * 鑾峰彇绱娴侀噺瓒呰繃鎸囧畾鍊肩殑鍙栨按鍙�
+ * @param qo
+ * @return
+ */
+ public QueryResultVo<List<VoCumulativeFlow>> getLargeFlowIntakes(CumulativeFlowQO qo) {
+ // 鐢熸垚鏌ヨ鍙傛暟
+ Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ;
+
+ // 鑾峰彇绗﹀悎鏉′欢鐨勮褰曟暟
+ Long itemTotal = Optional.ofNullable(rmOnHourReportLastMapper.getLargeFlowIntakesCount(params)).orElse(0L);
+
+ QueryResultVo<List<VoCumulativeFlow>> rsVo = new QueryResultVo<>() ;
+
+ rsVo.pageSize = qo.pageSize ;
+ rsVo.pageCurr = qo.pageCurr ;
+
+ rsVo.calculateAndSet(itemTotal, params);
+ rsVo.obj = rmOnHourReportLastMapper.getLargeFlowIntakes(params);
+ return rsVo ;
+ }
+
+ /** ok 2
+ * 鑾峰彇绱娴侀噺浣庝簬鎸囧畾鍊肩殑鍙栨按鍙�
+ * @param qo
+ * @return
+ */
+ public QueryResultVo<List<VoCumulativeFlow>> getSmallFlowIntakes(CumulativeFlowQO qo) {
+ // 鐢熸垚鏌ヨ鍙傛暟
+ Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ;
+
+ // 鑾峰彇绗﹀悎鏉′欢鐨勮褰曟暟
+ Long itemTotal = Optional.ofNullable(rmOnHourReportLastMapper.getSmallFlowIntakesCount(params)).orElse(0L);
+
+ QueryResultVo<List<VoCumulativeFlow>> rsVo = new QueryResultVo<>() ;
+
+ rsVo.pageSize = qo.pageSize ;
+ rsVo.pageCurr = qo.pageCurr ;
+
+ rsVo.calculateAndSet(itemTotal, params);
+ rsVo.obj = rmOnHourReportLastMapper.getSmallFlowIntakes(params);
+ return rsVo ;
+ }
+
+ /**
+ * 鑾峰彇娆犲帇鍙栨按鍙�
+ * @param qo
+ * @return
+ */
+ public QueryResultVo<List<VoBatteryVolt>> getUnderVoltIntakes(BatteryVoltQO qo) {
+ // 鐢熸垚鏌ヨ鍙傛暟
+ Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ;
+
+ // 鑾峰彇绗﹀悎鏉′欢鐨勮褰曟暟
+ Long itemTotal = Optional.ofNullable(rmOnHourReportLastMapper.getUnderVoltIntakesCount(params)).orElse(0L);
+
+ QueryResultVo<List<VoBatteryVolt>> rsVo = new QueryResultVo<>() ;
+
+ rsVo.pageSize = qo.pageSize ;
+ rsVo.pageCurr = qo.pageCurr ;
+
+ rsVo.calculateAndSet(itemTotal, params);
+ rsVo.obj = rmOnHourReportLastMapper.getUnderVoltIntakes(params);
+ return rsVo ;
+ }
+
+ /**
+ * 鑾峰彇鎸囧畾淇″彿寮哄害鐨勫彇姘村彛
+ * @param qo
+ * @return
+ */
+ public QueryResultVo<List<VoSignalIntensity>> getSpecifiedSignalIntakes(SignalIntensityQO qo) {
+ qo.setWeak(weak);
+ qo.setOrdinary(ordinary);
+
+ // 鐢熸垚鏌ヨ鍙傛暟
+ Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ;
+
+ // 鑾峰彇绗﹀悎鏉′欢鐨勮褰曟暟
+ Long itemTotal = Optional.ofNullable(rmOnHourReportLastMapper.getSpecifiedSignalIntakesCount(params)).orElse(0L);
+
+ QueryResultVo<List<VoSignalIntensity>> rsVo = new QueryResultVo<>() ;
+
+ rsVo.pageSize = qo.pageSize ;
+ rsVo.pageCurr = qo.pageCurr ;
+
+ rsVo.calculateAndSet(itemTotal, params);
+ rsVo.obj = rmOnHourReportLastMapper.getSpecifiedSignalIntakes(params);
+ return rsVo ;
+ }
+
+ /**
+ * 鑾峰彇浠庢湭寮�杩囬榾鐨勫彇姘村彛
+ * @param qo
+ * @param idStart
+ * @param idEnd
+ * @return
+ */
+ public QueryResultVo<List<VoIntakeUnOpenValve>> getNeverOpenValveIntakes(CommonQO qo, Long idStart, Long idEnd) {
+ // 鐢熸垚鏌ヨ鍙傛暟
+ Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ;
+ params.put("idStart", idStart) ;
+ params.put("idEnd", idEnd) ;
+
+ // 鑾峰彇绗﹀悎鏉′欢鐨勮褰曟暟
+ Long itemTotal = Optional.ofNullable(rmOpenCloseValveHistoryMapper.getNeverOpenValveIntakesCount(params)).orElse(0L);
+
+ QueryResultVo<List<VoIntakeUnOpenValve>> rsVo = new QueryResultVo<>() ;
+
+ rsVo.pageSize = qo.pageSize ;
+ rsVo.pageCurr = qo.pageCurr ;
+
+ rsVo.calculateAndSet(itemTotal, params);
+ rsVo.obj = rmOpenCloseValveHistoryMapper.getNeverOpenValveIntakes(params);
+ return rsVo ;
+ }
+
+ /**
+ * 鑾峰彇鎸囧畾鏃堕棿娈靛唴寮�闃�娆℃暟瓒呰繃鎸囧畾鍊肩殑鍙栨按鍙�
+ * @param qo
+ * @return
+ */
+ public QueryResultVo<List<VoIntakeOpenCount>> getOpenValveGtIntakes(IntakeCountValueQO qo) {
+ // 鐢熸垚鏌ヨ鍙傛暟
+ Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ;
+
+ // 鑾峰彇绗﹀悎鏉′欢鐨勮褰曟暟
+ Long itemTotal = Optional.ofNullable(rmOpenCloseValveHistoryMapper.getOpenValveGtIntakesCount(params)).orElse(0L);
+
+ QueryResultVo<List<VoIntakeOpenCount>> rsVo = new QueryResultVo<>() ;
+
+ rsVo.pageSize = qo.pageSize ;
+ rsVo.pageCurr = qo.pageCurr ;
+
+ rsVo.calculateAndSet(itemTotal, params);
+ rsVo.obj = rmOpenCloseValveHistoryMapper.getOpenValveGtIntakes(params);
+ return rsVo ;
+ }
+
+ /**
+ * 鑾峰彇鎸囧畾鏃堕棿娈靛唴寮�闃�娆℃暟浣庝簬鎸囧畾鍊肩殑鍙栨按鍙�
+ * @param qo
+ * @return
+ */
+ public QueryResultVo<List<VoIntakeOpenCount>> getOpenValveLtIntakes(IntakeCountValueQO qo) {
+ // 鐢熸垚鏌ヨ鍙傛暟
+ Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo);
+
+ // 鑾峰彇绗﹀悎鏉′欢鐨勮褰曟暟
+ Long itemTotal = Optional.ofNullable(rmOpenCloseValveHistoryMapper.getOpenValveLtIntakesCount(params)).orElse(0L);
+
+ QueryResultVo<List<VoIntakeOpenCount>> rsVo = new QueryResultVo<>() ;
+
+ rsVo.pageSize = qo.pageSize ;
+ rsVo.pageCurr = qo.pageCurr ;
+
+ rsVo.calculateAndSet(itemTotal, params);
+ rsVo.obj = rmOpenCloseValveHistoryMapper.getOpenValveLtIntakes(params);
+ return rsVo ;
+ }
+
+ /**
+ * 鏍规嵁寮�闃�绫诲瀷鑾峰彇鎿嶄綔娆℃暟
+ * @param idStart
+ * @param idEnd
+ * @param openType
+ * @return
+ */
+ public List<VoCountOfOpenType> getCountByOpenType(Long idStart, Long idEnd, Integer openType) {
+ // 鐢熸垚鏌ヨ鍙傛暟
+ Map<String, Object> params = new HashMap<>() ;
+ params.put("idStart", idStart);
+ params.put("idEnd", idEnd);
+ params.put("openType", openType);
+
+ List<VoCountOfOpenType> list = rmOpenCloseValveLastMapper.getCountByOpenType(params) ;
+ if(list != null){
+ for (VoCountOfOpenType vo : list) {
+ if (vo.openType != null){
+ switch (vo.openType) {
+ case 1:
+ vo.openTypeName = "鍒峰崱寮�闃�";
+ break;
+ case 3:
+ vo.openTypeName = "涓績绔欏紑闃�";
+ break;
+ case 8:
+ vo.openTypeName = "鐢ㄦ埛杩滅▼寮�闃�";
+ break;
+ case 11:
+ vo.openTypeName = "宸℃鍗″紑闃�";
+ break;
+ default:
+ vo.openTypeName = "鏈煡绫诲瀷寮�闃�";
+ }
+ }else{
+ vo.openTypeName = "鏈煡绫诲瀷寮�闃�";
+ }
+ }
+ }
+ return list ;
+ }
+
+ /**
+ * 鏍规嵁鍏抽榾绫诲瀷鑾峰彇鎿嶄綔娆℃暟
+ * @param idStart
+ * @param idEnd
+ * @param closeType
+ * @return
+ */
+ public List<VoCountOfCloseType> getCountByCloseType(Long idStart, Long idEnd, Integer closeType) {
+ Map<String, Object> params = new HashMap<>() ;
+ params.put("idStart", idStart);
+ params.put("idEnd", idEnd);
+ params.put("closeType", closeType);
+
+ List<VoCountOfCloseType> list = rmOpenCloseValveLastMapper.getCountByCloseType(params) ;
+ if(list != null) {
+ for (VoCountOfCloseType vo : list) {
+ if (vo.closeType != null) {
+ switch (vo.closeType) {
+ case 2:
+ vo.closeTypeName = "鍒峰崱鍏抽榾";
+ break;
+ case 4:
+ vo.closeTypeName = "涓績绔欏叧闃�";
+ break;
+ case 5:
+ vo.closeTypeName = "娆犺垂鍏抽榾";
+ break;
+ case 6:
+ vo.closeTypeName = "娴侀噺璁℃晠闅滃叧闃�";
+ break;
+ case 7:
+ vo.closeTypeName = "绱ф�ュ叧闃�";
+ break;
+ case 9:
+ vo.closeTypeName = "鐢ㄦ埛杩滅▼鍏抽榾";
+ break;
+ case 10:
+ vo.closeTypeName = "宸℃鍗″叧闃�";
+ break;
+ case 12:
+ vo.closeTypeName = "榛戝悕鍗曞懡浠ゅ叧闃�";
+ break;
+ case 13:
+ vo.closeTypeName = "杩滅▼瀹氭椂鍏抽榾";
+ break;
+ case 14:
+ vo.closeTypeName = "杩滅▼瀹氶噺鍏抽榾";
+ break;
+ default:
+ vo.closeTypeName = "鏈煡鍏抽榾绫诲瀷";
+ }
+ }else{
+ vo.closeTypeName = "鏈煡鍏抽榾绫诲瀷";
+ }
+ }
+ }
+ return list ;
+ }
+
+ /**
+ * 鎸囧畾鏃堕棿娈靛唴绱Н娴侀噺瓒呰繃鎸囧畾鍊肩殑鍙栨按鍙�
+ * @param qo
+ * @return
+ */
+ public QueryResultVo<List<VoIntakeAccumulateAmount>> getTotalFlowGtValueIntakes(IntakeAmountValueQO 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";
+ }
+ 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.getTotalFlowGtValueIntakesCount(params);
+
+ QueryResultVo<List<VoIntakeAccumulateAmount>> rsVo = new QueryResultVo<>() ;
+ rsVo.pageSize = qo.pageSize ;
+ rsVo.pageCurr = qo.pageCurr ;
+
+ rsVo.calculateAndSet(itemTotal, params);
+ rsVo.obj = rmOnHourReportHistoryMapper.getTotalFlowGtValueIntakes(params);
+ return rsVo ;
+ }
+
+ /** ok 3
+ * 鎸囧畾鏃堕棿娈靛唴鐢ㄦ按閲忚秴杩囨寚瀹氬�肩殑鍙栨按鍙�
+ * @param qo
+ * @return
+ */
+ public QueryResultVo<List<VoIntakeAccumulateAmount>> getUseWaterGtValueIntakes(IntakeAmountValueQO qo) {
+ String timeStart = qo.getTimeStart();
+ String timeStop = qo.getTimeStop();
+ if(timeStart == null || timeStart.trim().equals("")) {
+ timeStart = DateTime.yyyy_MM_dd() ;
+ qo.setTimeStart(timeStart);
+ }
+ if(timeStop == null || timeStop.trim().equals("")) {
+ timeStop = DateTime.yyyy_MM_dd() ;
+ qo.setTimeStop(timeStop);
+ }
+ if (qo.getValue() == null){
+ qo.setValue(0.0);
+ }
+
+ Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo);
+ Long itemTotal = rmIntakeAmountDayMapper.getUseWaterGtValueIntakesCount(params);
+
+ QueryResultVo<List<VoIntakeAccumulateAmount>> rsVo = new QueryResultVo<>() ;
+ rsVo.pageSize = qo.pageSize ;
+ rsVo.pageCurr = qo.pageCurr ;
+
+ rsVo.calculateAndSet(itemTotal, params);
+ rsVo.obj = rmIntakeAmountDayMapper.getUseWaterGtValueIntakes(params);
+ return rsVo ;
+ }
+
+ /** ok 4
+ * 鎸囧畾鏃堕棿娈靛唴娑堣垂閲戦瓒呰繃鎸囧畾鍊肩殑鍙栨按鍙�
+ * @param qo
+ * @return
+ */
+ public QueryResultVo<List<VoIntakeAccumulateAmount>> getExpenseGtValueIntakes(IntakeAmountValueQO qo) {
+ String timeStart = qo.getTimeStart();
+ String timeStop = qo.getTimeStop();
+ if(timeStart == null || timeStart.trim().equals("")) {
+ timeStart = DateTime.yyyy_MM_dd() ;
+ qo.setTimeStart(timeStart);
+ }
+ if(timeStop == null || timeStop.trim().equals("")) {
+ timeStop = DateTime.yyyy_MM_dd() ;
+ qo.setTimeStop(timeStop);
+ }
+ if (qo.getValue() == null){
+ qo.setValue(0.0);
+ }
+
+ Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo);
+ Long itemTotal = rmIntakeAmountDayMapper.getExpenseGtValueIntakesCount(params);
+
+ QueryResultVo<List<VoIntakeAccumulateAmount>> rsVo = new QueryResultVo<>() ;
+ rsVo.pageSize = qo.pageSize ;
+ rsVo.pageCurr = qo.pageCurr ;
+
+ rsVo.calculateAndSet(itemTotal, params);
+ rsVo.obj = rmIntakeAmountDayMapper.getExpenseGtValueIntakes(params);
+ return rsVo ;
+ }
+
+ /** ok 4
+ * 鎸囧畾鏃堕棿娈靛唴娑堣垂閲戦瓒呰繃鎸囧畾鍊肩殑鍙栨按鍙�
+ * @param qo
+ * @return
+ */
+ public QueryResultVo<List<VoIntakeAccumulateAmount>> getUseWaterTimesGtValueIntakes(IntakeCountValueQO qo) {
+ String timeStart = qo.getTimeStart();
+ String timeStop = qo.getTimeStop();
+ if(timeStart == null || timeStart.trim().equals("")) {
+ timeStart = DateTime.yyyy_MM_dd() ;
+ qo.setTimeStart(timeStart);
+ }
+ if(timeStop == null || timeStop.trim().equals("")) {
+ timeStop = DateTime.yyyy_MM_dd() ;
+ qo.setTimeStop(timeStop);
+ }
+ if (qo.getValue() == null){
+ qo.setValue(0);
+ }
+
+ Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo);
+ Long itemTotal = rmIntakeAmountDayMapper.getUseWaterTimesGtValueIntakesCount(params);
+
+ QueryResultVo<List<VoIntakeAccumulateAmount>> rsVo = new QueryResultVo<>() ;
+ rsVo.pageSize = qo.pageSize ;
+ rsVo.pageCurr = qo.pageCurr ;
+
+ rsVo.calculateAndSet(itemTotal, params);
+ rsVo.obj = rmIntakeAmountDayMapper.getUseWaterTimesGtValueIntakes(params);
+ return rsVo ;
+ }
+
+
+
+ /**
+ * 鎸囧畾鏃堕棿娈靛唴鐢ㄦ按鏃堕暱瓒呰繃鎸囧畾鍊肩殑鍙栨按鍙�
+ * @param qo
+ * @return
+ */
+ public QueryResultVo<List<VoIntakeOpenCount>> getUseWaterDurationGtValueIntakes(IntakeCountValueQO 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";
+ }
+ qo.setTimeStart(timeStart);
+
+ if(timeStop != null && timeStop != "") {
+ timeStop = timeStop + " 23:59:59";
+ }else {
+ timeStop = LocalDate.now() + " 23:59:59";
+ }
+ qo.setTimeStop(timeStop);
+
+
+ Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo);
+ Long itemTotal = rmOpenCloseValveHistoryMapper.getUseWaterDurationGtValueIntakesCount(params);
+
+ QueryResultVo<List<VoIntakeOpenCount>> rsVo = new QueryResultVo<>() ;
+ rsVo.pageSize = qo.pageSize ;
+ rsVo.pageCurr = qo.pageCurr ;
+
+ rsVo.calculateAndSet(itemTotal, params);
+ rsVo.obj = rmOpenCloseValveHistoryMapper.getUseWaterDurationGtValueIntakes(params);
+ return rsVo ;
+ }
+
+ /**
+ * 鎸囧畾鏃堕棿娈� 鏈夊紑闃� 鏃犲叧闃�鐨勫彇姘村彛
+ * @param qo
+ * @return
+ */
+ public QueryResultVo<List<VoIntake>> getHaveOpenNoCloseIntakes(IntakeCountValueQO qo) {
+ Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo);
+ Long itemTotal = rmOpenCloseValveHistoryMapper.getHaveOpenNoCloseIntakesCount(params);
+
+ QueryResultVo<List<VoIntake>> rsVo = new QueryResultVo<>() ;
+ rsVo.pageSize = qo.pageSize ;
+ rsVo.pageCurr = qo.pageCurr ;
+
+ rsVo.calculateAndSet(itemTotal, params);
+ rsVo.obj = rmOpenCloseValveHistoryMapper.getHaveOpenNoCloseIntakes(params);
+ return rsVo ;
+ }
+
+ /**
+ * 鎸囧畾鏃堕棿娈� 鏃犲紑闃� 鏈夊叧闃�鐨勫彇姘村彛
+ * @param qo
+ * @return
+ */
+ public QueryResultVo<List<VoIntake>> getNoOpenHaveCloseIntakes(IntakeCountValueQO qo) {
+ Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo);
+ Long itemTotal = rmOpenCloseValveHistoryMapper.getNoOpenHaveCloseIntakesCount(params);
+
+ QueryResultVo<List<VoIntake>> rsVo = new QueryResultVo<>() ;
+ rsVo.pageSize = qo.pageSize ;
+ rsVo.pageCurr = qo.pageCurr ;
+
+ rsVo.calculateAndSet(itemTotal, params);
+ rsVo.obj = rmOpenCloseValveHistoryMapper.getNoOpenHaveCloseIntakes(params);
+ return rsVo ;
+ }
+
+ /**
+ * 缁熻鎸囧畾鏈堜唤鍚勫ぉ鐢ㄦ按閲�
+ * @param qo
+ * @return
+ */
+ public QueryResultVo<List<VoDayIntakeAmount>> getDayIntakeAmount(IntakeAmountQO qo) throws ParseException {
+ SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
+ String yearMonth = qo.getYearMonth();
+ yearMonth = yearMonth + "-01";
+ yearMonth = dateFormat.format(dateFormat.parse(yearMonth));
+
+ Integer year = Integer.parseInt(yearMonth.substring(0,4));
+ Integer month = Integer.parseInt(yearMonth.substring(5,7));
+ 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) throws ParseException {
+ SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
+ String yearMonth = qo.getYearMonth();
+ yearMonth = yearMonth + "-01";
+ yearMonth = dateFormat.format(dateFormat.parse(yearMonth));
+ Integer year = Integer.parseInt(yearMonth.substring(0,4));
+ Integer month = Integer.parseInt(yearMonth.substring(5,7));
+ 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