feat(acDeviceData): 添加组织ID筛选条件

- 在 AcDeviceDataReportRequest 中添加 organizationId 字段
- 在报告查询中加入组织ID筛选条件
- 使用 Ctx.currentUser().getOrganizationId() 获取当前用户组织ID
This commit is contained in:
2025-02-20 21:55:24 +08:00
parent 16dcef45b7
commit ffc84c5229
2 changed files with 20 additions and 5 deletions

View File

@@ -49,4 +49,7 @@ direction_name,
private String directionName;
private String organizationId;
}

View File

@@ -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()));
}
}