From bb6aeccaad6a7bdf842828d6fb11f3fb61be76eb Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期六, 28 三月 2026 15:08:56 +0800
Subject: [PATCH] 关于能耗的统计调整2.0

---
 src/main/java/com/ruoyi/energy/mapper/EnergyConsumptionDetailMapper.java            |    7 ++-
 src/main/java/com/ruoyi/energy/dto/EnergyCostDto.java                               |    4 -
 src/main/java/com/ruoyi/energy/service/impl/EnergyConsumptionDetailServiceImpl.java |   10 ++--
 src/main/java/com/ruoyi/energy/dto/EnergyAccountDto.java                            |    2 
 src/main/java/com/ruoyi/productionPlan/controller/SalesDeliveryController.java      |    8 +++
 src/main/java/com/ruoyi/energy/dto/EnergyDetailDto.java                             |   54 +++++++++++++++++++++++++++
 src/main/resources/mapper/energy/EnergyConsumptionDetailMapper.xml                  |   24 +++++++----
 7 files changed, 87 insertions(+), 22 deletions(-)

diff --git a/src/main/java/com/ruoyi/energy/dto/EnergyAccountDto.java b/src/main/java/com/ruoyi/energy/dto/EnergyAccountDto.java
index efdaa07..f9f2a7d 100644
--- a/src/main/java/com/ruoyi/energy/dto/EnergyAccountDto.java
+++ b/src/main/java/com/ruoyi/energy/dto/EnergyAccountDto.java
@@ -27,5 +27,5 @@
     private List<EnergyConsumptionTypeDto> energyConsumptionTypeProportion;
 
     @ApiModelProperty("鑳借�楃被鍨嬫槑缁�")
-    private List<EnergyConsumptionDetailDto> energyConsumptionDetailDtoList;
+    private List<EnergyDetailDto> energyConsumptionDetailDtoList;
 }
diff --git a/src/main/java/com/ruoyi/energy/dto/EnergyCostDto.java b/src/main/java/com/ruoyi/energy/dto/EnergyCostDto.java
index a24880e..9a9fa97 100644
--- a/src/main/java/com/ruoyi/energy/dto/EnergyCostDto.java
+++ b/src/main/java/com/ruoyi/energy/dto/EnergyCostDto.java
@@ -16,9 +16,7 @@
 public class EnergyCostDto {
 
     @ApiModelProperty("鏃ユ湡")
-    @JsonFormat(pattern = "yyyy-MM-dd")
-    @DateTimeFormat(pattern = "yyyy-MM-dd")
-    private LocalDate meterReadingDate;
+    private String meterReadingDate;
 
     @ApiModelProperty("鐢ㄦ按閲�")
     private BigDecimal waterConsumption;
diff --git a/src/main/java/com/ruoyi/energy/dto/EnergyDetailDto.java b/src/main/java/com/ruoyi/energy/dto/EnergyDetailDto.java
new file mode 100644
index 0000000..3896d08
--- /dev/null
+++ b/src/main/java/com/ruoyi/energy/dto/EnergyDetailDto.java
@@ -0,0 +1,54 @@
+package com.ruoyi.energy.dto;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.energy.pojo.EnergyConsumptionDetail;
+import com.ruoyi.framework.aspectj.lang.annotation.Excel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.math.BigDecimal;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+//鑳借�楁槑缁�
+@Data
+public class EnergyDetailDto {
+
+    @ApiModelProperty("鑳芥簮绫诲瀷")
+    private String energyTyep;
+
+    @ApiModelProperty("鑳芥簮鍚嶇О")
+    private String energyName;
+
+    @ApiModelProperty("鍗曚綅")
+    private String unit;
+
+    //鍒涘缓浜�
+    private String createUserName;
+
+    //璐圭敤
+    private BigDecimal cost;
+
+    //鍗曚环
+    private BigDecimal unitPrice;
+
+    @ApiModelProperty("鍔炲叕/鐢熶骇")
+    private String type;
+
+    @ApiModelProperty("鎶勮〃浣嶇疆")
+    private String meterReadingLocation;
+
+    @ApiModelProperty("鏃ユ湡")
+    private String meterReadingDate;
+
+    @ApiModelProperty("鐢ㄩ噺")
+    private BigDecimal dosage;
+
+    @ApiModelProperty("澶囨敞")
+    private String remark;
+
+}
diff --git a/src/main/java/com/ruoyi/energy/mapper/EnergyConsumptionDetailMapper.java b/src/main/java/com/ruoyi/energy/mapper/EnergyConsumptionDetailMapper.java
index c226aea..62920a3 100644
--- a/src/main/java/com/ruoyi/energy/mapper/EnergyConsumptionDetailMapper.java
+++ b/src/main/java/com/ruoyi/energy/mapper/EnergyConsumptionDetailMapper.java
@@ -5,6 +5,7 @@
 import com.ruoyi.energy.dto.EnergyConsumptionDetailDto;
 import com.ruoyi.energy.dto.EnergyConsumptionTypeDto;
 import com.ruoyi.energy.dto.EnergyCostDto;
+import com.ruoyi.energy.dto.EnergyDetailDto;
 import com.ruoyi.energy.pojo.EnergyConsumptionDetail;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ruoyi.energy.vo.EnergyStatisticsVo;
@@ -40,9 +41,9 @@
     List<EnergyCostDto> energyCostDtos3(@Param("c") EnergyStatisticsVo energyStatisticsVo);
 
     //鏃ヨ兘鑰楃被鍨嬫槑缁�
-    List<EnergyConsumptionDetailDto> energyConsumptionDetailDtos1(@Param("c") EnergyStatisticsVo energyStatisticsVo);
+    List<EnergyDetailDto> energyConsumptionDetailDtos1(@Param("c") EnergyStatisticsVo energyStatisticsVo);
     //鏈堣兘鑰楃被鍨嬫槑缁�
-    List<EnergyConsumptionDetailDto> energyConsumptionDetailDtos2(@Param("c") EnergyStatisticsVo energyStatisticsVo);
+    List<EnergyDetailDto> energyConsumptionDetailDtos2(@Param("c") EnergyStatisticsVo energyStatisticsVo);
     //骞磋兘鑰楃被鍨嬫槑缁�
-    List<EnergyConsumptionDetailDto> energyConsumptionDetailDtos3(@Param("c") EnergyStatisticsVo energyStatisticsVo);
+    List<EnergyDetailDto> energyConsumptionDetailDtos3(@Param("c") EnergyStatisticsVo energyStatisticsVo);
 }
