package com.goafanti.common.model;

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

import com.goafanti.common.enums.OfficialPatentType;
import com.goafanti.common.enums.OfficialType;

import java.io.Serializable;

public class OfficialFeePrice implements Serializable {
    /**
	 * Database Column Remarks: 编号 This field was generated by MyBatis Generator. This field corresponds to the database column official_fee_price.id
	 * @mbg.generated  Fri Jul 16 11:30:10 CST 2021
	 */
	private Integer id;
	/**
	 * Database Column Remarks: 0实用新型 1外观专利 2发明专利 This field was generated by MyBatis Generator. This field corresponds to the database column official_fee_price.type
	 * @mbg.generated  Fri Jul 16 11:30:10 CST 2021
	 */
	private Integer type;
	/**
	 * Database Column Remarks: 金额 This field was generated by MyBatis Generator. This field corresponds to the database column official_fee_price.amount
	 * @mbg.generated  Fri Jul 16 11:30:10 CST 2021
	 */
	private BigDecimal amount;
	/**
	 * Database Column Remarks: 减缴比例85% This field was generated by MyBatis Generator. This field corresponds to the database column official_fee_price.proportion85
	 * @mbg.generated  Fri Jul 16 11:30:10 CST 2021
	 */
	private BigDecimal proportion85;
	/**
	 * Database Column Remarks: 备注 This field was generated by MyBatis Generator. This field corresponds to the database column official_fee_price.remarks
	 * @mbg.generated  Fri Jul 16 11:30:10 CST 2021
	 */
	private String remarks;
	/**
	 * Database Column Remarks: 创建时间 This field was generated by MyBatis Generator. This field corresponds to the database column official_fee_price.create_time
	 * @mbg.generated  Fri Jul 16 11:30:10 CST 2021
	 */
	private Date createTime;
	/**
	 * Database Column Remarks: 专利分类 0申请 1变更 2复审 3优先权 4恢复请求权 5无效宣告请求费 6强制许可请求费 7 强制许可使用裁决请求费 8登录、印刷费、印花税 This field was generated by MyBatis Generator. This field corresponds to the database column official_fee_price.patent_type
	 * @mbg.generated  Fri Jul 16 11:30:10 CST 2021
	 */
	private Integer patentType;
	/**
	 * This field was generated by MyBatis Generator. This field corresponds to the database table official_fee_price
	 * @mbg.generated  Fri Jul 16 11:30:10 CST 2021
	 */
	private static final long serialVersionUID = 1L;

	/**
	 * This method was generated by MyBatis Generator. This method returns the value of the database column official_fee_price.id
	 * @return  the value of official_fee_price.id
	 * @mbg.generated  Fri Jul 16 11:30:10 CST 2021
	 */
	public Integer getId() {
		return id;
	}

	/**
	 * This method was generated by MyBatis Generator. This method sets the value of the database column official_fee_price.id
	 * @param id  the value for official_fee_price.id
	 * @mbg.generated  Fri Jul 16 11:30:10 CST 2021
	 */
	public void setId(Integer id) {
		this.id = id;
	}

	/**
	 * This method was generated by MyBatis Generator. This method returns the value of the database column official_fee_price.type
	 * @return  the value of official_fee_price.type
	 * @mbg.generated  Fri Jul 16 11:30:10 CST 2021
	 */
	public Integer getType() {
		return type;
	}

	/**
	 * This method was generated by MyBatis Generator. This method sets the value of the database column official_fee_price.type
	 * @param type  the value for official_fee_price.type
	 * @mbg.generated  Fri Jul 16 11:30:10 CST 2021
	 */
	public void setType(Integer type) {
		this.type = type;
	}

	/**
	 * This method was generated by MyBatis Generator. This method returns the value of the database column official_fee_price.amount
	 * @return  the value of official_fee_price.amount
	 * @mbg.generated  Fri Jul 16 11:30:10 CST 2021
	 */
	public BigDecimal getAmount() {
		return amount;
	}

