package com.ruoyi.warehouseBusiness.domain;

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

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

/**
 * 仓库明细从表对象 t_warehousebillsitems
 *
 * @author ruoyi
 * @date 2021-01-15
 */
public class TWarehousebillsitems extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * $column.columnComment
     */
    private Long fId;

    /**
     * PID,对应主表id
     */
    @Excel(name = "PID,对应主表id")
    private Long fPid;

    /** 来源id */
    @Excel(name = "来源id")
    private Long fSrcid;

    /**
     * 行号，针对pid顺序排列，1，2，3，4，
     */
    @Excel(name = "行号，针对pid顺序排列，1，2，3，4，")
    private Long fLineno;

    /**
     * 货物品名，存储id 显示名称	t_goods 中的no或 name，模糊查找选择后，存储f_id，显示name
     */
    @Excel(name = "货物品名，存储id 显示名称	t_goods 中的no或 name，模糊查找选择后，存储f_id，显示name")
    private Long fGoodsid;

    /**
     * 业务编号,保存主表的
     */
    @Excel(name = "业务编号,保存主表的")
    private String fBillno;

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

    /**
     * 入库库区，存储库区ID,显示仓库 库位 库区，t_warehouse_area中的f_id
     */
    @Excel(name = "入库库区，存储库区ID,显示仓库 库位 库区，t_warehouse_area中的f_id")
    private Long fWarehouselocid;

    /** 调拨库区 */
    @Excel(name = "调拨库区")
    private Long fTransferWarehouselocid;

    /**
     * 原始入库业务编号
     */
    @Excel(name = "原始入库业务编号")
    private String fOriginalbillno;

    /**
     * 入（出）库日期
     */
    @Excel(name = "入", readConverterExp = "出=")
    private Date fBsdate;

    /**
     * 箱号
     */
    @Excel(name = "箱号")
    private String fBoxno;

    /**
     * 箱量
     */
    @Excel(name = "箱量")
    private Long fCntqty;

    /**
     * 货值
     */
    @Excel(name = "货值")
    private BigDecimal fGoodsval;

    /**
     * 箱型,20GP 4OGP
     */
    @Excel(name = "箱型,20GP 4OGP")
    private String fCntrtype;

    /**
     * 计划件数
     */
    @Excel(name = "计划件数")
    private Long fPlanqty;

    /**
     * 计费方式(数据字典)
     */
    @Excel(name = "计费方式(数据字典)")
    private Long fBillingway;

    /**
     * 计划尺码
     */
    @Excel(name = "计划尺码")
    private BigDecimal fPlanvolumn;

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

    /**
     * 包装规格
     */
    @Excel(name = "包装规格")
    private String fPackagespecs;

    /**
     * 计划毛重
     */
    @Excel(name = "计划毛重")
    private BigDecimal fPlangrossweight;

    /**
     * 仓储计费日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "仓储计费日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date fChargedate;

    /**
     * 计划净重
     */
    @Excel(name = "计划净重")
    private BigDecimal fPlannetweight;

    /**
     * 件数
     */
    @Excel(name = "件数")
    private Long fQty;

    /**
     * 尺码
     */
    @Excel(name = "尺码")
    private BigDecimal fVolumn;

    /**
     * 毛重
     */
    @Excel(name = "毛重")
    private BigDecimal fGrossweight;

    /**
     * 净重
     */
    @Excel(name = "净重")
    private BigDecimal fNetweight;

    /**
     * 箱号
     */
    @Excel(name = "箱号")
    private String fCntrno;

    /**
     * 车号
     */
    @Excel(name = "车号")
    private String fTruckno;

    /**
     * 状态,N 入（出）库中，T入（出）库完成，状态为完成不能删除，状态变化，用邮件、微信通知客户。
     */
    @Excel(name = "状态,N 入", readConverterExp = "出=")
    private Long fBillstatus;

    /**
     * 删除状态
     */
    private String delFlag;

    /**
     * 唛头
     */
    @Excel(name = "唛头")
    private String fMarks;

    /**
     * 库存天数(出库日期-仓储费计费日期)
     */
    @Excel(name = "库存天数(出库日期-仓储费计费日期)")
    private Long fInventoryDays;

    /**
     * 金额
     */
    @Excel(name = "金额")
    private BigDecimal fAmt;

    /** 仓储费截至日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "仓储费截至日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date fStorageFeeDeadline;

    /**
     * 计费天数
     */
    @Excel(name = "计费天数")
    private Long fBillingDays;

    /**
     * 司机名
     */
    @Excel(name = "司机名")
    private String fDriverName;

    /**
     * 司机电话
     */
    @Excel(name = "司机电话")
    private String fDriverTel;

    /**
     * 司机身份证
     */
    @Excel(name = "司机身份证")
    private String fDriverIdCar;

    /**
     * 流水号
     */
    @Excel(name = "流水号")
    private String fSerialNumber;

    /**
     * 是否已放行(T为放行、F未放行)
     */
    @Excel(name = "是否已放行(T为放行、F未放行)")
    private String fIsPass;

    /**
     * 单据类型(数据字典)SJRK（入库） SJCK（实际出库） CKDB（调拨） HQZY（货权转移）
     */
    @Excel(name = "单据类型(数据字典)SJRK", readConverterExp = "入=库")
    private String fBilltype;

    /**
     * 计费数量
     */
    @Excel(name = "计费数量")
    private BigDecimal fBillingQty;

    /**
     * 仓储费计费截至日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "仓储费计费截至日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date fBillingDeadline;

    /** 业务类型(存汉字的，用来选择 产地 规格 品牌) */
    @Excel(name = "业务类型(存汉字的，用来选择 产地 规格 品牌)")
    private Long fBusinessType;

    /** 是否入库0入总帐;1不计入总账(用于入库时候选择场地直装) */
    @Excel(name = "是否入库")
    private Long fIsInventory;

    /** 仓库/库区/库位 */
    @Excel(name = "仓库/库区/库位")
    private String fWarehouseInformation;

    /** 原始仓库/库区/库位 */
    @Excel(name = "仓库/库区/库位")
    private String fOrgwarehouseInformation;

    public void setfId(Long fId) {
        this.fId = fId;
    }

    public Long getfId() {
        return fId;
    }

    public void setfPid(Long fPid) {
        this.fPid = fPid;
    }

    public Long getfPid() {
        return fPid;
    }

    public void setfLineno(Long fLineno) {
        this.fLineno = fLineno;
    }

    public Long getfLineno() {
        return fLineno;
    }

    public void setfSrcid(Long fSrcid) {
        this.fSrcid = fSrcid;
    }

    public Long getfSrcid() {
        return fSrcid;
    }

    public void setfGoodsid(Long fGoodsid) {
        this.fGoodsid = fGoodsid;
    }

    public Long getfGoodsid() {
        return fGoodsid;
    }

    public void setfBillno(String fBillno) {
        this.fBillno = fBillno;
    }

    public String getfBillno() {
        return fBillno;
    }

    public void setfMblno(String fMblno) {
        this.fMblno = fMblno;
    }

    public String getfMblno() {
        return fMblno;
    }

    public void setfWarehouselocid(Long fWarehouselocid) {
        this.fWarehouselocid = fWarehouselocid;
    }

    public Long getfWarehouselocid() {
        return fWarehouselocid;
    }

    public void setfTransferWarehouselocid(Long fTransferWarehouselocid) {
        this.fTransferWarehouselocid = fTransferWarehouselocid;
    }

    public Long getfTransferWarehouselocid() {
        return fTransferWarehouselocid;
    }

    public void setfStorageFeeDeadline(Date fStorageFeeDeadline) {
        this.fStorageFeeDeadline = fStorageFeeDeadline;
    }

    public Date getfStorageFeeDeadline() {
        return fStorageFeeDeadline;
    }

    public void setfOriginalbillno(String fOriginalbillno) {
        this.fOriginalbillno = fOriginalbillno;
    }

    public String getfOriginalbillno() {
        return fOriginalbillno;
    }

    public void setfBsdate(Date fBsdate) {
        this.fBsdate = fBsdate;
    }

    public Date getfBsdate() {
        return fBsdate;
    }

    public void setfBoxno(String fBoxno) {
        this.fBoxno = fBoxno;
    }

    public String getfBoxno() {
        return fBoxno;
    }

    public void setfCntqty(Long fCntqty) {
        this.fCntqty = fCntqty;
    }

    public Long getfCntqty() {
        return fCntqty;
    }

    public void setfGoodsval(BigDecimal fGoodsval) {
        this.fGoodsval = fGoodsval;
    }

    public BigDecimal getfGoodsval() {
        return fGoodsval;
    }

    public void setfCntrtype(String fCntrtype) {
        this.fCntrtype = fCntrtype;
    }

    public String getfCntrtype() {
        return fCntrtype;
    }

    public void setfPlanqty(Long fPlanqty) {
        this.fPlanqty = fPlanqty;
    }

    public Long getfPlanqty() {
        return fPlanqty;
    }

    public void setfBillingway(Long fBillingway) {
        this.fBillingway = fBillingway;
    }

    public Long getfBillingway() {
        return fBillingway;
    }

    public void setfPlanvolumn(BigDecimal fPlanvolumn) {
        this.fPlanvolumn = fPlanvolumn;
    }

    public BigDecimal getfPlanvolumn() {
        return fPlanvolumn;
    }

    public void setfOriginalbilldate(Date fOriginalbilldate) {
        this.fOriginalbilldate = fOriginalbilldate;
    }

    public Date getfOriginalbilldate() {
        return fOriginalbilldate;
    }

    public void setfPackagespecs(String fPackagespecs) {
        this.fPackagespecs = fPackagespecs;
    }

    public String getfPackagespecs() {
        return fPackagespecs;
    }

    public void setfPlangrossweight(BigDecimal fPlangrossweight) {
        this.fPlangrossweight = fPlangrossweight;
    }

    public BigDecimal getfPlangrossweight() {
        return fPlangrossweight;
    }

    public void setfChargedate(Date fChargedate) {
        this.fChargedate = fChargedate;
    }

    public Date getfChargedate() {
        return fChargedate;
    }

    public void setfPlannetweight(BigDecimal fPlannetweight) {
        this.fPlannetweight = fPlannetweight;
    }

    public BigDecimal getfPlannetweight() {
        return fPlannetweight;
    }

    public void setfQty(Long fQty) {
        this.fQty = fQty;
    }

    public Long getfQty() {
        return fQty;
    }

    public void setfVolumn(BigDecimal fVolumn) {
        this.fVolumn = fVolumn;
    }

    public BigDecimal getfVolumn() {
        return fVolumn;
    }

    public void setfGrossweight(BigDecimal fGrossweight) {
        this.fGrossweight = fGrossweight;
    }

    public BigDecimal getfGrossweight() {
        return fGrossweight;
    }

    public void setfNetweight(BigDecimal fNetweight) {
        this.fNetweight = fNetweight;
    }

    public BigDecimal getfNetweight() {
        return fNetweight;
    }

    public void setfCntrno(String fCntrno) {
        this.fCntrno = fCntrno;
    }

    public String getfCntrno() {
        return fCntrno;
    }

    public void setfTruckno(String fTruckno) {
        this.fTruckno = fTruckno;
    }

    public String getfTruckno() {
        return fTruckno;
    }

    public void setfBillstatus(Long fBillstatus) {
        this.fBillstatus = fBillstatus;
    }

    public Long getfBillstatus() {
        return fBillstatus;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }

    public String getDelFlag() {
        return delFlag;
    }

    public void setfMarks(String fMarks) {
        this.fMarks = fMarks;
    }

    public String getfMarks() {
        return fMarks;
    }

    public void setfInventoryDays(Long fInventoryDays) {
        this.fInventoryDays = fInventoryDays;
    }

    public Long getfInventoryDays() {
        return fInventoryDays;
    }

    public void setfAmt(BigDecimal fAmt) {
        this.fAmt = fAmt;
    }

    public BigDecimal getfAmt() {
        return fAmt;
    }

    public void setfBillingDays(Long fBillingDays) {
        this.fBillingDays = fBillingDays;
    }

    public Long getfBillingDays() {
        return fBillingDays;
    }

    public void setfDriverName(String fDriverName) {
        this.fDriverName = fDriverName;
    }

    public String getfDriverName() {
        return fDriverName;
    }

    public void setfDriverTel(String fDriverTel) {
        this.fDriverTel = fDriverTel;
    }

    public String getfDriverTel() {
        return fDriverTel;
    }

    public void setfDriverIdCar(String fDriverIdCar) {
        this.fDriverIdCar = fDriverIdCar;
    }

    public String getfDriverIdCar() {
        return fDriverIdCar;
    }

    public void setfSerialNumber(String fSerialNumber) {
        this.fSerialNumber = fSerialNumber;
    }

    public String getfSerialNumber() {
        return fSerialNumber;
    }

    public void setfIsPass(String fIsPass) {
        this.fIsPass = fIsPass;
    }

    public String getfIsPass() {
        return fIsPass;
    }

    public void setfBilltype(String fBilltype) {
        this.fBilltype = fBilltype;
    }

    public String getfBilltype() {
        return fBilltype;
    }

    public void setfBillingQty(BigDecimal fBillingQty) {
        this.fBillingQty = fBillingQty;
    }

    public BigDecimal getfBillingQty() {
        return fBillingQty;
    }

    public void setfBillingDeadline(Date fBillingDeadline) {
        this.fBillingDeadline = fBillingDeadline;
    }

    public Date getfBillingDeadline() {
        return fBillingDeadline;
    }

    public void setfBusinessType(Long fBusinessType) {
        this.fBusinessType = fBusinessType;
    }

    public Long getfBusinessType() {
        return fBusinessType;
    }

    public void setfIsInventory(Long fIsInventory) {
        this.fIsInventory = fIsInventory;
    }

    public Long getfIsInventory() {
        return fIsInventory;
    }

    public String getfWarehouseInformation() {
        return fWarehouseInformation;
    }

    public void setfWarehouseInformation(String fWarehouseInformation) {
        this.fWarehouseInformation = fWarehouseInformation;
    }


    public String getfOrgwarehouseInformation() {
        return fOrgwarehouseInformation;
    }

    public void setfOrgwarehouseInformation(String fOrgwarehouseInformation) {
        this.fOrgwarehouseInformation = fOrgwarehouseInformation;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("fId", getfId())
                .append("fPid", getfPid())
                .append("fLineno", getfLineno())
                .append("fSrcid", getfSrcid())
                .append("fGoodsid", getfGoodsid())
                .append("fBillno", getfBillno())
                .append("fMblno", getfMblno())
                .append("fWarehouselocid", getfWarehouselocid())
                .append("fTransferWarehouselocid", getfTransferWarehouselocid())
                .append("fOriginalbillno", getfOriginalbillno())
                .append("fBsdate", getfBsdate())
                .append("fBoxno", getfBoxno())
                .append("fCntqty", getfCntqty())
                .append("fGoodsval", getfGoodsval())
                .append("fCntrtype", getfCntrtype())
                .append("fPlanqty", getfPlanqty())
                .append("fStorageFeeDeadline", getfStorageFeeDeadline())
                .append("fBillingway", getfBillingway())
                .append("fPlanvolumn", getfPlanvolumn())
                .append("fOriginalbilldate", getfOriginalbilldate())
                .append("fPackagespecs", getfPackagespecs())
                .append("fPlangrossweight", getfPlangrossweight())
                .append("fChargedate", getfChargedate())
                .append("fPlannetweight", getfPlannetweight())
                .append("fQty", getfQty())
                .append("fVolumn", getfVolumn())
                .append("fGrossweight", getfGrossweight())
                .append("fNetweight", getfNetweight())
                .append("fCntrno", getfCntrno())
                .append("fWarehouseInformation", getfWarehouseInformation())
                .append("fOrgwarehouseInformation", getfOrgwarehouseInformation())
                .append("fTruckno", getfTruckno())
                .append("fBillstatus", getfBillstatus())
                .append("delFlag", getDelFlag())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("remark", getRemark())
                .append("fMarks", getfMarks())
                .append("fInventoryDays", getfInventoryDays())
                .append("fAmt", getfAmt())
                .append("fBillingDays", getfBillingDays())
                .append("fDriverName", getfDriverName())
                .append("fDriverTel", getfDriverTel())
                .append("fDriverIdCar", getfDriverIdCar())
                .append("fSerialNumber", getfSerialNumber())
                .append("fIsPass", getfIsPass())
                .append("fBilltype", getfBilltype())
                .append("fBillingQty", getfBillingQty())
                .append("fIsInventory", getfIsInventory())
                .append("fBusinessType", getfBusinessType())
                .append("fBillingDeadline", getfBillingDeadline())
                .toString();
    }
}