From 657698fd2fb32794932474648dbaee9e284e38c8 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期一, 12 十月 2026 18:31:20 +0800
Subject: [PATCH] feat(bpm): 添加全局免审批功能支持
---
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