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;
import java.util.List;

/**
 * 详情主表对象 t_warehouse_details
 *
 * @author ruoyi
 * @date 2020-12-11
 */
public class TWarehouseBills extends BaseEntity {
    private static final long serialVersionUID = 1L;

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

    /**
     * 业务编号,格式RK+YYYY+YY+NNN,编号不能断号，要连续、如果删除该编号，下次新建单据，优先使用删除单据号，每月从001开始。
     * RK CK DB HZ
     */
    @Excel(name = "业务编号")
    private String fBillno;

    /**
     * 报关号
     */
    @Excel(name = "报关号")
    private String fCustomsdeclartion;

    /**
     * 原始业务编号,入库时和f_billno 相同，出库 取入库的f_originalbillno
     */
    @Excel(name = "原始业务编号,入库时和f_billno 相同，出库 取入库的f_originalbillno")
    private String fOriginalbillno;

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

    /**
     * 制单部门
     */
    @Excel(name = "制单部门")
    private Long fDeptid;

    /**
     * 业务所属部门
     */
    @Excel(name = "业务所属部门")
    private Long fBsdeptid;

    /**
     * 联系人
     */
    @Excel(name = "联系人")
    private String fContacts;

    /**
     * 电话
     */
    @Excel(name = "电话")
    private String fTel;

    /**
     * 客户名称，t_corps 中的no或 name，模糊查找选择后，存储id，显示name
     */
    @Excel(name = "客户名称，t_corps 中的no或 name，模糊查找选择后，存储id，显示name")
    private Long fCorpid;

    /**
     * 货转客户名称，t_corps 中的no或 name，模糊查找选择后，存储id，显示name，自有在货权转移是该字段有效
     */
    @Excel(name = "货转客户名称，t_corps 中的no或 name，模糊查找选择后，存储id，显示name，自有在货权转移是该字段有效")
    private Long fTocorpid;

    /**
     * 结算方式，默认提取corps中stltypeid	也可以从表t_stltypes中下拉选择，存储id，显示name
     */
    @Excel(name = "结算方式，默认提取corps中stltypeid	也可以从表t_stltypes中下拉选择，存储id，显示name")
    private Long fStltypeid;

    /**
     * 客户存货编号,格式编号客户编号+YYYY +NNNN，
     * 编号不能断号，要连续、如果删除该编号，下次新建单据，优先使用，每年从001开始
     */
    @Excel(name = "客户存货编号")
    private String fBscorpno;

    /**
     * 仓库
     */
    @Excel(name = "仓库")
    private Long fWarehouseid;

    /**
     * 仓管人
     */
    @Excel(name = "仓管人")
    private String fStorekeeper;

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

    /**
     * 计划件数,由明细表自动合计生成
     */
    @Excel(name = "计划件数,由明细表自动合计生成")
    private Long fPlanqty;

    /**
     * 计划毛重,由明细表自动合计生成
     */
    @Excel(name = "计划毛重,由明细表自动合计生成")
    private BigDecimal fPlangrossweight;

    /**
     * 计划净重,由明细表自动合计生成
     */
    @Excel(name = "计划净重,由明细表自动合计生成")
    private BigDecimal fPlannetweight;

    /**
     * 计划尺码,由明细表自动合计生成
     */
    @Excel(name = "计划尺码,由明细表自动合计生成")
    private BigDecimal fPlanvolumn;

    /**
     * 件数,由明细表自动合计生成
     */
    @Excel(name = "件数,由明细表自动合计生成")
    private Long fQty;

    /**
     * 毛重，由明细表自动合计生成
     */
    @Excel(name = "毛重，由明细表自动合计生成")
    private BigDecimal fGrossweight;

    /**
     * 净重，由明细表自动合计生成
     */
    @Excel(name = "净重，由明细表自动合计生成")
    private BigDecimal fNetweight;

    /**
     * 尺码，由明细表自动合计生成
     */
    @Excel(name = "尺码，由明细表自动合计生成")
    private BigDecimal fVolumn;

    /**
     * 贸易方式(数据字典),对应t_trademodels
     */
    @Excel(name = "贸易方式(数据字典),对应t_trademodels ")
    private Long fTrademodeid;

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

