diff --git a/pqs9000/src/main/java/com/pqs9000/mapper/report/GetInegDataMapper.java b/pqs9000/src/main/java/com/pqs9000/mapper/report/GetInegDataMapper.java index 187822d..e7e66da 100644 --- a/pqs9000/src/main/java/com/pqs9000/mapper/report/GetInegDataMapper.java +++ b/pqs9000/src/main/java/com/pqs9000/mapper/report/GetInegDataMapper.java @@ -15,4 +15,6 @@ public interface GetInegDataMapper { */ IntegrityDetailVo getDataByMonth(@Param("month") String month, @Param("lineId") String lineId, @Param("startTime") String startTime, @Param("endTime") String endTime); + IntegrityDetailVo getDataByDay(@Param("day") String day, @Param("lineId") String lineId, @Param("startTime") String startTime, @Param("endTime") String endTime); + } diff --git a/pqs9000/src/main/java/com/pqs9000/serviceimpl/report/GetInegDataServiceImpl.java b/pqs9000/src/main/java/com/pqs9000/serviceimpl/report/GetInegDataServiceImpl.java index 01452b8..11c8793 100644 --- a/pqs9000/src/main/java/com/pqs9000/serviceimpl/report/GetInegDataServiceImpl.java +++ b/pqs9000/src/main/java/com/pqs9000/serviceimpl/report/GetInegDataServiceImpl.java @@ -73,6 +73,7 @@ public class GetInegDataServiceImpl implements GetInegDataService { @Override public List getDetail(String lineId, String startTime, String endTime, String timeType) { List result = new ArrayList<>(); + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); if (Objects.equals(timeType, "年份") || Objects.equals(timeType, "季度")){ List dateList = new ArrayList<>(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM"); @@ -102,22 +103,21 @@ public class GetInegDataServiceImpl implements GetInegDataService { } } else if (Objects.equals(timeType, "月份") || Objects.equals(timeType, "周")){ List dateList = new ArrayList<>(); - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); try { Date d1 = new SimpleDateFormat("yyyy-MM-dd").parse(startTime); Date d2 = new SimpleDateFormat("yyyy-MM-dd").parse(endTime); Calendar dd = Calendar.getInstance(); dd.setTime(d1); while (dd.getTime().before(d2)) { - String str = sdf.format(dd.getTime()); + String str = simpleDateFormat.format(dd.getTime()); dateList.add(str); dd.add(Calendar.DATE, 1); } - dateList.add(sdf.format(d2)); + dateList.add(simpleDateFormat.format(d2)); dateList.forEach(item->{ try { - String time1 = new SimpleDateFormat(DatePattern.NORM_DATETIME_PATTERN).format(DateUtil.beginOfDay(sdf.parse(item))); - String time2 = new SimpleDateFormat(DatePattern.NORM_DATETIME_PATTERN).format(DateUtil.endOfDay(sdf.parse(item))); + String time1 = new SimpleDateFormat(DatePattern.NORM_DATETIME_PATTERN).format(DateUtil.beginOfDay(simpleDateFormat.parse(item))); + String time2 = new SimpleDateFormat(DatePattern.NORM_DATETIME_PATTERN).format(DateUtil.endOfDay(simpleDateFormat.parse(item))); IntegrityDetailVo vo = getInegDataMapper.getDataByMonth(item,lineId,time1,time2); result.add(vo); } catch (ParseException e) { @@ -127,6 +127,20 @@ public class GetInegDataServiceImpl implements GetInegDataService { } catch (ParseException e) { e.printStackTrace(); } + } else if (Objects.equals(timeType, "天") ) { + try { + String time1 = new SimpleDateFormat(DatePattern.NORM_DATETIME_PATTERN).format(DateUtil.beginOfDay(simpleDateFormat.parse(startTime))); + String time2 = new SimpleDateFormat(DatePattern.NORM_DATETIME_PATTERN).format(DateUtil.endOfDay(simpleDateFormat.parse(startTime))); + List timeList = getHourListRange(time1, time2); + for (int i = 0; i< Objects.requireNonNull(timeList).size(); i++) { + if (i != timeList.size() - 1) { + IntegrityDetailVo vo = getInegDataMapper.getDataByDay(timeList.get(i),lineId,timeList.get(i),timeList.get(i+1)); + result.add(vo); + } + } + } catch (ParseException e) { + e.printStackTrace(); + } } if (CollUtil.isNotEmpty(result)){ result.removeIf(Objects::isNull); @@ -134,4 +148,34 @@ public class GetInegDataServiceImpl implements GetInegDataService { return result; } + /** + * 据指定时间片段,返回时间片段内的所有小时 + * @param startStr + * @param endStr + * @return + */ + public static List getHourListRange(String startStr , String endStr){ + try{ + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + List list = new ArrayList<>(); + Calendar c = Calendar.getInstance(); + c.setTime(format.parse(startStr)); + Calendar ec = Calendar.getInstance(); + ec.setTime(format.parse(endStr)); + while (true){ + if(ec.before(c)){ + list.add(format.format(c.getTime())); + break; + } + list.add(format.format(c.getTime())); + c.add(Calendar.HOUR_OF_DAY,1); + } + return list ; + } + catch(Exception e){ + e.printStackTrace(); + } + return null ; + } + } diff --git a/pqs9000/src/main/resources/mybatis/mappers/report/GetInegDataMapper.xml b/pqs9000/src/main/resources/mybatis/mappers/report/GetInegDataMapper.xml index 9ab4678..879bb65 100644 --- a/pqs9000/src/main/resources/mybatis/mappers/report/GetInegDataMapper.xml +++ b/pqs9000/src/main/resources/mybatis/mappers/report/GetInegDataMapper.xml @@ -23,4 +23,22 @@ AND LINE_INDEX = #{lineId} GROUP BY LINE_INDEX + + \ No newline at end of file diff --git a/pqs9000/src/main/webapp/jspJS/manage/integrityTable.js b/pqs9000/src/main/webapp/jspJS/manage/integrityTable.js index 36a87a8..14d8972 100644 --- a/pqs9000/src/main/webapp/jspJS/manage/integrityTable.js +++ b/pqs9000/src/main/webapp/jspJS/manage/integrityTable.js @@ -361,8 +361,8 @@ function showDetail(lineId) { var startTime = $startTime.eq(0).val(); var endTime = $endTime.eq(0).val(); var timeType = $timeType.eq(0).val(); - if (timeType === '天' || timeType === '自定义'){ - layer.msg("暂不支持天和自定义的维度查看", {icon: 2, time: 2000}) + if (timeType === '自定义'){ + layer.msg("暂不支持自定义的维度查看", {icon: 2, time: 2000}) } else { layer.open({ type: 2,