1、修改API根据项目获取数据的bug

This commit is contained in:
weidong 2025-04-15 18:43:35 +08:00
parent 92c6bc25e9
commit f7ef1ce8b6

View File

@ -41,10 +41,11 @@ public class GnssDataApi {
.selectAll(GnssCalcData.class);
queryWrapper.eq("t.tenantid",tenantId);
if(StrUtil.isBlank(deviceId)){
queryWrapper.leftJoin("gnssdevices d on t.deviceid=d.deviceid");
queryWrapper.eq("d.project_id",projectName);
}
else {
queryWrapper.leftJoin("gnssdevices d on t.deviceid=d.deviceid");
//queryWrapper.leftJoin("gnssdevices d on t.deviceid=d.deviceid");
queryWrapper.eq("t.deviceid",deviceId);
}
@ -68,11 +69,11 @@ public class GnssDataApi {
}
if(pageSize!=null){
if(pageSize > 1000) pageSize=1000;
queryWrapper.last("limit "+pageSize);
if(pageSize > 1000) pageSize=3000;
queryWrapper.last("limit "+pageSize*3);
}
else{
queryWrapper.last("limit 100");
queryWrapper.last("limit 300");
}
List<GnssCalcData> dataList = dataMapper.selectList(queryWrapper);
@ -81,24 +82,25 @@ public class GnssDataApi {
gnssResponse.OK();
HashMap<String, GnssDevice> deviceHashMap = new HashMap<>();
HashMap<String, LocalDateTime> deviceRecordTimeMap = new HashMap<>();
if(isAsc) {
for (GnssCalcData data : dataList) {
LocalDateTime recordTime = data.getCreatetime();
if (lastRecordTime == null) lastRecordTime = recordTime;
for (GnssCalcData data : dataList) {
LocalDateTime recordTime = data.getCreatetime();
lastRecordTime = deviceRecordTimeMap.get(data.getDeviceid());
if(lastRecordTime == null){
lastRecordTime = recordTime;
}
if(isAsc) {
if (lastRecordTime.isBefore(recordTime) || lastRecordTime.isEqual(recordTime)) {
addToResponse(gnssResponse, data, deviceHashMap);
lastRecordTime = recordTime.plusMinutes(30);
deviceRecordTimeMap.put(data.getDeviceid(), recordTime.plusMinutes(30));
}
}
}
else{
for (GnssCalcData data : dataList) {
LocalDateTime recordTime = data.getCreatetime();
if (lastRecordTime == null) lastRecordTime = recordTime;
else{
if (lastRecordTime.isAfter(recordTime) || lastRecordTime.isEqual(recordTime)) {
addToResponse(gnssResponse, data, deviceHashMap);
lastRecordTime = recordTime.minusMinutes(30);
deviceRecordTimeMap.put(data.getDeviceid(), recordTime.minusMinutes(30));
}
}
}