    /**
     * 经营单位(客户列表)
     */
    @Excel(name = "经营单位(客户列表)")
    private Long fSbu;

    /**
     * 计费单位(数据字典),下拉选择毛重或净重
     */
    @Excel(name = "计费单位(数据字典),下拉选择毛重或净重")
    private String fFeetunit;

    /** 明细品名合计 */
    @Excel(name = "明细品名合计")
    private String fProductName;

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

    /**
     * 船名航次,CMA/A0001
     */
    @Excel(name = "船名航次,CMA/A0001")
    private String fVslvoy;

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

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

    /**
     * 报关单号
     */
    @Excel(name = "报关单号")
    private String fCustomno;

    /**
     * 是否过磅(数据字典)默认 F ,过磅T 否者F 下拉选择
     */
    @Excel(name = "是否过磅(数据字典)默认 F ,过磅T 否者F 下拉选择")
    private String fIfweigh;

    /**
     * 是否质押(数据字典),默认 F ,质押T 否者F 下拉选择
     */
    @Excel(name = "是否质押(数据字典),默认 F ,质押T 否者F 下拉选择")
    private String fIfpledge;

    /**
     * 是否破损(数据字典),默认F否则T
     */
    @Excel(name = "是否破损(数据字典),默认F否则T")
    private String fIfdamage;

    /**
     * 银行名称,t_corps 中的no或 name，模糊查找选择后，存储id，显示name
     */
    @Excel(name = "银行名称,t_corps 中的no或 name，模糊查找选择后，存储id，显示name")
    private Long fBankcorpid;

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

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

    /**
     *  库存明细 1 未入账  2 未完成所有入账  6  已入账
     */
    @Excel(name = "库存明细状态")
    private Long fItemsStatus;

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

    /**
     *  仓储费计费截至日期
     */
    @Excel(name = "仓储费计费截至日期")
    private Date fBillingDeadline;

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

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

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

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

    /** 业务类型(存汉字的，用来区别 如: 来车提货,出库装箱  区别) */
    @Excel(name = "业务类型(存汉字的，用来区别 如: 来车提货,出库装箱  区别)")
    private String fBusinessType;

    /**
     * 货转客户名称，t_corps 中的no或 name，模糊查找选择后，存储id，显示name，自有在货权转移是该字段有效
     */
    @Excel(name = "车队")
    private Long fFleet;

    /**
     * 货转客户名称，t_corps 中的no或 name，模糊查找选择后，存储id，显示name，自有在货权转移是该字段有效
     */
    @Excel(name = "劳务")
    private Long fLabour ;

    /**
     * 调拨模块使用(出库仓库)
     */
    @Excel(name = "调拨仓库使用的")
    private Long fInwarehouseid ;

    /**
     *   业务时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "业务时间", width = 30, dateFormat = "yyyy-MM-dd  HH:mm:ss")
    private Date fBstime;

    /**
     *   车辆类型
     */
    @Excel(name = "车辆类型")
    private Long fCartype ;


    /**
     * 查询时间区间
     */
    private List<String> timeInterval;
    public void settimeInterval(List<String> timeInterval) {
        this.timeInterval = timeInterval;
    }
    public List<String> gettimeInterval() {
        return timeInterval;
    }

    /**
     * 查询货物
     */
    private Long fGoodsid;
    public void setfGoodsid(Long fGoodsid) {
        this.fGoodsid = fGoodsid;
    }
    public Long getfGoodsid() {
        return fGoodsid;
    }

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

    /** 仓库 */
    @Excel(name = "仓库")
    private Long fLocation;

    public Long getfLocation() {
        return fLocation;
    }

    public void setfLocation(Long fLocation) {
        this.fLocation = fLocation;
    }

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

    public Long getfId() {
        return fId;
    }

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

    public String getfBillno() {
        return fBillno;
    }

    public void setfCustomsdeclartion(String fCustomsdeclartion) {
        this.fCustomsdeclartion = fCustomsdeclartion;
    }

    public String getfCustomsdeclartion() {
        return fCustomsdeclartion;
    }

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

    public String getfOriginalbillno() {
        return fOriginalbillno;
    }

    public void setfDeptid(Long fDeptid) {
        this.fDeptid = fDeptid;
    }

