Files
klp-oa/klp-wms/src/main/java/com/klp/domain/vo/WmsMaterialCoilVo.java

434 lines
8.7 KiB
Java
Raw Normal View History

2025-10-28 12:20:20 +08:00
package com.klp.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
2025-12-02 13:28:52 +08:00
import com.fasterxml.jackson.annotation.JsonFormat;
2025-10-28 12:20:20 +08:00
import com.klp.common.annotation.ExcelDictFormat;
import com.klp.common.convert.ExcelDictConvert;
import com.klp.common.core.domain.BaseEntity;
2025-10-28 12:20:20 +08:00
import lombok.Data;
2025-10-28 15:03:08 +08:00
import java.math.BigDecimal;
2025-12-02 13:28:52 +08:00
import java.util.Date;
2025-10-29 11:17:52 +08:00
import java.util.List;
2025-10-28 12:20:20 +08:00
/**
* 钢卷物料表视图对象 wms_material_coil
*
* @author Joshi
* @date 2025-07-18
*/
@Data
@ExcelIgnoreUnannotated
public class WmsMaterialCoilVo extends BaseEntity {
2025-10-28 12:20:20 +08:00
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
private Long coilId;
/**
* 入场钢卷号
*/
@ExcelProperty(value = "入场钢卷号")
private String enterCoilNo;
/**
* 当前钢卷号
*/
@ExcelProperty(value = "当前钢卷号")
private String currentCoilNo;
/**
* 厂家原料卷号
*/
@ExcelProperty(value = "厂家原料卷号")
private String supplierCoilNo;
/**
* 数据类型0=历史1=现存
*/
@ExcelProperty(value = "数据类型", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "0=历史1=现存")
private Integer dataType;
/**
所在库区ID 联查当前库区和物品id 复卷好去掉 dataType数据类型是1当前 0就是历史 物品类型row_me 原材料 product产品
2025-10-28 12:20:20 +08:00
*/
@ExcelProperty(value = "所在库区ID")
private Long warehouseId;
/**
* 下一库区ID
*/
private Long nextWarehouseId;
/**
* 关联二维码ID
*/
private Long qrcodeRecordId;
/**
* 班组
*/
@ExcelProperty(value = "班组")
private String team;
/**
* 是否合卷/分卷
*/
@ExcelProperty(value = "是否合卷/分卷", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "0=否1=分卷2=合卷")
private Integer hasMergeSplit;
/**
* 父卷号
*/
private String parentCoilNos;
/**
* 物品类型
*/
@ExcelProperty(value = "物品类型")
private String itemType;
/**
* 物品ID
*/
private Long itemId;
2025-10-28 15:03:08 +08:00
/**
* 毛重kg
*/
@ExcelProperty(value = "毛重kg")
private BigDecimal grossWeight;
/**
* 净重kg
*/
@ExcelProperty(value = "净重kg")
private BigDecimal netWeight;
2025-10-28 12:20:20 +08:00
/**
* 状态
*/
@ExcelProperty(value = "状态", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "0=在库1=在途2=已出库")
private Integer status;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remark;
// ========== 关联对象属性 ==========
2025-10-28 12:20:20 +08:00
/**
* 所在库区信息
*/
private WmsWarehouseVo warehouse;
2025-10-28 12:20:20 +08:00
/**
* 下一库区信息
*/
private WmsWarehouseVo nextWarehouse;
2025-10-28 12:20:20 +08:00
/**
* 二维码信息
*/
private WmsGenerateRecordVo qrcodeRecord;
2025-10-28 12:20:20 +08:00
/**
* 原材料信息当itemType为raw_material时
*/
private WmsRawMaterialVo rawMaterial;
2025-10-28 12:20:20 +08:00
/**
* 产品信息当itemType为product时
*/
2025-11-15 15:37:50 +08:00
private WmsProductVo product;
2025-10-29 11:17:52 +08:00
/**
* BOM列表原材料对应的BOM项目信息
*/
private List<WmsBomItemVo> bomItemList;
2025-10-28 12:20:20 +08:00
2025-10-29 14:13:06 +08:00
// ========== 统计相关属性 ==========
2025-10-29 14:13:06 +08:00
/**
* 库区名称用于统计查询
*/
@ExcelProperty(value = "库区名称")
2025-10-29 14:13:06 +08:00
private String warehouseName;
/**
* 下一库区名称
*/
private String nextWarehouseName;
2025-10-29 14:13:06 +08:00
/**
* 钢卷数量用于统计查询
*/
private Long coilCount;
2025-10-29 14:13:06 +08:00
/**
* 总毛重用于统计查询
*/
private BigDecimal totalGrossWeight;
2025-10-29 14:13:06 +08:00
/**
* 总净重用于统计查询
*/
private BigDecimal totalNetWeight;
@ExcelProperty(value = "物品名称")
private String itemName;
@ExcelProperty(value = "物品编号")
private String itemCode;
private Long actualWarehouseId;
private String actualWarehouseName;
//材料类型
private String materialType;
/**
* 质量状态0=正常1=待检2=不合格
*/
private String qualityStatus;
/**
* 切边要求
*/
private String trimmingRequirement;
/**
* 打包状态0=未打包1=已打包
*/
private String packingStatus;
/**
* 包装要求
*/
private String packagingRequirement;
2025-11-15 15:37:50 +08:00
2025-11-17 11:58:42 +08:00
// ========== 联查临时字段(用于优化查询性能,避免单独查询) ==========
2025-11-17 11:58:42 +08:00
/**
* 原材料ID联查字段
*/
private Long rawMaterialId;
2025-11-17 11:58:42 +08:00
/**
* 原材料编号联查字段
*/
private String rawMaterialCode;
2025-11-17 11:58:42 +08:00
/**
* 原材料名称联查字段
*/
private String rawMaterialName;
2025-11-17 11:58:42 +08:00
/**
* 原材料规格联查字段
*/
private String rawMaterialSpecification;
2025-11-17 11:58:42 +08:00
/**
* 原材料钢种联查字段
*/
private String rawMaterialSteelGrade;
2025-11-17 11:58:42 +08:00
/**
* 原材料厚度联查字段
*/
private BigDecimal rawMaterialThickness;
2025-11-17 11:58:42 +08:00
/**
* 原材料宽度联查字段
*/
private BigDecimal rawMaterialWidth;
2025-11-17 11:58:42 +08:00
/**
* 原材料BOM ID联查字段
*/
private Long rawMaterialBomId;
2025-11-17 11:58:42 +08:00
/**
* 产品ID联查字段
*/
private Long productId;
2025-11-17 11:58:42 +08:00
/**
* 产品编号联查字段
*/
private String productCode;
2025-11-17 11:58:42 +08:00
/**
* 产品名称联查字段
*/
private String productName;
2025-11-17 11:58:42 +08:00
/**
* 产品规格联查字段
*/
private String productSpecification;
2025-11-17 11:58:42 +08:00
/**
* 产品厚度联查字段
*/
private BigDecimal productThickness;
2025-11-17 11:58:42 +08:00
/**
* 产品宽度联查字段
*/
private BigDecimal productWidth;
2025-12-02 13:28:52 +08:00
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ExcelProperty(value = "发货时间")
private Date exportTime;
2025-11-17 11:58:42 +08:00
/**
* 产品BOM ID联查字段
*/
private Long productBomId;
2025-11-15 15:37:50 +08:00
private String specification; // 规格
private String material; // 材质
private String surfaceTreatmentDesc; // 表面处理
private String zincLayer; // 锌层
private String manufacturer; // 厂家
/**
* 异常数量钢卷异常信息表统计
*/
private Integer abnormalCount;
private String createByName;
private String updateByName;
//销售id
private Long saleId;
// 销售昵称
private String saleName;
//新增长度字段
private BigDecimal length;
//发货人
private String exportBy;
//发货人昵称
private String exportByName;
// 调制度
private String temperGrade;
// 业务用途(如:生产领用、销售发货、样品送检、内部调拨等)
private String businessPurpose;
// 是否与订单相关0=否1=是)
private Integer isRelatedToOrder;
// 镀层种类
private String coatingType;
/**
* 独占状态0=未独占1=特殊分卷中
*/
private Integer exclusiveStatus;
// ========== 发货绑定信息(由发货单明细占用) ==========
/**
* 是否已被发货单明细绑定true=不可再次绑定
*/
private Boolean bound;
private Long bindDetailId;
private Long bindWaybillId;
private String bindWaybillNo;
private String bindWaybillName;
private Long bindPlanId;
private String bindPlanName;
@JsonFormat(pattern = "yyyy-MM-dd")
private Date bindPlanDate;
// 父钢卷id
private String parentCoilId;
// ========== 补充的发货绑定信息字段 ==========
/**
* 车牌号
*/
private String bindLicensePlate;
/**
* 收货单位
*/
private String bindConsigneeUnit;
/**
* 发货单位
*/
private String bindSenderUnit;
/**
* 发货时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date bindDeliveryTime;
/**
* 地磅
*/
private String bindWeighbridge;
/**
* 销售人员
*/
private String bindSalesPerson;
/**
* 负责人
*/
private String bindPrincipal;
/**
* 负责人电话
*/
private String bindPrincipalPhone;
/**
* 运单状态
*/
private Long bindWaybillStatus;
/**
* 运单备注
*/
private String bindWaybillRemark;
/**
* 明细结算类型
*/
private String bindDetailSettlementType;
/**
* 明细单价
*/
private BigDecimal bindDetailUnitPrice;
2025-10-28 12:20:20 +08:00
}