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