liyong
2026-04-30 85d52eed85088ebbe499b038b1ce8c3d58521ded
refactor(sales): 优化销售台账实体字段映射和数据处理

- 将SalesLedger实体中isProduce字段改为produce并添加@TableField注解
- 在SalesLedgerDto中为produce字段添加@JsonAlias("isProduce")注解
- 更新SalesLedgerMapper.xml中的查询语句以匹配新的字段名
- 移除类中不必要的导入包和常量定义
- 修改handleSalesLedgerProducts方法中的参数传递方式
- 修复convertToEntity方法中字段映射逻辑
已修改4个文件
34 ■■■■■ 文件已修改
src/main/java/com/ruoyi/sales/dto/SalesLedgerDto.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/sales/pojo/SalesLedger.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java 23 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/sales/SalesLedgerMapper.xml 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/sales/dto/SalesLedgerDto.java
@@ -1,6 +1,7 @@
package com.ruoyi.sales.dto;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonAlias;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.sales.pojo.CommonFile;
import com.ruoyi.sales.pojo.SalesLedgerProduct;
@@ -60,5 +61,6 @@
    private LocalDate deliveryDate;
    @ApiModelProperty(value = "是否生产")
    private boolean produce;
    @JsonAlias("isProduce")
    private Boolean produce;
}
src/main/java/com/ruoyi/sales/pojo/SalesLedger.java
@@ -180,6 +180,7 @@
     * 是否生产
     */
    @ApiModelProperty(value = "是否生产")
    private boolean isProduce;
    @TableField(value = "is_produce")
    private Boolean produce;
}
src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
@@ -1,10 +1,5 @@
package com.ruoyi.sales.service.impl;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.write.metadata.WriteSheet;
import com.alibaba.excel.write.metadata.fill.FillConfig;
import com.alibaba.excel.write.metadata.fill.FillWrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -13,9 +8,6 @@
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.deepoove.poi.XWPFTemplate;
import com.deepoove.poi.config.Configure;
import com.ruoyi.account.pojo.AccountIncome;
import com.ruoyi.account.service.AccountIncomeService;
import com.ruoyi.basic.mapper.CustomerMapper;
import com.ruoyi.basic.mapper.ProductMapper;
@@ -25,11 +17,9 @@
import com.ruoyi.common.enums.FileNameType;
import com.ruoyi.common.exception.base.BaseException;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.HackLoopTableRenderPolicy;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.device.execl.DeviceMaintenanceExeclDto;
import com.ruoyi.framework.security.LoginUser;
import com.ruoyi.framework.web.domain.AjaxResult;
import com.ruoyi.other.mapper.TempFileMapper;
@@ -46,7 +36,6 @@
import com.ruoyi.sales.pojo.*;
import com.ruoyi.sales.service.ISalesLedgerProductService;
import com.ruoyi.sales.service.ISalesLedgerService;
import com.ruoyi.sales.vo.ShippingNoteVo;
import com.ruoyi.stock.mapper.StockInventoryMapper;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@@ -65,12 +54,12 @@
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.io.IOException;
import java.io.InputStream;
import java.lang.reflect.Field;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
@@ -78,14 +67,11 @@
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.YearMonth;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.concurrent.TimeUnit;
import java.util.function.Function;
import java.util.stream.Collectors;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
/**
 * 销售台账Service业务层处理
@@ -897,7 +883,7 @@
            // 4. 处理子表数据
            List<SalesLedgerProduct> productList = salesLedgerDto.getProductData();
            if (productList != null && !productList.isEmpty()) {
                handleSalesLedgerProducts(salesLedger.getId(), productList, salesLedgerDto.getType(), salesLedgerDto.isProduce());
                handleSalesLedgerProducts(salesLedger.getId(), productList, salesLedgerDto.getType(), Boolean.TRUE.equals(salesLedgerDto.getProduce()));
                updateMainContractAmount(
                        salesLedger.getId(),
                        productList,
@@ -1054,6 +1040,7 @@
    private SalesLedger convertToEntity(SalesLedgerDto dto) {
        SalesLedger entity = new SalesLedger();
        BeanUtils.copyProperties(dto, entity);
        entity.setProduce(dto.getProduce());
        return entity;
    }
@@ -1160,4 +1147,4 @@
            throw new RuntimeException("动态更新主表金额失败", e);
        }
    }
}
}
src/main/resources/mapper/sales/SalesLedgerMapper.xml
@@ -31,6 +31,7 @@
        T1.execution_date,
        T2.nick_name AS entry_person_name,
        T1.payment_method,
        T1.is_produce AS produce,
        DATEDIFF(T1.delivery_date, CURDATE()) AS delivery_days_diff
        FROM
        sales_ledger T1
@@ -64,6 +65,7 @@
        T1.execution_date,
        T2.nick_name                          AS entry_person_name,
        T1.payment_method,
        T1.is_produce AS produce,
        T1.delivery_date,
        DATEDIFF(T1.delivery_date, CURDATE()) AS delivery_days_diff,
        CASE
@@ -116,4 +118,4 @@
        FROM sales_ledger
        GROUP BY customer_name
    </select>
</mapper>
</mapper>