This commit is contained in:
2024-03-31 17:09:07 +08:00
parent a7348f273d
commit 53939845fd

View File

@@ -99,7 +99,7 @@ public class AcDeviceDataService extends BaseService<AcDeviceDataEntity, AcDevic
public Page report(AcDeviceDataReportRequest request) {
if (StringUtils.isNotEmpty(request.getTimeDimension())){
if (StringUtils.isEmpty(request.getTimeDimension())){
request.setTimeDimension("day");
}
@@ -159,37 +159,49 @@ public class AcDeviceDataService extends BaseService<AcDeviceDataEntity, AcDevic
+ "\n"
+ "order by time desc , cnt desc";
Query nativeQuery = em.createNativeQuery(sql, Tuple.class);
var countSql = "select count(1) from (" + sql + ") as t";
var selectSql = "select * from (" + sql + ") as t limit " + request.getPageSize() + " offset " + request.getPageNo() * request.getPageSize();
Query selectQuery = em.createNativeQuery(selectSql, Tuple.class);
Query countQuery = em.createNativeQuery(countSql, Integer.class);
if (request.getStartTime() != null) {
nativeQuery.setParameter("startTime", request.getStartTime());
selectQuery.setParameter("startTime", request.getStartTime());
countQuery.setParameter("startTime", request.getStartTime());
}
if (request.getEndTime() != null) {
nativeQuery.setParameter("endTime", request.getEndTime());
selectQuery.setParameter("endTime", request.getEndTime());
countQuery.setParameter("endTime", request.getEndTime());
}
if (StringUtils.isNotEmpty(request.getPlateNo())) {
nativeQuery.setParameter("plateNo", request.getPlateNo());
selectQuery.setParameter("plateNo", request.getPlateNo());
countQuery.setParameter("plateNo", request.getPlateNo());
}
if (StringUtils.isNotEmpty(request.getParkName())) {
nativeQuery.setParameter("parkName", request.getParkName());
selectQuery.setParameter("parkName", request.getParkName());
countQuery.setParameter("parkName", request.getParkName());
}
if (StringUtils.isNotEmpty(request.getGateName())) {
nativeQuery.setParameter("gateName", request.getGateName());
selectQuery.setParameter("gateName", request.getGateName());
countQuery.setParameter("gateName", request.getGateName());
}
if (StringUtils.isNotEmpty(request.getLaneName())) {
nativeQuery.setParameter("laneName", request.getLaneName());
selectQuery.setParameter("laneName", request.getLaneName());
countQuery.setParameter("laneName", request.getLaneName());
}
if (StringUtils.isNotEmpty(request.getDirectionName())) {
nativeQuery.setParameter("directionName", request.getDirectionName());
selectQuery.setParameter("directionName", request.getDirectionName());
countQuery.setParameter("directionName", request.getDirectionName());
}
var resultList = convertTuplesToMap(nativeQuery.getResultList());
var resultList = convertTuplesToMap(selectQuery.getResultList());
var ans =
resultList.stream()
@@ -210,6 +222,8 @@ public class AcDeviceDataService extends BaseService<AcDeviceDataEntity, AcDevic
e -> e.getValue())))
.toList();
return new PageImpl<>(ans, PageRequest.of(0, ans.size()), ans.size());
return new PageImpl<>(ans, PageRequest.of(0, request.getPageSize()), Integer.parseInt(countQuery.getSingleResult().toString()));
}
}