feat(wms): 添加报表结果存储功能支持JSON和横向对比

- 创建WmsReportResultStorage实体类用于存储报表结果数据
- 实现IWmsReportResultStorageService服务接口及其实现类
- 添加WmsReportResultStorageController控制器提供CRUD操作
- 创建WmsReportResultStorageMapper数据访问层
- 配置WmsReportResultStorageMapper.xml映射文件
- 定义WmsReportResultStorageBo业务对象和WmsReportResultStorageVo视图对象
- 实现报表数据按日期、类型、产线进行查询和去重逻辑
- 添加Excel导出功能支持报表数据导出
This commit is contained in:
2026-03-25 16:23:39 +08:00
parent e8568b6ec7
commit 9dc8d589f0
8 changed files with 516 additions and 0 deletions

View File

@@ -0,0 +1,55 @@
package com.klp.domain;
import com.baomidou.mybatisplus.annotation.*;
import com.klp.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
/**
* 报结果存储JSON+横向对比专用)对象 wms_report_result_storage
*
* @author klp
* @date 2026-03-25
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("wms_report_result_storage")
public class WmsReportResultStorage extends BaseEntity {
private static final long serialVersionUID=1L;
/**
* 主键ID
*/
@TableId(value = "storage_id")
private Long storageId;
/**
* 报表日期(横向对比用)
*/
private Date reportDate;
/**
* 报表类型(横向对比用)
*/
private String reportType;
/**
* 产线类型(横向对比用)
*/
private String productionLine;
/**
* 报表完整JSON数据
*/
private String reportJson;
/**
* 备注
*/
private String remark;
/**
* 删除标志0=正常1=已删除)
*/
@TableLogic
private Integer delFlag;
}

View File

@@ -0,0 +1,68 @@
package com.klp.domain.bo;
import com.klp.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
/**
* 报结果存储JSON+横向对比专用)业务对象 wms_report_result_storage
*
* @author klp
* @date 2026-03-25
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class WmsReportResultStorageBo extends BaseEntity {
/**
* 主键ID
*/
private Long storageId;
/**
* 报表日期(横向对比用)
*/
private Date reportDate;
/**
* 报表日期开始(时间段筛选)
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date reportDateStart;
/**
* 报表日期结束(时间段筛选)
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date reportDateEnd;
/**
* 报表类型(横向对比用)
*/
private String reportType;
/**
* 产线类型(横向对比用)
*/
private String productionLine;
/**
* 报表完整JSON数据
*/
private String reportJson;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,64 @@
package com.klp.domain.vo;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.klp.common.annotation.ExcelDictFormat;
import com.klp.common.convert.ExcelDictConvert;
import lombok.Data;
/**
* 报结果存储JSON+横向对比专用)视图对象 wms_report_result_storage
*
* @author klp
* @date 2026-03-25
*/
@Data
@ExcelIgnoreUnannotated
public class WmsReportResultStorageVo {
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@ExcelProperty(value = "主键ID")
private Long storageId;
/**
* 报表日期(横向对比用)
*/
@ExcelProperty(value = "报表日期", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "横=向对比用")
private Date reportDate;
/**
* 报表类型(横向对比用)
*/
@ExcelProperty(value = "报表类型", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "横=向对比用")
private String reportType;
/**
* 产线类型(横向对比用)
*/
@ExcelProperty(value = "产线类型", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "横=向对比用")
private String productionLine;
/**
* 报表完整JSON数据
*/
@ExcelProperty(value = "报表完整JSON数据")
private String reportJson;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remark;
}