diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/deviceoperationrecord/vo/DeviceTotalTimeRecordReqVO.java b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/deviceoperationrecord/vo/DeviceTotalTimeRecordReqVO.java
index d03d8452d..149d4fb1c 100644
--- a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/deviceoperationrecord/vo/DeviceTotalTimeRecordReqVO.java
+++ b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/deviceoperationrecord/vo/DeviceTotalTimeRecordReqVO.java
@@ -30,6 +30,9 @@ public class DeviceTotalTimeRecordReqVO extends PageParam {
@Schema(description = "设备 ID 集合,使用英文逗号分隔,例如 1,2,3")
private String ids;
+ @Schema(description = "设备类型")
+ private Integer deviceType;
+
@Schema(description = "时间轴页码,默认 1")
private Integer timelinePageNo;
diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/deviceoperationrecord/DeviceOperationRecordServiceImpl.java b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/deviceoperationrecord/DeviceOperationRecordServiceImpl.java
index f5a7f98b0..92d87ca96 100644
--- a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/deviceoperationrecord/DeviceOperationRecordServiceImpl.java
+++ b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/deviceoperationrecord/DeviceOperationRecordServiceImpl.java
@@ -600,6 +600,7 @@ public class DeviceOperationRecordServiceImpl implements DeviceOperationRecordSe
private DeviceTotalTimeRecordReqVO buildPreviousPeriodReqVO(DeviceTotalTimeRecordReqVO reqVO) {
DeviceTotalTimeRecordReqVO previousReqVO = new DeviceTotalTimeRecordReqVO();
previousReqVO.setIds(reqVO.getIds());
+ previousReqVO.setDeviceType(reqVO.getDeviceType());
previousReqVO.setDeviceCode(reqVO.getDeviceCode());
previousReqVO.setDeviceName(reqVO.getDeviceName());
previousReqVO.setTimelinePageNo(reqVO.getTimelinePageNo());
diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/resources/mapper/deviceoperationrecord/DeviceOperationRecordMapper.xml b/yudao-module-iot/yudao-module-iot-biz/src/main/resources/mapper/deviceoperationrecord/DeviceOperationRecordMapper.xml
index 475f29404..f922d94d8 100644
--- a/yudao-module-iot/yudao-module-iot-biz/src/main/resources/mapper/deviceoperationrecord/DeviceOperationRecordMapper.xml
+++ b/yudao-module-iot/yudao-module-iot-biz/src/main/resources/mapper/deviceoperationrecord/DeviceOperationRecordMapper.xml
@@ -167,6 +167,9 @@
ide.device_name AS deviceName
FROM iot_device ide
WHERE ide.deleted = 0
+
+ AND ide.device_type = #{pageReqVO.deviceType}
+
AND ide.device_code LIKE CONCAT('%', #{pageReqVO.deviceCode}, '%')
@@ -218,6 +221,9 @@
ide.device_name AS deviceName
FROM iot_device ide
WHERE ide.deleted = 0
+
+ AND ide.device_type = #{deviceTotalTimeRecordReqVO.deviceType}
+
AND ide.device_code LIKE CONCAT('%', #{deviceTotalTimeRecordReqVO.deviceCode}, '%')
diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/deviceline/DeviceLineController.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/deviceline/DeviceLineController.java
index a23109b85..e9e75d08f 100644
--- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/deviceline/DeviceLineController.java
+++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/deviceline/DeviceLineController.java
@@ -153,9 +153,10 @@ public class DeviceLineController {
@PreAuthorize("@ss.isInnerProfile() || @ss.hasPermission('iot:device:query')")
public CommonResult> deviceParameterAnalysis(
@RequestParam(value = "keyword", required = false) String keyword,
+ @RequestParam(value = "deviceType", required = false) Integer deviceType,
@RequestParam(value = "showDevices") Integer showDevices,
@RequestParam(value = "filterNoDeviceLine", required = false) Integer filterNoDeviceLine) {
- return success(deviceLineService.deviceParameterAnalysis(keyword, showDevices, filterNoDeviceLine));
+ return success(deviceLineService.deviceParameterAnalysis(keyword, deviceType, showDevices, filterNoDeviceLine));
}
@GetMapping("/children")
diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/deviceline/DeviceLineService.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/deviceline/DeviceLineService.java
index 9fb1f970c..3bbb828dc 100644
--- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/deviceline/DeviceLineService.java
+++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/deviceline/DeviceLineService.java
@@ -36,7 +36,8 @@ public interface DeviceLineService {
List getAncestorDeviceLines(Long id);
- List deviceParameterAnalysis(String keyword, Integer showDevices, Integer filterNoDeviceLine);
+ List deviceParameterAnalysis(String keyword, Integer deviceType,
+ Integer showDevices, Integer filterNoDeviceLine);
void regenerateCode(Long id, String code) throws UnsupportedEncodingException;
diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/deviceline/DeviceLineServiceImpl.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/deviceline/DeviceLineServiceImpl.java
index 7ee11d0ee..0cf8c3f2d 100644
--- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/deviceline/DeviceLineServiceImpl.java
+++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/deviceline/DeviceLineServiceImpl.java
@@ -229,7 +229,8 @@ public class DeviceLineServiceImpl implements DeviceLineService {
}
@Override
- public List deviceParameterAnalysis(String keyword, Integer showDevices, Integer filterNoDeviceLine) {
+ public List deviceParameterAnalysis(String keyword, Integer deviceType,
+ Integer showDevices, Integer filterNoDeviceLine) {
if (showDevices == null || (showDevices != 1 && showDevices != 2)) {
showDevices = 1;
}
@@ -259,7 +260,9 @@ public class DeviceLineServiceImpl implements DeviceLineService {
Map deviceMap = new HashMap<>();
Map> paramsByDeviceId = new HashMap<>();
if (!deviceIds.isEmpty()) {
- deviceMap = deviceMapper.selectBatchIds(deviceIds).stream()
+ deviceMap = deviceMapper.selectList(new LambdaQueryWrapper()
+ .in(DeviceDO::getId, deviceIds)
+ .eq(deviceType != null, DeviceDO::getDeviceType, deviceType)).stream()
.collect(Collectors.toMap(DeviceDO::getId, Function.identity(), (a, b) -> a));
List parameters = deviceContactModelMapper.selectList(