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