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

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

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


@Data
public class DriverSettlementOrderDTO implements Serializable {

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

    @ApiModelProperty(value = "支出费用主表id")
    private List<Long> feeIds;

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

    @ApiModelProperty(value = "结算单号")
    private String settlementNo;

    @ApiModelProperty(value = "结算单名称")
    private String settlementName;

    @ApiModelProperty(value = "结算周期")
    private Integer settlementCycle;
    private String settlementCycleName;

    @ApiModelProperty(value = "往来单位id")
    private Integer carrierId;

    @ApiModelProperty(value = "往来单位编码")
    private String carrierCode;

    @ApiModelProperty(value = "往来单位名称")
    private String carrierName;

    @ApiModelProperty(value = "结算部门")
    private String settlementDepartment;

    @ApiModelProperty(value = "结算部门ID")
    private String settlementDepartmentId;

    @ApiModelProperty(value = "结算部门编码")
    private String settlementDepartmentCode;

    @ApiModelProperty(value = "结算公司")
    private String settlementCompany;

    @ApiModelProperty(value = "结算公司id")
    private Long settlementCompanyId;

    @ApiModelProperty(value = "结算公司编码")
    private String settlementCompanyCode;

    @ApiModelProperty(value = "挂账结束日期")
    private Date accountEndDate;

    @ApiModelProperty(value = "开票结束日期")
    private Date invoiceEndDate;

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

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

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

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

    @ApiModelProperty(value = "备注")
    private String memo;

    @ApiModelProperty(value = "状态")
    private Integer status;
    private String statusName;

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

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

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

    @ApiModelProperty(value = "计费类别")
    private Integer costType;

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

    @ApiModelProperty(value = "")
    private Long enterpriseId;

    @ApiModelProperty(value = "")
    private String enterpriseName;

    @ApiModelProperty(value = "")
    private String createperson;

    @ApiModelProperty(value = "")
    private Date createtime;

    @ApiModelProperty(value = "")
    private String updateperson;

    @ApiModelProperty(value = "")
    private Date updatetime;

    @ApiModelProperty(value = "字符扩展1")
    private String extStr1;

    @ApiModelProperty(value = "字符扩展2")
    private String extStr2;

    @ApiModelProperty(value = "字符扩展3")
    private String extStr3;

    @ApiModelProperty(value = "字符扩展4")
    private String extStr4;

    @ApiModelProperty(value = "字符扩展5")
    private String extStr5;

    @ApiModelProperty(value = "数值属性扩展1")
    private BigDecimal extNum1;

    @ApiModelProperty(value = "数值属性扩展2")
    private BigDecimal extNum2;

    @ApiModelProperty(value = "数值属性扩展3")
    private BigDecimal extNum3;

    @ApiModelProperty(value = "数值属性扩展4")
    private BigDecimal extNum4;

    @ApiModelProperty(value = "数值属性扩展5")
    private BigDecimal extNum5;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "日期属性扩展1")
    private Date extDate1;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "日期属性扩展2")
    private Date extDate2;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "日期属性扩展3")
    private Date extDate3;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "日期属性扩展4")
    private Date extDate4;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "日期属性扩展5")
    private Date extDate5;

    @ApiModelProperty(value = "隶属机构名称")
    private String affiliationName;

    @ApiModelProperty(value = "承运方(调度)类型 数据字典LINE_CARRIER_TYPE:1.承运商  2.司机")
    private Integer carrierType;

}