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 lombok.Data;

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

/**
 * 仓库费用明细对象 t_warehousebillsfees_modify
 *
 * @author ruoyi
 * @date 2021-10-27
 */
public class TWarehousebillsfeesModify 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 Long getfId() {
        return fId;
    }

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

    public Long getfPid() {
        return fPid;
    }

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

    public Long getfLineno() {
        return fLineno;
    }

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

    public Long getfCorpid() {
        return fCorpid;
    }

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

    public Long getfFeeid() {
        return fFeeid;
    }

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

    public Long getfFeeunitid() {
        return fFeeunitid;
    }

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

    public BigDecimal getfQty() {
        return fQty;
    }

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

    public BigDecimal getfUnitprice() {
        return fUnitprice;
    }

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

    public BigDecimal getfAmount() {
        return fAmount;
    }

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

    public String getfCurrency() {
        return fCurrency;
    }

    public void setfCurrency(String fCurrency) {
        this.fCurrency = fCurrency;
    }

    public BigDecimal getfExrate() {
        return fExrate;
    }

    public void setfExrate(BigDecimal fExrate) {
        this.fExrate = fExrate;
    }

    public BigDecimal getfTaxrate() {
        return fTaxrate;
    }

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

    public String getfDc() {
        return fDc;
    }

    public void setfDc(String fDc) {
        this.fDc = fDc;
    }

    public Date getfReviewDate() {
        return fReviewDate;
    }

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

    public Long getfBillstatus() {
        return fBillstatus;
    }

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

    public String getfStatementNo() {
        return fStatementNo;
    }

    public void setfStatementNo(String fStatementNo) {
        this.fStatementNo = fStatementNo;
    }

    public BigDecimal getfAccamount() {
        return fAccamount;
    }

    public void setfAccamount(BigDecimal fAccamount) {
        this.fAccamount = fAccamount;
    }

    public Date getfAccamountDate() {
        return fAccamountDate;
    }

    public void setfAccamountDate(Date fAccamountDate) {
        this.fAccamountDate = fAccamountDate;
    }

    public String getfStlamountNo() {
        return fStlamountNo;
    }

    public void setfStlamountNo(String fStlamountNo) {
        this.fStlamountNo = fStlamountNo;
    }

    public BigDecimal getfStlamount() {
        return fStlamount;
    }

    public void setfStlamount(BigDecimal fStlamount) {
        this.fStlamount = fStlamount;
    }

    public Date getfStlamountDate() {
        return fStlamountDate;
    }

    public void setfStlamountDate(Date fStlamountDate) {
        this.fStlamountDate = fStlamountDate;
    }

    public String getfInvnos() {
        return fInvnos;
    }

    public void setfInvnos(String fInvnos) {
        this.fInvnos = fInvnos;
    }

    public BigDecimal getfInvamount() {
        return fInvamount;
    }

    public void setfInvamount(BigDecimal fInvamount) {
        this.fInvamount = fInvamount;
    }

    public BigDecimal getfAskamount() {
        return fAskamount;
    }

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

    public Long getfStatus() {
        return fStatus;
    }

    public void setfStatus(Long fStatus) {
        this.fStatus = fStatus;
    }

    public String getDelFlag() {
        return delFlag;
    }

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

    public Long getSrcId() {
        return srcId;
    }

    public void setSrcId(Long srcId) {
        this.srcId = srcId;
    }

    public String getSrcBillNo() {
        return srcBillNo;
    }

    public void setSrcBillNo(String srcBillNo) {
        this.srcBillNo = srcBillNo;
    }

    public String getfMblno() {
        return fMblno;
    }

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

    public String getfProductName() {
        return fProductName;
    }

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

    public String getfMarks() {
        return fMarks;
    }

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

    public Date getfChargedate() {
        return fChargedate;
    }

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

    public Date getfBillingDeadline() {
        return fBillingDeadline;
    }

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

    public Long getfInventoryDays() {
        return fInventoryDays;
    }

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

    public BigDecimal getfAmt() {
        return fAmt;
    }

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

    public Long getfBillingDays() {
        return fBillingDays;
    }

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

    public BigDecimal getfBillingQty() {
        return fBillingQty;
    }

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

    public String getfBilltype() {
        return fBilltype;
    }

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

    public Long getfBillingway() {
        return fBillingway;
    }

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

    public Date getfBsdate() {
        return fBsdate;
    }

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

    public Date getfOriginalbilldate() {
        return fOriginalbilldate;
    }

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

    public Long getfStltypeid() {
        return fStltypeid;
    }

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

    public String getfBusinessType() {
        return fBusinessType;
    }

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

    public Integer getfSrcTypeId() {
        return fSrcTypeId;
    }

    public void setfSrcTypeId(Integer fSrcTypeId) {
        this.fSrcTypeId = fSrcTypeId;
    }

    @Override
    public String toString() {
        return "TWarehousebillsfeesModify{" +
                "fId=" + fId +
                ", fPid=" + fPid +
                ", fLineno=" + fLineno +
                ", fCorpid=" + fCorpid +
                ", fFeeid=" + fFeeid +
                ", fFeeunitid=" + fFeeunitid +
                ", fQty=" + fQty +
                ", fUnitprice=" + fUnitprice +
                ", fAmount=" + fAmount +
                ", fCurrency='" + fCurrency + '\'' +
                ", fExrate=" + fExrate +
                ", fTaxrate=" + fTaxrate +
                ", fDc='" + fDc + '\'' +
                ", fReviewDate=" + fReviewDate +
                ", fBillstatus=" + fBillstatus +
                ", fStatementNo='" + fStatementNo + '\'' +
                ", fAccamount=" + fAccamount +
                ", fAccamountDate=" + fAccamountDate +
                ", fStlamountNo='" + fStlamountNo + '\'' +
                ", fStlamount=" + fStlamount +
                ", fStlamountDate=" + fStlamountDate +
                ", fInvnos='" + fInvnos + '\'' +
                ", fInvamount=" + fInvamount +
                ", fAskamount=" + fAskamount +
                ", fStatus=" + fStatus +
                ", delFlag='" + delFlag + '\'' +
                ", srcId=" + srcId +
                ", srcBillNo='" + srcBillNo + '\'' +
                ", fMblno='" + fMblno + '\'' +
                ", fProductName='" + fProductName + '\'' +
                ", fMarks='" + fMarks + '\'' +
                ", fChargedate=" + fChargedate +
                ", fBillingDeadline=" + fBillingDeadline +
                ", fInventoryDays=" + fInventoryDays +
                ", fAmt=" + fAmt +
                ", fBillingDays=" + fBillingDays +
                ", fBillingQty=" + fBillingQty +
                ", fBilltype='" + fBilltype + '\'' +
                ", fBillingway=" + fBillingway +
                ", fBsdate=" + fBsdate +
                ", fOriginalbilldate=" + fOriginalbilldate +
                ", fStltypeid=" + fStltypeid +
                ", fBusinessType='" + fBusinessType + '\'' +
                ", fSrcTypeId=" + fSrcTypeId +
                '}';
    }
}
