Zimo 1 день назад
Родитель
Сommit
41aef3052a

+ 26 - 7
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/stat/IotStaticController.java

@@ -11,6 +11,8 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.framework.common.pojo.Pms;
 import cn.iocoder.yudao.framework.common.pojo.Pms;
 import cn.iocoder.yudao.framework.common.util.number.NumberUtils;
 import cn.iocoder.yudao.framework.common.util.number.NumberUtils;
 import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
 import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
+import cn.iocoder.yudao.module.pms.ThingsModelDTO;
+import cn.iocoder.yudao.module.pms.controller.admin.TableDataInfo;
 import cn.iocoder.yudao.module.pms.controller.admin.depttype.vo.IotDeptTypePageReqVO;
 import cn.iocoder.yudao.module.pms.controller.admin.depttype.vo.IotDeptTypePageReqVO;
 import cn.iocoder.yudao.module.pms.controller.admin.failure.vo.IotFailureReportPageReqVO;
 import cn.iocoder.yudao.module.pms.controller.admin.failure.vo.IotFailureReportPageReqVO;
 import cn.iocoder.yudao.module.pms.controller.admin.inspect.order.vo.IotInspectOrderPageReqVO;
 import cn.iocoder.yudao.module.pms.controller.admin.inspect.order.vo.IotInspectOrderPageReqVO;
@@ -47,6 +49,7 @@ import cn.iocoder.yudao.module.pms.dal.dataobject.iotrhdailyreport.IotRhDailyRep
 import cn.iocoder.yudao.module.pms.dal.dataobject.iotrydailyreport.IotRyDailyReportDO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.iotrydailyreport.IotRyDailyReportDO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.iotsapstock.IotSapStockDO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.iotsapstock.IotSapStockDO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.maintain.IotMaintainDO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.maintain.IotMaintainDO;
+import cn.iocoder.yudao.module.pms.dal.dataobject.tdparams.IotTdParamsDO;
 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.IotProductClassifyMapper;
 import cn.iocoder.yudao.module.pms.dal.mysql.IotProductClassifyMapper;
 import cn.iocoder.yudao.module.pms.dal.mysql.TDDeviceMapper;
 import cn.iocoder.yudao.module.pms.dal.mysql.TDDeviceMapper;
@@ -64,6 +67,7 @@ import cn.iocoder.yudao.module.pms.dal.mysql.iotrhdailyreport.IotRhDailyReportMa
 import cn.iocoder.yudao.module.pms.dal.mysql.iotrydailyreport.IotRyDailyReportMapper;
 import cn.iocoder.yudao.module.pms.dal.mysql.iotrydailyreport.IotRyDailyReportMapper;
 import cn.iocoder.yudao.module.pms.dal.mysql.iotsapstock.IotSapStockMapper;
 import cn.iocoder.yudao.module.pms.dal.mysql.iotsapstock.IotSapStockMapper;
 import cn.iocoder.yudao.module.pms.dal.mysql.maintain.IotMaintainMapper;
 import cn.iocoder.yudao.module.pms.dal.mysql.maintain.IotMaintainMapper;
+import cn.iocoder.yudao.module.pms.dal.mysql.tdparams.IotTdParamsMapper;
 import cn.iocoder.yudao.module.pms.service.DeviceServiceImpl;
 import cn.iocoder.yudao.module.pms.service.DeviceServiceImpl;
 import cn.iocoder.yudao.module.pms.service.inspect.IotInspectOrderService;
 import cn.iocoder.yudao.module.pms.service.inspect.IotInspectOrderService;
 import cn.iocoder.yudao.module.pms.service.iotrydailyreport.IotRyDailyReportService;
 import cn.iocoder.yudao.module.pms.service.iotrydailyreport.IotRyDailyReportService;
@@ -476,11 +480,24 @@ public class IotStaticController {
         }
         }
     }
     }
 
 
+
+    @Autowired
+    private IotTdParamsMapper iotTdParamsMapper;
     @GetMapping("/td/ly/chart/{deviceName}/{identifier}")
     @GetMapping("/td/ly/chart/{deviceName}/{identifier}")
