|
@@ -15,6 +15,7 @@ import cn.iocoder.yudao.module.pms.dal.dataobject.IotProductClassifyDO;
|
|
|
import cn.iocoder.yudao.module.pms.dal.dataobject.yanfan.ThingsModelDO;
|
|
|
import cn.iocoder.yudao.module.pms.dal.dataobject.yanfan.YfDeviceDO;
|
|
|
import cn.iocoder.yudao.module.pms.dal.mysql.TDDeviceMapper;
|
|
|
+import cn.iocoder.yudao.module.pms.enums.common.IotDeviceStatusEnum;
|
|
|
import cn.iocoder.yudao.module.pms.service.DeviceServiceImpl;
|
|
|
import cn.iocoder.yudao.module.pms.service.IotDeviceService;
|
|
|
import cn.iocoder.yudao.module.pms.service.IotProductClassifyService;
|
|
@@ -181,7 +182,9 @@ public class IotDeviceController {
|
|
|
public CommonResult<List<IotDeviceSimpleRespVO>> getSimpleDeviceList(@Valid IotDevicePageReqVO reqVO) {
|
|
|
List<IotDeviceDO> list = iotDeviceService.getSimpleDeviceList(reqVO);
|
|
|
Map<Long, DeptDO> deptMap = deptService.getDeptMap(convertList(list, IotDeviceDO::getDeptId));
|
|
|
- return success(new ArrayList<>(IotDeviceConvert.INSTANCE.convertSimpleLists(list, deptMap)));
|
|
|
+ // 查询设备的所有责任人列表
|
|
|
+ return success(new ArrayList<>(buildDeviceSimpleList(list)));
|
|
|
+ // return success(new ArrayList<>(IotDeviceConvert.INSTANCE.convertSimpleLists(list, deptMap)));
|
|
|
}
|
|
|
|
|
|
@GetMapping("/responsiblePage")
|
|
@@ -320,6 +323,25 @@ public class IotDeviceController {
|
|
|
});
|
|
|
}
|
|
|
|
|
|
+ private List<IotDeviceSimpleRespVO> buildDeviceSimpleList(List<IotDeviceDO> devices) {
|
|
|
+ if (CollUtil.isEmpty(devices)) {
|
|
|
+ return Collections.emptyList();
|
|
|
+ }
|
|
|
+ // 设备部门信息
|
|
|
+ Map<Long, DeptDO> deptMap = deptService.getDeptMap(
|
|
|
+ convertList(devices, IotDeviceDO::getDeptId));
|
|
|
+ // 查询设备关联的 负责人
|
|
|
+ Map<Long, String> devicePersonNames = iotDevicePersonService.getIotDevicePerson(convertList(devices, IotDeviceDO::getId));
|
|
|
+ // 2. 拼接数据
|
|
|
+ return BeanUtils.toBean(devices, IotDeviceSimpleRespVO.class, (deviceVO) -> {
|
|
|
+ deviceVO.setDeviceStatusName(IotDeviceStatusEnum.nameOf(deviceVO.getDeviceStatus()).getMsg());
|
|
|
+ // 2.1 拼接部门信息
|
|
|
+ findAndThen(deptMap, deviceVO.getDeptId(), dept -> deviceVO.setDeptName(dept.getName()));
|
|
|
+ // 2.2 设备关联的负责人姓名
|
|
|
+ findAndThen(devicePersonNames, deviceVO.getId(), person -> deviceVO.setDevicePersons(person));
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 组装 设备-bom 关联关系对象
|
|
|
* @param devices
|