package com.ruoyi.warehouseBusiness.domain;

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

/**
 * 仓库费用明细(修改记录)对象 t_warehousebillsfees_logger
 * 
 * @author ruoyi
 * @date 2021-07-05
 */
public class TWarehousebillsfeesLogger extends BaseEntity
{
    private static final long serialVersionUID = 1L;

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

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

    /** 行号 */
    @Excel(name = "行号")
    private Long fLineno;

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

    /** 费用名称,存储id 显示名称,t_fees 中的no或 name，模糊查找选择后，存储f_id，显示name */
    @Excel(name = "费用名称,存储id 显示名称,t_fees 中的no或 name，模糊查找选择后，存储f_id，显示name")
    private Long fFeeid;

    /** 计价单位(数据字典),对应，t_unitfees f_id，如果选择为毛重，数量（f_qty）取主表的毛重，如果选择净重，取主表的净重，如果为箱量，取主表的箱量 */
    @Excel(name = "计价单位(数据字典),对应，t_unitfees f_id，如果选择为毛重，数量", readConverterExp = "f=_qty")
    private Long fFeeunitid;

    /** 数量 */
    @Excel(name = "数量")
    private BigDecimal fQty;

    /** 单价 */
    @Excel(name = "单价")
    private BigDecimal fUnitprice;

    /** 金额,2位小数f_qty* f_amount */
    @Excel(name = "金额,2位小数f_qty* f_amount")
    private BigDecimal fAmount;

    /** 币别 */
    @Excel(name = "币别")
    private String fCurrency;

    /** 汇率 */
    @Excel(name = "汇率")
    private BigDecimal fExrate;

    /** 税率，显示是 3 6 16 用13% */
    @Excel(name = "税率，显示是 3 6 16 用13%")
    private BigDecimal fTaxrate;

    /** 收、付,D:收 C 付 */
    @Excel(name = "收、付,D:收 C 付")
    private String fDc;

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

    /** 状态,1 录入，4审核中，6审核通过，只有录入状态的数据可以修改 */
    @Excel(name = "状态,1 录入，4审核中，6审核通过，只有录入状态的数据可以修改")
    private Long fBillstatus;

    /** 对账单号 */
    @Excel(name = "对账单号")
    private String fStatementNo;

    /** 对账金额 */
    @Excel(name = "对账金额")
    private BigDecimal fAccamount;

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

    /** 结算单号 */
    @Excel(name = "结算单号")
    private String fStlamountNo;

    /** 结算金额 */
    @Excel(name = "结算金额")
    private BigDecimal fStlamount;

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

    /** 发票号 */
    @Excel(name = "发票号")
    private String fInvnos;

    /** 开票金额 */
    @Excel(name = "开票金额")
    private BigDecimal fInvamount;

    /** 申请金额 */
    @Excel(name = "申请金额")
    private BigDecimal fAskamount;

    /** 状态 */
    @Excel(name = "状态")
    private Long fStatus;

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

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

    /** 来源编号 */
    @Excel(name = "来源编号")
    private String srcBillNo;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    /** 0手动录入，其它 来源ID */
    @Excel(name = "0手动录入，其它 来源ID")
    private Integer fSrcTypeId;

    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 setfCorpid(Long fCorpid) 
    {
        this.fCorpid = fCorpid;
    }

    public Long getfCorpid() 
    {
        return fCorpid;
    }
    public void setfFeeid(Long fFeeid) 
    {
        this.fFeeid = fFeeid;
    }

    public Long getfFeeid() 
    {
        return fFeeid;
    }
    public void setfFeeunitid(Long fFeeunitid) 
    {
        this.fFeeunitid = fFeeunitid;
    }

    public Long getfFeeunitid() 
    {
        return fFeeunitid;
    }
    public void setfQty(BigDecimal fQty) 
    {
        this.fQty = fQty;
    }

    public BigDecimal getfQty() 
    {
        return fQty;
    }
    public void setfUnitprice(BigDecimal fUnitprice) 
    {
        this.fUnitprice = fUnitprice;
    }

    public BigDecimal getfUnitprice() 
    {
        return fUnitprice;
    }
    public void setfAmount(BigDecimal fAmount) 
    {
        this.fAmount = fAmount;
    }

    public BigDecimal getfAmount() 
    {
        return fAmount;
    }
    public void setfCurrency(String fCurrency) 
    {
        this.fCurrency = fCurrency;
    }

    public String getfCurrency() 
    {
        return fCurrency;
    }
    public void setfExrate(BigDecimal fExrate) 
    {
        this.fExrate = fExrate;
    }

    public BigDecimal getfExrate() 
    {
        return fExrate;
    }
    public void setfTaxrate(BigDecimal fTaxrate) 
    {
        this.fTaxrate = fTaxrate;
    }

    public BigDecimal getfTaxrate() 
    {
        return fTaxrate;
    }
    public void setfDc(String fDc) 
    {
        this.fDc = fDc;
    }

    public String getfDc() 
    {
        return fDc;
    }
    public void setfReviewDate(Date fReviewDate) 
    {
        this.fReviewDate = fReviewDate;
    }

    public Date getfReviewDate() 
    {
        return fReviewDate;
    }
    public void setfBillstatus(Long fBillstatus) 
    {
        this.fBillstatus = fBillstatus;
    }

    public Long getfBillstatus() 
    {
        return fBillstatus;
    }
    public void setfStatementNo(String fStatementNo) 
    {
        this.fStatementNo = fStatementNo;
    }

    public String getfStatementNo() 
    {
        return fStatementNo;
    }
    public void setfAccamount(BigDecimal fAccamount) 
    {
        this.fAccamount = fAccamount;
    }

