From 1eb6016fcf65889266b5fbac8a0e2f7db27ac2ef Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期三, 20 十一月 2024 11:52:16 +0800 Subject: [PATCH] 视频录像导出日期调整 --- ycl-server/src/main/java/com/ycl/utils/DateUtils.java | 7 +++++++ ycl-server/src/main/java/com/ycl/task/UYTask.java | 2 ++ ycl-server/src/main/java/com/ycl/platform/service/impl/TMonitorServiceImpl.java | 36 +++++++++++++++++++++++++++++++----- 3 files changed, 40 insertions(+), 5 deletions(-) diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/TMonitorServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/TMonitorServiceImpl.java index 6fc3f24..d353ed2 100644 --- a/ycl-server/src/main/java/com/ycl/platform/service/impl/TMonitorServiceImpl.java +++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/TMonitorServiceImpl.java @@ -610,7 +610,16 @@ } } List<String> deviceIds = tMonitorResults.stream().map(BaseResult::getNo).collect(Collectors.toList()); - Query query = getQuery(deviceIds, exportForm.getMonth()); + // 灏嗗勾鏈堝瓧绗︿覆瑙f瀽涓篩earMonth瀵硅薄 + YearMonth yearMonth = YearMonth.parse(exportForm.getMonth()); + // 鑾峰彇褰撴湀鐨勭涓�澶� + LocalDate start = yearMonth.atDay(1); + // 鑾峰彇涓嬩釜鏈堢殑绗竴澶╋紙閫氳繃鍔犱笂1涓湀骞惰缃棩涓�1锛� + YearMonth nextMonth = yearMonth.plusMonths(1); + LocalDate end = nextMonth.atDay(1); + //鑾峰彇杩欎釜鏈堜唤鐨勯儴闂ㄦ暟鎹紝褰曞儚鐢变簬鏄墠涓�澶╃殑鎵�浠ヤ笉鐢╟reateTime瀛楁 + Query query = new Query(Criteria.where("statTime").gte(start).lt(end)); + query.addCriteria(Criteria.where("no").in(deviceIds)); //鏈堜唤姣忔棩褰曞儚绾挎暟鎹� List<RecordMetaDSumResult> recordResult = mongoTemplate.find(query, RecordMetaDSumResult.class); //鍏ㄩ噺琛� @@ -686,7 +695,16 @@ } } List<String> deviceIds = tMonitorResults.stream().map(BaseResult::getNo).collect(Collectors.toList()); - Query query = getQuery(deviceIds, exportForm.getMonth()); + // 灏嗗勾鏈堝瓧绗︿覆瑙f瀽涓篩earMonth瀵硅薄 + YearMonth yearMonth = YearMonth.parse(exportForm.getMonth()); + // 鑾峰彇褰撴湀鐨勭涓�澶� + LocalDate start = yearMonth.atDay(1); + // 鑾峰彇涓嬩釜鏈堢殑绗竴澶╋紙閫氳繃鍔犱笂1涓湀骞惰缃棩涓�1锛� + YearMonth nextMonth = yearMonth.plusMonths(1); + LocalDate end = nextMonth.atDay(1); + //鑾峰彇杩欎釜鏈堜唤鐨勯儴闂ㄦ暟鎹紝褰曞儚鐢变簬鏄墠涓�澶╃殑鎵�浠ヤ笉鐢╟reateTime瀛楁 + Query query = new Query(Criteria.where("statTime").gte(start).lt(end)); + query.addCriteria(Criteria.where("no").in(deviceIds)); //鏈堜唤姣忔棩褰曞儚绾挎暟鎹� List<RecordMetaDSumResult> recordResult = mongoTemplate.find(query, RecordMetaDSumResult.class); //鍏ㄩ噺琛� @@ -894,7 +912,15 @@ monitor.setTag(tag.toString()); }); ExcelUtil<TMonitorExp> util = new ExcelUtil<>(TMonitorExp.class); - util.exportExcel(response, monitors, "2".equals(tMonitor.getCameraFunType()) ? "杞﹁締" : "浜鸿劯"); + String sheetName = ""; + if("1".equals(tMonitor.getCameraFunType())){ + sheetName = "瑙嗛"; + }else if("2".equals(tMonitor.getCameraFunType())){ + sheetName = "杞﹁締"; + }else if("3".equals(tMonitor.getCameraFunType())){ + sheetName = "浜鸿劯"; + } + util.exportExcel(response, monitors,sheetName); } @@ -1172,7 +1198,7 @@ //涓�涓澶囧綋鏈堝湪绾挎儏鍐� List<RecordMetaDSumResult> recordResults = records.stream().filter(online -> online.getNo().equals(result.getNo())).collect(Collectors.toList()); for (RecordMetaDSumResult recordResult : recordResults) { - int dayOfMonth = recordResult.getMongoCreateTime().getDayOfMonth(); + int dayOfMonth = DateUtils.getDayOfMonth(recordResult.getStatTime()); Integer status = recordResult.getRecordStatus(); String text = ""; if (ApiConstants.UY_RecordStatus_Interval.equals(status)) { @@ -1194,7 +1220,7 @@ //涓�涓澶囧綋鏈堝湪绾挎儏鍐� List<RecordMetaDSumResult> recordResults = records.stream().filter(online -> online.getNo().equals(result.getNo())).collect(Collectors.toList()); for (RecordMetaDSumResult recordResult : recordResults) { - int dayOfMonth = recordResult.getMongoCreateTime().getDayOfMonth(); + int dayOfMonth = DateUtils.getDayOfMonth(recordResult.getStatTime()); //鍙嶅皠璧嬪�硷紝瀛楁缁熶竴瀹氫箟涓篸ay+1锛�2锛�3... Field field = videoDailyExp.getClass().getDeclaredField("day" + dayOfMonth); field.setAccessible(true); diff --git a/ycl-server/src/main/java/com/ycl/task/UYTask.java b/ycl-server/src/main/java/com/ycl/task/UYTask.java index 68237f3..bd06ad5 100644 --- a/ycl-server/src/main/java/com/ycl/task/UYTask.java +++ b/ycl-server/src/main/java/com/ycl/task/UYTask.java @@ -175,6 +175,8 @@ /** * 鐐逛綅鍦ㄧ嚎PING妫�娴� + * 浠诲姟浼氬厛鎵ц涓�娆′紭浜戝悓姝ワ紝鐒跺悗鎵цping妫�娴� + * online瀛楁鏉ヨ嚜浜庝紭浜戯紝pingOnline涓轰富鍔╬ing妫�娴嬬殑銆傚瓨鍏ongo缁欐暟鎹腑蹇冩煡闃� */ public void pointOnline() throws ExecutionException, InterruptedException { log.info("寮�濮嬫娴嬬偣浣嶅湪绾�"); diff --git a/ycl-server/src/main/java/com/ycl/utils/DateUtils.java b/ycl-server/src/main/java/com/ycl/utils/DateUtils.java index d1e6846..2c78faf 100644 --- a/ycl-server/src/main/java/com/ycl/utils/DateUtils.java +++ b/ycl-server/src/main/java/com/ycl/utils/DateUtils.java @@ -298,4 +298,11 @@ Date date = calendar.getTime(); return date; } + public static Integer getDayOfMonth(Date date) { + // 鍒涘缓涓�涓狢alendar瀵硅薄骞惰缃负褰撳墠鏃ユ湡鍜屾椂闂� + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + // 鑾峰彇褰撳墠鏃ユ湡鏄綋鏈堜腑鐨勭鍑犲ぉ + return calendar.get(Calendar.DAY_OF_MONTH); + } } -- Gitblit v1.8.0