From 000f0198bfc7b3309e5230d967c4d35fa9da95a2 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期四, 14 八月 2025 16:37:51 +0800
Subject: [PATCH] 用电区域代码优化

---
 src/main/java/com/ruoyi/equipmentenergyconsumption/pojo/ElectricityConsumptionArea.java                    |    4 -
 src/main/resources/mapper/production/SalesLedgerProductionAccountingMapper.xml                             |    4 
 src/main/java/com/ruoyi/equipmentenergyconsumption/service/ElectricityConsumptionAreaService.java          |    6 ++
 src/main/java/com/ruoyi/equipmentenergyconsumption/dto/ElectricityConsumptionAreaTreeDto.java              |   22 +++++++
 src/main/java/com/ruoyi/equipmentenergyconsumption/mapper/ElectricityConsumptionAreaMapper.java            |    3 
 src/main/java/com/ruoyi/equipmentenergyconsumption/controller/ElectricityConsumptionAreaController.java    |   33 ++++-------
 src/main/java/com/ruoyi/equipmentenergyconsumption/service/impl/ElectricityConsumptionAreaServiceImpl.java |   54 ++++++++++++++++++
 7 files changed, 98 insertions(+), 28 deletions(-)

diff --git a/src/main/java/com/ruoyi/equipmentenergyconsumption/controller/ElectricityConsumptionAreaController.java b/src/main/java/com/ruoyi/equipmentenergyconsumption/controller/ElectricityConsumptionAreaController.java
index 8381c9d..e6babfe 100644
--- a/src/main/java/com/ruoyi/equipmentenergyconsumption/controller/ElectricityConsumptionAreaController.java
+++ b/src/main/java/com/ruoyi/equipmentenergyconsumption/controller/ElectricityConsumptionAreaController.java
@@ -2,8 +2,11 @@
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.basic.dto.ProductDto;
+import com.ruoyi.basic.dto.ProductTreeDto;
 import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.device.pojo.DeviceLedger;
+import com.ruoyi.equipmentenergyconsumption.dto.ElectricityConsumptionAreaTreeDto;
 import com.ruoyi.equipmentenergyconsumption.pojo.ElectricityConsumptionArea;
 import com.ruoyi.equipmentenergyconsumption.service.ElectricityConsumptionAreaService;
 import com.ruoyi.framework.aspectj.lang.annotation.Log;
@@ -27,6 +30,14 @@
     @Autowired
     private ElectricityConsumptionAreaService electricityConsumptionAreaService;
 
+    /**
+     * 鏌ヨ鏍戠粨鏋�
+     */
+    @GetMapping("/list")
+    public List<ElectricityConsumptionAreaTreeDto> selectElectricityConsumptionAreaList() {
+        return electricityConsumptionAreaService.selectElectricityConsumptionAreaList();
+    }
+
     @GetMapping("/listPage")
     @ApiOperation("鐢ㄧ數鍖哄煙-鍒嗛〉鏌ヨ")
     @Log(title = "鐢ㄧ數鍖哄煙-鍒嗛〉鏌ヨ", businessType = BusinessType.OTHER)
@@ -39,16 +50,8 @@
     @ApiOperation("鐢ㄧ數鍖哄煙-鏂板")
     @Log(title = "鐢ㄧ數鍖哄煙-鏂板", businessType = BusinessType.INSERT)
     public AjaxResult add(@RequestBody ElectricityConsumptionArea electricityConsumptionArea) {
-        boolean save = electricityConsumptionAreaService.save(electricityConsumptionArea);
+        boolean save = electricityConsumptionAreaService.saveOrUpdate(electricityConsumptionArea);
         return save ? AjaxResult.success() : AjaxResult.error();
-    }
-
-    @PostMapping("/update")
-    @ApiOperation("鐢ㄧ數鍖哄煙-淇敼")
-    @Log(title = "鐢ㄧ數鍖哄煙-淇敼", businessType = BusinessType.UPDATE)
-    public AjaxResult update(@RequestBody ElectricityConsumptionArea electricityConsumptionArea) {
-        boolean update = electricityConsumptionAreaService.updateById(electricityConsumptionArea);
-        return update ? AjaxResult.success() : AjaxResult.error();
     }
 
     @DeleteMapping("/delete")
