package com.ruoyi.inventory.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 出库单明细对象 outbound_order_items
 *
 * @author ruoyi
 * @date 2025-12-03
 */
@Data
public class OutboundTemplateVO extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** 编号 */
    private String id;

    /** 日期（入库日期） */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date inboundDate;

    /** SAP号 */
    @Excel(name = "SAP No")
    private String sapNo;

    /** 物料ID */
    private String materialId;

    /** 货物名称 */
    @Excel(name = "物料名称")
    private String materialName;

    /** TS Code */
    @Excel(name = "TS Code")
    private String tsCode;

    /** 批号 */
    @Excel(name = " 批号")
    private String batchCode;

    /** 计划数量 */
    @Excel(name = "计划数量")
    private Long plannedQuantity;

    @Excel(name = "约数")
    private double divisor;
    /** 件重 */
    @Excel(name = "件重")
    private double pieceWeight;

    /** 件数（实际件数） */
    @Excel(name = "件数")
    private Long actualPackages;

    /** 实发数量（实际数量） */
    @Excel(name = "实发数量")
    private Long actualQuantity;

    /** 库位名称 */
    @Excel(name = "库位")
    private String locationName;

    /** 库位ID */
    private String locationId;

    /** 仓库ID */
    private String warehouseId;

    /** 仓库名称 */
    @Excel(name = "仓库")
    private String warehouseName;

    /** 备注 */
    @Excel(name = "备注")
    private String remark;

    /** 标签颜色 */
    @Excel(name = "标签颜色",dictType = "label_color")
    private Long labelColor;

    /** 凭证号 */
    @Excel(name = "凭证号")
    private String voucherNumber;

    /** 保温状态/类型 */
    @Excel(name = "保温")
    private String insulation;

    /** 危检类别（危险类别） */
    @Excel(name = "危险类别")
    private String dangerCheckType;

    /** 单号 */
    @Excel(name = "单号")
    private String orderId;

    /** 系统编号（系统单号） */
    @Excel(name = "系统单号")
    private String systemNo;

    /** 订单类型 */
    @Excel(name = "订单类型")
    private String orderType;

    /** 货主ID */
    private String ownerId;

    /** 货主名称 */
    @Excel(name = "货主")
    private String ownerName;

    /** 目的地 */
    @Excel(name = "目的地")
    private String destination;

    /** 预留 */
    @Excel(name = "预留")
    private String reservation;

    /** 单个件重值（单件重量） */
    @Excel(name = "单件重量")
    private Long singlePieceWeight;

}