package com.goafanti.common.model;

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

import org.apache.commons.lang3.time.DateFormatUtils;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonFormat.Shape;
import com.goafanti.common.constant.AFTConstants;
import com.fasterxml.jackson.annotation.JsonIgnore;

public class OrgAnnualReport {
    private String id;

    private String uid;

    /**
    * 创建时间
    */
    private Date createTime;

    /**
    * 最近更新时间
    */
    private Date lastUpdateTime;

    /**
    * 纳税总额(万元)
    */
    private BigDecimal totalTax;

    /**
    * 所得税减免(万元)
    */
    private BigDecimal incomeTaxRelief;

    /**
    * 出口创汇总额(万元)
    */
    private BigDecimal totalExportVolume;
    
    /**
     * 基础研究投入费用
     */
    private BigDecimal basicResearchCost;

    /**
    * 年份
    */
    private Integer year;

    /**
    * 年报状态
    */
    private Integer state;

    /**
    * 删除标记
    */
    private Integer deletedSign;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getUid() {
        return uid;
    }

    public void setUid(String uid) {
        this.uid = uid;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getLastUpdateTime() {
        return lastUpdateTime;
    }

    public void setLastUpdateTime(Date lastUpdateTime) {
        this.lastUpdateTime = lastUpdateTime;
    }

    public BigDecimal getTotalTax() {
        return totalTax;
    }

    public void setTotalTax(BigDecimal totalTax) {
        this.totalTax = totalTax;
    }

    public BigDecimal getIncomeTaxRelief() {
        return incomeTaxRelief;
    }

    public void setIncomeTaxRelief(BigDecimal incomeTaxRelief) {
        this.incomeTaxRelief = incomeTaxRelief;
    }

    public BigDecimal getTotalExportVolume() {
        return totalExportVolume;
    }

    public void setTotalExportVolume(BigDecimal totalExportVolume) {
        this.totalExportVolume = totalExportVolume;
    }

	public BigDecimal getBasicResearchCost() {
		return basicResearchCost;
	}

	public void setBasicResearchCost(BigDecimal basicResearchCost) {
		this.basicResearchCost = basicResearchCost;
	}

	public Integer getYear() {
        return year;
    }

    public void setYear(Integer year) {
        this.year = year;
    }
    
    @JsonFormat(shape = Shape.STRING)
    public Integer getState() {
        return state;
    }

    public void setState(Integer state) {
        this.state = state;
    }
    
    @JsonIgnore
    public Integer getDeletedSign() {
        return deletedSign;
    }

    public void setDeletedSign(Integer deletedSign) {
        this.deletedSign = deletedSign;
    }
    
    public String getCreateTimeFormattedDate(){
		if (this.createTime == null) {
			return null;
		} else {
			return DateFormatUtils.format(this.getCreateTime(), AFTConstants.YYYYMMDDHHMMSS);
		}
	}
	
	public void setCreateTimeFormattedDate(String createTimeFormattedDate){
		
	}
	
	public String getLastUpdateTimeFormattedDate(){
		if (this.lastUpdateTime == null) {
			return null;
		} else {
			return DateFormatUtils.format(this.getLastUpdateTime(), AFTConstants.YYYYMMDDHHMMSS);
		}
	}
	
	public void setLastUpdateTimeFormattedDate(String lastUpdateTimeFormattedDate){
		
	}
}