mirror of
https://codeup.aliyun.com/64f7d6b8ce01efaafef1e678/coal/coal.git
synced 2026-01-25 07:46:40 +08:00
feat(acDeviceData): 添加组织ID筛选条件
- 在 AcDeviceDataReportRequest 中添加 organizationId 字段 - 在报告查询中加入组织ID筛选条件 - 使用 Ctx.currentUser().getOrganizationId() 获取当前用户组织ID
This commit is contained in:
@@ -49,4 +49,7 @@ direction_name,
|
||||
private String directionName;
|
||||
|
||||
|
||||
private String organizationId;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@ import cn.lihongjie.coal.acDeviceData.repository.AcDeviceDataRepository;
|
||||
import cn.lihongjie.coal.base.dto.CommonQuery;
|
||||
import cn.lihongjie.coal.base.dto.IdRequest;
|
||||
import cn.lihongjie.coal.base.service.BaseService;
|
||||
import cn.lihongjie.coal.common.Ctx;
|
||||
import cn.lihongjie.coal.common.JpaUtils;
|
||||
import cn.lihongjie.coal.dbFunctions.DbFunctionService;
|
||||
|
||||
@@ -87,10 +88,12 @@ public class AcDeviceDataService extends BaseService<AcDeviceDataEntity, AcDevic
|
||||
|
||||
public Page report(AcDeviceDataReportRequest request) {
|
||||
|
||||
if (StringUtils.isEmpty(request.getTimeDimension())){
|
||||
if (StringUtils.isEmpty(request.getTimeDimension())) {
|
||||
request.setTimeDimension("day");
|
||||
}
|
||||
|
||||
request.setOrganizationId(Ctx.currentUser().getOrganizationId());
|
||||
|
||||
String fields =
|
||||
CollectionUtils.isEmpty(request.getReportFields())
|
||||
? " 1 "
|
||||
@@ -128,6 +131,8 @@ public class AcDeviceDataService extends BaseService<AcDeviceDataEntity, AcDevic
|
||||
where += " and d.direction_name = :directionName ";
|
||||
}
|
||||
|
||||
where += " and d.organization_id = :organizationId ";
|
||||
|
||||
var sql =
|
||||
"select DATE_TRUNC('"
|
||||
+ request.getTimeDimension()
|
||||
@@ -149,7 +154,13 @@ public class AcDeviceDataService extends BaseService<AcDeviceDataEntity, AcDevic
|
||||
|
||||
var countSql = "select count(1) from (" + sql + ") as t";
|
||||
|
||||
var selectSql = "select * from (" + sql + ") as t limit " + request.getPageSize() + " offset " + request.getPageNo() * request.getPageSize();
|
||||
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);
|
||||
@@ -210,8 +221,9 @@ public class AcDeviceDataService extends BaseService<AcDeviceDataEntity, AcDevic
|
||||
e -> e.getValue())))
|
||||
.toList();
|
||||
|
||||
|
||||
|
||||
return new PageImpl<>(ans, PageRequest.of(0, request.getPageSize()), Integer.parseInt(countQuery.getSingleResult().toString()));
|
||||
return new PageImpl<>(
|
||||
ans,
|
||||
PageRequest.of(0, request.getPageSize()),
|
||||
Integer.parseInt(countQuery.getSingleResult().toString()));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user