From 9592f9df31b74becefda3571d544a749f9a0a68c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=85=B4=E7=90=B3?= <1911390090@qq.com> Date: Wed, 21 Aug 2024 16:42:47 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=8B=E6=95=85=E8=BD=A6=E5=9E=8B=E5=88=86?= =?UTF-8?q?=E6=9E=90=20=E4=BA=8B=E6=95=85=E6=97=B6=E9=97=B4=E5=88=86?= =?UTF-8?q?=E6=9E=90=20=E9=A6=96=E9=A1=B5=E7=BB=88=E6=AD=A2=E4=BA=8B?= =?UTF-8?q?=E4=BB=B6=E8=BF=87=E6=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/DcSdhsEventController.java | 2 +- .../business/service/IDcSdhsEventService.java | 2 +- .../service/impl/DcSdhsEventServiceImpl.java | 200 ++++++++++++++---- .../business/DcTrafficIncidentsMapper.xml | 2 +- .../wordTemplate/accidentTimeDayAnalysis.docx | Bin 0 -> 24328 bytes .../accidentTimeMonthAnalysis.docx | Bin 0 -> 23760 bytes 6 files changed, 161 insertions(+), 45 deletions(-) create mode 100644 zc-business/src/main/resources/wordTemplate/accidentTimeDayAnalysis.docx create mode 100644 zc-business/src/main/resources/wordTemplate/accidentTimeMonthAnalysis.docx diff --git a/zc-business/src/main/java/com/zc/business/controller/DcSdhsEventController.java b/zc-business/src/main/java/com/zc/business/controller/DcSdhsEventController.java index 79b33350..dcf8f7d2 100644 --- a/zc-business/src/main/java/com/zc/business/controller/DcSdhsEventController.java +++ b/zc-business/src/main/java/com/zc/business/controller/DcSdhsEventController.java @@ -83,7 +83,7 @@ public class DcSdhsEventController { @PostMapping("/export") @ApiOperation("导出") - public void trafficSituationReport(HttpServletResponse response,DcSdhsEventQuery dcSdhsEventQuery) throws Exception { + public void trafficSituationReport(HttpServletResponse response,@RequestBody DcSdhsEventQuery dcSdhsEventQuery) throws Exception { try { SimpleDateFormat df = new SimpleDateFormat(UniversalEnum.TIME_FORMAT_YEARS_MONTH_DAY.getValue()); String date = df.format(new Date()); diff --git a/zc-business/src/main/java/com/zc/business/service/IDcSdhsEventService.java b/zc-business/src/main/java/com/zc/business/service/IDcSdhsEventService.java index 77affdcf..81effbe2 100644 --- a/zc-business/src/main/java/com/zc/business/service/IDcSdhsEventService.java +++ b/zc-business/src/main/java/com/zc/business/service/IDcSdhsEventService.java @@ -50,7 +50,7 @@ public interface IDcSdhsEventService * @param dcSdhsEventQuery * @return */ - Map accidentTimeAnalysis(DcSdhsEventQuery dcSdhsEventQuery); + Map accidentTimeAnalysis(DcSdhsEventQuery dcSdhsEventQuery); /** * 事故时间 diff --git a/zc-business/src/main/java/com/zc/business/service/impl/DcSdhsEventServiceImpl.java b/zc-business/src/main/java/com/zc/business/service/impl/DcSdhsEventServiceImpl.java index c61da94b..18de7aa4 100644 --- a/zc-business/src/main/java/com/zc/business/service/impl/DcSdhsEventServiceImpl.java +++ b/zc-business/src/main/java/com/zc/business/service/impl/DcSdhsEventServiceImpl.java @@ -25,12 +25,17 @@ import org.openxmlformats.schemas.wordprocessingml.x2006.main.STTblWidth; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import javax.naming.NamingEnumeration; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.math.BigInteger; import java.text.SimpleDateFormat; +import java.time.LocalDate; import java.time.LocalDateTime; +import java.time.LocalTime; +import java.time.format.DateTimeFormatter; +import java.time.temporal.TemporalAdjusters; import java.util.*; import java.time.ZoneId; import java.util.regex.Matcher; @@ -417,16 +422,103 @@ public class DcSdhsEventServiceImpl implements IDcSdhsEventService { * @return */ @Override - public Map accidentTimeAnalysis(DcSdhsEventQuery dcSdhsEventQuery) { + public Map accidentTimeAnalysis(DcSdhsEventQuery dcSdhsEventQuery) { List cacheList = redisCache.getCacheList(RedisKeyConstants.SDHS_EVENT); -// 将查询开始时间和结束时间转换为 LocalDateTime ZoneId zoneId = ZoneId.systemDefault(); // 获取系统默认时区 - LocalDateTime queryStart = dcSdhsEventQuery.getStartTime().toInstant().atZone(zoneId).toLocalDateTime(); - LocalDateTime queryEnd = dcSdhsEventQuery.getEndTime().toInstant().atZone(zoneId).toLocalDateTime(); + if (dcSdhsEventQuery.getType().equals("2")) { +// 将查询开始时间和结束时间转换为 LocalDateTime + LocalDateTime queryStart = dcSdhsEventQuery.getStartTime().toInstant().atZone(zoneId).toLocalDateTime(); + // LocalDateTime endTime = dcSdhsEventQuery.getEndTime().toInstant().atZone(zoneId).toLocalDateTime(); + // 计算当天的结束时间 + LocalDateTime queryEnd = queryStart.withHour(23).withMinute(59).withSecond(59); + List filteredEvents = getDcSdhsEvents(dcSdhsEventQuery, cacheList, zoneId, queryStart, queryEnd); +// 按小时分组并统计每个小时内的事件数量 + Map hourlyCounts = filteredEvents.stream() + .collect( + Collectors.groupingBy( + event -> String.format("%02d", event.getStartTime().toInstant().atZone(zoneId).toLocalDateTime().getHour()), + Collectors.counting() + ) + ); + +// 确保所有小时都出现在结果中 + for (int hour = 0; hour <= 23; hour++) { + String hourString = String.format("%02d", hour); + hourlyCounts.merge(hourString, 0L, Long::sum); + } + return hourlyCounts; + } else if (dcSdhsEventQuery.getType().equals("1")) { +// 将查询开始时间和结束时间转换为 LocalDateTime + LocalDateTime queryStart = dcSdhsEventQuery.getStartTime().toInstant().atZone(zoneId).toLocalDateTime(); + // 获取该月的最后一天 + LocalDate lastDayOfMonth = queryStart.toLocalDate().with(TemporalAdjusters.lastDayOfMonth()); + // 构建该月的最后一刻(23:59:59) + LocalDateTime endOfMonth = LocalDateTime.of(lastDayOfMonth, LocalTime.MAX); + List filteredEvents = getDcSdhsEvents(dcSdhsEventQuery, cacheList, zoneId, queryStart, endOfMonth); +// 定义日期格式 + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd"); +// 按天分组并统计每一天内的事件数量 + Map dailyCounts = filteredEvents.stream() + .collect( + Collectors.groupingBy( + event -> event.getStartTime().toInstant().atZone(zoneId).toLocalDate().format(formatter), + Collectors.counting() + ) + ); +// 确保所有日期都出现在结果中 + LocalDate queryStartLocalDate = queryStart.toLocalDate(); + LocalDate queryEndLocalDate = endOfMonth.toLocalDate(); + +// 确保所有日期都出现在结果中 + for (LocalDate date = queryStartLocalDate; date.isBefore(queryEndLocalDate.plusDays(1)); date = date.plusDays(1)) { + String dateString = date.format(formatter); + dailyCounts.merge(dateString, 0L, Long::sum); + } + return dailyCounts; + }else { + // 将查询开始时间和结束时间转换为 LocalDateTime + LocalDateTime queryStart = dcSdhsEventQuery.getStartTime().toInstant().atZone(zoneId).toLocalDateTime(); + // 获取该年的最后一天 + LocalDate lastDayOfYear = queryStart.toLocalDate().with(TemporalAdjusters.lastDayOfYear()); + // 构建该年的最后一刻(23:59:59) + LocalDateTime endOfYear = LocalDateTime.of(lastDayOfYear, LocalTime.MAX); + List filteredEvents = getDcSdhsEvents(dcSdhsEventQuery, cacheList, zoneId, queryStart, endOfYear); + // 定义日期格式 + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM"); +// 按月分组并统计每个月内的事件数量 + Map monthlyCounts = filteredEvents.stream() + .collect( + Collectors.groupingBy( + event -> event.getStartTime().toInstant().atZone(zoneId).toLocalDate().format(formatter), + Collectors.counting() + ) + ); + +// 确保所有月份都出现在结果中 + LocalDate queryEnd = endOfYear.toLocalDate().plusMonths(1); // 确保包含结束月份 + LocalDate currentMonth = queryStart.toLocalDate(); + while (currentMonth.isBefore(queryEnd)) { + String monthString = currentMonth.format(formatter); + monthlyCounts.merge(monthString, 0L, Long::sum); + currentMonth = currentMonth.plusMonths(1); + } + return monthlyCounts; + } -// 在指定时间范围内的事件 - String direction = dcSdhsEventQuery.getDirection(); // 获取方向查询参数 + } + + /** + * // 在指定时间范围内的事件 + * @param dcSdhsEventQuery + * @param cacheList + * @param zoneId + * @param queryStart + * @param queryEnd + * @return + */ + private static List getDcSdhsEvents(DcSdhsEventQuery dcSdhsEventQuery, List cacheList, ZoneId zoneId, LocalDateTime queryStart, LocalDateTime queryEnd) { + String direction = dcSdhsEventQuery.getDirection(); // 获取方向查询参数 List filteredEvents = cacheList.stream() .filter(event -> { LocalDateTime eventTime = event.getStartTime().toInstant().atZone(zoneId).toLocalDateTime(); @@ -442,22 +534,7 @@ public class DcSdhsEventServiceImpl implements IDcSdhsEventService { } }) .collect(Collectors.toList()); - -// 按小时分组并统计每个小时内的事件数量 - Map hourlyCounts = filteredEvents.stream() - .collect( - Collectors.groupingBy( - event -> event.getStartTime().toInstant().atZone(zoneId).toLocalDateTime().getHour(), - Collectors.counting() - ) - ); - -// 小时都出现在结果中,如果不存在设为 0 - for (int hour = 0; hour <= 23; hour++) { - hourlyCounts.merge(hour, 0L, Long::sum); - } - - return hourlyCounts; + return filteredEvents; } /** @@ -468,24 +545,39 @@ public class DcSdhsEventServiceImpl implements IDcSdhsEventService { @Override public void exportAccidentTimeAnalysis(XWPFDocument doc,DcSdhsEventQuery dcSdhsEventQuery) { - Map currentYearData = accidentTimeAnalysis(dcSdhsEventQuery); + Map currentYearData = accidentTimeAnalysis(dcSdhsEventQuery); // 获取一年前的日期 Date startTime = dcSdhsEventQuery.getStartTime(); - Date endTime = dcSdhsEventQuery.getEndTime(); // 使用 Calendar 计算一年前的时间 Calendar calendar = Calendar.getInstance(); calendar.setTime(startTime); // 设置当前时间为 startTime calendar.add(Calendar.YEAR, -1); // 减去一年 Date oneYearAgoStart = calendar.getTime(); // 一年前的开始时间 - calendar.setTime(endTime); // 设置当前时间为 endTime - calendar.add(Calendar.YEAR, -1); // 减去一年 - Date oneYearAgoEnd = calendar.getTime(); // 一年前的结束时间 dcSdhsEventQuery.setStartTime(oneYearAgoStart); - dcSdhsEventQuery.setEndTime(oneYearAgoEnd); - Map lastYearData = accidentTimeAnalysis(dcSdhsEventQuery); + Map lastYearData = accidentTimeAnalysis(dcSdhsEventQuery); + String type = dcSdhsEventQuery.getType(); + int rows=0; + String stingType= ""; + String name= ""; + if (type.equals("2")){ + rows=25; + stingType="点"; + name= "wordTemplate/accidentTimeAnalysis.docx"; + }else if (type.equals("1")){ + rows=32; + stingType="日"; + name= "wordTemplate/accidentTimeDayAnalysis.docx"; + + }else { + rows=13; + stingType="月"; + name= "wordTemplate/accidentTimeMonthAnalysis.docx"; + + } + // 创建表格 - XWPFTable table = doc.createTable(25,3); + XWPFTable table = doc.createTable(rows,3); CTTblWidth infoTableWidth = table.getCTTbl().addNewTblPr().addNewTblW(); infoTableWidth.setType(STTblWidth.DXA); infoTableWidth.setW(BigInteger.valueOf(UniversalEnum.NINE_THOUSAND_AND_SEVENTY_TWO.getNumber())); @@ -494,19 +586,36 @@ public class DcSdhsEventServiceImpl implements IDcSdhsEventService { setTableFonts(table.getRow(0).getCell(0), "时段"); setTableFonts(table.getRow(0).getCell(1), "今年同期"); setTableFonts(table.getRow(0).getCell(2), "去年同期"); - +// 定义一个从数字到日期字符串的映射 + Map indexToDateMap = new HashMap<>(); + for (int i = 0; i <= 32; i++) { + String dateString = String.format("%02d", i); + indexToDateMap.put(i, dateString); + } + String dayString=""; // 填充表格数据 - for (int i = 0; i < 24; i++) { - setTableFonts(table.getRow(i + 1).getCell(0), (i ) + "点"); - Long currentYearValue = currentYearData.getOrDefault(i, 0L); + for (int i = 0; i < rows-1; i++) { + + if (type.equals("2")){ + dayString = indexToDateMap.get(i); // 获取 i 对应的日期字符串 + }else { + dayString = indexToDateMap.get(i+1); // 获取 i 对应的日期字符串 + + } + + setTableFonts(table.getRow(i + 1).getCell(0), (dayString ) + stingType); + Long currentYearValue = currentYearData.getOrDefault(dayString, 0L); setTableFonts(table.getRow(i + 1).getCell(1), String.valueOf(currentYearValue)); - Long lastYearValue = lastYearData.getOrDefault(i, 0L); + Long lastYearValue = lastYearData.getOrDefault(dayString, 0L); setTableFonts(table.getRow(i + 1).getCell(2), String.valueOf(lastYearValue)); } // 图表部分 try { - InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("wordTemplate/accidentTimeAnalysis.docx"); + + InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream(name); + + XWPFDocument copiedTemplate = new XWPFDocument(inputStream); List charts = copiedTemplate.getCharts(); @@ -514,8 +623,14 @@ public class DcSdhsEventServiceImpl implements IDcSdhsEventService { XSSFWorkbook workbook = chart.getWorkbook(); XSSFSheet sheet = workbook.getSheetAt(UniversalEnum.ZERO.getNumber()); // 更新图表数据 - for (int i = UniversalEnum.ZERO.getNumber(); i < 24; i++){ - sheet.getRow(i + 1).getCell(0).setCellValue((i) + "点"); + for (int i = UniversalEnum.ZERO.getNumber(); i < rows-1; i++){ + if (type.equals("2")){ + dayString = indexToDateMap.get(i); // 获取 i 对应的日期字符串 + }else { + dayString = indexToDateMap.get(i+1); // 获取 i 对应的日期字符串 + + } + sheet.getRow(i + 1).getCell(0).setCellValue((dayString) + stingType); int rowIndex = i + UniversalEnum.ONE.getNumber(); // 计算行索引 Row row = sheet.getRow(rowIndex); if (row == null) { @@ -529,9 +644,8 @@ public class DcSdhsEventServiceImpl implements IDcSdhsEventService { // 通常情况下,getCell 会创建新的单元格,但这里我们显式地检查以防万一 cell = row.createCell(UniversalEnum.ONE.getNumber(), CellType.NUMERIC); } - // 设置单元格的值 - sheet.getRow(i + 1).getCell(1).setCellValue(currentYearData.get(i)); + sheet.getRow(i + 1).getCell(1).setCellValue(currentYearData.get(dayString)); int rowIndexTwo = i +1+ UniversalEnum.ONE.getNumber(); // 计算行索引 Row rowTwo = sheet.getRow(rowIndexTwo); if (rowTwo == null) { @@ -545,7 +659,7 @@ public class DcSdhsEventServiceImpl implements IDcSdhsEventService { // 通常情况下,getCell 会创建新的单元格,但这里我们显式地检查以防万一 cell = row.createCell(UniversalEnum.TWO.getNumber(), CellType.NUMERIC); } - sheet.getRow(i + 1).getCell(2).setCellValue(lastYearData.get(i)); + sheet.getRow(i + 1).getCell(2).setCellValue(lastYearData.get(dayString)); //sheet.getRow(i+UniversalEnum.ONE.getNumber()).getCell(UniversalEnum.ONE.getNumber()).setCellValue(Long.parseLong(entries.get(i).getValue().toString())); } /* for (int i = 0; i < 24; i++) { @@ -554,7 +668,9 @@ public class DcSdhsEventServiceImpl implements IDcSdhsEventService { sheet.getRow(i + 1).getCell(1).setCellValue(currentYearData.get(i)); sheet.getRow(i + 1).getCell(2).setCellValue(lastYearData.get(i)); }*/ - + for (int i=sheet.getLastRowNum();i> currentYearData.size();i--){ + sheet.removeRow(sheet.getRow(i)); + } // 更新图表 PoiUtil.wordExportChar(chart, "事故时间分析", new String[]{"今年同期", "去年同期"}, sheet); diff --git a/zc-business/src/main/resources/mapper/business/DcTrafficIncidentsMapper.xml b/zc-business/src/main/resources/mapper/business/DcTrafficIncidentsMapper.xml index c68de440..859634d2 100644 --- a/zc-business/src/main/resources/mapper/business/DcTrafficIncidentsMapper.xml +++ b/zc-business/src/main/resources/mapper/business/DcTrafficIncidentsMapper.xml @@ -25,7 +25,7 @@ select t1.id,t1.stake_mark stakeMark,t1.direction,t1.lang, t2.longitude,t2.latitude from dc_event t1 left join dc_stake_mark t2 on t1.stake_mark = t2.stake_mark and t1.direction = t2.direction - t1.event_type = #{eventType} and t1.event_state != '2' + t1.event_type = #{eventType} and t1.event_state != '2' and t1.event_state != '3' and t2.mileage >= #{startStakeMark} diff --git a/zc-business/src/main/resources/wordTemplate/accidentTimeDayAnalysis.docx b/zc-business/src/main/resources/wordTemplate/accidentTimeDayAnalysis.docx new file mode 100644 index 0000000000000000000000000000000000000000..467cb66eebb93df1cfc786d3d79d03c231be2fdc GIT binary patch literal 24328 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 K-UC7B0`xyA5NcTf literal 0 HcmV?d00001 diff --git a/zc-business/src/main/resources/wordTemplate/accidentTimeMonthAnalysis.docx b/zc-business/src/main/resources/wordTemplate/accidentTimeMonthAnalysis.docx new file mode 100644 index 0000000000000000000000000000000000000000..0831985e30230e908dd27e3fa7af5c6bd07e4acf GIT binary patch literal 23760 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