diff --git a/src/main/java/com/ruoyi/energy/service/impl/EnergyConsumptionDetailServiceImpl.java b/src/main/java/com/ruoyi/energy/service/impl/EnergyConsumptionDetailServiceImpl.java
index ae6b522..50e280a 100644
--- a/src/main/java/com/ruoyi/energy/service/impl/EnergyConsumptionDetailServiceImpl.java
+++ b/src/main/java/com/ruoyi/energy/service/impl/EnergyConsumptionDetailServiceImpl.java
@@ -160,20 +160,20 @@
         List<EnergyConsumptionTypeDto> energyConsumptionTypeDtos=energyConsumptionDetailMapper.energyConsumptionTypeProportion(energyStatisticsVo);
         energyAccountDto.setEnergyConsumptionTypeProportion(energyConsumptionTypeDtos);
         //鑳借�楃被鍨嬫槑缁�
-        List<EnergyConsumptionDetailDto> energyConsumptionDetailDtoList = new ArrayList<>();
+        List<EnergyDetailDto> energyDetailDtos = new ArrayList<>();
         //鍒ゆ柇鏃�/鏈�/骞�
         switch (energyStatisticsVo.getState()){
             case "鏃�":
-                energyConsumptionDetailDtoList=energyConsumptionDetailMapper.energyConsumptionDetailDtos1(energyStatisticsVo);
+                energyDetailDtos=energyConsumptionDetailMapper.energyConsumptionDetailDtos1(energyStatisticsVo);
                 break;
             case "鏈�":
-                energyConsumptionDetailDtoList=energyConsumptionDetailMapper.energyConsumptionDetailDtos2(energyStatisticsVo);
+                energyDetailDtos=energyConsumptionDetailMapper.energyConsumptionDetailDtos2(energyStatisticsVo);
                 break;
             case "骞�":
-                energyConsumptionDetailDtoList=energyConsumptionDetailMapper.energyConsumptionDetailDtos3(energyStatisticsVo);
+                energyDetailDtos=energyConsumptionDetailMapper.energyConsumptionDetailDtos3(energyStatisticsVo);
                 break;
         }
-        energyAccountDto.setEnergyConsumptionDetailDtoList(energyConsumptionDetailDtoList);
+        energyAccountDto.setEnergyConsumptionDetailDtoList(energyDetailDtos);
         return energyAccountDto;
     }
 
diff --git a/src/main/java/com/ruoyi/productionPlan/controller/SalesDeliveryController.java b/src/main/java/com/ruoyi/productionPlan/controller/SalesDeliveryController.java
index ed76ec3..9e12996 100644
--- a/src/main/java/com/ruoyi/productionPlan/controller/SalesDeliveryController.java
+++ b/src/main/java/com/ruoyi/productionPlan/controller/SalesDeliveryController.java
@@ -1,6 +1,13 @@
 package com.ruoyi.productionPlan.controller;
 
