Merge remote-tracking branch 'origin/master'

master
薛宏祥 1 year ago
commit e5f702327e
  1. 8
      src/main/java/org/springblade/modules/business/contraller/DeviceController.java
  2. 1
      src/main/java/org/springblade/modules/business/service/IDeviceService.java
  3. 24
      src/main/java/org/springblade/modules/business/service/impl/DeviceServiceImpl.java

@ -101,16 +101,12 @@ public class DeviceController extends BladeController {
* 设备表 巡检计划设备列表按照实验室楼层房间匹配
*/
@GetMapping("/limsList")
public R<List<Device>> limsList(Device device) {
public R<List<DeviceVO>> limsList(Device device) {
// 参数校验
if (device.getLimsId() == null || device.getFloorId() == null || device.getRoomId() == null) {
return R.success("参数为空!");
}
LambdaQueryWrapper<Device> 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) {

@ -48,4 +48,5 @@ public interface IDeviceService extends BaseService<Device> {
void importGoods(List<DeviceExcel> data, Boolean isCovered);
List<DeviceVO> limsList(Device device);
}

@ -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

Loading…
Cancel
Save