From 6f8cb882b706f74b4ea00927b0f3d77ab7937aa5 Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期二, 29 七月 2025 16:04:00 +0800
Subject: [PATCH] yys  新增设备能耗管理

---
 src/main/java/com/ruoyi/device/pojo/DeviceLedger.java                                                      |    5 
 src/main/java/com/ruoyi/device/service/impl/DeviceLedgerServiceImpl.java                                   |    6 
 src/main/resources/mapper/equipmentenergyconsumption/EquipmentEnergyConsumptionMapper.xml                  |   25 +++
 src/main/java/com/ruoyi/equipmentenergyconsumption/service/EquipmentEnergyConsumptionService.java          |   27 +++
 src/main/java/com/ruoyi/equipmentenergyconsumption/pojo/EquipmentEnergyConsumption.java                    |  138 +++++++++++++++++++
 src/main/java/com/ruoyi/equipmentenergyconsumption/controller/EquipmentEnergyConsumptionController.java    |   94 +++++++++++++
 src/main/java/com/ruoyi/equipmentenergyconsumption/mapper/EquipmentEnergyConsumptionMapper.java            |   23 +++
 src/main/java/com/ruoyi/equipmentenergyconsumption/service/impl/EquipmentEnergyConsumptionServiceImpl.java |   97 +++++++++++++
 8 files changed, 415 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/ruoyi/device/pojo/DeviceLedger.java b/src/main/java/com/ruoyi/device/pojo/DeviceLedger.java
index 597e51b..01233be 100644
--- a/src/main/java/com/ruoyi/device/pojo/DeviceLedger.java
+++ b/src/main/java/com/ruoyi/device/pojo/DeviceLedger.java
@@ -4,6 +4,8 @@
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import org.springframework.format.annotation.DateTimeFormat;
 
@@ -17,6 +19,7 @@
  */
 @Data
 @TableName("device_ledger")
