package com.prolog.rdc.tms.model.dto;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

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


@Data
public class ShipBillFeeDetail implements Serializable {

    @ApiModelProperty(value = "ID")
    private Long id;

    @ApiModelProperty(value = "运单编号")
    private String shipbillNo;

    @ApiModelProperty(value = "费用单号")
    private String expenseNo;

    @ApiModelProperty(value = "费用编码")
    private String expenseCode;

    @ApiModelProperty(value = "费用名称")
    private String expenseName;

    @ApiModelProperty(value = "费用状态 EXPENSE_STATUS 0：新增 1：审核中 2:正常，3：对账提交，4：对账确认，5：结算单生成")
    private Integer expenseStatus;
    private String expenseStatusName;

    @ApiModelProperty(value = "费用类别")
    private Integer expenseType;

    @ApiModelProperty(value = "费用科目编码")
    private String expenseAccountCode;

    @ApiModelProperty(value = "费用科目名称")
    private String expenseAccountName;

    @ApiModelProperty(value = "费用类型名称")
    private String expenseTypeName;

    @ApiModelProperty(value = "金额")
    private BigDecimal amount;

    @ApiModelProperty(value = "税点 ")
    private String taxPoint;

    @ApiModelProperty(value = "1:含税，0：不含税")
    private Integer isPreTax;

    @ApiModelProperty(value = "费用说明")
    private String memo;

    @ApiModelProperty(value = "无税金额")
    private BigDecimal noTaxAmt;

    @ApiModelProperty(value = "税额")
    private BigDecimal tax;

    @ApiModelProperty(value = "含税金额")
    private BigDecimal taxAmt;

    @ApiModelProperty(value = "分摊到每一单 1：是，0：否")
    private Integer isShare;

    @ApiModelProperty(value = "计费来源 1:价格表生成，2：手工录入")
    private Integer billingSource;
    private String billingSourceName;

    @ApiModelProperty(value = "计费状态")
    private Integer billingStatus;
    private String billingStatusName;

    @ApiModelProperty(value = "计费时间")
    private Date billingDate;

    @ApiModelProperty(value = "计费合同")
    private String billingContract;

    @ApiModelProperty(value = "计费价格表")
    private String billingPrice;

    @ApiModelProperty(value = "计费类型")
    private String billingType;
    private String billingTypeName;

    @ApiModelProperty(value = "计费失败原因")
    private String billingFailReason;

    @ApiModelProperty(value = "创建人")
    private String createperson;

    @ApiModelProperty(value = "创建时间")
    private Date createtime;

    @ApiModelProperty(value = "最后修改人")
    private String updateperson;

    @ApiModelProperty(value = "最后修改时间")
    private Date updatetime;

    @ApiModelProperty(value = "企业ID")
    private Long enterpriseId;

    @ApiModelProperty(value = "企业名称")
    private String enterpriseName;
}