lipenghui 3 місяців тому
батько
коміт
78e81755aa

+ 20 - 13
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/IotInfoServiceImpl.java

@@ -1,32 +1,28 @@
 package cn.iocoder.yudao.module.pms.service;
 
 import cn.hutool.core.collection.CollUtil;
-import cn.iocoder.yudao.framework.common.exception.ServiceException;
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.framework.common.util.io.FileUtils;
+import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
+import cn.iocoder.yudao.module.pms.controller.admin.vo.IotInfoClassifyListReqVO;
 import cn.iocoder.yudao.module.pms.controller.admin.vo.IotInfoPageReqVO;
 import cn.iocoder.yudao.module.pms.controller.admin.vo.IotInfoSaveReqVO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.IotInfoClassifyDO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.IotInfoDO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.IotTreeDO;
 import cn.iocoder.yudao.module.pms.dal.mysql.IotInfoMapper;
-import cn.iocoder.yudao.module.system.dal.dataobject.dept.DeptDO;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import javax.annotation.Resource;
 import org.springframework.validation.annotation.Validated;
-import org.springframework.transaction.annotation.Transactional;
 
-import java.io.File;
-import java.io.IOException;
-import java.util.*;
+import javax.annotation.Resource;
+import java.util.Collections;
+import java.util.List;
+import java.util.Objects;
+import java.util.Set;
 import java.util.stream.Collectors;
 
-import cn.iocoder.yudao.framework.common.pojo.PageResult;
-import cn.iocoder.yudao.framework.common.pojo.PageParam;
-import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
-
-
 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
 import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet;
 import static cn.iocoder.yudao.module.pms.enums.ErrorCodeConstant.IOT_INFO_NOT_EXISTS;
@@ -122,7 +118,18 @@ public class IotInfoServiceImpl implements IotInfoService {
             throw exception(IOT_INFO_NOT_EXISTS);
         }
         Set<Long> fileIds = convertSet(iotTreeService.getChildTreeList(classId), IotTreeDO::getOriginId);
-        fileIds.add(iotTree.getOriginId()); // 包括自身
+        //如果是设备的话
+        if ("device".equals(iotTree.getType())) {
+            IotInfoClassifyListReqVO iotInfoClassifyListReqVO = new IotInfoClassifyListReqVO();
+            IotInfoClassifyListReqVO classifyListReqVO = iotInfoClassifyListReqVO.setDeviceId(iotTree.getOriginId());
+            List<IotInfoClassifyDO> iotInfoClassifyList = iotInfoClassifyService.getIotInfoClassifyList(classifyListReqVO);
+            if (CollUtil.isNotEmpty(iotInfoClassifyList)) {
+                fileIds.add(iotInfoClassifyList.get(0).getId());
+            }
+        } else {
+            fileIds.add(iotTree.getOriginId()); // 包括自身
+        }
+
         return fileIds;
     }