Files
klp-oa/klp-wms/src/main/java/com/klp/domain/bo/WmsMaterialCoilBo.java

213 lines
5.0 KiB
Java
Raw Normal View History

2025-10-28 12:20:20 +08:00
package com.klp.domain.bo;
2025-12-02 13:28:52 +08:00
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
2025-10-28 12:20:20 +08:00
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;
2025-10-28 12:20:20 +08:00
import javax.validation.constraints.*;
2025-10-28 15:03:08 +08:00
import java.math.BigDecimal;
import java.util.Date;
2025-10-28 12:20:20 +08:00
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;
/**
* 入场钢卷号年份后两位+月份+当月第几个如2510000125102422
*/
@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;
2025-10-28 15:03:08 +08:00
/**
* 毛重kg
*/
private BigDecimal grossWeight;
/**
* 净重kg
*/
private BigDecimal netWeight;
2025-10-28 12:20:20 +08:00
/**
* 状态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;
2025-12-02 13:28:52 +08:00
@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;
//材料类型
@NotBlank(message = "材料类型不能为空", groups = { AddGroup.class, EditGroup.class })
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 String itemSpecification;
private Boolean onlyUnshippedAndUnplanned;
//销售id
private Long saleId;
//新增长度字段
private BigDecimal length;
//新增通过创建时间
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date byCreateTimeStart;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date byCreateTimeEnd;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date byExportTimeStart;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date byExportTimeEnd;
// 仅查询废品(质量状态为 D+、D、D-
private Boolean onlyScrap;
2025-10-28 12:20:20 +08:00
}