package com.zfire.mall.manager.bean.k3.v2;

import com.zfire.mall.manager.annotation.ZfireField;
import com.zfire.mall.manager.enums.K3CommonStatusEnum;
import com.zfire.mall.manager.enums.K3TransferTypeEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

@Data
@ApiModel
public class KingTransferVO {

    @ZfireField(tbName = "a")
    @ApiModelProperty(value = "id")
    private String id;

    @ZfireField(tbName = "a", hide = true)
    @ApiModelProperty(value = "供应链组织id")
    private String supplyOrgId;

    @ZfireField(tbName = "a")
    @ApiModelProperty(value = "单据编号")
    private String billNo;

    @ZfireField(tbName = "a")
    @ApiModelProperty(value = "日期")
    private Date fDate;

    @ZfireField(tbName = "a")
    @ApiModelProperty(value = "调入库存组织")
    private String stockOrgId;

    @ZfireField(tbName = "a")
    @ApiModelProperty(value = "调出库存组织")
    private String stockOutOrgId;

    @ZfireField(tbName = "a")
    @ApiModelProperty(value = "调拨类型")
    private K3TransferTypeEnum transferBizType;

    @ZfireField(tbName = "a")
    @ApiModelProperty(value = "作废状态")
    private K3CommonStatusEnum cancelStatus;

    @ZfireField(tbName = "a")
    @ApiModelProperty(value = "备注")
    private String note;

    @ZfireField(tbName = "a")
    @ApiModelProperty(value = "审核人")
    private String approverId;

    @ZfireField(tbName = "a")
    @ApiModelProperty(value = "审核日期")
    private Date approveDate;

    @ZfireField(tbName = "a")
    @ApiModelProperty(value = "作废人")
    private String cancellerId;

    @ZfireField(tbName = "a")
    @ApiModelProperty(value = "作废日期")
    private Date cancelDate;

    @ZfireField(tbName = "a")
    @ApiModelProperty(value = "单据类型")
    private String billType;

    @ZfireField(tbName = "a")
    @ApiModelProperty(value = "单据状态")
    private String documentStatus;

    @ZfireField(tbName = "a")
    @ApiModelProperty(value = "同步时间")
    private Date syncTime;

    @ZfireField(tbName = "a")
    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    @ZfireField(tbName = "a")
    @ApiModelProperty(value = "修改时间")
    private Date updateTime;

    @ZfireField(tbName = "a")
    @ApiModelProperty(value = "创建人")
    private String createBy;

    @ZfireField(tbName = "a")
    @ApiModelProperty(value = "更新人")
    private String updateBy;


    @ZfireField(tbName = "b", hide = true)
    @ApiModelProperty(value = "关联id")
    private String fId;

    @ZfireField(tbName = "b", hide = true)
    @ApiModelProperty(value = "实体主键")
    private String entryId;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "物料id")
    private String materialId;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "物料编码")
    private String materialNumber;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "物料名称")
    private String materialName;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "调出仓库")
    private String srcStockId;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "调入仓库")
    private String destStockId;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "调拨数量")
    private BigDecimal qty;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "调入货主")
    private String ownerId;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "调出货主")
    private String ownerOutId;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "规格型号")
    private String model;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "基本单位")
    private String baseUnitId;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "金额")
    private BigDecimal consignAmount;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "单价")
    private BigDecimal consignPrice;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "调出仓位")
    private String srcStockLocId;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "调入仓位")
    private String destStockLocId;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "辅助属性")
    private String auxPropId;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "调出仓库名")
    private String srcStockName;

    @ZfireField(tbName = "b")
    @ApiModelProperty(value = "调入仓库名")
    private String destStockName;
}
