feat(wms): 新增钢卷信息校验功能

- 在 IWmsReceivePlanService 中添加 validateCoil 方法接口
- 在 WmsReceivePlanController 中新增 /validateCoil 接口
- 在 WmsReceivePlanServiceImpl 中实现钢卷信息校验逻辑
- 创建 CoilValidationBo 用于接收校验参数
- 创建 CoilValidationVo 用于返回校验结果
- 实现钢卷信息与数据库数据的字段对比功能
- 添加对原材料、产品和仓库数据的查询验证
- 支持多种字段类型的比较并返回差异信息
This commit is contained in:
2026-05-10 14:55:20 +08:00
parent 2052452336
commit 969dad7501
5 changed files with 295 additions and 1 deletions

View File

@@ -0,0 +1,113 @@
package com.klp.domain.bo;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
/**
* 钢卷校验业务对象
*
* @author klp
* @date 2026-05-10
*/
@Data
public class CoilValidationBo {
/**
* 材质类型
*/
private String materialType;
/**
* 入场卷号 (必填)
*/
@NotBlank(message = "入场卷号不能为空")
private String enterCoilNo;
/**
* 当前卷号
*/
private String currentCoilNo;
/**
* 物料ID
*/
private Long itemId;
/**
* 物料类型
*/
private String itemType;
/**
* 仓库ID
*/
private String warehouseId;
/**
* 净重
*/
private String netWeight;
/**
* 毛重
*/
private String grossWeight;
/**
* 备注
*/
private String remark;
/**
* 数据类型
*/
private Integer dataType;
/**
* 切边要求
*/
private String trimmingRequirement;
/**
* 原料材质
*/
private String packingStatus;
/**
* 包装要求
*/
private String packagingRequirement;
/**
* 计划ID
*/
private String planId;
/**
* 长度
*/
private BigDecimal length;
/**
* 等级
*/
private String temperGrade;
/**
* 涂层类型
*/
private String coatingType;
/**
* 供应商卷号
*/
private String supplierCoilNo;
/**
* 班组
*/
private String team;
}

View File

@@ -0,0 +1,35 @@
package com.klp.domain.vo;
import lombok.Data;
import java.util.Map;
/**
* 钢卷校验结果视图对象
*
* @author klp
* @date 2026-05-10
*/
@Data
public class CoilValidationVo {
/**
* 是否找到匹配的钢卷
*/
private Boolean found;
/**
* 校验消息
*/
private String message;
/**
* 字段差异信息 (字段名 -> 差异信息)
*/
private Map<String, String> differences;
/**
* 数据库中的钢卷信息
*/
private WmsReceivePlanVo dbData;
}