From a1ebb929644867237e305ee4ed6dfd2410dccb2e Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期四, 09 一月 2025 17:26:33 +0800 Subject: [PATCH] 1、优化”时段未曾开阀“功能实现; 2、”截止时间“改为”结束时间“ --- pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntakeSv.java | 615 +++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 498 insertions(+), 117 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 c248646..46f6e40 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,9 +1,8 @@ package com.dy.pipIrrStatistics.intake; +import com.dy.common.util.DateTime; import com.dy.common.webUtil.QueryResultVo; -import com.dy.pipIrrGlobal.daoRm.RmOnHourReportHistoryMapper; -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 lombok.extern.slf4j.Slf4j; @@ -13,10 +12,10 @@ import org.springframework.stereotype.Service; import java.text.DecimalFormat; +import java.text.ParseException; +import java.text.SimpleDateFormat; import java.time.LocalDate; -import java.util.List; -import java.util.Map; -import java.util.Optional; +import java.util.*; /** * @author ZhuBaoMin @@ -31,10 +30,16 @@ @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.batteryVolt}") private Double batteryVolt; @@ -50,26 +55,10 @@ * @param qo * @return */ - public QueryResultVo<List<VoIntake>> getNotOnlineIntakes(IntakeQO qo) { - DecimalFormat df = new DecimalFormat("0.00"); - /** - * 琛ラ綈璧锋鏃堕棿锛屽鏋滃紑濮嬫椂闂翠负绌猴紝鍒欓粯璁や负褰撳墠鏃ユ湡 - */ - 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); - - // 鐢熸垚鏌ヨ鍙傛暟 + 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); @@ -85,6 +74,24 @@ } /** + * 鏈�杩戞湭鎶ユ暟鐨勫彇姘村彛 + * @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 @@ -106,7 +113,7 @@ return rsVo ; } - /** + /** ok 2 * 鑾峰彇绱娴侀噺浣庝簬鎸囧畾鍊肩殑鍙栨按鍙� * @param qo * @return @@ -177,123 +184,497 @@ } /** - * 鏍规嵁寮�闃�绫诲瀷鑾峰彇鎿嶄綔娆℃暟 + * 鑾峰彇浠庢湭寮�杩囬榾鐨勫彇姘村彛 + * @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 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; - } - + public QueryResultVo<List<VoIntakeOpenCount>> getOpenValveGtIntakes(IntakeCountValueQO qo) { // 鐢熸垚鏌ヨ鍙傛暟 Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ; - Integer openTypeCount = Optional.ofNullable(rmOpenCloseValveLastMapper.getCountByOpenType(params)).orElse(0); + // 鑾峰彇绗﹀悎鏉′欢鐨勮褰曟暟 + Long itemTotal = Optional.ofNullable(rmOpenCloseValveHistoryMapper.getOpenValveGtIntakesCount(params)).orElse(0L); - VoCountOfOpenType vo = new VoCountOfOpenType(); - vo.setOpenTypeName(openTypeName); - vo.setOpenTypeCount(openTypeCount); - return vo; + 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 VoCountOfCloseType getCountByCloseType(CloseTypeQo qo) { - /** - * 琛ラ綈璧锋鏃堕棿锛屽鏋滃紑濮嬫椂闂翠负绌猴紝鍒欓粯璁や负褰撳墠鏃ユ湡 - */ + public QueryResultVo<List<VoIntakeAccumulateAmount>> getTotalFlowGtValueIntakes(IntakeAmountValueQO qo) { String timeStart = qo.getTimeStart(); String timeStop = qo.getTimeStop(); - if(timeStart != null) { + if(timeStart != null && timeStart != "") { timeStart = timeStart + " 00:00:00"; - }else { + } else { timeStart = LocalDate.now() + " 00:00:00"; } - if(timeStop != null) { - timeStop = timeStop + " 23:59:59"; - } qo.setTimeStart(timeStart); + + if(timeStop != null && timeStop != "") { + timeStop = timeStop + " 23:59:59"; + }else { + timeStop = LocalDate.now() + " 23:59:59"; + } 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 (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) ; - Integer closeTypeCount = Optional.ofNullable(rmOpenCloseValveLastMapper.getCountByCloseType(params)).orElse(0); - VoCountOfCloseType vo = new VoCountOfCloseType(); - vo.setCloseTypeName(closeTypeName); - vo.setCloseTypeCount(closeTypeCount); - return vo; + // 鑾峰彇绗﹀悎鏉′欢鐨勮褰曟暟 + 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