	/**
	 * This method was generated by MyBatis Generator. This method sets the value of the database column official_fee_price.amount
	 * @param amount  the value for official_fee_price.amount
	 * @mbg.generated  Fri Jul 16 11:30:10 CST 2021
	 */
	public void setAmount(BigDecimal amount) {
		this.amount = amount;
	}

	/**
	 * This method was generated by MyBatis Generator. This method returns the value of the database column official_fee_price.proportion85
	 * @return  the value of official_fee_price.proportion85
	 * @mbg.generated  Fri Jul 16 11:30:10 CST 2021
	 */
	public BigDecimal getProportion85() {
		return proportion85;
	}

	/**
	 * This method was generated by MyBatis Generator. This method sets the value of the database column official_fee_price.proportion85
	 * @param proportion85  the value for official_fee_price.proportion85
	 * @mbg.generated  Fri Jul 16 11:30:10 CST 2021
	 */
	public void setProportion85(BigDecimal proportion85) {
		this.proportion85 = proportion85;
	}

	/**
	 * This method was generated by MyBatis Generator. This method returns the value of the database column official_fee_price.remarks
	 * @return  the value of official_fee_price.remarks
	 * @mbg.generated  Fri Jul 16 11:30:10 CST 2021
	 */
	public String getRemarks() {
		return remarks;
	}

	/**
	 * This method was generated by MyBatis Generator. This method sets the value of the database column official_fee_price.remarks
	 * @param remarks  the value for official_fee_price.remarks
	 * @mbg.generated  Fri Jul 16 11:30:10 CST 2021
	 */
	public void setRemarks(String remarks) {
		this.remarks = remarks == null ? null : remarks.trim();
	}

	/**
	 * This method was generated by MyBatis Generator. This method returns the value of the database column official_fee_price.create_time
	 * @return  the value of official_fee_price.create_time
	 * @mbg.generated  Fri Jul 16 11:30:10 CST 2021
	 */
	public Date getCreateTime() {
		return createTime;
	}

	/**
	 * This method was generated by MyBatis Generator. This method sets the value of the database column official_fee_price.create_time
	 * @param createTime  the value for official_fee_price.create_time
	 * @mbg.generated  Fri Jul 16 11:30:10 CST 2021
	 */
	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	/**
	 * This method was generated by MyBatis Generator. This method returns the value of the database column official_fee_price.patent_type
	 * @return  the value of official_fee_price.patent_type
	 * @mbg.generated  Fri Jul 16 11:30:10 CST 2021
	 */
	public Integer getPatentType() {
		return patentType;
	}

	/**
	 * This method was generated by MyBatis Generator. This method sets the value of the database column official_fee_price.patent_type
	 * @param patentType  the value for official_fee_price.patent_type
	 * @mbg.generated  Fri Jul 16 11:30:10 CST 2021
	 */
	public void setPatentType(Integer patentType) {
		this.patentType = patentType;
	}

	/**
	 * This method was generated by MyBatis Generator. This method corresponds to the database table official_fee_price
	 * @mbg.generated  Fri Jul 16 11:30:10 CST 2021
	 */
	@Override
	public String toString() {
		StringBuilder sb = new StringBuilder();
		sb.append(getClass().getSimpleName());
		sb.append(" [");
		sb.append("Hash = ").append(hashCode());
		sb.append(", id=").append(id);
		sb.append(", type=").append(type);
		sb.append(", amount=").append(amount);
		sb.append(", proportion85=").append(proportion85);
		sb.append(", remarks=").append(remarks);
		sb.append(", createTime=").append(createTime);
		sb.append(", patentType=").append(patentType);
		sb.append(", serialVersionUID=").append(serialVersionUID);
		sb.append("]");
		return sb.toString();
	}

	public String getCreateTimes() {
		return createTimes;
	}

	public void setCreateTimes(String createTimes) {
		this.createTimes = createTimes;
	}
	
	public String getTypeName() {
		if (getType()!=null) {
			return OfficialType.getValueByCode(getType());
		}
		return OfficialType.NOT.getDesc();
	}
	
	public String getTypePatentName() {
		if (getType()!=null) {
			return OfficialPatentType.getValueByCode(getPatentType());
		}
		return OfficialPatentType.NOT.getDesc();
	}

	private String createTimes;
}