diff --git a/klp-ems/src/main/java/com/klp/ems/domain/vo/EmsMeterVo.java b/klp-ems/src/main/java/com/klp/ems/domain/vo/EmsMeterVo.java index bf68a87b..1c6eb831 100644 --- a/klp-ems/src/main/java/com/klp/ems/domain/vo/EmsMeterVo.java +++ b/klp-ems/src/main/java/com/klp/ems/domain/vo/EmsMeterVo.java @@ -101,4 +101,6 @@ public class EmsMeterVo { @ExcelIgnore private String warehouseName; + //最后一次读数 + private BigDecimal lastReading; } diff --git a/klp-ems/src/main/java/com/klp/ems/service/impl/EmsMeterServiceImpl.java b/klp-ems/src/main/java/com/klp/ems/service/impl/EmsMeterServiceImpl.java index 058a672b..cdf095e3 100644 --- a/klp-ems/src/main/java/com/klp/ems/service/impl/EmsMeterServiceImpl.java +++ b/klp-ems/src/main/java/com/klp/ems/service/impl/EmsMeterServiceImpl.java @@ -8,6 +8,8 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.klp.common.utils.StringUtils; import com.klp.common.utils.poi.ExcelUtil; +import com.klp.ems.domain.EmsEnergyConsumption; +import com.klp.ems.mapper.EmsEnergyConsumptionMapper; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; @@ -41,6 +43,8 @@ public class EmsMeterServiceImpl implements IEmsMeterService { private final EmsMeterMapper baseMapper; private final EmsEnergyTypeMapper energyTypeMapper; + private final EmsEnergyConsumptionMapper consumptionMapper; + /** * 查询计量设备(阈值移至此处) */ @@ -56,6 +60,15 @@ public class EmsMeterServiceImpl implements IEmsMeterService { public TableDataInfo queryPageList(EmsMeterBo bo, PageQuery pageQuery) { LambdaQueryWrapper lqw = buildQueryWrapper(bo); Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + result.getRecords().forEach(vo -> { + // 根据计量设备的 ID 查询最近的读数 + List emsEnergyConsumptions = consumptionMapper.selectLatestTwoReadings(vo.getMeterId()); + // 由于是最近的两条只需要最新的一条即可 + if (emsEnergyConsumptions != null && !emsEnergyConsumptions.isEmpty()) { + EmsEnergyConsumption latestReading = emsEnergyConsumptions.get(0); + vo.setLastReading(latestReading.getEndReading()); + } + }); return TableDataInfo.build(result); }