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 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) {
// 当前一页
// 每页天数
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";

@ -140,7 +140,9 @@ public class NSensorServiceImpl implements NSensorService {
public SensorDetail<Map<String, Object>> 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<NSensor> optional = repository.findById(model.getId());

Loading…
Cancel
Save