Просмотр исходного кода

pms 任务 数据权限 查询条件

zhangcl 4 дней назад
Родитель
Сommit
5d543ce4b5

+ 25 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/iotprojectinfo/IotProjectInfoServiceImpl.java

@@ -264,6 +264,31 @@ public class IotProjectInfoServiceImpl implements IotProjectInfoService {
         // 找到当前登录人所属部门及子部门
         Set<Long> allChildDeptIds = deptService.getChildDeptIdListFromCache(deptId);
         allChildDeptIds.add(deptId);
+
+        // 查询当前登录人所属的公司级别的部门
+        DataPermissionUtils.executeIgnore(() -> {
+            // 查询各专业公司下的所有 部门id集合
+            // 如果集合包含 当前登录人的 deptId 则确定当前登录人所属的专业公司
+            Set<Long> rhChildDeptIds = deptService.getChildDeptIdListFromCache(157l);
+            rhChildDeptIds.add(157l);
+            Set<Long> ryChildDeptIds = deptService.getChildDeptIdListFromCache(158l);
+            ryChildDeptIds.add(158l);
+            Set<Long> rdChildDeptIds = deptService.getChildDeptIdListFromCache(163l);
+            rdChildDeptIds.add(163l);
+            if (rhChildDeptIds.contains(deptId)) {
+                // 当前登录所属公司为 瑞恒
+                allChildDeptIds.add(157l);
+            }
+            if (ryChildDeptIds.contains(deptId)) {
+                // 当前登录所属公司为 瑞鹰
+                allChildDeptIds.add(158l);
+            }
+            if (rdChildDeptIds.contains(deptId)) {
+                // 当前登录所属公司为 瑞都
+                allChildDeptIds.add(163l);
+            }
+        });
+
         return allChildDeptIds;
     }
 

+ 14 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/iotprojecttask/IotProjectTaskServiceImpl.java

@@ -387,6 +387,20 @@ public class IotProjectTaskServiceImpl implements IotProjectTaskService {
 
             // 根据任务井号 或 施工地点 模糊搜索
             IotProjectTaskPageReqVO wellReqVO = new IotProjectTaskPageReqVO();
+            // app端暂时只查询 瑞恒 的任务列表
+            Long companyId = null;
+            if (customDeptIds.contains(157l)) {
+                companyId = 157l;
+            }
+            if (customDeptIds.contains(158l)) {
+                companyId = 158l;
+            }
+            if (customDeptIds.contains(163l)) {
+                companyId = 163l;
+            }
+            if (ObjUtil.isNotEmpty(companyId)) {
+                wellReqVO.setCompanyId(companyId);
+            }
             wellReqVO.setSearchKey(vo.getSearchKey());
             List<IotProjectTaskDO> tasks = iotProjectTaskMapper.selectList(wellReqVO);
             if (CollUtil.isNotEmpty(tasks)) {