|
|
|
|
@ -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<DeviceMapper, Device> imp |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public List<DeviceVO> limsList(Device device) { |
|
|
|
|
List<DeviceVO> deviceVOList = new ArrayList<>(); |
|
|
|
|
// 按照实验室、楼层、房间匹配巡检计划设备列表
|
|
|
|
|
LambdaQueryWrapper<Device> wrapper = Wrappers.lambdaQuery(Device.class) |
|
|
|
|
.eq(Device::getLimsId, device.getLimsId()) |
|
|
|
|
.eq(Device::getFloorId, device.getFloorId()) |
|
|
|
|
.eq(Device::getRoomId, device.getRoomId()); |
|
|
|
|
List<Device> devices = this.list(wrapper); |
|
|
|
|
// 查询关联的设备巡检数据
|
|
|
|
|
List<DeviceMaintenance> 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 |
|
|
|
|
|