+@ApiModel
 public class DeviceLedger {
 
     /**
@@ -28,11 +31,13 @@
     /**
      * 璁惧鍚嶇О
      */
+    @ApiModelProperty("璁惧鍚嶇О")
     private String deviceName;
 
     /**
      * 瑙勬牸鍨嬪彿
      */
+    @ApiModelProperty("瑙勬牸鍨嬪彿")
     private String deviceModel;
 
     /**
diff --git a/src/main/java/com/ruoyi/device/service/impl/DeviceLedgerServiceImpl.java b/src/main/java/com/ruoyi/device/service/impl/DeviceLedgerServiceImpl.java
index 913156c..0687aad 100644
--- a/src/main/java/com/ruoyi/device/service/impl/DeviceLedgerServiceImpl.java
+++ b/src/main/java/com/ruoyi/device/service/impl/DeviceLedgerServiceImpl.java
@@ -1,5 +1,6 @@
 package com.ruoyi.device.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -44,6 +45,11 @@
 
     @Override
     public AjaxResult saveDeviceLedger(DeviceLedger deviceLedger) {
+        LambdaQueryWrapper<DeviceLedger> deviceLedgerLambdaQueryWrapper = new LambdaQueryWrapper<>();
+        deviceLedgerLambdaQueryWrapper.eq(DeviceLedger::getDeviceModel,deviceLedger.getDeviceModel());
+        if (this.count(deviceLedgerLambdaQueryWrapper) > 0) {
+            return AjaxResult.error("璁惧鍨嬪彿宸插瓨鍦�");
+        }
         boolean save = this.save(deviceLedger);
         if (save){
             return AjaxResult.success();
diff --git a/src/main/java/com/ruoyi/equipmentenergyconsumption/controller/EquipmentEnergyConsumptionController.java b/src/main/java/com/ruoyi/equipmentenergyconsumption/controller/EquipmentEnergyConsumptionController.java
new file mode 100644
index 0000000..429423f
--- /dev/null
+++ b/src/main/java/com/ruoyi/equipmentenergyconsumption/controller/EquipmentEnergyConsumptionController.java
@@ -0,0 +1,94 @@
+package com.ruoyi.equipmentenergyconsumption.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.device.pojo.DeviceLedger;
+import com.ruoyi.equipmentenergyconsumption.pojo.EquipmentEnergyConsumption;
+import com.ruoyi.equipmentenergyconsumption.service.EquipmentEnergyConsumptionService;
+import com.ruoyi.framework.aspectj.lang.annotation.Log;
+import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
+import com.ruoyi.framework.web.controller.BaseController;
+import com.ruoyi.framework.web.domain.AjaxResult;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.CollectionUtils;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.util.List;
+
+/**
+ * @author :yys
+ * @date : 2025/7/29 13:19
+ */
+@RestController
+@Api(tags = "璁惧鑳借��")
+@RequestMapping("/equipmentEnergyConsumption")
+public class EquipmentEnergyConsumptionController extends BaseController {
+
+
+    @Autowired
+    private EquipmentEnergyConsumptionService equipmentEnergyConsumptionService;
+
+    @GetMapping("/listPage")
+    @ApiOperation("璁惧鑳借��-鍒嗛〉鏌ヨ")
+    @Log(title = "璁惧鑳借��-鍒嗛〉鏌ヨ", businessType = BusinessType.OTHER)
+    public AjaxResult listPage(Page page, EquipmentEnergyConsumption equipmentEnergyConsumption) {
+        IPage<EquipmentEnergyConsumption> listPage = equipmentEnergyConsumptionService.listPage(page, equipmentEnergyConsumption);
+        return AjaxResult.success(listPage);
+    }
+
+    @GetMapping("/deviceList")
+    @ApiOperation("璁惧鍙拌处-鏌ヨ")
+    @Log(title = "璁惧鍙拌处-鏌ヨ", businessType = BusinessType.OTHER)
+    public AjaxResult deviceList(DeviceLedger deviceLedger) {
+        List<DeviceLedger> listPage = equipmentEnergyConsumptionService.deviceList(deviceLedger);
+        return AjaxResult.success(listPage);
+    }
+
+    @PostMapping("/add")
+    @ApiOperation("璁惧鑳借��-鏂板")
+    @Log(title = "璁惧鑳借��-鏂板", businessType = BusinessType.INSERT)
+    public AjaxResult add(@RequestBody EquipmentEnergyConsumption equipmentEnergyConsumption) {
+        boolean save = equipmentEnergyConsumptionService.save(equipmentEnergyConsumption);
+        return save ? AjaxResult.success() : AjaxResult.error();
+    }
+
+    @PostMapping("/update")
+    @ApiOperation("璁惧鑳借��-淇敼")
+    @Log(title = "璁惧鑳借��-淇敼", businessType = BusinessType.UPDATE)
+    public AjaxResult update(@RequestBody EquipmentEnergyConsumption equipmentEnergyConsumption) {
+        boolean update = equipmentEnergyConsumptionService.updateById(equipmentEnergyConsumption);
+        return update ? AjaxResult.success() : AjaxResult.error();
+    }
+
+    @DeleteMapping("/delete")
+    @ApiOperation("璁惧鑳借��-鍒犻櫎")
+    @Log(title = "璁惧鑳借��-鍒犻櫎", businessType = BusinessType.DELETE)
+    public AjaxResult delete(@RequestBody List<Long> ids) {
+        if(CollectionUtils.isEmpty(ids)) return AjaxResult.error("璇烽�夋嫨鑷冲皯涓�鏉℃暟鎹�");
+        boolean remove = equipmentEnergyConsumptionService.removeBatchByIds(ids);
+        return remove ? AjaxResult.success() : AjaxResult.error();
+    }
+
+    /**
+     * 瀵煎叆璁惧鑳借��
+     */
+    @Log(title = "瀵煎叆璁惧鑳借��", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file) throws Exception {
+        return equipmentEnergyConsumptionService.importData(file);
+    }
+
+    @GetMapping("/listPageByTrend")
+    @ApiOperation("璁惧鑳借��-鑳芥簮瓒嬪娍-鍒嗛〉鏌ヨ")
+    @Log(title = "璁惧鑳借��-鑳芥簮瓒嬪娍-鍒嗛〉鏌ヨ", businessType = BusinessType.OTHER)
+    public AjaxResult listPageByTrend(Page page, EquipmentEnergyConsumption equipmentEnergyConsumption) {
+        IPage<EquipmentEnergyConsumption> listPage = equipmentEnergyConsumptionService.listPageByTrend(page, equipmentEnergyConsumption);
+        return AjaxResult.success(listPage);
+    }
+
+
+
+}
diff --git a/src/main/java/com/ruoyi/equipmentenergyconsumption/mapper/EquipmentEnergyConsumptionMapper.java b/src/main/java/com/ruoyi/equipmentenergyconsumption/mapper/EquipmentEnergyConsumptionMapper.java
new file mode 100644
index 0000000..ba75dd9
--- /dev/null
+++ b/src/main/java/com/ruoyi/equipmentenergyconsumption/mapper/EquipmentEnergyConsumptionMapper.java
@@ -0,0 +1,23 @@
+package com.ruoyi.equipmentenergyconsumption.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.equipmentenergyconsumption.pojo.EquipmentEnergyConsumption;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * @author :yys
+ * @date : 2025/7/29 13:16
+ */
+public interface EquipmentEnergyConsumptionMapper extends BaseMapper<EquipmentEnergyConsumption> {
+    /**
+     * 鍒嗛〉鏌ヨ
+     * @param page
+     * @param equipmentEnergyConsumption
+     * @return
+     */
+    IPage<EquipmentEnergyConsumption> listPage(Page page,@Param("req") EquipmentEnergyConsumption equipmentEnergyConsumption);
+
+    IPage<EquipmentEnergyConsumption> listPageByTrend(Page page,@Param("req") EquipmentEnergyConsumption equipmentEnergyConsumption);
+}
diff --git a/src/main/java/com/ruoyi/equipmentenergyconsumption/pojo/EquipmentEnergyConsumption.java b/src/main/java/com/ruoyi/equipmentenergyconsumption/pojo/EquipmentEnergyConsumption.java
new file mode 100644
index 0000000..4ed1aff
--- /dev/null
+++ b/src/main/java/com/ruoyi/equipmentenergyconsumption/pojo/EquipmentEnergyConsumption.java
@@ -0,0 +1,138 @@
+package com.ruoyi.equipmentenergyconsumption.pojo;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.framework.aspectj.lang.annotation.Excel;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Builder;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+/**
+ * @author :yys
+ * @date : 2025/7/29 13:12
+ */
+@Data
+@TableName("equipment_energy_consumption")
+@ApiModel
+public class EquipmentEnergyConsumption {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 璁惧缂栧彿
+     */
+    @ApiModelProperty("璁惧缂栧彿")
+    @Excel(name = "璁惧缂栧彿")
+    private String code;
+
+    /**
+     * 璁惧鍚嶇О
+     */
+    @ApiModelProperty("璁惧鍚嶇О")
+    @Excel(name = "璁惧鍚嶇О")
+    private String name;
+
+    /**
+     * 棰濆畾鍔熺巼
+     */
+    @ApiModelProperty("棰濆畾鍔熺巼")
+    @Excel(name = "棰濆畾鍔熺巼")
+    private String powerRating;
+
+    /**
+     * 瀹為檯鍔熺巼
+     */
+    @ApiModelProperty("瀹為檯鍔熺巼")
+    @Excel(name = "瀹為檯鍔熺巼")
+    private String powerActual;
+
+
+    /**
+     * 褰撴棩鐢ㄧ數閲�
+     */
+    @ApiModelProperty("褰撴棩鐢ㄧ數閲�")
+    @Excel(name = "褰撴棩鐢ㄧ數閲�")
+    private BigDecimal dayNum;
+
+    /**
+     * 鏄ㄧ敤鐢甸噺
+     */
+    @ApiModelProperty("鏄ㄧ敤鐢甸噺")
+    @TableField(exist = false)
+    private BigDecimal toDayNum;
+
+    /**
+     * 鏈湀骞冲潎鐢甸噺锛�30澶╄绠楋級
+     */
+    @ApiModelProperty("鏈湀骞冲潎鐢甸噺锛�30澶╄绠楋級")
+    @TableField(exist = false)
+    private BigDecimal avgNum;
+
+
+    /**
+     * 瓒嬪娍
+     */
+    @ApiModelProperty("瓒嬪娍")
+    @TableField(exist = false)
+    private String trend;
+
+    /**
+     * 绱鐢ㄧ數閲�
+     */
+    @ApiModelProperty("绱鐢ㄧ數閲�")
+    @Excel(name = "绱鐢ㄧ數閲�")
+    private BigDecimal sumNum;
+    /**
+     * 杩愯鏃堕棿
+     */
+    @ApiModelProperty("杩愯鏃堕棿")
+    @Excel(name = "杩愯鏃堕棿" , width = 30, dateFormat = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private LocalDate runDate;
+
+    /**
+     * 姣忔棩闄愬埗鐢甸噺
+     */
+    @ApiModelProperty("姣忔棩闄愬埗鐢甸噺")
+    @Excel(name = "姣忔棩闄愬埗鐢甸噺")
+    private BigDecimal everyNum;
+
+    /**
+     * 鍒涘缓鑰�
+     */
+    @TableField(fill = FieldFill.INSERT)
+    private Integer createUser;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     */
+    @TableField(fill = FieldFill.INSERT)
+    private LocalDateTime createTime;
+
+    /**
+     * 淇敼鑰�
+     */
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private Integer updateUser;
+
+    /**
+     * 淇敼鏃堕棿
+     */
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private LocalDateTime updateTime;
+
+    /**
+     * 绉熸埛ID
+     */
+    @TableField(fill = FieldFill.INSERT)
+    private Long tenantId;
+
+}
diff --git a/src/main/java/com/ruoyi/equipmentenergyconsumption/service/EquipmentEnergyConsumptionService.java b/src/main/java/com/ruoyi/equipmentenergyconsumption/service/EquipmentEnergyConsumptionService.java
new file mode 100644
index 0000000..830e808
--- /dev/null
+++ b/src/main/java/com/ruoyi/equipmentenergyconsumption/service/EquipmentEnergyConsumptionService.java
@@ -0,0 +1,27 @@
+package com.ruoyi.equipmentenergyconsumption.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.device.pojo.DeviceLedger;
+import com.ruoyi.equipmentenergyconsumption.pojo.EquipmentEnergyConsumption;
+import com.ruoyi.framework.web.domain.AjaxResult;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.util.List;
+
+/**
+ * @author :yys
+ * @date : 2025/7/29 13:18
+ */
+public interface EquipmentEnergyConsumptionService extends IService<EquipmentEnergyConsumption> {
+
+
+    IPage<EquipmentEnergyConsumption> listPage(Page page, EquipmentEnergyConsumption equipmentEnergyConsumption);
+
+    AjaxResult importData(MultipartFile file);
+
+    IPage<EquipmentEnergyConsumption> listPageByTrend(Page page, EquipmentEnergyConsumption equipmentEnergyConsumption);
+
+    List<DeviceLedger> deviceList(DeviceLedger deviceLedger);
+}
diff --git a/src/main/java/com/ruoyi/equipmentenergyconsumption/service/impl/EquipmentEnergyConsumptionServiceImpl.java b/src/main/java/com/ruoyi/equipmentenergyconsumption/service/impl/EquipmentEnergyConsumptionServiceImpl.java
new file mode 100644
index 0000000..53214cc
--- /dev/null
+++ b/src/main/java/com/ruoyi/equipmentenergyconsumption/service/impl/EquipmentEnergyConsumptionServiceImpl.java
@@ -0,0 +1,97 @@
+package com.ruoyi.equipmentenergyconsumption.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.basic.pojo.Customer;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.device.mapper.DeviceLedgerMapper;
+import com.ruoyi.device.pojo.DeviceLedger;
+import com.ruoyi.equipmentenergyconsumption.mapper.EquipmentEnergyConsumptionMapper;
+import com.ruoyi.equipmentenergyconsumption.pojo.EquipmentEnergyConsumption;
+import com.ruoyi.equipmentenergyconsumption.service.EquipmentEnergyConsumptionService;
+import com.ruoyi.framework.web.domain.AjaxResult;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.time.LocalDate;
+import java.util.List;
+
+/**
+ * @author :yys
+ * @date : 2025/7/29 13:18
+ */
+@Service
+@Slf4j
+public class EquipmentEnergyConsumptionServiceImpl extends ServiceImpl<EquipmentEnergyConsumptionMapper, EquipmentEnergyConsumption> implements EquipmentEnergyConsumptionService {
+
+
+    @Autowired
+    private EquipmentEnergyConsumptionMapper equipmentEnergyConsumptionMapper;
+
+    @Autowired
+    private DeviceLedgerMapper deviceLedgerMapper;
+
+    @Override
+    public IPage<EquipmentEnergyConsumption> listPage(Page page, EquipmentEnergyConsumption equipmentEnergyConsumption) {
+        return equipmentEnergyConsumptionMapper.listPage(page, equipmentEnergyConsumption);
+    }
+
+    @Override
+    public AjaxResult importData(MultipartFile file) {
+        try {
+            ExcelUtil<EquipmentEnergyConsumption> util = new ExcelUtil<EquipmentEnergyConsumption>(EquipmentEnergyConsumption.class);
+            List<EquipmentEnergyConsumption> userList = util.importExcel(file.getInputStream());
+            if(CollectionUtils.isEmpty(userList)){
+                return AjaxResult.warn("妯℃澘閿欒鎴栧鍏ユ暟鎹负绌�");
+            }
+            this.saveOrUpdateBatch(userList);
+            return AjaxResult.success(true);
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("瀵煎叆澶辫触");
+        }
+    }
+
+    @Override
+    public IPage<EquipmentEnergyConsumption> listPageByTrend(Page page, EquipmentEnergyConsumption equipmentEnergyConsumption) {
+        IPage<EquipmentEnergyConsumption> list = equipmentEnergyConsumptionMapper.listPageByTrend(page, equipmentEnergyConsumption);
+        if (list.getTotal() > 0){
+            // 鑾峰彇鏈湀绗竴澶╋紝鏈�鍚庝竴澶�
+            LocalDate current = LocalDate.now();
+            LocalDate firstDay = LocalDate.of(current.getYear(), current.getMonth(), 1);
+            LocalDate lastDay = LocalDate.of(current.getYear(), current.getMonth(), current.lengthOfMonth());
+            list.getRecords().forEach(item -> {
+                // 璁$畻鏈湀骞冲潎鐢甸噺锛堟眰鍜屾寜鑷劧鏈堟潵锛屾寜30澶╂眰骞冲潎鏁帮級
+                List<EquipmentEnergyConsumption> eqmList = equipmentEnergyConsumptionMapper.selectList(new LambdaQueryWrapper<EquipmentEnergyConsumption>()
+                        .eq(EquipmentEnergyConsumption::getCode, item.getCode())
+                        .ge(EquipmentEnergyConsumption::getRunDate, lastDay)
+                        .lt(EquipmentEnergyConsumption::getRunDate, firstDay));
+                if (!CollectionUtils.isEmpty(eqmList)){
+                    BigDecimal avgNum = eqmList.stream().map(EquipmentEnergyConsumption::getDayNum).reduce(BigDecimal.ZERO, BigDecimal::add).divide(new BigDecimal(30), 2, RoundingMode.HALF_UP);
+                    item.setAvgNum(avgNum);
+                    BigDecimal subtract = item.getToDayNum().subtract(item.getAvgNum());
+                    if (subtract.compareTo(BigDecimal.ZERO) > 0){
+                        item.setTrend("鏄ㄦ棩鐢ㄧ數姣斿钩鍧囩數閲忓" +  subtract + "搴�");
+                    }else if (subtract.compareTo(BigDecimal.ZERO) < 0){
+                        item.setTrend("鏄ㄦ棩鐢ㄧ數姣斿钩鍧囩數閲忓皯" +  subtract.abs() + "搴�");
+                    }else {
+                        item.setTrend("鏄ㄦ棩鐢ㄧ數鍜屽钩鍧囩數閲忔寔骞�");
+                    }
+                }
+            });
+        }
+        return list;
+    }
+
+    @Override
+    public List<DeviceLedger> deviceList(DeviceLedger deviceLedger) {
+        return deviceLedgerMapper.selectList(null);
+    }
+}
diff --git a/src/main/resources/mapper/equipmentenergyconsumption/EquipmentEnergyConsumptionMapper.xml b/src/main/resources/mapper/equipmentenergyconsumption/EquipmentEnergyConsumptionMapper.xml
new file mode 100644
index 0000000..18a5700
--- /dev/null
+++ b/src/main/resources/mapper/equipmentenergyconsumption/EquipmentEnergyConsumptionMapper.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.equipmentenergyconsumption.mapper.EquipmentEnergyConsumptionMapper">
+
+    <select id="listPage" resultType="com.ruoyi.equipmentenergyconsumption.pojo.EquipmentEnergyConsumption">
+        select * from equipment_energy_consumption
+        where 1=1
+        <if test="req.name != null and req.name != ''">
+            and `name` like concat('%',#{req.name},'%')
+        </if>
+    </select>
+    <select id="listPageByTrend" resultType="com.ruoyi.equipmentenergyconsumption.pojo.EquipmentEnergyConsumption">
+        SELECT
+            *,
+            day_num as toDayNum
+        FROM
+            equipment_energy_consumption
+        WHERE
+            run_date = DATE_SUB(CURRENT_DATE(), INTERVAL 1 DAY)
+        GROUP BY
+            `code`
+        ORDER BY
+            update_time DESC;
+    </select>
+</mapper>
\ No newline at end of file

--
Gitblit v1.9.3