private JSONObject statistic(List query, String ksrq, String jsrq) { JSONObject object = new JSONObject(); // 日期数组 List dateList = new ArrayList<>(); // 出入口数据数组 List<Map<String, Object>> seriesList = new ArrayList<>(); // 出入口名称数组 List entranceList = new ArrayList<>(); // 将输入的日期字符串转换为LocalDate对象 LocalDate startDate = LocalDate.parse(ksrq); LocalDate endDate = LocalDate.parse(jsrq); // 遍历日期范围内的每一天 while (!startDate.isAfter(endDate)) { String currentDate = startDate.toString(); dateList.add(currentDate); // 遍历出入口数据 for (EntranceTrafficVO entranceTrafficVO : query) { // 如果出入口数据日期为空,则跳过 if (Objects.isNull(entranceTrafficVO.getYear()) || Objects.isNull(entranceTrafficVO.getMonth()) || Objects.isNull(entranceTrafficVO.getDay())) { continue; } // 如果出入口数据日期与当前日期相同,则将数据添加到对应的出入口数据数组 if (startDate.getYear() == entranceTrafficVO.getYear() && startDate.getMonthValue() == entranceTrafficVO.getMonth() && startDate.getDayOfMonth() == entranceTrafficVO.getDay()) { // 获取当前出入口名称 String entranceName = entranceTrafficVO.getEntranceName(); // 如果当前出入口名称不存在于出入口名称数组中,则添加到数组中 if (!entranceList.contains(entranceName)) { entranceList.add(entranceName); } // 遍历出入口数据数组,找到对应的出入口数据,并将当前日期的入口流量和出口流量添加到对应数组中 for (Map<String, Object> series : seriesList) { if (series.get("name").equals(entranceName)) { List rkList = (List) series.get("dataRk"); List ckList = (List) series.get("dataCk"); rkList.add(entranceTrafficVO.getRksl()); ckList.add(entranceTrafficVO.getCksl()); break; } } // 如果当前出入口数据数组不存在,则创建一个新的出入口数据数组,并将当前日期的入口流量和出口流量添加到对应数组中 Map<String, Object> seriesMap = new HashMap<>(); List rkList = new ArrayList<>(); List ckList = new ArrayList<>(); rkList.add(entranceTrafficVO.getRksl()); ckList.add(entranceTrafficVO.getCksl()); seriesMap.put("name", entranceName); seriesMap.put("dataRk", rkList); seriesMap.put("dataCk", ckList); seriesList.add(seriesMap); } } // 处理下一天 startDate = startDate.plusDays(1); } // 根据出入口名称数组,创建对应的出入口数据数组 List<Map<String, Object>> yList = new ArrayList<>(); for (String entranceName : entranceList) { Map<String, Object> seriesMap = new HashMap<>(); List rkList = new ArrayList<>(); List ckList = new ArrayList<>(); seriesMap.put("name", entranceName); for (Map<String, Object> series : seriesList) { if (series.get("name").equals(entranceName)) { rkList.addAll((List) series.get("dataRk")); ckList.addAll((List) series.get("dataCk")); break; } } seriesMap.put("dataRk", rkList); seriesMap.put("dataCk", ckList); yList.add(seriesMap); } object.put("xAxis", dateList); object.put("series", yList); return object;

java private JSONObject statisticListEntranceTrafficVO query String ksrq String jsrq JSONObject object = new JSONObject; 日期数组 ListString dateList = new ArrayList; ListM

原文地址: http://www.cveoy.top/t/topic/hw05 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录