    public Long getfDeptid() {
        return fDeptid;
    }

    public void setfBsdeptid(Long fBsdeptid) {
        this.fBsdeptid = fBsdeptid;
    }

    public Long getfBsdeptid() {
        return fBsdeptid;
    }

    public void setfContacts(String fContacts) {
        this.fContacts = fContacts;
    }

    public String getfContacts() {
        return fContacts;
    }

    public void setfTel(String fTel) {
        this.fTel = fTel;
    }

    public String getfTel() {
        return fTel;
    }

    public void setfCorpid(Long fCorpid) {
        this.fCorpid = fCorpid;
    }

    public Long getfCorpid() {
        return fCorpid;
    }

    public void setfTocorpid(Long fTocorpid) {
        this.fTocorpid = fTocorpid;
    }

    public Long getfTocorpid() {
        return fTocorpid;
    }

    public void setfStltypeid(Long fStltypeid) {
        this.fStltypeid = fStltypeid;
    }

    public Long getfStltypeid() {
        return fStltypeid;
    }

    public void setfBscorpno(String fBscorpno) {
        this.fBscorpno = fBscorpno;
    }

    public String getfBscorpno() {
        return fBscorpno;
    }

    public void setfWarehouseid(Long fWarehouseid) {
        this.fWarehouseid = fWarehouseid;
    }

    public Long getfWarehouseid() {
        return fWarehouseid;
    }

    public void setfStorekeeper(String fStorekeeper) {
        this.fStorekeeper = fStorekeeper;
    }

    public String getfStorekeeper() {
        return fStorekeeper;
    }

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

    public Date getfBsdate() {
        return fBsdate;
    }

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

    public Long getfPlanqty() {
        return fPlanqty;
    }

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

    public BigDecimal getfPlangrossweight() {
        return fPlangrossweight;
    }

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

    public BigDecimal getfPlannetweight() {
        return fPlannetweight;
    }

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

    public BigDecimal getfPlanvolumn() {
        return fPlanvolumn;
    }

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

    public Long getfQty() {
        return fQty;
    }

    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 setfVolumn(BigDecimal fVolumn) {
        this.fVolumn = fVolumn;
    }

    public BigDecimal getfVolumn() {
        return fVolumn;
    }

    public void setfTrademodeid(Long fTrademodeid) {
        this.fTrademodeid = fTrademodeid;
    }

    public Long getfTrademodeid() {
        return fTrademodeid;
    }

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

    public Long getfBillingway() {
        return fBillingway;
    }

    public void setfSbu(Long fSbu) {
        this.fSbu = fSbu;
    }

    public Long getfSbu() {
        return fSbu;
    }

    public void setfFeetunit(String fFeetunit) {
        this.fFeetunit = fFeetunit;
    }

    public String getfFeetunit() {
        return fFeetunit;
    }

    public void setfProductName(String fProductName) {
        this.fProductName = fProductName;
    }

    public String getfProductName() {
        return fProductName;
    }

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

    public String getfMblno() {
        return fMblno;
    }

    public void setfVslvoy(String fVslvoy) {
        this.fVslvoy = fVslvoy;
    }

    public String getfVslvoy() {
        return fVslvoy;
    }

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

    public String getfMarks() {
        return fMarks;
    }

    public void setfEta(Date fEta) {
        this.fEta = fEta;
    }

    public Date getfEta() {
        return fEta;
    }

    public void setfCustomno(String fCustomno) {
        this.fCustomno = fCustomno;
    }

    public String getfCustomno() {
        return fCustomno;
    }

    public void setfIfweigh(String fIfweigh) {
        this.fIfweigh = fIfweigh;
    }

    public String getfIfweigh() {
        return fIfweigh;
    }

    public void setfIfpledge(String fIfpledge) {
        this.fIfpledge = fIfpledge;
    }

    public String getfIfpledge() {
        return fIfpledge;
    }

    public void setfIfdamage(String fIfdamage) {
        this.fIfdamage = fIfdamage;
    }

    public String getfIfdamage() {
        return fIfdamage;
    }

    public void setfBankcorpid(Long fBankcorpid) {
        this.fBankcorpid = fBankcorpid;
    }

