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 3de3ea8..c9a531d 100644 --- a/src/main/java/com/xydl/cac/service/impl/DataServiceImpl.java +++ b/src/main/java/com/xydl/cac/service/impl/DataServiceImpl.java @@ -100,6 +100,7 @@ public class DataServiceImpl implements DataService { if (dayPerPage < 1) { dayPerPage = 1; } + ConditionModel newmodel = new ConditionModel(); // 处理开始和结束时间 Date end = model.getEndTime(); @@ -108,22 +109,23 @@ public class DataServiceImpl implements DataService { } end = DateUtil.addDay(end, 1); end = DateUtil.getDayZero(end); - model.setEndTime(end); if (model.getStartTime() != null) { - totalDays = DateUtil.getDifferenceInDays(model.getStartTime(), model.getEndTime()); + totalDays = DateUtil.getDifferenceInDays(model.getStartTime(), end); } if (model.getPageNum() > 1) { int p = model.getPageNum() - 1; end = DateUtil.addDay(end, -dayPerPage * p); } - model.setEndTime(end); + newmodel.setEndTime(end); Date start = DateUtil.addDay(end, -dayPerPage); if (model.getStartTime() == null || start.compareTo(model.getStartTime()) > 0) { - model.setStartTime(start); + newmodel.setStartTime(start); + } else { + newmodel.setStartTime(model.getStartTime()); } - page = this.doSqlData(sensor, points, model); + page = this.doSqlData(sensor, points, newmodel); page.setTotal(totalDays * model.getNumPerDay()); } else { @@ -156,7 +158,7 @@ public class DataServiceImpl implements DataService { sqlWhere = sqlWhere + " AND " + timeField + " >= '" + DateUtil.format(model.getStartTime()) + "'"; } if (model.getEndTime() != null) { - sqlWhere = sqlWhere + " AND " + timeField + " <= '" + DateUtil.format(model.getEndTime()) + "'"; + sqlWhere = sqlWhere + " AND " + timeField + " < '" + DateUtil.format(model.getEndTime()) + "'"; } String sqlOrder = " ORDER BY " + timeField + " DESC"; String sqlLimit = "";