d8187dc27ddce838bf940e487c6e9a587c146639..ffa3d8088eacde0c1e56a0e5ccc09e8ca6b307c3
2026-06-09 liding
fix:库存导入优化
ffa3d8 对比 | 目录
2026-06-09 liding
fix:库存导入优化
27ecc1 对比 | 目录
已修改2个文件
30 ■■■■ 文件已修改
src/main/java/com/ruoyi/sales/pojo/SalesLedger.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/stock/service/impl/StockInventoryServiceImpl.java 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/sales/pojo/SalesLedger.java
@@ -3,12 +3,14 @@
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.framework.aspectj.lang.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Date;
/**
@@ -140,5 +142,12 @@
    @TableField(exist = false)
    private Boolean hasProductionRecord;
    /**
     * 创建时间
     */
    @ApiModelProperty("创建时间")
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;
}
src/main/java/com/ruoyi/stock/service/impl/StockInventoryServiceImpl.java
@@ -372,16 +372,25 @@
            }
            // 构建返回信息
            StringBuilder message = new StringBuilder();
            if (!unmatchedRecords.isEmpty()) {
                message.append("导入成功 " + successCount + " 条记录,以下产品未找到匹配项:\n");
            if (successCount > 0 && unmatchedRecords.isEmpty()) {
                return R.ok("导入成功 " + successCount + " 条记录");
            } else if (successCount > 0 && !unmatchedRecords.isEmpty()) {
                StringBuilder message = new StringBuilder();
                message.append("导入成功 " + successCount + " 条记录,以下产品未找到匹配项,未导入:\n");
                for (String record : unmatchedRecords) {
                    message.append(record).append("\n");
                }
                return R.ok(message.toString());
                return R.fail(message.toString());
            } else if (!unmatchedRecords.isEmpty()) {
                StringBuilder message = new StringBuilder();
                message.append("导入失败,以下产品未找到匹配项:\n");
                for (String record : unmatchedRecords) {
                    message.append(record).append("\n");
                }
                return R.fail(message.toString());
            } else {
                return R.fail("未找到可导入的库存数据,请检查导入表格中的产品名称和型号是否正确");
            }
            return R.ok("导入成功,共处理 " + successCount + " 条记录");
        } catch (Exception e) {
            log.error("导入库存失败", e);
            return R.fail("导入失败:" + e.getMessage());