Files
klp-oa/klp-wms/src/main/java/com/klp/domain/bo/WmsMaterialCoilBo.java
Joshi 7fcc682fff feat(wms): 优化物料筛选逻辑并调整实体类字段
- 在 WmsMaterialCoilBo 中引入 TableField 注解支持
- 调整 itemName 和新增 selectType 字段位置,增强数据绑定准确性
- 修改筛选判断依据,由 itemType 改为 selectType,提高查询灵活性
- 完善细粒度筛选条件拼接逻辑,确保查询条件动态构建正确性
2025-12-10 14:34:19 +08:00

186 lines
4.2 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package com.klp.domain.bo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.klp.common.core.domain.BaseEntity;
import com.klp.common.core.validate.AddGroup;
import com.klp.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.*;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
* 钢卷物料表业务对象 wms_material_coil
*
* @author Joshi
* @date 2025-07-18
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class WmsMaterialCoilBo extends BaseEntity {
/**
* 主键ID
*/
private Long coilId;
/**
* 入场钢卷号(年份后两位+月份+当月第几个如25100001、25102422
*/
@NotBlank(message = "入场钢卷号不能为空", groups = { AddGroup.class, EditGroup.class })
private String enterCoilNo;
/**
* 当前钢卷号(入场钢卷号和当前钢卷号可能不同)
*/
private String currentCoilNo;
/**
* 厂家原料卷号
*/
private String supplierCoilNo;
/**
* 数据类型0=历史1=现存)
*/
private Integer dataType;
/**
* 所在库区ID
*/
private Long warehouseId;
/**
* 下一库区ID
*/
private Long nextWarehouseId;
/**
* 关联二维码IDwms_generate_record.record_id
*/
private Long qrcodeRecordId;
/**
* 班组
*/
private String team;
/**
* 是否合卷/分卷0=否1=分卷2=合卷)
*/
private Integer hasMergeSplit;
/**
* 父卷号(合卷或分卷时用,逗号分隔)
*/
private String parentCoilNos;
/**
* 物品类型raw_material/product
*/
private String itemType;
/**
* 物品ID指向原材料或产品主键
*/
private Long itemId;
/**
* 毛重kg
*/
private BigDecimal grossWeight;
/**
* 净重kg
*/
private BigDecimal netWeight;
/**
* 状态0=在库1=在途2=已出库)
*/
private Integer status;
/**
* 备注
*/
private String remark;
/**
* 分卷/合卷的新钢卷列表(用于批量更新)
*/
private List<WmsMaterialCoilBo> newCoils;
//时间格式化
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date startTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date endTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date exportTime;
private String itemIds;
private Long actualWarehouseId;
//材料类型
private String materialType;
/**
* 质量状态0=正常1=待检2=不合格)
*/
private String qualityStatus;
/**
* 切边要求
*/
private String trimmingRequirement;
/**
* 打包状态0=未打包1=已打包)
*/
private String packingStatus;
/**
* 包装要求
*/
private String packagingRequirement;
/**
* 最小异常数量(用于筛选异常数量 >= 此值的钢卷)
*/
private Integer minAbnormalCount;
/**
* 钢卷ID列表逗号分隔用于根据ID列表查询钢卷
*/
private String coilIds;
// 筛选类型
private String selectType;
// 物品名称
private String itemName;
// 材质两表通用字段名product.material / raw_material.material
private String itemMaterial;
// 厂家两表通用字段名product.manufacturer / raw_material.manufacturer
private String itemManufacturer;
// 表面处理详情两表通用字段名surface_treatment_desc
private String itemSurfaceTreatmentDesc;
// 锌层厚度两表通用字段名zinc_layer
private String itemZincLayer;
private Boolean onlyUnshippedAndUnplanned;
}