|
@@ -5,6 +5,7 @@ import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
|
|
import cn.iocoder.yudao.framework.common.exception.ServiceException;
|
|
import cn.iocoder.yudao.framework.common.exception.ServiceException;
|
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
|
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
|
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
|
|
|
+import cn.iocoder.yudao.module.pms.controller.admin.vo.DeviceVO;
|
|
import cn.iocoder.yudao.module.pms.controller.admin.vo.IotDevicePageReqVO;
|
|
import cn.iocoder.yudao.module.pms.controller.admin.vo.IotDevicePageReqVO;
|
|
import cn.iocoder.yudao.module.pms.controller.admin.vo.IotDeviceRespVO;
|
|
import cn.iocoder.yudao.module.pms.controller.admin.vo.IotDeviceRespVO;
|
|
import cn.iocoder.yudao.module.pms.controller.admin.vo.IotDeviceSaveReqVO;
|
|
import cn.iocoder.yudao.module.pms.controller.admin.vo.IotDeviceSaveReqVO;
|
|
@@ -12,11 +13,16 @@ 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.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.dataobject.iotmodel.IotModelDO;
|
|
import cn.iocoder.yudao.module.pms.dal.dataobject.iotmodel.IotModelDO;
|
|
|
|
+import cn.iocoder.yudao.module.pms.dal.dataobject.yanfan.ThingsModelDO;
|
|
import cn.iocoder.yudao.module.pms.dal.dataobject.yanfan.YfDeviceDO;
|
|
import cn.iocoder.yudao.module.pms.dal.dataobject.yanfan.YfDeviceDO;
|
|
import cn.iocoder.yudao.module.pms.dal.mysql.IotDeviceMapper;
|
|
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.IotInfoClassifyMapper;
|
|
import cn.iocoder.yudao.module.pms.dal.mysql.IotTreeMapper;
|
|
import cn.iocoder.yudao.module.pms.dal.mysql.IotTreeMapper;
|
|
|
|
+import cn.iocoder.yudao.module.pms.dal.mysql.TDDeviceMapper;
|
|
import cn.iocoder.yudao.module.pms.dal.mysql.iotmodel.IotModelMapper;
|
|
import cn.iocoder.yudao.module.pms.dal.mysql.iotmodel.IotModelMapper;
|
|
|
|
+import cn.iocoder.yudao.module.pms.dal.mysql.yanfan.ThingsModelMapper;
|
|
|
|
+import cn.iocoder.yudao.module.pms.dal.mysql.yanfan.YfDeviceMapper;
|
|
|
|
+import cn.iocoder.yudao.module.pms.service.yanfan.ThingsModelService;
|
|
import cn.iocoder.yudao.module.pms.service.yanfan.YfDeviceService;
|
|
import cn.iocoder.yudao.module.pms.service.yanfan.YfDeviceService;
|
|
import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO;
|
|
import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO;
|
|
import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
|
|
import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
|
|
@@ -28,12 +34,14 @@ import com.baomidou.dynamic.datasource.annotation.Slave;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
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.*;
|
|
import java.util.*;
|
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
|
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
|
import static cn.iocoder.yudao.module.pms.enums.ErrorCodeConstant.IOT_DEVICE_NOT_EXISTS;
|
|
import static cn.iocoder.yudao.module.pms.enums.ErrorCodeConstant.IOT_DEVICE_NOT_EXISTS;
|
|
@@ -61,6 +69,37 @@ public class IotDeviceServiceImpl implements IotDeviceService {
|
|
private DictDataService dictDataService;
|
|
private DictDataService dictDataService;
|
|
@Resource
|
|
@Resource
|
|
private YfDeviceService yfDeviceService;
|
|
private YfDeviceService yfDeviceService;
|
|
|
|
+ @Autowired
|
|
|
|
+ private ThingsModelService thingsModelService;
|
|
|
|
+ @Autowired
|
|
|
|
+ private TDDeviceMapper deviceMapper;
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public List<ThingsModelDO> getTdParams(IotDeviceDO iotDeviceDO) {
|
|
|
|
+ List<YfDeviceDO> yfDeviceDO = yfDeviceService.getAllDeviceByColumn("serial_number", iotDeviceDO.getDeviceCode());
|
|
|
|
+ if (CollUtil.isEmpty(yfDeviceDO)) {
|
|
|
|
+ throw new ServiceException(IOT_DEVICE_NOT_EXISTS);
|
|
|
|
+ }
|
|
|
|
+ Long productId = yfDeviceDO.get(0).getProductId();
|
|
|
|
+ //点位参数
|
|
|
|
+ List<ThingsModelDO> productId1 = thingsModelService.selectList("product_id", productId.toString());
|
|
|
|
+ List<String> collect = productId1.stream().map(ThingsModelDO::getIdentifier).collect(Collectors.toList());
|
|
|
|
+ //td数据
|
|
|
|
+ List<DeviceVO> deviceVOS = deviceMapper.selectLastParam(iotDeviceDO.getDeviceCode(), collect);
|
|
|
|
+ productId1.forEach(deviceVO -> {
|
|
|
|
+ deviceVOS.stream().filter(e -> e.getIdentity().equals(deviceVO.getIdentifier())).findFirst().ifPresent(ab ->{
|
|
|
|
+ deviceVO.setValueType(ab.getLogValue());
|
|
|
|
+ deviceVO.setCode(iotDeviceDO.getDeviceCode());
|
|
|
|
+ });
|
|
|
|
+ });
|
|
|
|
+// deviceVOS.forEach(deviceVO -> {
|
|
|
|
+// productId1.stream().filter(e ->e.getIdentifier().equals(deviceVO.getIdentity())).findFirst().ifPresent(deviceVO1 -> {
|
|
|
|
+// deviceVO.setProductName(deviceVO1.getModelName());
|
|
|
|
+// deviceVO.setDeviceName(iotDeviceDO.getDeviceCode());
|
|
|
|
+// });
|
|
|
|
+// });
|
|
|
|
+ return productId1;
|
|
|
|
+ }
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|