|
@@ -8,20 +8,24 @@ import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
|
import cn.iocoder.yudao.module.pms.controller.admin.vo.IotTreeListReqVO;
|
|
import cn.iocoder.yudao.module.pms.controller.admin.vo.IotTreeListReqVO;
|
|
import cn.iocoder.yudao.module.pms.controller.admin.vo.IotTreePageReqVO;
|
|
import cn.iocoder.yudao.module.pms.controller.admin.vo.IotTreePageReqVO;
|
|
import cn.iocoder.yudao.module.pms.controller.admin.vo.IotTreeSaveReqVO;
|
|
import cn.iocoder.yudao.module.pms.controller.admin.vo.IotTreeSaveReqVO;
|
|
|
|
+import cn.iocoder.yudao.module.pms.dal.dataobject.IotDeviceDO;
|
|
|
|
+import cn.iocoder.yudao.module.pms.dal.dataobject.IotInfoClassifyDO;
|
|
import cn.iocoder.yudao.module.pms.dal.dataobject.IotTreeDO;
|
|
import cn.iocoder.yudao.module.pms.dal.dataobject.IotTreeDO;
|
|
|
|
+import cn.iocoder.yudao.module.pms.dal.mysql.IotDeviceMapper;
|
|
|
|
+import cn.iocoder.yudao.module.pms.dal.mysql.IotInfoClassifyMapper;
|
|
import cn.iocoder.yudao.module.pms.dal.mysql.IotTreeMapper;
|
|
import cn.iocoder.yudao.module.pms.dal.mysql.IotTreeMapper;
|
|
|
|
+import cn.iocoder.yudao.module.system.api.dept.DeptApi;
|
|
|
|
+import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO;
|
|
import cn.iocoder.yudao.module.system.dal.dataobject.dept.DeptDO;
|
|
import cn.iocoder.yudao.module.system.dal.dataobject.dept.DeptDO;
|
|
import cn.iocoder.yudao.module.system.enums.ErrorCodeConstants;
|
|
import cn.iocoder.yudao.module.system.enums.ErrorCodeConstants;
|
|
import com.google.common.collect.ImmutableMap;
|
|
import com.google.common.collect.ImmutableMap;
|
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.validation.annotation.Validated;
|
|
import org.springframework.validation.annotation.Validated;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
import javax.annotation.Resource;
|
|
-import java.util.Collection;
|
|
|
|
-import java.util.Comparator;
|
|
|
|
-import java.util.LinkedList;
|
|
|
|
-import java.util.List;
|
|
|
|
|
|
+import java.util.*;
|
|
|
|
|
|
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet;
|
|
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet;
|
|
|
|
|
|
@@ -36,6 +40,14 @@ public class IotTreeServiceImpl implements IotTreeService {
|
|
|
|
|
|
@Resource
|
|
@Resource
|
|
private IotTreeMapper iotTreeMapper;
|
|
private IotTreeMapper iotTreeMapper;
|
|
|
|
+ @Autowired
|
|
|
|
+ private DeptApi deptApi;
|
|
|
|
+ @Autowired
|
|
|
|
+ private IotDeviceService iotDeviceService;
|
|
|
|
+ @Autowired
|
|
|
|
+ private IotDeviceMapper iotDeviceMapper;
|
|
|
|
+ @Autowired
|
|
|
|
+ private IotInfoClassifyMapper iotInfoClassifyMapper;
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public List<IotTreeDO> getIotTreeList(IotTreeListReqVO reqVO) {
|
|
public List<IotTreeDO> getIotTreeList(IotTreeListReqVO reqVO) {
|
|
@@ -152,5 +164,58 @@ public class IotTreeServiceImpl implements IotTreeService {
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
+ public void initTree() {
|
|
|
|
+ List<DeptRespDTO> deptList = deptApi.getDeptList();
|
|
|
|
+ List<IotTreeDO> treeDOS = new ArrayList<>();
|
|
|
|
+ deptList.forEach(dept -> {
|
|
|
|
+ IotTreeDO iotTreeDO = new IotTreeDO();
|
|
|
|
+ iotTreeDO.setOriginId(dept.getId());
|
|
|
|
+ iotTreeDO.setType("dept");
|
|
|
|
+ iotTreeDO.setName(dept.getName());
|
|
|
|
+ iotTreeDO.setDeleted(false);
|
|
|
|
+ iotTreeDO.setDeptId(dept.getId());
|
|
|
|
+ treeDOS.add(iotTreeDO);
|
|
|
|
+ });
|
|
|
|
+ iotTreeMapper.insertBatch(treeDOS);
|
|
|
|
+
|
|
|
|
+// List<IotTreeDO> iotTreeDOS = iotTreeMapper.selectList();
|
|
|
|
+ treeDOS.forEach(treeDO -> {
|
|
|
|
+ Long parentId = deptList.stream().filter(dept -> treeDO.getOriginId().equals(dept.getId())).findFirst().get().getParentId();
|
|
|
|
+ List<IotTreeDO> iotTreeDOS1 = iotTreeMapper.selectListByOriginId(parentId, "dept");
|
|
|
|
+ if (CollUtil.isNotEmpty(iotTreeDOS1)) {
|
|
|
|
+ treeDO.setParentId(iotTreeDOS1.get(0).getId());
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ iotTreeMapper.updateBatch(treeDOS);
|
|
|
|
+
|
|
|
|
+ List<IotDeviceDO> iotDeviceDOS = iotDeviceMapper.selectList();
|
|
|
|
+ List<IotTreeDO> trees = new ArrayList<>();
|
|
|
|
+ List<IotInfoClassifyDO> classifies = new ArrayList<>();
|
|
|
|
+ iotDeviceDOS.forEach(deviceDO -> {
|
|
|
|
+ Long deptId = deviceDO.getDeptId();
|
|
|
|
+ List<IotTreeDO> iotTreeDOS = iotTreeMapper.selectListByOriginId(deptId, "dept");
|
|
|
|
+// if (CollUtil.isNotEmpty(iotTreeDOS)) {
|
|
|
|
+ IotTreeDO iotTreeDO = new IotTreeDO();
|
|
|
|
+ iotTreeDO.setOriginId(deviceDO.getId());
|
|
|
|
+ iotTreeDO.setType("device");
|
|
|
|
+ iotTreeDO.setName(deviceDO.getDeviceName());
|
|
|
|
+ iotTreeDO.setDeleted(false);
|
|
|
|
+ iotTreeDO.setDeptId(deviceDO.getDeptId());
|
|
|
|
+ iotTreeDO.setParentId(iotTreeDOS.get(0).getId());
|
|
|
|
+ trees.add(iotTreeDO);
|
|
|
|
+ IotInfoClassifyDO classifyDO = new IotInfoClassifyDO();
|
|
|
|
+ classifyDO.setName(deviceDO.getDeviceName()+"的设备资料");
|
|
|
|
+ classifyDO.setDeviceId(deviceDO.getId());
|
|
|
|
+ classifyDO.setParentId(0L);
|
|
|
|
+ classifyDO.setDeptId(deviceDO.getDeptId());
|
|
|
|
+ classifies.add(classifyDO);
|
|
|
|
+// }
|
|
|
|
+ });
|
|
|
|
+ iotTreeMapper.insertBatch(trees);
|
|
|
|
+ iotInfoClassifyMapper.insertBatch(classifies);
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
|
|
}
|
|
}
|