zss
10 天以前 000f0198bfc7b3309e5230d967c4d35fa9da95a2
用电区域代码优化
已修改6个文件
已添加1个文件
124 ■■■■ 文件已修改
src/main/java/com/ruoyi/equipmentenergyconsumption/controller/ElectricityConsumptionAreaController.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/equipmentenergyconsumption/dto/ElectricityConsumptionAreaTreeDto.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/equipmentenergyconsumption/mapper/ElectricityConsumptionAreaMapper.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/equipmentenergyconsumption/pojo/ElectricityConsumptionArea.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/equipmentenergyconsumption/service/ElectricityConsumptionAreaService.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/equipmentenergyconsumption/service/impl/ElectricityConsumptionAreaServiceImpl.java 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/production/SalesLedgerProductionAccountingMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
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 , "用电区域数据");
    }
}
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;
}
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);
}
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
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();
}
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;
    }
}
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},'%')