package com.sunxung.factoring.entity.financing.review;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.TableField;
import com.sunxung.factoring.entity.BaseEntity;
import com.sunxung.factoring.entity.sys.FileStorage;
import org.hibernate.validator.constraints.Length;

import java.util.Date;
import java.util.List;

/**
 * 额度支用-抵押物说明信息实体类
 *
 * @author
 */
public class ReviewMortgageCollateralInfo extends BaseEntity {

    /**
     * 抵质押基础信息Id
     */
    private Long reviewMortgageBasicId;

    /**
     * 抵押物序号
     */
    @Length(max = 40, message = "抵押物序号不超过40个字符")
    private String serNo;

    /**
     * 抵押物种类
     */
    private String collType;

    /**
     * 抵押物识别号类型
     */
    private String collIdType;

    /**
     * 抵押物唯一标识号
     */
    @Length(max = 40, message = "抵押物唯一标识号不超过40个字符")
    private String collCertId;

    /**
     * 抵押物位置所在行政区划
     */
    @Length(max = 6, message = "抵押物位置所在行政区划不超过6个字符")
    private String collDistrict;

    /**
     * 抵押物位置所在行政区划字符（仅用于前端展示）
     */
    @TableField(exist = false)
    private List<String> collDistrictStr;

    /**
     * 抵押物评估价值
     */
    private String collValue;

    /**
     * 抵押物币种
     */
    private String collCurrency;

    /**
     * 评估机构类型 1-自评估，2-第三方评估机构
     */
    private Integer evaluateOrgType;

    /**
     * 抵押物评估日期
     */
    @JSONField(format = "yyyy-MM-dd")
    private Date collEvaluateDate;

    /**
     * 抵押物说明
     */
    private String collDesc;

    /**
     * 抵押物名称
     */
    private String collateralName;
    /**
     * 抵押数量
     */
    private String number;
    /**
     * 型号
     */
    private String collateralType;
    /**
     * 发动机号
     */
    private String engineNumber;
    /**
     * 履带号
     */
    private String trackNumber;

    @TableField(exist = false)
    private List<Long> fileStorageIds;
    @TableField(exist = false)
    private List<FileStorage> fileStorageList;


    public List<String> getCollDistrictStr() {
        return collDistrictStr;
    }

    public List<Long> getFileStorageIds() {
        return fileStorageIds;
    }

    public void setFileStorageIds(List<Long> fileStorageIds) {
        this.fileStorageIds = fileStorageIds;
    }

    public List<FileStorage> getFileStorageList() {
        return fileStorageList;
    }

    public void setFileStorageList(List<FileStorage> fileStorageList) {
        this.fileStorageList = fileStorageList;
    }

    public void setCollDistrictStr(List<String> collDistrictStr) {
        this.collDistrictStr = collDistrictStr;
    }

    public String getCollateralName() {
        return collateralName;
    }

    public void setCollateralName(String collateralName) {
        this.collateralName = collateralName;
    }

    public String getNumber() {
        return number;
    }

    public void setNumber(String number) {
        this.number = number;
    }

    public String getCollateralType() {
        return collateralType;
    }

    public void setCollateralType(String collateralType) {
        this.collateralType = collateralType;
    }

    public String getEngineNumber() {
        return engineNumber;
    }

    public void setEngineNumber(String engineNumber) {
        this.engineNumber = engineNumber;
    }

    public String getTrackNumber() {
        return trackNumber;
    }

    public void setTrackNumber(String trackNumber) {
        this.trackNumber = trackNumber;
    }

    public Long getReviewMortgageBasicId() {
        return reviewMortgageBasicId;
    }

    public void setReviewMortgageBasicId(Long reviewMortgageBasicId) {
        this.reviewMortgageBasicId = reviewMortgageBasicId;
    }

    public void setCollType(String collType) {
        this.collType = collType;
    }

    public void setCollIdType(String collIdType) {
        this.collIdType = collIdType;
    }

    public String getSerNo() {
        return serNo;
    }

    public void setSerNo(String serNo) {
        this.serNo = serNo;
    }

    public String getCollCertId() {
        return collCertId;
    }

    public void setCollCertId(String collCertId) {
        this.collCertId = collCertId;
    }

    public String getCollDistrict() {
        return collDistrict;
    }

    public void setCollDistrict(String collDistrict) {
        this.collDistrict = collDistrict;
    }

    public String getCollValue() {
        return collValue;
    }

    public void setCollValue(String collValue) {
        this.collValue = collValue;
    }

    public String getCollCurrency() {
        return collCurrency;
    }

    public void setCollCurrency(String collCurrency) {
        this.collCurrency = collCurrency;
    }

    public Integer getEvaluateOrgType() {
        return evaluateOrgType;
    }

    public void setEvaluateOrgType(Integer evaluateOrgType) {
        this.evaluateOrgType = evaluateOrgType;
    }

    public Date getCollEvaluateDate() {
        return collEvaluateDate;
    }

    public void setCollEvaluateDate(Date collEvaluateDate) {
        this.collEvaluateDate = collEvaluateDate;
    }

    public String getCollDesc() {
        return collDesc;
    }

    public void setCollDesc(String collDesc) {
        this.collDesc = collDesc;
    }

    public String getCollType() {
        return collType;
    }

    public String getCollIdType() {
        return collIdType;
    }
}
