From 33b5c9d1c5feabf539144fa8d21ea258c44a5de6 Mon Sep 17 00:00:00 2001 From: litao Date: Tue, 10 Dec 2024 20:01:08 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=A1=E6=A3=80=E8=AE=A1=E5=88=92=E8=AE=BE?= =?UTF-8?q?=E5=A4=87=E5=B7=A1=E6=A3=80=E4=BF=A1=E6=81=AF=E8=BF=94=E5=9B=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../business/contraller/DeviceController.java | 8 ++----- .../business/service/IDeviceService.java | 1 + .../service/impl/DeviceServiceImpl.java | 24 +++++++++++++++++++ 3 files changed, 27 insertions(+), 6 deletions(-) diff --git a/src/main/java/org/springblade/modules/business/contraller/DeviceController.java b/src/main/java/org/springblade/modules/business/contraller/DeviceController.java index b5a611c..360292b 100644 --- a/src/main/java/org/springblade/modules/business/contraller/DeviceController.java +++ b/src/main/java/org/springblade/modules/business/contraller/DeviceController.java @@ -101,16 +101,12 @@ public class DeviceController extends BladeController { * 设备表 巡检计划设备列表,按照实验室、楼层、房间匹配 */ @GetMapping("/limsList") - public R> limsList(Device device) { + public R> limsList(Device device) { // 参数校验 if (device.getLimsId() == null || device.getFloorId() == null || device.getRoomId() == null) { return R.success("参数为空!"); } - LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(Device.class) - .eq(Device::getLimsId, device.getLimsId()) - .eq(Device::getFloorId, device.getFloorId()) - .eq(Device::getRoomId, device.getRoomId()); - return R.data(deviceService.list(wrapper)); + return R.data(deviceService.limsList(device)); } private String sanitizeInput(String input) { diff --git a/src/main/java/org/springblade/modules/business/service/IDeviceService.java b/src/main/java/org/springblade/modules/business/service/IDeviceService.java index 49abef4..c78a874 100644 --- a/src/main/java/org/springblade/modules/business/service/IDeviceService.java +++ b/src/main/java/org/springblade/modules/business/service/IDeviceService.java @@ -48,4 +48,5 @@ public interface IDeviceService extends BaseService { void importGoods(List data, Boolean isCovered); + List limsList(Device device); } diff --git a/src/main/java/org/springblade/modules/business/service/impl/DeviceServiceImpl.java b/src/main/java/org/springblade/modules/business/service/impl/DeviceServiceImpl.java index 2479e59..b1ecbd0 100644 --- a/src/main/java/org/springblade/modules/business/service/impl/DeviceServiceImpl.java +++ b/src/main/java/org/springblade/modules/business/service/impl/DeviceServiceImpl.java @@ -3,6 +3,7 @@ package org.springblade.modules.business.service.impl; import com.aliyun.oss.ServiceException; import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; @@ -198,8 +199,31 @@ public class DeviceServiceImpl extends BaseServiceImpl imp } } + @Override + public List limsList(Device device) { + List deviceVOList = new ArrayList<>(); + // 按照实验室、楼层、房间匹配巡检计划设备列表 + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(Device.class) + .eq(Device::getLimsId, device.getLimsId()) + .eq(Device::getFloorId, device.getFloorId()) + .eq(Device::getRoomId, device.getRoomId()); + List devices = this.list(wrapper); + // 查询关联的设备巡检数据 + List maintenances = maintenanceService.list(Wrappers.lambdaQuery(DeviceMaintenance.class).in(DeviceMaintenance::getDeviceId, devices.stream().map(Device::getId).toList())); + // 组装视图返回 + devices.forEach(devic -> { + DeviceVO deviceVO = BeanUtil.copyProperties(devic, DeviceVO.class); + if (deviceVO != null) { + deviceVO.setMaintenances(maintenances.stream().filter(maintenance -> maintenance.getDeviceId().equals(devic.getId())).toList()); + deviceVOList.add(deviceVO); + } + }); + return deviceVOList; + } + /** * 获取两个list相同数据 + * * @param list1 * @param list2 * @return