package com.ruoyi.finance.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.shipping.domain.TFeeInvoice;
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_fee
 *
 * @author ruoyi
 * @date 2021-01-18
 */
public class TFee extends BaseEntity {
    private static final long serialVersionUID = 1L;

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

    /**
     * 业务编号(唯一格式+YYYY+YY+NNN，
     * 编号不能断号，要连续、如果删除该编号，下次新建单据，优先使用删除单据号，每月从001开始。)
     * 对账 DZ
     * <p>
     * 收费 SF
     * <p>
     * 付费 FF
     * <p>
     * 发票 FP
     */
    @Excel(name = "业务编号(唯一格式+YYYY+YY+NNN，编号不能断号，要连续、如果删除该编号，下次新建单据，优先使用删除单据号，每月从001开始。) 对账 DZ 收费 SF 付费 FF 发票 FP")
    private String fBillno;

    /**
     * 活动号
     */
    @Excel(name = "活动号")
    private Long fActId;

    /**
     * 货权方
     */
    @Excel(name = "货权方")
    private String fCtrlcorpid;

    /**
     * 结算单位(下拉模糊搜索)
     */
    @Excel(name = "结算单位(下拉模糊搜索)")
    private Long fCorpid;
    //结算单位中文名称
    private String fCorpidName;

    /**
     * 业务员id
     */
    @Excel(name = "业务员id")
    private Long fTransActId;

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

    /**
     * 应收合计
     */
    @Excel(name = "应收合计")
    private BigDecimal fAmtdr;

    /**
     * 应付合计
     */
    @Excel(name = "应付合计")
    private BigDecimal fAmtcr;

    /**
     * 单据类型(对账单 收费 付费 付费申请 收费申请，发票申请 销项发票 进项发票)
     */
    @Excel(name = "单据类型(对账单 收费 付费 付费申请 收费申请，发票申请 销项发票 进项发票)")
    private String fBilltype;

    /**
     * 状态
     */
    @Excel(name = "状态")
    private String fBillstatus;

    /**
     * 备注
     */
    @Excel(name = "备注")
    private String fRemarks;

    /**
     * 检索区间始
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "检索区间始", width = 30, dateFormat = "yyyy-MM-dd")
    private Date fFromDate;

    /**
     * 检索区间终
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "检索区间终", width = 30, dateFormat = "yyyy-MM-dd")
    private Date fToDate;

    /**
     * 账单日期(审批流结束后更新)
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "账单日期(审批流结束后更新)", width = 30, dateFormat = "yyyy-MM-dd")
    private Date fAccbilldate;

    /**
     * 参考号
     */
    @Excel(name = "参考号")
    private String fRefNo;

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

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

    /**
     * 收费方式
     */
    @Excel(name = "收费方式")
    private String chargingMethod;
    /**
     * 发票号
     */
    @Excel(name = "发票号")
    private String invoiceNo;
    /**
     * 银行
     */
    @Excel(name = "银行")
    private String bank;
    /**
     * 水单号
     */
    @Excel(name = "水单号")
    private String waterBillNo;

    /** 系统类型(1仓储、2车队、3凯和) */
    @Excel(name = "系统类型(1仓储、2车队、3凯和)")
    private String fSystemType;
    /** 快递单号 */
    @Excel(name = "快递单号")
    private String fTrackingNumber;

    /** 发票抬头 */
    @Excel(name = "发票抬头")
    private String fInvoiceRise;

    /** 是否签收(0 是，1否) */
    @Excel(name = "是否签收(0 是，1否)")
    private Integer fSign;

    /** 寄送时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "寄送时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date fSendTime;
    /** 开票申请金额 */
    @Excel(name = "开票申请金额")
    private BigDecimal fApplyMoney;
    /** 开票调的对账单id */
    @Excel(name = "开票调的对账单id")
    private Long fAccountId;

    /** 是否开发票 */
    @Excel(name = "是否开发票")
    private Integer fMake;
    /** t_vessel id 船名 */
    @Excel(name = "t_vessel id 船名")
    private Long fVslid;

    /** t_voyage id 航次 */
    @Excel(name = "t_voyage id 航次")
    private Long fVoyid;

    /** 起运港 */
    @Excel(name = "起运港")
    private Long fLoadportid;

    /** 目的港 */
    @Excel(name = "目的港")
    private Long fDestportid;

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

    /** 银行账号 */
    @Excel(name = "银行账号")
    private String fBankNumber;
    /** 是否对账 */
    @Excel(name = "是否对账")
    private String fReconciliation;
    /** 开票备注 */
    @Excel(name = "开票备注")
    private String invoiceRemarks;
    /**申请金额区间*/
    private List<String> money;

