From 708f980f0f351bfe47d7936151bf52ed4d4a7bc4 Mon Sep 17 00:00:00 2001
From: wangzhibo <wangzhibo@shsening.com>
Date: 星期六, 18 七月 2026 18:00:56 +0800
Subject: [PATCH] 业务表支持部门数据权限
---
src/modules/push/controller/admin/vehiclegps.ts | 22 ++++++++++++++++++----
1 files changed, 18 insertions(+), 4 deletions(-)
diff --git a/src/modules/push/controller/admin/vehiclegps.ts b/src/modules/push/controller/admin/vehiclegps.ts
index f7d430f..3545e19 100644
--- a/src/modules/push/controller/admin/vehiclegps.ts
+++ b/src/modules/push/controller/admin/vehiclegps.ts
@@ -2,6 +2,8 @@
import { CoolController, BaseController } from '@cool-midway/core';
import { PushVehicleGpsEntity } from '../../entity/vehiclegps';
import { PushVehicleGpsService } from '../../service/vehiclegps';
+import { BaseSysDepartmentEntity } from '../../../base/entity/sys/department'
+import { WithDeptFilterWhere } from '../../../base/middleware/with-dept-filter-where'
/**
* 杞﹁浇鐩戞帶GPS浣嶇疆鏁版嵁
@@ -13,16 +15,28 @@
pageQueryOp: {
keyWordLikeFields: ['a.sn', 'a.vehicleNo'],
fieldEq: ['a.status'],
+ select: ['a.*', 'b.name AS departmentName'],
+ join: [
+ {
+ entity: BaseSysDepartmentEntity,
+ alias: 'b',
+ condition: 'a.departmentId = b.id',
+ type: 'leftJoin',
+ },
+ ],
where: async (ctx) => {
const { createDate, gpsTime } = ctx.request.body;
- const condition = [];
+ const conditions: any[][] = [];
if (createDate && createDate.length === 2) {
- condition.push(['a.createDate BETWEEN :createStartDate AND :createEndDate', { createStartDate: createDate[0], createEndDate: createDate[1] }]);
+ conditions.push(['a.createDate BETWEEN :createStartDate AND :createEndDate', { createStartDate: createDate[0], createEndDate: createDate[1] }]);
}
if (gpsTime && gpsTime.length === 2) {
- condition.push(['a.gpsTime BETWEEN :gpsStartDate AND :gpsEndDate', { gpsStartDate: gpsTime[0], gpsEndDate: gpsTime[1] }]);
+ conditions.push(['a.gpsTime BETWEEN :gpsStartDate AND :gpsEndDate', { gpsStartDate: gpsTime[0], gpsEndDate: gpsTime[1] }]);
}
- return condition;
+
+ conditions.push(...(await WithDeptFilterWhere(ctx, { alias: 'a', field: 'departmentId' })));
+
+ return conditions;
}
}
})
--
Gitblit v1.9.1