diff --git a/src/main/java/com/xydl/cac/entity/constants/Constants.java b/src/main/java/com/xydl/cac/entity/constants/Constants.java index 32dad97..d211e5a 100644 --- a/src/main/java/com/xydl/cac/entity/constants/Constants.java +++ b/src/main/java/com/xydl/cac/entity/constants/Constants.java @@ -6,4 +6,7 @@ public class Constants { public static final Integer YaoCe = 2; public static final Integer YaoXin = 1; + + public static final Integer TRUE = 1; + public static final Integer FALSE = 0; } diff --git a/src/main/java/com/xydl/cac/service/impl/DataServiceImpl.java b/src/main/java/com/xydl/cac/service/impl/DataServiceImpl.java index d367cc5..257d741 100644 --- a/src/main/java/com/xydl/cac/service/impl/DataServiceImpl.java +++ b/src/main/java/com/xydl/cac/service/impl/DataServiceImpl.java @@ -95,36 +95,56 @@ public class DataServiceImpl implements DataService { // 需要抽取数据 if (model.getPageNum() != null || model.getPageSize() != null) { - // 当前一页 + // 每页天数 int dayPerPage = model.getPageSize() / model.getNumPerDay(); if (dayPerPage < 1) { dayPerPage = 1; } ConditionModel newmodel = new ConditionModel(); + newmodel.setTimeAsc(model.getTimeAsc()); - // 处理开始和结束时间 + // 结束时间和总天数 Date end = model.getEndTime(); if (end == null) { end = new Date(); } end = DateUtil.addDay(end, 1); end = DateUtil.getDayZero(end); + model.setEndTime(end); if (model.getStartTime() != null) { totalDays = DateUtil.getDifferenceInDays(model.getStartTime(), end); } - if (model.getPageNum() > 1) { - int p = model.getPageNum() - 1; - end = DateUtil.addDay(end, -dayPerPage * p); - } - newmodel.setEndTime(end); - Date start = DateUtil.addDay(end, -dayPerPage); - if (model.getStartTime() == null || start.compareTo(model.getStartTime()) > 0) { + if (model.getTimeAsc() != null && model.getTimeAsc() > 0) { + // 升序 + Date start = model.getStartTime(); + if (model.getPageNum() > 1) { + int p = model.getPageNum() - 1; + start = DateUtil.addDay(start, dayPerPage * p); + } newmodel.setStartTime(start); + end = DateUtil.addDay(start, dayPerPage); + if (model.getEndTime() == null || end.compareTo(model.getEndTime()) < 0) { + newmodel.setEndTime(end); + } else { + newmodel.setEndTime(model.getEndTime()); + } } else { - newmodel.setStartTime(model.getStartTime()); + // 降序 + if (model.getPageNum() > 1) { + int p = model.getPageNum() - 1; + end = DateUtil.addDay(end, -dayPerPage * p); + } + newmodel.setEndTime(end); + Date start = DateUtil.addDay(end, -dayPerPage); + if (model.getStartTime() == null || start.compareTo(model.getStartTime()) > 0) { + newmodel.setStartTime(start); + } else { + newmodel.setStartTime(model.getStartTime()); + } } + // 查询 page = this.doSqlData(sensor, points, newmodel); page.setTotal(totalDays * model.getNumPerDay()); @@ -161,7 +181,7 @@ public class DataServiceImpl implements DataService { sqlWhere = sqlWhere + " AND " + timeField + " < '" + DateUtil.format(model.getEndTime()) + "'"; } String sqlOrder = " ORDER BY " + timeField; - if (model.getTimeAsc() != null && model.getTimeAsc() == 1) { + if (model.getTimeAsc() != null && model.getTimeAsc() > 0) { sqlOrder = sqlOrder + " ASC"; } else { sqlOrder = sqlOrder + " DESC"; diff --git a/src/main/java/com/xydl/cac/service/impl/NSensorServiceImpl.java b/src/main/java/com/xydl/cac/service/impl/NSensorServiceImpl.java index 883ce5a..60004db 100644 --- a/src/main/java/com/xydl/cac/service/impl/NSensorServiceImpl.java +++ b/src/main/java/com/xydl/cac/service/impl/NSensorServiceImpl.java @@ -140,7 +140,9 @@ public class NSensorServiceImpl implements NSensorService { public SensorDetail> getDetail(ConditionModel model) throws Exception { NSensor sensor; if (model.getTimeAsc() == null) { - model.setTimeAsc(0); + model.setTimeAsc(Constants.FALSE); + } else if (model.getTimeAsc() > 0 && model.getStartTime() == null) { + throw new BusinessException("升序情况下开始时间不能为空"); } if (model.getId() != null) { Optional optional = repository.findById(model.getId());