@@ -58,18 +61,6 @@
         if(CollectionUtils.isEmpty(ids)) return AjaxResult.error("璇烽�夋嫨鑷冲皯涓�鏉℃暟鎹�");
         boolean remove = electricityConsumptionAreaService.removeBatchByIds(ids);
         return remove ? AjaxResult.success() : AjaxResult.error();
-    }
-
-
-    /**
-     * 瀵煎嚭鐢ㄧ數鍖哄煙
-     */
-    @Log(title = "瀵煎嚭鐢ㄧ數鍖哄煙", businessType = BusinessType.EXPORT)
-    @PostMapping("/export")
-    @ApiOperation("瀵煎嚭鐢ㄧ數鍖哄煙")
-    public void export(HttpServletResponse response) {
-        ExcelUtil<ElectricityConsumptionArea> util = new ExcelUtil<ElectricityConsumptionArea>(ElectricityConsumptionArea.class);
-        util.exportExcel(response, null , "鐢ㄧ數鍖哄煙鏁版嵁");
     }
 
 }
diff --git a/src/main/java/com/ruoyi/equipmentenergyconsumption/dto/ElectricityConsumptionAreaTreeDto.java b/src/main/java/com/ruoyi/equipmentenergyconsumption/dto/ElectricityConsumptionAreaTreeDto.java
new file mode 100644
index 0000000..b481090
--- /dev/null
+++ b/src/main/java/com/ruoyi/equipmentenergyconsumption/dto/ElectricityConsumptionAreaTreeDto.java
@@ -0,0 +1,22 @@
+package com.ruoyi.equipmentenergyconsumption.dto;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.ruoyi.basic.dto.ProductTreeDto;
+import com.ruoyi.framework.aspectj.lang.annotation.Excel;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+
+@Data
+public class ElectricityConsumptionAreaTreeDto {
+
+        private Long id;
+        private Long parentId;
+        private String productName;
+        private String label; // 鐢ㄤ簬鏍戝舰缁撴瀯鐨勬樉绀哄悕绉�
+        private List<ElectricityConsumptionAreaTreeDto> children;
+
+}
diff --git a/src/main/java/com/ruoyi/equipmentenergyconsumption/mapper/ElectricityConsumptionAreaMapper.java b/src/main/java/com/ruoyi/equipmentenergyconsumption/mapper/ElectricityConsumptionAreaMapper.java
index d9bd3c6..337ae70 100644
--- a/src/main/java/com/ruoyi/equipmentenergyconsumption/mapper/ElectricityConsumptionAreaMapper.java
+++ b/src/main/java/com/ruoyi/equipmentenergyconsumption/mapper/ElectricityConsumptionAreaMapper.java
@@ -5,10 +5,11 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.equipmentenergyconsumption.pojo.ElectricityConsumptionArea;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 @Mapper
 public interface ElectricityConsumptionAreaMapper extends BaseMapper<ElectricityConsumptionArea> {
 
-    IPage<ElectricityConsumptionArea> listPage(Page page, ElectricityConsumptionArea electricityConsumptionArea);
+    IPage<ElectricityConsumptionArea> listPage(Page page, @Param("electricityConsumptionArea") ElectricityConsumptionArea electricityConsumptionArea);
 }
diff --git a/src/main/java/com/ruoyi/equipmentenergyconsumption/pojo/ElectricityConsumptionArea.java b/src/main/java/com/ruoyi/equipmentenergyconsumption/pojo/ElectricityConsumptionArea.java
index e022468..4911305 100644
--- a/src/main/java/com/ruoyi/equipmentenergyconsumption/pojo/ElectricityConsumptionArea.java
+++ b/src/main/java/com/ruoyi/equipmentenergyconsumption/pojo/ElectricityConsumptionArea.java
@@ -19,25 +19,21 @@
          * 鍖哄煙鍚嶇О
          */
         @ApiModelProperty("鍖哄煙鍚嶇О")