+import com.ruoyi.energy.vo.EnergyStatisticsVo;
+import com.ruoyi.framework.web.domain.R;
+import com.ruoyi.productionPlan.pojo.SalesDelivery;
+import com.ruoyi.productionPlan.service.SalesDeliveryService;
 import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
@@ -16,5 +23,4 @@
 @RequestMapping("/salesDelivery")
 @Api(tags = "閿�鍞彂璐ф槑缁�")
 public class SalesDeliveryController {
-
 }
diff --git a/src/main/resources/mapper/energy/EnergyConsumptionDetailMapper.xml b/src/main/resources/mapper/energy/EnergyConsumptionDetailMapper.xml
index 9feaab6..4540963 100644
--- a/src/main/resources/mapper/energy/EnergyConsumptionDetailMapper.xml
+++ b/src/main/resources/mapper/energy/EnergyConsumptionDetailMapper.xml
@@ -67,7 +67,8 @@
             group by e.energy_tyep
     </select>
     <select id="energyCostDtos1" resultType="com.ruoyi.energy.dto.EnergyCostDto">
-    select  z.meter_reading_date,
+    select distinct
+           z.meter_reading_date,
            COALESCE(A.waterConsumption, 0) waterConsumption,
            COALESCE(A.waterCost, 0) waterCost,
            COALESCE(B.electricityConsumption, 0) electricityConsumption,
@@ -119,7 +120,8 @@
     order by z.meter_reading_date
     </select>
     <select id="energyCostDtos2" resultType="com.ruoyi.energy.dto.EnergyCostDto">
-    select DATE_FORMAT(z.meter_reading_date, '%Y-%m') AS meterReadingDate ,
+    select distinct
+           DATE_FORMAT(z.meter_reading_date, '%Y-%m') AS meterReadingDate ,
            COALESCE(A.waterConsumption, 0) waterConsumption,
            COALESCE(A.waterCost, 0) waterCost,
            COALESCE(B.electricityConsumption, 0) electricityConsumption,
@@ -171,7 +173,8 @@
     order by DATE_FORMAT(z.meter_reading_date, '%Y-%m')
     </select>
     <select id="energyCostDtos3" resultType="com.ruoyi.energy.dto.EnergyCostDto">
-    select  DATE_FORMAT(z.meter_reading_date, '%Y') AS  meterReadingDate,
+    select distinct
+           DATE_FORMAT(z.meter_reading_date, '%Y') AS  meterReadingDate,
            COALESCE(A.waterConsumption, 0) waterConsumption,
            COALESCE(A.waterCost, 0) waterCost,
            COALESCE(B.electricityConsumption, 0) electricityConsumption,
@@ -222,8 +225,9 @@
         on DATE_FORMAT(z.meter_reading_date, '%Y')=C.meterReadingDate
     order by DATE_FORMAT(z.meter_reading_date, '%Y')
     </select>
-    <select id="energyConsumptionDetailDtos1" resultType="com.ruoyi.energy.dto.EnergyConsumptionDetailDto">
-        select ecd.meter_reading_date,
+    <select id="energyConsumptionDetailDtos1" resultType="com.ruoyi.energy.dto.EnergyDetailDto">
+        select distinct
+               ecd.meter_reading_date,
                e.energy_tyep,
                ecd.type,
                e.unit,
@@ -240,8 +244,9 @@
                      e.unit_price
         order by ecd.meter_reading_date
     </select>
-    <select id="energyConsumptionDetailDtos2" resultType="com.ruoyi.energy.dto.EnergyConsumptionDetailDto">
-        select DATE_FORMAT(ecd.meter_reading_date, '%Y-%m') AS meterReadingDate ,
+    <select id="energyConsumptionDetailDtos2" resultType="com.ruoyi.energy.dto.EnergyDetailDto">
+        select distinct
+               DATE_FORMAT(ecd.meter_reading_date, '%Y-%m') AS meterReadingDate ,
                e.energy_tyep,
                ecd.type,
                e.unit,
@@ -258,8 +263,9 @@
                  e.unit_price
         order by DATE_FORMAT(ecd.meter_reading_date, '%Y-%m')
     </select>
-    <select id="energyConsumptionDetailDtos3" resultType="com.ruoyi.energy.dto.EnergyConsumptionDetailDto">
-        select DATE_FORMAT(ecd.meter_reading_date, '%Y') AS meterReadingDate,
+    <select id="energyConsumptionDetailDtos3" resultType="com.ruoyi.energy.dto.EnergyDetailDto">
+        select distinct
+               DATE_FORMAT(ecd.meter_reading_date, '%Y') AS meterReadingDate,
                e.energy_tyep,
                ecd.type,
                e.unit,

--
Gitblit v1.9.3