zhangcl 1 месяц назад
Родитель
Сommit
5f6acc38dc

+ 2 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/config/PmsDataPermissionConfiguration.java

@@ -17,6 +17,7 @@ import cn.iocoder.yudao.module.pms.dal.dataobject.iotrddailyreport.IotRdDailyRep
 import cn.iocoder.yudao.module.pms.dal.dataobject.iotrhdailyreport.IotRhDailyReportDO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.iotryimprovedailyreport.IotRyImproveDailyReportDO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.iotsapstock.IotSapStockDO;
+import cn.iocoder.yudao.module.pms.dal.dataobject.iotwebtopoproject.IotWebtopoProjectDO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.maintain.IotMaintainDO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.maintenance.IotMaintenancePlanDO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.qhse.accident.IotAccidentReportDO;
@@ -85,6 +86,7 @@ public class PmsDataPermissionConfiguration {
             rule.addDeptColumn(QhseDeviceCertDO.class, "dept_id");
             rule.addDeptColumn(QhseFileTreeDO.class, "dept_id");
             rule.addDeptColumn(QhseInfoDO.class, "dept_id");
+            rule.addDeptColumn(IotWebtopoProjectDO.class, "dept_id");
             // user
 //            rule.addUserColumn(SupplierDO.class);
             rule.addUserColumn(AdminUserDO.class, "id");

+ 7 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/iotwebtopoproject/vo/IotWebtopoProjectPageReqVO.java

@@ -8,6 +8,7 @@ import lombok.ToString;
 import org.springframework.format.annotation.DateTimeFormat;
 
 import java.time.LocalDateTime;
+import java.util.Collection;
 
 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
 
@@ -45,4 +46,10 @@ public class IotWebtopoProjectPageReqVO extends PageParam {
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
     private LocalDateTime[] createTime;
 
+    /**
+     * 扩展字段
+     */
+    @Schema(description = "部门id", example = "15434")
+    private Collection<Long> deptIds;
+
 }

+ 2 - 1
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/mysql/iotwebtopoproject/IotWebtopoProjectMapper.java

@@ -17,7 +17,8 @@ public interface IotWebtopoProjectMapper extends BaseMapperX<IotWebtopoProjectDO
 
     default PageResult<IotWebtopoProjectDO> selectPage(IotWebtopoProjectPageReqVO reqVO) {
         return selectPage(reqVO, new LambdaQueryWrapperX<IotWebtopoProjectDO>()
-                .eqIfPresent(IotWebtopoProjectDO::getDeptId, reqVO.getDeptId())
+                // .eqIfPresent(IotWebtopoProjectDO::getDeptId, reqVO.getDeptId())
+                .inIfPresent(IotWebtopoProjectDO::getDeptId, reqVO.getDeptIds())
                 .eqIfPresent(IotWebtopoProjectDO::getProjectId, reqVO.getProjectId())
                 .likeIfPresent(IotWebtopoProjectDO::getProjectName, reqVO.getProjectName())
                 .eqIfPresent(IotWebtopoProjectDO::getThumbnail, reqVO.getThumbnail())

+ 12 - 2
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/iotwebtopoproject/IotWebtopoProjectServiceImpl.java

@@ -13,14 +13,14 @@ import cn.iocoder.yudao.module.pms.dal.dataobject.iotwebtopoproject.IotWebtopoPr
 import cn.iocoder.yudao.module.pms.dal.dataobject.iotwebtopoprojectdevice.IotWebtopoProjectDeviceDO;
 import cn.iocoder.yudao.module.pms.dal.mysql.iotwebtopoproject.IotWebtopoProjectMapper;
 import cn.iocoder.yudao.module.pms.dal.mysql.iotwebtopoprojectdevice.IotWebtopoProjectDeviceMapper;
+import cn.iocoder.yudao.module.system.service.dept.DeptService;
 import com.google.common.collect.ImmutableMap;
 import org.springframework.stereotype.Service;
 import org.springframework.validation.annotation.Validated;
 
 import javax.annotation.Resource;
 import java.time.LocalDateTime;
-import java.util.ArrayList;
-import java.util.List;
+import java.util.*;
 
 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
 import static cn.iocoder.yudao.module.pms.enums.ErrorCodeConstant.IOT_WEBTOPO_PROJECT_NOT_EXISTS;
@@ -40,6 +40,9 @@ public class IotWebtopoProjectServiceImpl implements IotWebtopoProjectService {
     @Resource
     private IotWebtopoProjectDeviceMapper iotWebtopoProjectDeviceMapper;
 
+    @Resource
+    private DeptService deptService;
+
     @Override
     public Long createIotWebtopoProject(IotWebtopoProjectSaveReqVO createReqVO) {
         // 插入
@@ -117,6 +120,13 @@ public class IotWebtopoProjectServiceImpl implements IotWebtopoProjectService {
 
     @Override
     public PageResult<IotWebtopoProjectDO> getIotWebtopoProjectPage(IotWebtopoProjectPageReqVO pageReqVO) {
+        // 查询指定部门下所有子部门的数据
+        Set<Long> ids = new HashSet<>();
+        if (Objects.nonNull(pageReqVO.getDeptId())) {
+            ids = deptService.getChildDeptIdListFromCache(pageReqVO.getDeptId());
+            ids.add(pageReqVO.getDeptId());
+            pageReqVO.setDeptIds(ids);
+        }
         return iotWebtopoProjectMapper.selectPage(pageReqVO);
     }