fix: 升序也能抽取条数

dev
huangfeng 1 year ago
parent 45d410b261
commit 580b232db2

@ -6,4 +6,7 @@ public class Constants {
public static final Integer YaoCe = 2; public static final Integer YaoCe = 2;
public static final Integer YaoXin = 1; public static final Integer YaoXin = 1;
public static final Integer TRUE = 1;
public static final Integer FALSE = 0;
} }

@ -95,36 +95,56 @@ public class DataServiceImpl implements DataService {
// 需要抽取数据 // 需要抽取数据
if (model.getPageNum() != null || model.getPageSize() != null) { if (model.getPageNum() != null || model.getPageSize() != null) {
// 当前一页 // 每页天数
int dayPerPage = model.getPageSize() / model.getNumPerDay(); int dayPerPage = model.getPageSize() / model.getNumPerDay();
if (dayPerPage < 1) { if (dayPerPage < 1) {
dayPerPage = 1; dayPerPage = 1;
} }
ConditionModel newmodel = new ConditionModel(); ConditionModel newmodel = new ConditionModel();
newmodel.setTimeAsc(model.getTimeAsc());
// 处理开始和结束时间 // 结束时间和总天数
Date end = model.getEndTime(); Date end = model.getEndTime();
if (end == null) { if (end == null) {
end = new Date(); end = new Date();
} }
end = DateUtil.addDay(end, 1); end = DateUtil.addDay(end, 1);
end = DateUtil.getDayZero(end); end = DateUtil.getDayZero(end);
model.setEndTime(end);
if (model.getStartTime() != null) { if (model.getStartTime() != null) {
totalDays = DateUtil.getDifferenceInDays(model.getStartTime(), end); totalDays = DateUtil.getDifferenceInDays(model.getStartTime(), end);
} }
if (model.getPageNum() > 1) { if (model.getTimeAsc() != null && model.getTimeAsc() > 0) {
int p = model.getPageNum() - 1; // 升序
end = DateUtil.addDay(end, -dayPerPage * p); Date start = model.getStartTime();
} if (model.getPageNum() > 1) {
newmodel.setEndTime(end); int p = model.getPageNum() - 1;
Date start = DateUtil.addDay(end, -dayPerPage); start = DateUtil.addDay(start, dayPerPage * p);
if (model.getStartTime() == null || start.compareTo(model.getStartTime()) > 0) { }
newmodel.setStartTime(start); 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 { } 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 = this.doSqlData(sensor, points, newmodel);
page.setTotal(totalDays * model.getNumPerDay()); page.setTotal(totalDays * model.getNumPerDay());
@ -161,7 +181,7 @@ public class DataServiceImpl implements DataService {
sqlWhere = sqlWhere + " AND " + timeField + " < '" + DateUtil.format(model.getEndTime()) + "'"; sqlWhere = sqlWhere + " AND " + timeField + " < '" + DateUtil.format(model.getEndTime()) + "'";
} }
String sqlOrder = " ORDER BY " + timeField; String sqlOrder = " ORDER BY " + timeField;
if (model.getTimeAsc() != null && model.getTimeAsc() == 1) { if (model.getTimeAsc() != null && model.getTimeAsc() > 0) {
sqlOrder = sqlOrder + " ASC"; sqlOrder = sqlOrder + " ASC";
} else { } else {
sqlOrder = sqlOrder + " DESC"; sqlOrder = sqlOrder + " DESC";

@ -140,7 +140,9 @@ public class NSensorServiceImpl implements NSensorService {
public SensorDetail<Map<String, Object>> getDetail(ConditionModel model) throws Exception { public SensorDetail<Map<String, Object>> getDetail(ConditionModel model) throws Exception {
NSensor sensor; NSensor sensor;
if (model.getTimeAsc() == null) { 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) { if (model.getId() != null) {
Optional<NSensor> optional = repository.findById(model.getId()); Optional<NSensor> optional = repository.findById(model.getId());

Loading…
Cancel
Save