From e1cb03bf866b04589dd5457db1f4517d9e77f42d Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期五, 11 十月 2024 15:45:29 +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 | 288 ++++++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 214 insertions(+), 74 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 74b0257..f0d7ddf 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 @@ -11,8 +11,9 @@ import org.springframework.stereotype.Service; import java.text.DecimalFormat; +import java.text.ParseException; +import java.text.SimpleDateFormat; import java.time.LocalDate; -import java.time.LocalDateTime; import java.util.Calendar; import java.util.List; import java.util.Map; @@ -39,6 +40,8 @@ @Autowired private RmIntakeAmountDayMapper rmIntakeAmountDayMapper; + @Autowired + private RmLossDayLastMapper rmLossDayLastMapper; @Value("${rtu.batteryVolt}") private Double batteryVolt; @@ -61,13 +64,16 @@ */ 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"; + if(timeStart != null) { + timeStart = timeStart + " 00:00:00"; + }else { + timeStart = LocalDate.now() + " 00:00:00"; + } + }else { + timeStart = null; } qo.setTimeStart(timeStart); qo.setTimeStop(timeStop); @@ -303,39 +309,47 @@ */ 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"; + if(timeStart != null) { + timeStart = timeStart + " 00:00:00"; + }else { + timeStart = LocalDate.now() + " 00:00:00"; + } + }else { + timeStart = null; } 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; + if (openType == null){ + openTypeName = "涓嶇煡閬撴偍瑕佹煡閭g寮�闃�绫诲瀷"; + }else { + switch (openType) { + case 1: + openTypeName = "鍒峰崱寮�闃�"; + break; + case 3: + openTypeName = "涓績绔欏紑闃�"; + break; + case 8: + openTypeName = "鐢ㄦ埛杩滅▼寮�闃�"; + break; + case 11: + openTypeName = "寮�鍏抽榾鍗″紑闃�"; + break; + case 13: + openTypeName = "寮�鍏抽榾鍗″紑闃�"; + break; + default: + openTypeName = "涓嶇煡閬撴偍瑕佹煡閭g寮�闃�绫诲瀷"; + } } // 鐢熸垚鏌ヨ鍙傛暟 @@ -360,52 +374,59 @@ */ 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"; + if(timeStart != null) { + timeStart = timeStart + " 00:00:00"; + }else { + timeStart = LocalDate.now() + " 00:00:00"; + } + }else { + timeStart = null; } 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; + if (closeType == null){ + closeTypeName = "涓嶇煡閬撴偍瑕佹煡閭g鍏抽榾绫诲瀷"; + }else { + 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; + default: + closeTypeName = "涓嶇煡閬撴偍瑕佹煡閭g鍏抽榾绫诲瀷"; + } } - // 鐢熸垚鏌ヨ鍙傛暟 Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ; Integer closeTypeCount = Optional.ofNullable(rmOpenCloseValveLastMapper.getCountByCloseType(params)).orElse(0); @@ -455,7 +476,6 @@ return rsVo ; } - /** * 鎸囧畾鏃堕棿娈靛唴鐢ㄦ按閲忚秴杩囨寚瀹氬�肩殑鍙栨按鍙� * @param qo @@ -482,7 +502,6 @@ qo.setValue(0.0); } - Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo); Long itemTotal = rmOpenCloseValveHistoryMapper.getUseWaterGtValueIntakesCount(params); @@ -494,8 +513,6 @@ rsVo.obj = rmOpenCloseValveHistoryMapper.getUseWaterGtValueIntakes(params); return rsVo ; } - - /** * 鎸囧畾鏃堕棿娈靛唴娑堣垂閲戦瓒呰繃鎸囧畾鍊肩殑鍙栨按鍙� @@ -534,7 +551,6 @@ rsVo.obj = rmOpenCloseValveHistoryMapper.getExpenseGtValueIntakes(params); return rsVo ; } - /** * 鎸囧畾鏃堕棿娈靛唴鐢ㄦ按鏃堕暱瓒呰繃鎸囧畾鍊肩殑鍙栨按鍙� @@ -646,10 +662,14 @@ * @param qo * @return */ - public QueryResultVo<List<VoDayIntakeAmount>> getDayIntakeAmount(DayIntakeAmountQO 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)); + 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); @@ -668,4 +688,124 @@ 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 ; + } + + /** + * 鏈�杩戞湭鎶ユ暟鐨勫彇姘村彛 + * @param qo + * @return + */ + public QueryResultVo<List<VoIntakeUnReported>> getUnReportedIntakes(CommonQO qo) { + String timeStart = qo.getTimeStart(); + String timeStop = qo.getTimeStop(); + if(timeStart == "") { + timeStart = null; + } + if(timeStop == "") { + timeStop = null; + } + if(timeStart != null && timeStart != "") { + timeStart = timeStart + " 00:00:00"; + } + qo.setTimeStart(timeStart); + + if(timeStop != null && timeStop != "") { + timeStop = timeStop + " 23:59:59"; + } + qo.setTimeStop(timeStop); + + + 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 ; + } } -- Gitblit v1.8.0