From 2efc05d570d23d86b02b6fd8f73491b3d520bde0 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期三, 14 十月 2026 10:47:31 +0800
Subject: [PATCH] fix(mes-dv): 设备模块列表查询补充按创建时间降序排序
---
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/energy/EnergyRecordMapper.java | 13 +++++++++++++
1 files changed, 13 insertions(+), 0 deletions(-)
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/energy/EnergyRecordMapper.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/energy/EnergyRecordMapper.java
index 14a16fd..9bc4d83 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/energy/EnergyRecordMapper.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/energy/EnergyRecordMapper.java
@@ -13,6 +13,19 @@
@Mapper
public interface EnergyRecordMapper extends BaseMapperX<EnergyRecordDO> {
+ @Select("""
+ <script>
+ SELECT COALESCE(SUM(<choose><when test="rule.metric == 'AMOUNT' or rule.metric == 'MONTH_AMOUNT'">amount</when><otherwise>quantity</otherwise></choose>),0)
+ FROM mes_energy_record WHERE deleted=0 AND energy_type=#{rule.energyType}
+ <choose><when test="rule.metric == 'MONTH_QUANTITY' or rule.metric == 'MONTH_AMOUNT'">
+ AND record_date >= #{date} AND record_date < DATE_ADD(#{date}, INTERVAL 1 MONTH)
+ </when><otherwise>AND record_date=#{date}</otherwise></choose>
+ <if test="rule.usageArea != null and rule.usageArea != ''">AND usage_area=#{rule.usageArea}</if>
+ <if test="rule.productCategory != null and rule.productCategory != ''">AND product_category=#{rule.productCategory}</if>
+ </script>
+ """)
+ BigDecimal selectDailyValue(@Param("date") java.time.LocalDate date,
+ @Param("rule") cn.iocoder.yudao.module.mes.dal.dataobject.energy.EnergyAlertRuleDO rule);
default PageResult<EnergyRecordDO> selectPage(EnergyRecordPageReqVO req) {
return selectPage(req, new LambdaQueryWrapperX<EnergyRecordDO>()
.geIfPresent(EnergyRecordDO::getRecordDate, req.getStartDate())
--
Gitblit v1.9.3