    /**
     * 查询时间区间
     */
    private List<String> timeInterval;
    /**
     * 查询申请时间区间
     */
    private List<String> applyTime;
    /**
     * 申请单位
     */
    private String createName;
    //税率
    private BigDecimal fTaxrate;
    /**
     * 申请人
     */
    private Long createId;
    /**
     * 网页版发票申请的对账id
     */
    private List<Long> fIds;
    /**
     * 开票信息表
     */
    private TFeeInvoice tFeeInvoice;
    /**
     *金额查询区间
     */
    private List<BigDecimal> amount;
    /**
     * 凯和需要的业务编号
     */
    private  String srcBillNo;

    public Long getfAccountId() {
        return fAccountId;
    }

    public void setfAccountId(Long fAccountId) {
        this.fAccountId = fAccountId;
    }

    public Integer getfMake() {
        return fMake;
    }

    public void setfMake(Integer fMake) {
        this.fMake = fMake;
    }

    public List<BigDecimal> getAmount() {
        return amount;
    }

    public void setAmount(List<BigDecimal> amount) {
        this.amount = amount;
    }

    public TFeeInvoice gettFeeInvoice() {
        return tFeeInvoice;
    }

    public void settFeeInvoice(TFeeInvoice tFeeInvoice) {
        this.tFeeInvoice = tFeeInvoice;
    }

    public List<Long> getfIds() {
        return fIds;
    }

    public void setfIds(List<Long> fIds) {
        this.fIds = fIds;
    }

    public Long getCreateId() {
        return createId;
    }

    public void setCreateId(Long createId) {
        this.createId = createId;
    }

    public String getfSystemType() {
        return fSystemType;
    }

    public void setfSystemType(String fSystemType) {
        this.fSystemType = fSystemType;
    }

    public BigDecimal getfTaxrate() {
        return fTaxrate;
    }

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

    public String getfCorpidName() {
        return fCorpidName;
    }

    public void setfCorpidName(String fCorpidName) {
        this.fCorpidName = fCorpidName;
    }

    public String getCreateName() {
        return createName;
    }

    public void setCreateName(String createName) {
        this.createName = createName;
    }

    public List<String> getMoney() {
        return money;
    }

    public List<String> getApplyTime() {
        return applyTime;
    }

    public void setApplyTime(List<String> applyTime) {
        this.applyTime = applyTime;
    }

    public void setMoney(List<String> money) {
        this.money = money;
    }

    public void settimeInterval(List<String> timeInterval) {
        this.timeInterval = timeInterval;
    }
    public List<String> gettimeInterval() {
        return timeInterval;
    }

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

    public Long getfActId() {
        return fActId;
    }

    public void setfCtrlcorpid(String fCtrlcorpid) {
        this.fCtrlcorpid = fCtrlcorpid;
    }

    public String getfCtrlcorpid() {
        return fCtrlcorpid;
    }

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

    public Long getfCorpid() {
        return fCorpid;
    }

    public void setfTransActId(Long fTransActId) {
        this.fTransActId = fTransActId;
    }

    public Long getfTransActId() {
        return fTransActId;
    }

    public void settMblno(String tMblno) {
        this.tMblno = tMblno;
    }

    public String gettMblno() {
        return tMblno;
    }

    public void setfAmtdr(BigDecimal fAmtdr) {
        this.fAmtdr = fAmtdr;
    }

    public BigDecimal getfAmtdr() {
        return fAmtdr;
    }

    public void setfAmtcr(BigDecimal fAmtcr) {
        this.fAmtcr = fAmtcr;
    }

    public BigDecimal getfAmtcr() {
        return fAmtcr;
    }

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

    public String getfBilltype() {
        return fBilltype;
    }

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

    public String getfBillstatus() {
        return fBillstatus;
    }

    public void setfRemarks(String fRemarks) {
        this.fRemarks = fRemarks;
    }

    public String getfRemarks() {
        return fRemarks;
    }

    public void setfFromDate(Date fFromDate) {
        this.fFromDate = fFromDate;
    }

    public Date getfFromDate() {
        return fFromDate;
    }

    public void setfToDate(Date fToDate) {
        this.fToDate = fToDate;
    }

    public Date getfToDate() {
        return fToDate;
    }

    public void setfAccbilldate(Date fAccbilldate) {
        this.fAccbilldate = fAccbilldate;
    }

    public Date getfAccbilldate() {
        return fAccbilldate;
    }

    public void setfRefNo(String fRefNo) {
        this.fRefNo = fRefNo;
    }

    public String getfRefNo() {
        return fRefNo;
    }

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