-    public CommonResult<List<DeviceVO>> getTdChartLy(@PathVariable("deviceName") String deviceName, @PathVariable("identifier") String identifier, @RequestParam("beginTime") String beginTime, @RequestParam("endTime") String endTime) {
-        if (StringUtils.isBlank(identifier)) {
-            return null;
-        }
+    public CommonResult<ImmutableMap> getTdChartLy(@PathVariable("deviceName") String deviceName, @PathVariable("identifier") String identifier, @RequestParam("beginTime") String beginTime, @RequestParam("endTime") String endTime) {
+//        if (StringUtils.isBlank(identifier)) {
+//            return null;
+//        }
+        List<IotDeviceDO> iotDeviceDOS = iotDeviceMapper.selectByCodeIn(Collections.singleton(deviceName));
+        if (CollUtil.isEmpty(iotDeviceDOS)) {
+            throw new ServiceException(new ErrorCode(111,"不存在设备"));
+        }
+        IotDeviceDO iotDeviceDO = iotDeviceDOS.get(0);
+        TableDataInfo tableDataInfo = restTemplate.getForObject(yanfanUrl + "/prod-api/iot/device/listThingsModel?deviceId="+iotDeviceDO.getYfDeviceId()+"&pageNum=1&pageSize=200", TableDataInfo.class);
+        if (tableDataInfo == null) {
+            throw new ServiceException(new ErrorCode(111,"不存在数采属性"));
+        }
+        List<ThingsModelDTO> rows = JSON.parseArray(JSON.toJSONString(tableDataInfo.getRows()), ThingsModelDTO.class);
         Timestamp start1 = generateTimestamp(beginTime);
         Timestamp start1 = generateTimestamp(beginTime);
         Timestamp end1 = generateTimestamp(endTime);
         Timestamp end1 = generateTimestamp(endTime);
         Integer i = deviceMapper.tableIfExist(deviceName.toLowerCase());
         Integer i = deviceMapper.tableIfExist(deviceName.toLowerCase());
@@ -491,19 +508,21 @@ public class IotStaticController {
                     deviceVO.setTimestamp(deviceVO.getTs().getTime());
                     deviceVO.setTimestamp(deviceVO.getTs().getTime());
                     deviceVO.setValue(Objects.nonNull(deviceVO.getLogValue())?Double.valueOf(deviceVO.getLogValue()):null);
                     deviceVO.setValue(Objects.nonNull(deviceVO.getLogValue())?Double.valueOf(deviceVO.getLogValue()):null);
                 });
                 });
-                return success(deviceVOS.stream().sorted(Comparator.comparing(DeviceVO::getTimestamp).reversed()).collect(Collectors.toList()));
+                List<DeviceVO> collect = deviceVOS.stream().sorted(Comparator.comparing(DeviceVO::getTimestamp).reversed()).collect(Collectors.toList());
+                return success(ImmutableMap.of("property", rows, "data",collect));
             } else {
             } else {
                 List<DeviceVO> deviceVOS = tdDeviceMapper.selectAllBtTime(deviceName.toLowerCase(), start1, end1);
                 List<DeviceVO> deviceVOS = tdDeviceMapper.selectAllBtTime(deviceName.toLowerCase(), start1, end1);
                 deviceVOS.forEach(deviceVO->{
                 deviceVOS.forEach(deviceVO->{
                     deviceVO.setTimestamp(deviceVO.getTs().getTime());
                     deviceVO.setTimestamp(deviceVO.getTs().getTime());
                     deviceVO.setValue(Objects.nonNull(deviceVO.getLogValue())?Double.valueOf(deviceVO.getLogValue()):null);
                     deviceVO.setValue(Objects.nonNull(deviceVO.getLogValue())?Double.valueOf(deviceVO.getLogValue()):null);
                 });
                 });
-                return success(deviceVOS.stream().sorted(Comparator.comparing(DeviceVO::getTimestamp).reversed()).collect(Collectors.toList()));
+                List<DeviceVO> collect = deviceVOS.stream().sorted(Comparator.comparing(DeviceVO::getTimestamp).reversed()).collect(Collectors.toList());
+                return success(ImmutableMap.of("property", rows, "data",collect));
             }
             }
 
 
         } else {
         } else {
             List<DeviceVO> deviceVOS = new ArrayList<>();
             List<DeviceVO> deviceVOS = new ArrayList<>();
-            return success(deviceVOS);
+            return success(ImmutableMap.of("property", rows, "data",deviceVOS));
         }
         }
     }
     }