    public BigDecimal getfAccamount() 
    {
        return fAccamount;
    }
    public void setfAccamountDate(Date fAccamountDate) 
    {
        this.fAccamountDate = fAccamountDate;
    }

    public Date getfAccamountDate() 
    {
        return fAccamountDate;
    }
    public void setfStlamountNo(String fStlamountNo) 
    {
        this.fStlamountNo = fStlamountNo;
    }

    public String getfStlamountNo() 
    {
        return fStlamountNo;
    }
    public void setfStlamount(BigDecimal fStlamount) 
    {
        this.fStlamount = fStlamount;
    }

    public BigDecimal getfStlamount() 
    {
        return fStlamount;
    }
    public void setfStlamountDate(Date fStlamountDate) 
    {
        this.fStlamountDate = fStlamountDate;
    }

    public Date getfStlamountDate() 
    {
        return fStlamountDate;
    }
    public void setfInvnos(String fInvnos) 
    {
        this.fInvnos = fInvnos;
    }

    public String getfInvnos() 
    {
        return fInvnos;
    }
    public void setfInvamount(BigDecimal fInvamount) 
    {
        this.fInvamount = fInvamount;
    }

    public BigDecimal getfInvamount() 
    {
        return fInvamount;
    }
    public void setfAskamount(BigDecimal fAskamount) 
    {
        this.fAskamount = fAskamount;
    }

    public BigDecimal getfAskamount() 
    {
        return fAskamount;
    }
    public void setfStatus(Long fStatus) 
    {
        this.fStatus = fStatus;
    }

    public Long getfStatus() 
    {
        return fStatus;
    }
    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }
    public void setSrcId(Long srcId) 
    {
        this.srcId = srcId;
    }

    public Long getSrcId() 
    {
        return srcId;
    }
    public void setSrcBillNo(String srcBillNo) 
    {
        this.srcBillNo = srcBillNo;
    }

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

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

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

    public String getfMarks() 
    {
        return fMarks;
    }
    public void setfChargedate(Date fChargedate) 
    {
        this.fChargedate = fChargedate;
    }

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

    public Date getfBillingDeadline() 
    {
        return fBillingDeadline;
    }
    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 setfBillingQty(BigDecimal fBillingQty) 
    {
        this.fBillingQty = fBillingQty;
    }

    public BigDecimal getfBillingQty() 
    {
        return fBillingQty;
    }
    public void setfBilltype(String fBilltype) 
    {
        this.fBilltype = fBilltype;
    }

    public String getfBilltype() 
    {
        return fBilltype;
    }
    public void setfBillingway(Long fBillingway) 
    {
        this.fBillingway = fBillingway;
    }

    public Long getfBillingway() 
    {
        return fBillingway;
    }
    public void setfBsdate(Date fBsdate) 
    {
        this.fBsdate = fBsdate;
    }

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

    public Date getfOriginalbilldate() 
    {
        return fOriginalbilldate;
    }
    public void setfStltypeid(Long fStltypeid) 
    {
        this.fStltypeid = fStltypeid;
    }

    public Long getfStltypeid() 
    {
        return fStltypeid;
    }
    public void setfBusinessType(String fBusinessType) 
    {
        this.fBusinessType = fBusinessType;
    }

    public String getfBusinessType() 
    {
        return fBusinessType;
    }
    public void setfSrcTypeId(Integer fSrcTypeId) 
    {
        this.fSrcTypeId = fSrcTypeId;
    }

    public Integer getfSrcTypeId() 
    {
        return fSrcTypeId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("fId", getfId())
            .append("fPid", getfPid())
            .append("fLineno", getfLineno())
            .append("fCorpid", getfCorpid())
            .append("fFeeid", getfFeeid())
            .append("fFeeunitid", getfFeeunitid())
            .append("fQty", getfQty())
            .append("fUnitprice", getfUnitprice())
            .append("fAmount", getfAmount())
            .append("fCurrency", getfCurrency())
            .append("fExrate", getfExrate())
            .append("fTaxrate", getfTaxrate())
            .append("fDc", getfDc())
            .append("fReviewDate", getfReviewDate())
            .append("fBillstatus", getfBillstatus())
            .append("fStatementNo", getfStatementNo())
            .append("fAccamount", getfAccamount())
            .append("fAccamountDate", getfAccamountDate())
            .append("fStlamountNo", getfStlamountNo())
            .append("fStlamount", getfStlamount())
            .append("fStlamountDate", getfStlamountDate())
            .append("fInvnos", getfInvnos())
            .append("fInvamount", getfInvamount())
            .append("fAskamount", getfAskamount())
            .append("fStatus", getfStatus())
            .append("delFlag", getDelFlag())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .append("srcId", getSrcId())
            .append("srcBillNo", getSrcBillNo())
            .append("fMblno", getfMblno())
            .append("fProductName", getfProductName())
            .append("fMarks", getfMarks())
            .append("fChargedate", getfChargedate())
            .append("fBillingDeadline", getfBillingDeadline())
            .append("fInventoryDays", getfInventoryDays())
            .append("fAmt", getfAmt())
            .append("fBillingDays", getfBillingDays())
            .append("fBillingQty", getfBillingQty())
            .append("fBilltype", getfBilltype())
            .append("fBillingway", getfBillingway())
            .append("fBsdate", getfBsdate())
            .append("fOriginalbilldate", getfOriginalbilldate())
            .append("fStltypeid", getfStltypeid())
            .append("fBusinessType", getfBusinessType())
            .append("fSrcTypeId", getfSrcTypeId())
            .toString();
    }
}