-        @Excel(name = "鍖哄煙鍚嶇О")
         private String areaName;
 
         /**
          * 鍖哄煙绫诲瀷
          */
         @ApiModelProperty("鍖哄煙绫诲瀷")
-        @Excel(name = "鍖哄煙绫诲瀷")
         private String areaType;
         /**
          * 鎺掑簭
          */
-        @TableField(fill = FieldFill.INSERT)
         private Long sort;
 
         /**
          * 鐖剁被id
          */
-        @TableField(fill = FieldFill.INSERT)
         private Long fuId;
         /**
          * 绉熸埛id
diff --git a/src/main/java/com/ruoyi/equipmentenergyconsumption/service/ElectricityConsumptionAreaService.java b/src/main/java/com/ruoyi/equipmentenergyconsumption/service/ElectricityConsumptionAreaService.java
index e303be9..87c4e0d 100644
--- a/src/main/java/com/ruoyi/equipmentenergyconsumption/service/ElectricityConsumptionAreaService.java
+++ b/src/main/java/com/ruoyi/equipmentenergyconsumption/service/ElectricityConsumptionAreaService.java
@@ -3,8 +3,14 @@
 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.basic.dto.ProductTreeDto;
+import com.ruoyi.equipmentenergyconsumption.dto.ElectricityConsumptionAreaTreeDto;
 import com.ruoyi.equipmentenergyconsumption.pojo.ElectricityConsumptionArea;
+
+import java.util.List;
 
 public interface ElectricityConsumptionAreaService extends IService<ElectricityConsumptionArea> {
     IPage<ElectricityConsumptionArea> listPage(Page page, ElectricityConsumptionArea electricityConsumptionArea);
+
+    List<ElectricityConsumptionAreaTreeDto> selectElectricityConsumptionAreaList();
 }
diff --git a/src/main/java/com/ruoyi/equipmentenergyconsumption/service/impl/ElectricityConsumptionAreaServiceImpl.java b/src/main/java/com/ruoyi/equipmentenergyconsumption/service/impl/ElectricityConsumptionAreaServiceImpl.java
index 2874fc1..abccda9 100644
--- a/src/main/java/com/ruoyi/equipmentenergyconsumption/service/impl/ElectricityConsumptionAreaServiceImpl.java
+++ b/src/main/java/com/ruoyi/equipmentenergyconsumption/service/impl/ElectricityConsumptionAreaServiceImpl.java
@@ -1,8 +1,13 @@
 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.dto.ProductTreeDto;
+import com.ruoyi.basic.pojo.Product;
+import com.ruoyi.common.utils.bean.BeanUtils;
+import com.ruoyi.equipmentenergyconsumption.dto.ElectricityConsumptionAreaTreeDto;
 import com.ruoyi.equipmentenergyconsumption.mapper.ElectricityConsumptionAreaMapper;
 import com.ruoyi.equipmentenergyconsumption.pojo.ElectricityConsumptionArea;
 import com.ruoyi.equipmentenergyconsumption.service.ElectricityConsumptionAreaService;
@@ -10,6 +15,9 @@
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
 
 
 @Service
@@ -23,4 +31,50 @@
     public IPage<ElectricityConsumptionArea> listPage(Page page, ElectricityConsumptionArea electricityConsumptionArea) {
         return electricityConsumptionAreaMapper.listPage(page,electricityConsumptionArea);
     }
+
+
+    //宸︿晶鏍戠粨鏋�
+    @Override
+    public List<ElectricityConsumptionAreaTreeDto> selectElectricityConsumptionAreaList() {
+        // 鏌ヨ鏍硅妭鐐癸紙parentId 涓� null锛�
+        LambdaQueryWrapper<ElectricityConsumptionArea> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.isNull(ElectricityConsumptionArea::getFuId);
+        // 鏌ヨ鏍硅妭鐐瑰垪琛�
+        List<ElectricityConsumptionArea> rootProducts = electricityConsumptionAreaMapper.selectList(queryWrapper);
+
+        // 杞崲涓烘爲鑺傜偣骞堕�掑綊鏋勫缓瀛愭爲
+        List<ElectricityConsumptionAreaTreeDto> tree = new ArrayList<>();
+        for (ElectricityConsumptionArea electricityConsumptionArea : rootProducts) {
+            ElectricityConsumptionAreaTreeDto node = convertToTreeDto(electricityConsumptionArea);
+            node.setChildren(buildChildrenNodes(electricityConsumptionArea.getId()));
+            tree.add(node);
+        }
+        return tree;
+    }
+
+    // 灏� Product 杞崲涓� ProductTreeDto
+    private ElectricityConsumptionAreaTreeDto convertToTreeDto(ElectricityConsumptionArea electricityConsumptionArea) {
+        ElectricityConsumptionAreaTreeDto dto = new ElectricityConsumptionAreaTreeDto();
+        BeanUtils.copyProperties(electricityConsumptionArea, dto);
+        dto.setLabel(electricityConsumptionArea.getAreaName()); // 璁剧疆 label 涓轰骇鍝佸悕绉�
+        dto.setChildren(new ArrayList<>());
+        return dto;
+    }
+
+    // 閫掑綊鏋勫缓瀛愯妭鐐�
+    private List<ElectricityConsumptionAreaTreeDto> buildChildrenNodes(Long parentId) {
+        // 鏌ヨ褰撳墠鐖惰妭鐐圭殑瀛愯妭鐐�
+        LambdaQueryWrapper<ElectricityConsumptionArea> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(ElectricityConsumptionArea::getFuId, parentId);
+        List<ElectricityConsumptionArea> childProducts = electricityConsumptionAreaMapper.selectList(queryWrapper);
+
+        // 杞崲瀛愯妭鐐瑰苟閫掑綊鏋勫缓瀹冧滑鐨勫瓙鏍�
+        List<ElectricityConsumptionAreaTreeDto> children = new ArrayList<>();
+        for (ElectricityConsumptionArea child : childProducts) {
+            ElectricityConsumptionAreaTreeDto childNode = convertToTreeDto(child);
+            childNode.setChildren(buildChildrenNodes(child.getId()));
+            children.add(childNode);
+        }
+        return children;
+    }
 }
diff --git a/src/main/resources/mapper/production/SalesLedgerProductionAccountingMapper.xml b/src/main/resources/mapper/production/SalesLedgerProductionAccountingMapper.xml
index f30adaa..29b88f2 100644
--- a/src/main/resources/mapper/production/SalesLedgerProductionAccountingMapper.xml
+++ b/src/main/resources/mapper/production/SalesLedgerProductionAccountingMapper.xml
@@ -26,7 +26,7 @@
         <where>
             t3.type = 1
             <if test="salesLedgerDto.schedulingUserName != null and salesLedgerDto.schedulingUserName != '' ">
-                AND  t4.scheduling_user_uame LIKE CONCAT('%',#{salesLedgerDto.schedulingUserName},'%')
+                AND  t4.scheduling_user_name LIKE CONCAT('%',#{salesLedgerDto.schedulingUserName},'%')
             </if>
             <if test="salesLedgerDto.customerName != null and salesLedgerDto.customerName != '' ">
                 AND  T1.customer_name LIKE CONCAT('%',#{salesLedgerDto.customerName},'%')
@@ -50,4 +50,4 @@
         group by t4.id
         order by t4.update_time desc
     </select>
-</mapper>
\ No newline at end of file
+</mapper>

--
Gitblit v1.9.3