    public String getDelFlag() {
        return delFlag;
    }

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

    public Long getfDeptid() {
        return fDeptid;
    }

    public String getChargingMethod() {
        return chargingMethod;
    }

    public void setChargingMethod(String chargingMethod) {
        this.chargingMethod = chargingMethod;
    }

    public String getInvoiceNo() {
        return invoiceNo;
    }

    public void setInvoiceNo(String invoiceNo) {
        this.invoiceNo = invoiceNo;
    }

    public String getBank() {
        return bank;
    }

    public void setBank(String bank) {
        this.bank = bank;
    }

    public String getWaterBillNo() {
        return waterBillNo;
    }

    public void setWaterBillNo(String waterBillNo) {
        this.waterBillNo = waterBillNo;
    }

    public String getfTrackingNumber() {
        return fTrackingNumber;
    }

    public void setfTrackingNumber(String fTrackingNumber) {
        this.fTrackingNumber = fTrackingNumber;
    }

    public String getfInvoiceRise() {
        return fInvoiceRise;
    }

    public void setfInvoiceRise(String fInvoiceRise) {
        this.fInvoiceRise = fInvoiceRise;
    }

    public Integer getfSign() {
        return fSign;
    }

    public void setfSign(Integer fSign) {
        this.fSign = fSign;
    }

    public Date getfSendTime() {
        return fSendTime;
    }

    public void setfSendTime(Date fSendTime) {
        this.fSendTime = fSendTime;
    }
    public void setfApplyMoney(BigDecimal fApplyMoney)
    {
        this.fApplyMoney = fApplyMoney;
    }

    public BigDecimal getfApplyMoney()
    {
        return fApplyMoney;
    }
    public void setfVslid(Long fVslid)
    {
        this.fVslid = fVslid;
    }

    public Long getfVslid()
    {
        return fVslid;
    }
    public void setfVoyid(Long fVoyid)
    {
        this.fVoyid = fVoyid;
    }

    public Long getfVoyid()
    {
        return fVoyid;
    }
    public void setfLoadportid(Long fLoadportid)
    {
        this.fLoadportid = fLoadportid;
    }

    public Long getfLoadportid()
    {
        return fLoadportid;
    }
    public void setfDestportid(Long fDestportid)
    {
        this.fDestportid = fDestportid;
    }

    public Long getfDestportid()
    {
        return fDestportid;
    }

    public String getfDc() {
        return fDc;
    }

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

    public void setfBankNumber(String fBankNumber)
    {
        this.fBankNumber = fBankNumber;
    }

    public String getfBankNumber()
    {
        return fBankNumber;
    }

    public String getfReconciliation() {
        return fReconciliation;
    }

    public void setfReconciliation(String fReconciliation) {
        this.fReconciliation = fReconciliation;
    }

    public String getSrcBillNo() {
        return srcBillNo;
    }

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

    public String getInvoiceRemarks() {
        return invoiceRemarks;
    }

    public void setInvoiceRemarks(String invoiceRemarks) {
        this.invoiceRemarks = invoiceRemarks;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("fId", getfId())
                .append("fBillno", getfBillno())
                .append("fActId", getfActId())
                .append("fCtrlcorpid", getfCtrlcorpid())
                .append("fCorpid", getfCorpid())
                .append("fTransActId", getfTransActId())
                .append("tMblno", gettMblno())
                .append("fAmtdr", getfAmtdr())
                .append("fAmtcr", getfAmtcr())
                .append("fBilltype", getfBilltype())
                .append("fBillstatus", getfBillstatus())
                .append("fRemarks", getfRemarks())
                .append("fFromDate", getfFromDate())
                .append("fToDate", getfToDate())
                .append("fAccbilldate", getfAccbilldate())
                .append("fRefNo", getfRefNo())
                .append("delFlag", getDelFlag())
                .append("createBy", getCreateBy())
                .append("fDeptid", getfDeptid())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("fSystemType",getfSystemType())
                .append("fTrackingNumber",getfTrackingNumber())
                .append("fInvoiceRise",getfInvoiceRise())
                .append("fSign",getfSign())
                .append("fSendTime",getfSendTime())
                .append("fVslid", getfVslid())
                .append("fVoyid", getfVoyid())
                .append("fLoadportid", getfLoadportid())
                .append("fDestportid", getfDestportid())
                .append("fDc", getfDc())
                .append("fBankNumber", getfBankNumber())
                .append("fReconciliation", getfReconciliation())
                .append("srcBillNo", getSrcBillNo())
                .append("invoiceRemarks",getInvoiceRemarks())
                .toString();
    }
}