From f6962c0ede2f18b8aaeaf69f84b39d459a5a59f4 Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期二, 06 八月 2024 13:41:12 +0800 Subject: [PATCH] Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV --- pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntakeSv.java | 322 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 316 insertions(+), 6 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 c9e3b05..0bc6f0d 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 @@ -2,13 +2,25 @@ 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.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.IntakeQO; +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; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import java.text.DecimalFormat; @@ -29,13 +41,29 @@ public class IntakeSv { @Autowired private RmOnHourReportHistoryMapper rmOnHourReportHistoryMapper; + @Autowired + private RmOpenCloseValveHistoryMapper rmOpenCloseValveHistoryMapper; + @Autowired + private RmOnHourReportLastMapper rmOnHourReportLastMapper; + + @Autowired + private RmOpenCloseValveLastMapper rmOpenCloseValveLastMapper; + + @Value("${rtu.batteryVolt}") + private Double batteryVolt; + + @Value("${rtu.signalIntensity.weak}") + private Integer weak; + + @Value("${rtu.signalIntensity.ordinary}") + private Integer ordinary; /** * 鑾峰彇鎸囧畾鏃堕棿娈靛唴鏈笂绾跨殑鍙栨按鍙� * @param qo * @return */ - public QueryResultVo<List<VoIntake>> getNotOnlineIntakes(IntakeQO qo) { + public QueryResultVo<List<VoIntake>> getNotOnlineIntakes(CommonQO qo) { DecimalFormat df = new DecimalFormat("0.00"); /** * 琛ラ綈璧锋鏃堕棿锛屽鏋滃紑濮嬫椂闂翠负绌猴紝鍒欓粯璁や负褰撳墠鏃ユ湡 @@ -79,7 +107,7 @@ Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ; // 鑾峰彇绗﹀悎鏉′欢鐨勮褰曟暟 - Long itemTotal = Optional.ofNullable(rmOnHourReportHistoryMapper.getLargeFlowIntakesCount(params)).orElse(0L); + Long itemTotal = Optional.ofNullable(rmOnHourReportLastMapper.getLargeFlowIntakesCount(params)).orElse(0L); QueryResultVo<List<VoCumulativeFlow>> rsVo = new QueryResultVo<>() ; @@ -87,7 +115,7 @@ rsVo.pageCurr = qo.pageCurr ; rsVo.calculateAndSet(itemTotal, params); - rsVo.obj = rmOnHourReportHistoryMapper.getLargeFlowIntakes(params); + rsVo.obj = rmOnHourReportLastMapper.getLargeFlowIntakes(params); return rsVo ; } @@ -101,7 +129,7 @@ Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ; // 鑾峰彇绗﹀悎鏉′欢鐨勮褰曟暟 - Long itemTotal = Optional.ofNullable(rmOnHourReportHistoryMapper.getSmallFlowIntakesCount(params)).orElse(0L); + Long itemTotal = Optional.ofNullable(rmOnHourReportLastMapper.getSmallFlowIntakesCount(params)).orElse(0L); QueryResultVo<List<VoCumulativeFlow>> rsVo = new QueryResultVo<>() ; @@ -109,7 +137,289 @@ rsVo.pageCurr = qo.pageCurr ; rsVo.calculateAndSet(itemTotal, params); - rsVo.obj = rmOnHourReportHistoryMapper.getSmallFlowIntakes(params); + rsVo.obj = rmOnHourReportLastMapper.getSmallFlowIntakes(params); return rsVo ; } + + /** + * 鑾峰彇娆犲帇鍙栨按鍙� + * @param qo + * @return + */ + public QueryResultVo<List<VoBatteryVolt>> getUnderVoltIntakes(BatteryVoltQO qo) { + qo.setBatteryVolt(batteryVolt); + // 鐢熸垚鏌ヨ鍙傛暟 + 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 ; + } + + /** + * 鑾峰彇浠庢湭寮�杩囬榾鐨勫彇姘村彛 + * @return + */ + public QueryResultVo<List<VoIntake>> getNeverOpenValveIntakes(CommonQO qo) { + + String timeStart = qo.getTimeStart(); + String timeStop = qo.getTimeStop(); + if(timeStart != null) { + timeStart = timeStart + " 00:00:00"; + }else { + timeStart = LocalDate.now() + " 00:00:00"; + } + qo.setTimeStart(timeStart); + if(timeStop != null) { + 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 = Optional.ofNullable(rmOpenCloseValveHistoryMapper.getNeverOpenValveIntakesCount(params)).orElse(0L); + + QueryResultVo<List<VoIntake>> 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(IntakeValueQO qo) { + + String timeStart = qo.getTimeStart(); + String timeStop = qo.getTimeStop(); + if(timeStart != null) { + timeStart = timeStart + " 00:00:00"; + }else { + timeStart = LocalDate.now() + " 00:00:00"; + } + qo.setTimeStart(timeStart); + if(timeStop != null) { + 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 = 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(IntakeValueQO qo) { + + String timeStart = qo.getTimeStart(); + String timeStop = qo.getTimeStop(); + if(timeStart != null) { + timeStart = timeStart + " 00:00:00"; + }else { + timeStart = LocalDate.now() + " 00:00:00"; + } + qo.setTimeStart(timeStart); + if(timeStop != null) { + 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 = 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 qo + * @return + */ + public VoCountOfOpenType getCountByOpenType(OpenTypeQO qo) { + /** + * 琛ラ綈璧锋鏃堕棿锛屽鏋滃紑濮嬫椂闂翠负绌猴紝鍒欓粯璁や负褰撳墠鏃ユ湡 + */ + String timeStart = qo.getTimeStart(); + String timeStop = qo.getTimeStop(); + if(timeStart != null) { + timeStart = timeStart + " 00:00:00"; + }else { + timeStart = LocalDate.now() + " 00:00:00"; + } + if(timeStop != null) { + timeStop = timeStop + " 23:59:59"; + } + qo.setTimeStart(timeStart); + qo.setTimeStop(timeStop); + + Integer openType = qo.getOpenType(); + String openTypeName = ""; + switch (openType) { + case 1: + openTypeName = "鍒峰崱寮�闃�"; + break; + case 3: + openTypeName = "涓績绔欏紑闃�"; + break; + case 8: + openTypeName = "鐢ㄦ埛杩滅▼寮�闃�"; + break; + case 11: + openTypeName = "寮�鍏抽榾鍗″紑闃�"; + break; + case 13: + openTypeName = "寮�鍏抽榾鍗″紑闃�"; + break; + } + + // 鐢熸垚鏌ヨ鍙傛暟 + Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ; + + Integer openTypeCount = Optional.ofNullable(rmOpenCloseValveLastMapper.getCountByOpenType(params)).orElse(0); + + VoCountOfOpenType vo = new VoCountOfOpenType(); + vo.setOpenTypeName(openTypeName); + vo.setOpenTypeCount(openTypeCount); + return vo; + } + + /** + * 鏍规嵁鍏抽榾绫诲瀷鑾峰彇鎿嶄綔娆℃暟 + * @param qo + * @return + */ + public VoCountOfCloseType getCountByCloseType(CloseTypeQo qo) { + /** + * 琛ラ綈璧锋鏃堕棿锛屽鏋滃紑濮嬫椂闂翠负绌猴紝鍒欓粯璁や负褰撳墠鏃ユ湡 + */ + String timeStart = qo.getTimeStart(); + String timeStop = qo.getTimeStop(); + if(timeStart != null) { + timeStart = timeStart + " 00:00:00"; + }else { + timeStart = LocalDate.now() + " 00:00:00"; + } + if(timeStop != null) { + timeStop = timeStop + " 23:59:59"; + } + qo.setTimeStart(timeStart); + qo.setTimeStop(timeStop); + + Integer closeType = qo.getCloseType(); + String closeTypeName = ""; + switch (closeType) { + case 2: + closeTypeName = "鍒峰崱鍏抽榾"; + break; + case 4: + closeTypeName = "涓績绔欏叧闃�"; + break; + case 5: + closeTypeName = "娆犺垂鍏抽榾"; + break; + case 6: + closeTypeName = "娴侀噺璁℃晠闅滃叧闃�"; + break; + case 7: + closeTypeName = "绱ф�ュ叧闃�"; + break; + case 9: + closeTypeName = "鐢ㄦ埛杩滅▼鍏抽榾"; + break; + case 10: + closeTypeName = "寮�鍏抽榾鍗″叧闃�"; + break; + case 12: + closeTypeName = "榛戝悕鍗曞懡浠ゅ叧闃�"; + break; + case 13: + closeTypeName = "杩滅▼瀹氭椂鍏抽榾"; + break; + case 14: + closeTypeName = "杩滅▼瀹氶噺鍏抽榾"; + break; + } + + // 鐢熸垚鏌ヨ鍙傛暟 + Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ; + Integer closeTypeCount = Optional.ofNullable(rmOpenCloseValveLastMapper.getCountByCloseType(params)).orElse(0); + + VoCountOfCloseType vo = new VoCountOfCloseType(); + vo.setCloseTypeName(closeTypeName); + vo.setCloseTypeCount(closeTypeCount); + return vo; + } + } -- Gitblit v1.8.0