From f7b2aa672c00c2c35b08cdf19b8fa4bcad6df59d Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期四, 09 一月 2025 15:53:14 +0800 Subject: [PATCH] 优化”未曾上线“功能实现 --- pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOnHourReportHistoryMapper.xml | 25 +++++--- pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntkeCtrl.java | 56 ++++++++++++------ pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntakeSv.java | 98 +++++++++++++------------------- 3 files changed, 92 insertions(+), 87 deletions(-) diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOnHourReportHistoryMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOnHourReportHistoryMapper.xml index ff89d88..0f63312 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOnHourReportHistoryMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOnHourReportHistoryMapper.xml @@ -261,16 +261,18 @@ COUNT(*) AS recordCount FROM pr_intake inta LEFT JOIN - (SELECT * FROM rm_on_hour_report_history + (SELECT intake_id FROM rm_on_hour_report_history <where> - <if test = "timeStart != null and timeStop != null"> - dt BETWEEN #{timeStart} AND #{timeStop} + <if test = "idStart != null"> + id <![CDATA[>=]]> #{idStart} + </if> + <if test = "idEnd != null"> + AND id <![CDATA[<=]]> #{idEnd} </if> </where>) his ON his.intake_id = inta.id - INNER JOIN ba_block blo ON blo.id = inta.blockId + LEFT JOIN ba_block blo ON blo.id = inta.blockId WHERE his.intake_id IS NULL AND inta.deleted = 0 - </select> <!--鑾峰彇鎸囧畾鏃堕棿娈靛唴鏈笂绾跨殑鍙栨按鍙�--> @@ -278,17 +280,22 @@ SELECT inta.id AS intakeId, inta.name AS intakeNum, + inta.lng AS lng, + inta.lat AS lat, blo.name AS blockName FROM pr_intake inta LEFT JOIN - (SELECT * FROM rm_on_hour_report_history + (SELECT intake_id FROM rm_on_hour_report_history <where> - <if test = "timeStart != null and timeStop != null"> - dt BETWEEN #{timeStart} AND #{timeStop} + <if test = "idStart != null"> + id <![CDATA[>=]]> #{idStart} + </if> + <if test = "idEnd != null"> + AND id <![CDATA[<=]]> #{idEnd} </if> </where>) his ON his.intake_id = inta.id - INNER JOIN ba_block blo ON blo.id = inta.blockId + LEFT JOIN ba_block blo ON blo.id = inta.blockId WHERE his.intake_id IS NULL AND inta.deleted = 0 ORDER BY inta.id <trim prefix="limit " > 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 9bbe4b1..e9bcc22 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 @@ -55,29 +55,10 @@ * @param qo * @return */ - public QueryResultVo<List<VoIntake>> getNotOnlineIntakes(CommonQO qo) { - DecimalFormat df = new DecimalFormat("0.00"); - /** - * 琛ラ綈璧锋鏃堕棿锛屽鏋滃紑濮嬫椂闂翠负绌猴紝鍒欓粯璁や负褰撳墠鏃ユ湡 - */ - String timeStart = qo.getTimeStart(); - String timeStop = qo.getTimeStop(); - - 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); - - // 鐢熸垚鏌ヨ鍙傛暟 + 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); @@ -89,6 +70,43 @@ rsVo.calculateAndSet(itemTotal, params); rsVo.obj = rmOnHourReportHistoryMapper.getNotOnlineIntakes(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 ; } @@ -690,40 +708,4 @@ 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 ; - } } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntkeCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntkeCtrl.java index d86bc7a..53f90ac 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntkeCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntkeCtrl.java @@ -38,26 +38,58 @@ public class IntkeCtrl { private final IntakeSv intakeSv; - /** + /** ok 111 * 鑾峰彇鎸囧畾鏃堕棿娈靛唴鏈笂绾跨殑鍙栨按鍙� * @param qo * @return */ @GetMapping(path = "/getNotOnlineIntakes") @SsoAop() - public BaseResponse<QueryResultVo<List<VoIntake>>> getNotOnlineIntakes(@Valid CommonQO qo, BindingResult bindingResult) { + public BaseResponse<QueryResultVo<List<VoIntake>>> getNotOnlineIntakes(@Valid CommonQO qo, BindingResult bindingResult) throws Exception { if(bindingResult != null && bindingResult.hasErrors()){ return BaseResponseUtils.buildErrorMsg(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); } - + String timeStart = qo.getTimeStart(); + String timeStop = qo.getTimeStop(); + Long startId = null ; + Long endId = null ; + if(timeStart != null && !timeStart.trim().equals("")){ + int[] ymdStart = DateTime.yyyy_MM_dd_2_ymdGroup(timeStart) ; + startId = IDLongGenerator.generateOneDayStartId(ymdStart[0], ymdStart[1], ymdStart[2]) ; + } + if(timeStop != null && !timeStop.trim().equals("")){ + int[] ymdEnd = DateTime.yyyy_MM_dd_2_ymdGroup(timeStop) ; + endId = IDLongGenerator.generateOneDayStartId(ymdEnd[0], ymdEnd[1], ymdEnd[2]) ; + } + if(startId != null && endId != null){ + if(endId < startId){ + return BaseResponseUtils.buildErrorMsg("鎴鏃堕棿涓嶈兘鏃╀簬寮�濮嬫椂闂�"); + } + } try { - return BaseResponseUtils.buildSuccess(intakeSv.getNotOnlineIntakes(qo)); + return BaseResponseUtils.buildSuccess(intakeSv.getNotOnlineIntakes(qo, startId, endId)); } catch (Exception e) { log.error("鑾峰彇璁板綍寮傚父", e); return BaseResponseUtils.buildException(e.getMessage()) ; } } + /** ok 112 + * 鏈�杩戞湭鎶ユ暟鐨勫彇姘村彛 + * @param + * @return + */ + @GetMapping(path = "/getUnReportedIntakes") + @SsoAop() + public BaseResponse<QueryResultVo<List<VoIntakeUnReported>>> getUnReportedIntakes(CommonQO qo) { + try { + QueryResultVo<List<VoIntakeUnReported>> res = intakeSv.getUnReportedIntakes(qo); + return BaseResponseUtils.buildSuccess(res); + } catch (Exception e) { + log.error("鑾峰彇璁板綍寮傚父", e); + return BaseResponseUtils.buildException(e.getMessage()) ; + } + } /** ok 1 * 鑾峰彇绱娴侀噺瓒呰繃鎸囧畾鍊肩殑鍙栨按鍙� * @param qo @@ -559,20 +591,4 @@ } } - /** - * 鏈�杩戞湭鎶ユ暟鐨勫彇姘村彛 - * @param - * @return - */ - @GetMapping(path = "/getUnReportedIntakes") - @SsoAop() - public BaseResponse<QueryResultVo<List<VoIntakeUnReported>>> getUnReportedIntakes(CommonQO qo) { - try { - QueryResultVo<List<VoIntakeUnReported>> res = intakeSv.getUnReportedIntakes(qo); - return BaseResponseUtils.buildSuccess(res); - } catch (Exception e) { - log.error("鑾峰彇璁板綍寮傚父", e); - return BaseResponseUtils.buildException(e.getMessage()) ; - } - } } -- Gitblit v1.8.0