    public Long getfBankcorpid() {
        return fBankcorpid;
    }

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

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

    public Date getfChargedate() {
        return fChargedate;
    }

    public String getfBilltype() {
        return fBilltype;
    }

    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 Long getfItemsStatus() {
        return fItemsStatus;
    }

    public void setfItemsStatus(Long fItemsStatus) {
        this.fItemsStatus = fItemsStatus;
    }

    public Date getfReviewDate() {
        return fReviewDate;
    }

    public void setfReviewDate(Date fReviewDate) {
        this.fReviewDate = fReviewDate;
    }

    public Date getfBillingDeadline() {
        return fBillingDeadline;
    }

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

    public String getfTruckno() {
        return fTruckno;
    }

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

    public String getfDriverName() {
        return fDriverName;
    }

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

    public String getfDriverTel() {
        return fDriverTel;
    }

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

    public String getfDriverIdCar() {
        return fDriverIdCar;
    }

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

    public String getfBusinessType() {
        return fBusinessType;
    }

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

    public Long getfFleet() {
        return fFleet;
    }

    public void setfFleet(Long fFleet) {
        this.fFleet = fFleet;
    }

    public Long getfLabour() {
        return fLabour;
    }

    public void setfLabour(Long fLabour) {
        this.fLabour = fLabour;
    }

    public Long getfInwarehouseid() {
        return fInwarehouseid;
    }

    public void setfInwarehouseid(Long fInwarehouseid) {
        this.fInwarehouseid = fInwarehouseid;
    }

    public Date getfBstime() {
        return fBstime;
    }

    public void setfBstime(Date fBstime) {
        this.fBstime = fBstime;
    }

    public Long getfCartype() {
        return fCartype;
    }

    public void setfCartype(Long fCartype) {
        this.fCartype = fCartype;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("fId", getfId())
                .append("fBillno", getfBillno())
                .append("fCustomsdeclartion", getfCustomsdeclartion())
                .append("fOriginalbillno", getfOriginalbillno())
                .append("fDeptid", getfDeptid())
                .append("fBsdeptid", getfBsdeptid())
                .append("fContacts", getfContacts())
                .append("fTel", getfTel())
                .append("fCorpid", getfCorpid())
                .append("fTocorpid", getfTocorpid())
                .append("fStltypeid", getfStltypeid())
                .append("fBscorpno", getfBscorpno())
                .append("fWarehouseid", getfWarehouseid())
                .append("fStorekeeper", getfStorekeeper())
                .append("fChargedate", getfChargedate())
                .append("fBsdate", getfBsdate())
                .append("fPlanqty", getfPlanqty())
                .append("fPlangrossweight", getfPlangrossweight())
                .append("fPlannetweight", getfPlannetweight())
                .append("fPlanvolumn", getfPlanvolumn())
                .append("fQty", getfQty())
                .append("fGrossweight", getfGrossweight())
                .append("fNetweight", getfNetweight())
                .append("fVolumn", getfVolumn())
                .append("fTrademodeid", getfTrademodeid())
                .append("fBillingway", getfBillingway())
                .append("fSbu", getfSbu())
                .append("fFeetunit", getfFeetunit())
                .append("fMblno", getfMblno())
                .append("fVslvoy", getfVslvoy())
                .append("fMarks", getfMarks())
                .append("fEta", getfEta())
                .append("fCustomno", getfCustomno())
                .append("fIfweigh", getfIfweigh())
                .append("fIfpledge", getfIfpledge())
                .append("fIfdamage", getfIfdamage())
                .append("fBankcorpid", getfBankcorpid())
                .append("fBilltype", getfBilltype())
                .append("fBillstatus", getfBillstatus())
                .append("delFlag", getDelFlag())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("fItemsStatus", getfItemsStatus())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("remark", getRemark())
                .append("fBillingDeadline", getfBillingDeadline())
                .append("fProductName", getfProductName())
                .append("fReviewDate", getfReviewDate())
                .append("fTruckno", getfTruckno())
                .append("fDriverName", getfDriverName())
                .append("fDriverTel", getfDriverTel())
                .append("fDriverIdCar", getfDriverIdCar())
                .append("fBusinessType", getfBusinessType())
                .toString();
    }
}
