diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/dal/mysql/device/DeviceMapper.java b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/dal/mysql/device/DeviceMapper.java index ebfb92b5c..08aa7b712 100644 --- a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/dal/mysql/device/DeviceMapper.java +++ b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/dal/mysql/device/DeviceMapper.java @@ -14,6 +14,7 @@ import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; import java.util.Arrays; +import java.util.Collection; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -130,7 +131,10 @@ public interface DeviceMapper extends BaseMapperX { List selectDeviceSelectList(); - // DeviceMapper.java DeviceDO selectByIdWithDeleted(@Param("id") Long id); + List selectListIncludeDeletedByIds(@Param("ids") Collection ids); + + + } diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/device/DeviceService.java b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/device/DeviceService.java index 14aadaf43..31e699222 100644 --- a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/device/DeviceService.java +++ b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/device/DeviceService.java @@ -150,4 +150,8 @@ public interface DeviceService { void updateDeviceEnabled(@Valid DeviceUpdateEnabledReqVO updateEnabledReqVO) throws MqttException; DeviceDO getDeviceByMqttTopic(String topic); + + Map getMapIncludeDeleted(Collection ids); + + } diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/device/DeviceServiceImpl.java b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/device/DeviceServiceImpl.java index c6eae8d21..4e9402434 100644 --- a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/device/DeviceServiceImpl.java +++ b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/device/DeviceServiceImpl.java @@ -1712,4 +1712,19 @@ public class DeviceServiceImpl implements DeviceService { return deviceMapper.selectDeviceSelectList(); } + @Override + public Map getMapIncludeDeleted(Collection ids) { + if (CollUtil.isEmpty(ids)) { + return Collections.emptyMap(); + } + List list = deviceMapper.selectListIncludeDeletedByIds(ids); + return list.stream().collect(Collectors.toMap( + DeviceDO::getId, + Function.identity(), + (a, b) -> a + )); + } + + + } diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/resources/mapper/device/DeviceMapper.xml b/yudao-module-iot/yudao-module-iot-biz/src/main/resources/mapper/device/DeviceMapper.xml index de5e59e83..a73de9534 100644 --- a/yudao-module-iot/yudao-module-iot-biz/src/main/resources/mapper/device/DeviceMapper.xml +++ b/yudao-module-iot/yudao-module-iot-biz/src/main/resources/mapper/device/DeviceMapper.xml @@ -233,4 +233,18 @@ LIMIT 1 + + + diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/organization/OrganizationServiceImpl.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/organization/OrganizationServiceImpl.java index a0e3d625a..f39f5687d 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/organization/OrganizationServiceImpl.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/organization/OrganizationServiceImpl.java @@ -125,9 +125,11 @@ public class OrganizationServiceImpl implements OrganizationService { // 设备台账关联产线 if (updateObj.getMachineId() != null) { DeviceLedgerDO deviceLedgerDO = deviceLedgerService.getDeviceLedger(updateObj.getMachineId()); - deviceLedgerDO.setWorkshop(String.valueOf(updateObj.getParentId())); - deviceLedgerService.updateDeviceLedger(BeanUtils.toBean(deviceLedgerDO, DeviceLedgerSaveReqVO.class)); - } + if (deviceLedgerDO != null){ + deviceLedgerDO.setWorkshop(String.valueOf(updateObj.getParentId())); + deviceLedgerService.updateDeviceLedger(BeanUtils.toBean(deviceLedgerDO, DeviceLedgerSaveReqVO.class)); + } + } } @Override @@ -228,39 +230,23 @@ public class OrganizationServiceImpl implements OrganizationService { return Collections.emptyList(); } - //关联机台 -// Map map = machineComponentService.getMap( -// convertSet(list, OrganizationDO::getMachineId)); -// -// return BeanUtils.toBean(list, OrganizationRespVO.class, item -> { -// MapUtils.findAndThen(map, item.getMachineId(), -// machine -> item.setMachineName(machine.getName())); -// -// }); - //关联设备 - Map map = deviceService.getMap( - convertSet(list, OrganizationDO::getDvId)); - -// List deviceLedgerDOList = deviceLedgerService.getDeviceLedgerList(); -// Map resultMap = deviceLedgerDOList.stream() -// .filter(Objects::nonNull) -// .collect(Collectors.toMap( -// DeviceLedgerDO::getId, -// Function.identity(), -// (existing, replacement) -> existing // 处理重复key -// )); - -// return BeanUtils.toBean(list, OrganizationRespVO.class, item -> { -// MapUtils.findAndThen(resultMap, item.getDvId(), -// device -> item.setMachineName(device.getDeviceName())); -// }); + Set dvIds = convertSet(list, OrganizationDO::getDvId); - return BeanUtils.toBean(list, OrganizationRespVO.class, item -> { - MapUtils.findAndThen(map, item.getDvId(), - device -> item.setMachineName(device.getDeviceName())); + Map deviceMap = deviceService.getMapIncludeDeleted(dvIds); + + return BeanUtils.toBean(list, OrganizationRespVO.class, item -> { + MapUtils.findAndThen(deviceMap, item.getDvId(), device -> { + String deviceName = device.getDeviceName(); + // 按你项目删除标记字段调整,比如 getDeleted()/getIsDeleted()/getStatus() + if (Boolean.TRUE.equals(device.getDeleted())) { + deviceName = deviceName + "(已被删除)"; + } + item.setMachineName(deviceName); + }); }); } + @Override public List buildWorkerVOList(List list) { if (CollUtil.isEmpty(list)) {