|
|
@@ -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.util.number.NumberUtils;
|
|
|
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.failure.vo.IotFailureReportPageReqVO;
|
|
|
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.iotsapstock.IotSapStockDO;
|
|
|
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.IotProductClassifyMapper;
|
|
|
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.iotsapstock.IotSapStockMapper;
|
|
|
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.inspect.IotInspectOrderService;
|
|
|
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}")
|
|
|
- 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 end1 = generateTimestamp(endTime);
|
|
|
Integer i = deviceMapper.tableIfExist(deviceName.toLowerCase());
|
|
|
@@ -491,19 +508,21 @@ public class IotStaticController {
|
|
|
deviceVO.setTimestamp(deviceVO.getTs().getTime());
|
|
|
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 {
|
|
|
List<DeviceVO> deviceVOS = tdDeviceMapper.selectAllBtTime(deviceName.toLowerCase(), start1, end1);
|
|
|
deviceVOS.forEach(deviceVO->{
|
|
|
deviceVO.setTimestamp(deviceVO.getTs().getTime());
|
|
|
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 {
|
|
|
List<DeviceVO> deviceVOS = new ArrayList<>();
|
|
|
- return success(deviceVOS);
|
|
|
+ return success(ImmutableMap.of("property", rows, "data",deviceVOS));
|
|
|
}
|
|
|
}
|
|
|
|