feat(wms): 添加钢卷库区操作记录导出功能以及优化查询速率

- 在服务接口中新增 exportBySecondWarehouseIdAndTimeRange 方法用于导出功能
- 在控制器中新增 exportByWarehouseAndTime 接口支持报表导出
- 在映射器中新增 selectVoListWithJoin 查询方法优化关联查询
- 在 XML 映射文件中新增完整的关联查询 SQL 和结果映射配置
- 在服务实现类中重构查询逻辑使用新的关联查询方法
- 新增 WmsCoilWarehouseOperationLogExportVo 导出数据对象
- 实现导出逻辑将操作记录转换为 Excel 格式并支持多表关联
- 添加状态描述转换方法支持中文显示
- 更新 VO 类继承 BaseEntity 基础实体类
This commit is contained in:
2026-03-24 10:35:57 +08:00
parent 1fc85c990f
commit ad100083ed
7 changed files with 382 additions and 40 deletions

View File

@@ -0,0 +1,106 @@
package com.klp.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
* 钢卷库区操作记录导出VO
*
* @author klp
* @date 2026-03-24
*/
@Data
@ExcelIgnoreUnannotated
public class WmsCoilWarehouseOperationLogExportVo {
private static final long serialVersionUID = 1L;
@ExcelProperty(value = "创建人")
private String createBy;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ExcelProperty(value = "创建时间")
private Date createTimeLog;
@ExcelProperty(value = "业务操作类型")
private String operationTypeDesc;
@ExcelProperty(value = "出入库方向")
private String inOutTypeDesc;
// 应该是被移动库区
@ExcelProperty(value = "库区")
private String warehouseName;
@ExcelProperty(value = "类型")
private String itemTypeDesc;
@ExcelProperty(value = "逻辑库区")
private String logicalWarehouseName;
@ExcelProperty(value = "钢卷当前实际库区")
private String actualWarehouseName;
@ExcelProperty(value = "入场卷号")
private String enterCoilNo;
@ExcelProperty(value = "厂家卷号")
private String supplierCoilNo;
@ExcelProperty(value = "成品卷号")
private String currentCoilNo;
@ExcelProperty(value = "日期")
private Date createTime;
@ExcelProperty(value = "重量")
private BigDecimal netWeight;
@ExcelProperty(value = "用途")
private String purpose;
@ExcelProperty(value = "切边要求")
private String trimmingRequirement;
@ExcelProperty(value = "包装种类")
private String packagingRequirement;
@ExcelProperty(value = "产品质量")
private String qualityStatus;
@ExcelProperty(value = "打包状态")
private String packingStatus;
@ExcelProperty(value = "库存状态")
private String statusDesc;
@ExcelProperty(value = "备注")
private String remark;
@ExcelProperty(value = "名称")
private String itemName;
@ExcelProperty(value = "规格")
private String specification;
@ExcelProperty(value = "长度")
private BigDecimal length;
@ExcelProperty(value = "材质")
private String material;
@ExcelProperty(value = "厂家")
private String manufacturer;
@ExcelProperty(value = "表面处理")
private String surfaceTreatmentDesc;
@ExcelProperty(value = "锌层")
private String zincLayer;
}

View File

@@ -5,6 +5,7 @@ import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.klp.common.annotation.ExcelDictFormat;
import com.klp.common.convert.ExcelDictConvert;
import com.klp.common.core.domain.BaseEntity;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
@@ -18,7 +19,7 @@ import java.util.Date;
*/
@Data
@ExcelIgnoreUnannotated
public class WmsCoilWarehouseOperationLogVo {
public class WmsCoilWarehouseOperationLogVo extends BaseEntity {
private static final long serialVersionUID = 1L;