feat(wms): 新增收货报表统计功能

- 在 IWmsDeliveryPlanService 接口中新增 getReceivingReport 方法
- 在 WmsDeliveryPlanController 控制器中新增 /receivingReport 接口
- 在 WmsDeliveryPlanMapper 中新增收货报表相关查询方法
- 在 WmsDeliveryPlanMapper.xml 中新增收货报表的 SQL 查询语句
- 新增 WmsReceivingReportByTypeVo、WmsReceivingReportResultVo 和
  WmsReceivingReportSummaryVo 三个 VO 类用于收货报表数据传输
- 完善了送货报表 SQL 查询逻辑,增加与 wms_delivery_plan 表的关联及 plan_type 过滤条件
This commit is contained in:
2025-12-12 10:38:55 +08:00
parent c4b5797537
commit d80a3b2cc9
8 changed files with 219 additions and 0 deletions

View File

@@ -0,0 +1,45 @@
package com.klp.domain.vo;
import lombok.Data;
import java.math.BigDecimal;
/**
* 收货报表按类型统计VO
*/
@Data
public class WmsReceivingReportByTypeVo {
/**
* 类型(品名)
*/
private String productName;
/**
* 待操作记录数量
*/
private Integer taskCount = 0;
/**
* 钢卷数量
*/
private Integer coilCount = 0;
/**
* 总重量(吨)
*/
private BigDecimal totalWeight = BigDecimal.ZERO;
/**
* 日均待操作数量
*/
private BigDecimal dailyTaskCount = BigDecimal.ZERO;
/**
* 日均钢卷数量
*/
private BigDecimal dailyCoilCount = BigDecimal.ZERO;
/**
* 日均重量(吨)
*/
private BigDecimal dailyWeight = BigDecimal.ZERO;
}

View File

@@ -0,0 +1,20 @@
package com.klp.domain.vo;
import lombok.Data;
import java.util.List;
/**
* 收货报表结果VO
*/
@Data
public class WmsReceivingReportResultVo {
/**
* 汇总统计
*/
private WmsReceivingReportSummaryVo summary;
/**
* 按类型统计明细
*/
private List<WmsReceivingReportByTypeVo> details;
}

View File

@@ -0,0 +1,51 @@
package com.klp.domain.vo;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
* 收货报表汇总统计VO
*/
@Data
public class WmsReceivingReportSummaryVo {
/**
* 待操作记录数量
*/
private Integer taskCount = 0;
/**
* 钢卷数量
*/
private Integer coilCount = 0;
/**
* 总重量(吨)
*/
private BigDecimal totalWeight = BigDecimal.ZERO;
/**
* 日均待操作数量
*/
private BigDecimal dailyTaskCount = BigDecimal.ZERO;
/**
* 日均钢卷数量
*/
private BigDecimal dailyCoilCount = BigDecimal.ZERO;
/**
* 日均重量(吨)
*/
private BigDecimal dailyWeight = BigDecimal.ZERO;
/**
* 统计开始时间
*/
private Date startTime;
/**
* 统计结束时间
*/
private Date endTime;
}