package cn.com.countrygarden.bi.main.model.investment;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;

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

/**
 * 项目投资
 *
 * @author 汤婷
 * @email www.justintoforest@gamail.com
 * @url
 * @date 2018-08-15
 */
@JsonInclude(JsonInclude.Include.NON_NULL)
@Table(name = "invest_project_investment")
public class InvestProjectInvestment implements Serializable {
	private static final long serialVersionUID = 1L;
	/**
	 * 主键id
	 */
	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	private Integer id;
	/**
	 * 项目id
	 */
	@Column(name = "project_id")
	private String projectId;
	/**
	 * 区域id
	 */
	@Column(name = "region_id")
	private String regionId;
	/**
	 * 项目名称
	 */
	@Column(name = "project_name")
	private String projectName;
	/**
	 * 区域名称
	 */
	@Column(name = "region_name")
	private String regionName;
	/**
	 * 资金池（项目收益）
	 */
	@Column(name = "income_capital")
	private BigDecimal incomeCapital;
	/**
	 * 单独资金账户（项目收益）
	 */
	@Column(name = "income_capital_account")
	private BigDecimal incomeCapitalAccount;
	/**
	 * 资金池（已发放项目收益）
	 */
	@Column(name = "issued_income_capital")
	private BigDecimal issuedIncomeCapital;
	/**
	 * 资金池時間（已发放项目收益）
	 */
	@JsonFormat(pattern = "yyyy/MM/dd HH:mm", timezone = "GMT+8")
	@Column(name = "issued_income_capital_time")
	private Date issuedIncomeCapitalTime;
	/**
	 * 单独资金账户（已发放项目收益）
	 */
	@Column(name = "issued_income_capital_account")
	private BigDecimal issuedIncomeCapitalAccount;
	/**
	 * 单独资金時間（已发放项目收益）
	 */
	@JsonFormat(pattern = "yyyy/MM/dd HH:mm", timezone = "GMT+8")
	@Column(name = "issued_income_capital_account_time")
	private Date issuedIncomeCapitalAccountTime;
	/**
	 * 项目总跟投金额（计算：项目跟投情况）
	 */
	@Column(name = "project_follow_total_capital")
	private BigDecimal projectFollowTotalCapital;
	/**
	 * 资金池跟投金额（项目跟投情况）
	 */
	@Column(name = "project_follow_capital")
	private BigDecimal projectFollowCapital;

	/**
	 * 时间（项目跟投情况-资金池跟投金额时间）
	 */
	@JsonFormat(pattern = "yyyy/MM/dd HH:mm", timezone = "GMT+8")
	@Column(name = "project_follow_capital_time")
	private Date projectFollowCapitalTime;

	/**
	 * 独资金跟投金额（项目跟投情况）
	 */

	@Column(name = "project_follow_single_capital")
	private BigDecimal projectFollowSingleCapital;
	/**
	 * 时间（项目跟投情况-独资金跟投金额时间）
	 */

	@JsonFormat(pattern = "yyyy/MM/dd HH:mm", timezone = "GMT+8")
	@Column(name = "project_follow_single_capital_time")
	private Date projectFollowSingleCapitalTime;

	/**
	 * 阶段性返还金额（阶段性返还）
	 */
	@Column(name = "cash_return_money")
	private BigDecimal cashReturnMoney;
	/**
	 * 资金池（阶段性返还）
	 */
	@Column(name = "cash_return_capital")
	private BigDecimal cashReturnCapital;
	/**
	 * 单独资金账户（阶段性返还）
	 */
	@Column(name = "cash_return_capital_account")
	private BigDecimal cashReturnCapitalAccount;
	/**
	 * 时间（阶段性返还）
	 */
	@JsonFormat(pattern = "yyyy/MM/dd HH:mm:ss", timezone = "GMT+8")
	@Column(name = "cash_return_time")
	private Date cashReturnTime;
	/**
	 * 本金返还金额（本金返还）
	 */
	@Column(name = "principal_return_money")
	private BigDecimal principalReturnMoney;
	/**
	 * 资金池（本金返还）
	 */
	@Column(name = "principal_return_capital")
	private BigDecimal principalReturnCapital;
	/**
	 * 单独资金账户（本金返还）
	 */
	@Column(name = "principal_return_capital_account")
	private BigDecimal principalReturnCapitalAccount;
	/**
	 * 时间（本金返还）
	 */
	@JsonFormat(pattern = "yyyy/MM/dd HH:mm:ss", timezone = "GMT+8")
	@Column(name = "principal_return_time")
	private Date principalReturnTime;
	/**
	 * 资金池（利润分配）
	 */
	@Column(name = "profit_distribution_capital")
	private BigDecimal profitDistributionCapital;
	/**
	 * 资金池時間（利润分配）
	 */
	@Column(name = "profit_distribution_capital_time")
	@JsonFormat(pattern = "yyyy/MM/dd HH:mm", timezone = "GMT+8")
	private Date profitDistributionCapitalTime;
	/**
	 * 单独资金账户（利润分配）
	 */
	@Column(name = "profit_distribution_capital_account")
	private BigDecimal profitDistributionCapitalAccount;
	/**
	 * 单独资金时间（利润分配）
	 */
	@JsonFormat(pattern = "yyyy/MM/dd HH:mm:ss", timezone = "GMT+8")
	@Column(name = "profit_distribution_capital_account_time")
	private Date profitDistributionCapitalAccountTime;
	/**
	 * 资金池（本金未收回）
	 */
	@Column(name = "principal_notrecovered_capital")
	private BigDecimal principalNotrecoveredCapital;
	/**
	 * 单独资金账户（本金未收回）
	 */
	@Column(name = "principal_notrecovered_capital_account")
	private BigDecimal principalNotrecoveredCapitalAccount;
	/**
	 * 资金池（理财收益）
	 */
	@Column(name = "financial_income_capital")
	private BigDecimal financialIncomeCapital;
	/**
	 * 资金池時間（理财收益）
	 */
	@Column(name = "financial_income_capital_time")
	@JsonFormat(pattern = "yyyy/MM/dd HH:mm:ss", timezone = "GMT+8")
	private Date financialIncomeCapitalTime;
	/**
	 * 单独资金账户（理财收益）
	 */
	@Column(name = "financial_income_capital_account")
	private BigDecimal financialIncomeCapitalAccount;
	/**
	 * 单独资金账户时间（理财收益）
	 */
	@JsonFormat(pattern = "yyyy/MM/dd HH:mm:ss", timezone = "GMT+8")
	@Column(name = "financial_income_capital_account_time")
	private Date financialIncomeCapitalAccountTime;
	/**
	 * 创建人
	 */
	@Column(name = "create_by")
	private String createBy;
	/**
	 * 创建时间
	 */
	@JsonFormat(pattern = "yyyy/MM/dd HH:mm", timezone = "GMT+8")
	@Column(name = "create_time")
	private Date createTime;
	/**
	 * 修改人
	 */
	@Column(name = "update_by")
	private String updateBy;
	/**
	 * 修改时间
	 */
	@JsonFormat(pattern = "yyyy/MM/dd HH:mm", timezone = "GMT+8")
	@Column(name = "update_time")
	private Date updateTime;
	/**
	 * 可用
	 */
	@Column(name = "flag")
	private Integer flag;

	public String getProjectName() {
		return projectName;
	}

	public void setProjectName(String projectName) {
		this.projectName = projectName;
	}

	public String getRegionName() {
		return regionName;
	}

	public void setRegionName(String regionName) {
		this.regionName = regionName;
	}

	public InvestProjectInvestment() {
		super();
	}

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

	public Integer getId() {
		return id;
	}

	public void setProjectId(String projectId) {
		this.projectId = projectId;
	}

	public String getProjectId() {
		return projectId;
	}

	public void setRegionId(String regionId) {
		this.regionId = regionId;
	}

	public String getRegionId() {
		return regionId;
	}

	public void setIncomeCapital(BigDecimal incomeCapital) {
		this.incomeCapital = incomeCapital;
	}

	public Date getProjectFollowCapitalTime() {
		return projectFollowCapitalTime;
	}

	public void setProjectFollowCapitalTime(Date projectFollowCapitalTime) {
		this.projectFollowCapitalTime = projectFollowCapitalTime;
	}

	public BigDecimal getIncomeCapital() {
		if (incomeCapital == null) {
			return incomeCapital = new BigDecimal(0);
		}
		return incomeCapital;
	}

	public void setIncomeCapitalAccount(BigDecimal incomeCapitalAccount) {
		this.incomeCapitalAccount = incomeCapitalAccount;
	}

	public BigDecimal getIncomeCapitalAccount() {
		if (incomeCapitalAccount == null) {
			return incomeCapitalAccount = new BigDecimal(0);
		}
		return incomeCapitalAccount;
	}

	public void setIssuedIncomeCapital(BigDecimal issuedIncomeCapital) {
		this.issuedIncomeCapital = issuedIncomeCapital;
	}

	public BigDecimal getIssuedIncomeCapital() {
		if (issuedIncomeCapital == null) {
			return issuedIncomeCapital = new BigDecimal(0);
		}
		return issuedIncomeCapital;
	}

	public void setIssuedIncomeCapitalAccount(BigDecimal issuedIncomeCapitalAccount) {
		this.issuedIncomeCapitalAccount = issuedIncomeCapitalAccount;
	}

	public BigDecimal getIssuedIncomeCapitalAccount() {
		if (issuedIncomeCapitalAccount == null) {
			return issuedIncomeCapitalAccount = new BigDecimal(0);
		}
		return issuedIncomeCapitalAccount;
	}

	public Date getIssuedIncomeCapitalAccountTime() {
		return issuedIncomeCapitalAccountTime;
	}

	public void setIssuedIncomeCapitalAccountTime(Date issuedIncomeCapitalAccountTime) {
		this.issuedIncomeCapitalAccountTime = issuedIncomeCapitalAccountTime;
	}

	public void setProjectFollowTotalCapital(BigDecimal projectFollowTotalCapital) {
		this.projectFollowTotalCapital = projectFollowTotalCapital;
	}

	public BigDecimal getProjectFollowTotalCapital() {
		if (projectFollowTotalCapital == null) {
			return projectFollowTotalCapital = new BigDecimal(0);
		}
		return projectFollowTotalCapital;
	}

	public double getProjectFollowTotalCapitalDouble() {

		return projectFollowTotalCapital.doubleValue();
	}

	public void setProjectFollowCapital(BigDecimal projectFollowCapital) {
		if (projectFollowCapital == null) {
			projectFollowCapital = new BigDecimal(0);
		}
		this.projectFollowCapital = projectFollowCapital;
	}

	public double getProjectFollowCapitalDouble() {

		return projectFollowCapital.doubleValue();
	}

	public BigDecimal getProjectFollowCapital() {
		if (projectFollowCapital == null) {
			return projectFollowCapital = new BigDecimal(0);
		}
		return projectFollowCapital;
	}

	public void setProjectFollowSingleCapital(BigDecimal projectFollowSingleCapital) {
		this.projectFollowSingleCapital = projectFollowSingleCapital;
	}

	public BigDecimal getProjectFollowSingleCapital() {
		if (projectFollowSingleCapital == null) {
			return projectFollowSingleCapital = new BigDecimal(0);
		}
		return projectFollowSingleCapital;
	}

	public void setCashReturnMoney(BigDecimal cashReturnMoney) {
		this.cashReturnMoney = cashReturnMoney;
	}

	public BigDecimal getCashReturnMoney() {

		if (cashReturnMoney == null) {
			return cashReturnMoney = new BigDecimal(0);
		}
		return cashReturnMoney;
	}

	public void setCashReturnCapital(BigDecimal cashReturnCapital) {
		this.cashReturnCapital = cashReturnCapital;
	}

	public BigDecimal getCashReturnCapital() {
		if (cashReturnCapital == null) {
			return cashReturnCapital = new BigDecimal(0);
		}
		return cashReturnCapital;
	}

	public void setCashReturnCapitalAccount(BigDecimal cashReturnCapitalAccount) {
		this.cashReturnCapitalAccount = cashReturnCapitalAccount;
	}

	public BigDecimal getCashReturnCapitalAccount() {
		if (cashReturnCapitalAccount == null) {
			return cashReturnCapitalAccount = new BigDecimal(0);
		}
		return cashReturnCapitalAccount;
	}

	public void setCashReturnTime(Date cashReturnTime) {
		this.cashReturnTime = cashReturnTime;
	}

	public Date getCashReturnTime() {
		return cashReturnTime;
	}

	public void setPrincipalReturnMoney(BigDecimal principalReturnMoney) {
		this.principalReturnMoney = principalReturnMoney;
	}

	public BigDecimal getPrincipalReturnMoney() {
		if (principalReturnMoney == null) {
			return principalReturnMoney = new BigDecimal(0);
		}
		return principalReturnMoney;
	}

	public void setPrincipalReturnCapital(BigDecimal principalReturnCapital) {
		this.principalReturnCapital = principalReturnCapital;
	}

	public BigDecimal getPrincipalReturnCapital() {
		if (principalReturnCapital == null) {
			return principalReturnCapital = new BigDecimal(0);
		}
		return principalReturnCapital;
	}

	public void setPrincipalReturnCapitalAccount(BigDecimal principalReturnCapitalAccount) {
		this.principalReturnCapitalAccount = principalReturnCapitalAccount;
	}

	public BigDecimal getPrincipalReturnCapitalAccount() {
		if (principalReturnCapitalAccount == null) {
			return principalReturnCapitalAccount = new BigDecimal(0);
		}
		return principalReturnCapitalAccount;
	}

	public void setPrincipalReturnTime(Date principalReturnTime) {
		this.principalReturnTime = principalReturnTime;
	}

	public Date getPrincipalReturnTime() {
		return principalReturnTime;
	}

	public void setProfitDistributionCapital(BigDecimal profitDistributionCapital) {
		this.profitDistributionCapital = profitDistributionCapital;
	}

	public BigDecimal getProfitDistributionCapital() {
		if (profitDistributionCapital == null) {
			return profitDistributionCapital = new BigDecimal(0);
		}
		return profitDistributionCapital;
	}

	public void setProfitDistributionCapitalAccount(BigDecimal profitDistributionCapitalAccount) {
		this.profitDistributionCapitalAccount = profitDistributionCapitalAccount;
	}

	public BigDecimal getProfitDistributionCapitalAccount() {
		if (profitDistributionCapitalAccount == null) {
			return profitDistributionCapitalAccount = new BigDecimal(0);
		}
		return profitDistributionCapitalAccount;
	}

	public void setPrincipalNotrecoveredCapital(BigDecimal principalNotrecoveredCapital) {
		this.principalNotrecoveredCapital = principalNotrecoveredCapital;
	}

	public BigDecimal getPrincipalNotrecoveredCapital() {
		if (principalNotrecoveredCapital == null) {
			return principalNotrecoveredCapital = new BigDecimal(0);
		}
		return principalNotrecoveredCapital;
	}

	public void setPrincipalNotrecoveredCapitalAccount(BigDecimal principalNotrecoveredCapitalAccount) {
		this.principalNotrecoveredCapitalAccount = principalNotrecoveredCapitalAccount;
	}

	public BigDecimal getPrincipalNotrecoveredCapitalAccount() {
		if (principalNotrecoveredCapitalAccount == null) {
			return principalNotrecoveredCapitalAccount = new BigDecimal(0);
		}
		return principalNotrecoveredCapitalAccount;
	}

	public void setFinancialIncomeCapital(BigDecimal financialIncomeCapital) {
		this.financialIncomeCapital = financialIncomeCapital;
	}

	public BigDecimal getFinancialIncomeCapital() {
		if (financialIncomeCapital == null) {
			return financialIncomeCapital = new BigDecimal(0);
		}
		return financialIncomeCapital;
	}

	public void setFinancialIncomeCapitalAccount(BigDecimal financialIncomeCapitalAccount) {
		this.financialIncomeCapitalAccount = financialIncomeCapitalAccount;
	}

	public BigDecimal getFinancialIncomeCapitalAccount() {
		if (financialIncomeCapitalAccount == null) {
			return financialIncomeCapitalAccount = new BigDecimal(0);
		}
		return financialIncomeCapitalAccount;
	}

	public void setCreateBy(String createBy) {
		this.createBy = createBy;
	}

	public String getCreateBy() {
		return createBy;
	}

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

	public Date getProjectFollowSingleCapitalTime() {
		return projectFollowSingleCapitalTime;
	}

	public void setProjectFollowSingleCapitalTime(Date projectFollowSingleCapitalTime) {
		this.projectFollowSingleCapitalTime = projectFollowSingleCapitalTime;
	}

	public Date getProfitDistributionCapitalAccountTime() {
		return profitDistributionCapitalAccountTime;
	}

	public void setProfitDistributionCapitalAccountTime(Date profitDistributionCapitalAccountTime) {
		this.profitDistributionCapitalAccountTime = profitDistributionCapitalAccountTime;
	}

	public Date getFinancialIncomeCapitalAccountTime() {
		return financialIncomeCapitalAccountTime;
	}

	public Date getIssuedIncomeCapitalTime() {
		return issuedIncomeCapitalTime;
	}

	public void setIssuedIncomeCapitalTime(Date issuedIncomeCapitalTime) {
		this.issuedIncomeCapitalTime = issuedIncomeCapitalTime;
	}

	public Date getProfitDistributionCapitalTime() {
		return profitDistributionCapitalTime;
	}

	public void setProfitDistributionCapitalTime(Date profitDistributionCapitalTime) {
		this.profitDistributionCapitalTime = profitDistributionCapitalTime;
	}

	public Date getFinancialIncomeCapitalTime() {
		return financialIncomeCapitalTime;
	}

	public void setFinancialIncomeCapitalTime(Date financialIncomeCapitalTime) {
		this.financialIncomeCapitalTime = financialIncomeCapitalTime;
	}

	public void setFinancialIncomeCapitalAccountTime(Date financialIncomeCapitalAccountTime) {
		this.financialIncomeCapitalAccountTime = financialIncomeCapitalAccountTime;
	}

	public Date getCreateTime() {
		return createTime;
	}

	public void setUpdateBy(String updateBy) {
		this.updateBy = updateBy;
	}

	public String getUpdateBy() {
		return updateBy;
	}

	public void setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
	}

	public Date getUpdateTime() {
		return updateTime;
	}

	public void setFlag(Integer flag) {
		this.flag = flag;
	}

	public Integer getFlag() {
		return flag;
	}

	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((cashReturnCapital == null) ? 0 : cashReturnCapital.hashCode());
		result = prime * result + ((cashReturnCapitalAccount == null) ? 0 : cashReturnCapitalAccount.hashCode());
		result = prime * result + ((cashReturnMoney == null) ? 0 : cashReturnMoney.hashCode());
		result = prime * result + ((cashReturnTime == null) ? 0 : cashReturnTime.hashCode());
		result = prime * result + ((createBy == null) ? 0 : createBy.hashCode());
		result = prime * result + ((createTime == null) ? 0 : createTime.hashCode());
		result = prime * result + ((financialIncomeCapital == null) ? 0 : financialIncomeCapital.hashCode());
		result = prime * result
				+ ((financialIncomeCapitalAccount == null) ? 0 : financialIncomeCapitalAccount.hashCode());
		result = prime * result
				+ ((financialIncomeCapitalAccountTime == null) ? 0 : financialIncomeCapitalAccountTime.hashCode());
		result = prime * result + ((financialIncomeCapitalTime == null) ? 0 : financialIncomeCapitalTime.hashCode());
		result = prime * result + ((flag == null) ? 0 : flag.hashCode());
		result = prime * result + ((id == null) ? 0 : id.hashCode());
		result = prime * result + ((incomeCapital == null) ? 0 : incomeCapital.hashCode());
		result = prime * result + ((incomeCapitalAccount == null) ? 0 : incomeCapitalAccount.hashCode());
		result = prime * result + ((issuedIncomeCapital == null) ? 0 : issuedIncomeCapital.hashCode());
		result = prime * result + ((issuedIncomeCapitalAccount == null) ? 0 : issuedIncomeCapitalAccount.hashCode());
		result = prime * result
				+ ((issuedIncomeCapitalAccountTime == null) ? 0 : issuedIncomeCapitalAccountTime.hashCode());
		result = prime * result + ((issuedIncomeCapitalTime == null) ? 0 : issuedIncomeCapitalTime.hashCode());
		result = prime * result
				+ ((principalNotrecoveredCapital == null) ? 0 : principalNotrecoveredCapital.hashCode());
		result = prime * result
				+ ((principalNotrecoveredCapitalAccount == null) ? 0 : principalNotrecoveredCapitalAccount.hashCode());
		result = prime * result + ((principalReturnCapital == null) ? 0 : principalReturnCapital.hashCode());
		result = prime * result
				+ ((principalReturnCapitalAccount == null) ? 0 : principalReturnCapitalAccount.hashCode());
		result = prime * result + ((principalReturnMoney == null) ? 0 : principalReturnMoney.hashCode());
		result = prime * result + ((principalReturnTime == null) ? 0 : principalReturnTime.hashCode());
		result = prime * result + ((profitDistributionCapital == null) ? 0 : profitDistributionCapital.hashCode());
		result = prime * result
				+ ((profitDistributionCapitalAccount == null) ? 0 : profitDistributionCapitalAccount.hashCode());
		result = prime * result + ((profitDistributionCapitalAccountTime == null) ? 0
				: profitDistributionCapitalAccountTime.hashCode());
		result = prime * result
				+ ((profitDistributionCapitalTime == null) ? 0 : profitDistributionCapitalTime.hashCode());
		result = prime * result + ((projectFollowCapital == null) ? 0 : projectFollowCapital.hashCode());
		result = prime * result + ((projectFollowCapitalTime == null) ? 0 : projectFollowCapitalTime.hashCode());
		result = prime * result + ((projectFollowSingleCapital == null) ? 0 : projectFollowSingleCapital.hashCode());
		result = prime * result
				+ ((projectFollowSingleCapitalTime == null) ? 0 : projectFollowSingleCapitalTime.hashCode());
		result = prime * result + ((projectFollowTotalCapital == null) ? 0 : projectFollowTotalCapital.hashCode());
		result = prime * result + ((projectId == null) ? 0 : projectId.hashCode());
		result = prime * result + ((projectName == null) ? 0 : projectName.hashCode());
		result = prime * result + ((regionId == null) ? 0 : regionId.hashCode());
		result = prime * result + ((regionName == null) ? 0 : regionName.hashCode());
		result = prime * result + ((updateBy == null) ? 0 : updateBy.hashCode());
		result = prime * result + ((updateTime == null) ? 0 : updateTime.hashCode());
		return result;
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		InvestProjectInvestment other = (InvestProjectInvestment) obj;
		if (cashReturnCapital == null) {
			if (other.cashReturnCapital != null)
				return false;
		} else if (!cashReturnCapital.equals(other.cashReturnCapital))
			return false;
		if (cashReturnCapitalAccount == null) {
			if (other.cashReturnCapitalAccount != null)
				return false;
		} else if (!cashReturnCapitalAccount.equals(other.cashReturnCapitalAccount))
			return false;
		if (cashReturnMoney == null) {
			if (other.cashReturnMoney != null)
				return false;
		} else if (!cashReturnMoney.equals(other.cashReturnMoney))
			return false;
		if (cashReturnTime == null) {
			if (other.cashReturnTime != null)
				return false;
		} else if (!cashReturnTime.equals(other.cashReturnTime))
			return false;
		if (createBy == null) {
			if (other.createBy != null)
				return false;
		} else if (!createBy.equals(other.createBy))
			return false;
		if (createTime == null) {
			if (other.createTime != null)
				return false;
		} else if (!createTime.equals(other.createTime))
			return false;
		if (financialIncomeCapital == null) {
			if (other.financialIncomeCapital != null)
				return false;
		} else if (!financialIncomeCapital.equals(other.financialIncomeCapital))
			return false;
		if (financialIncomeCapitalAccount == null) {
			if (other.financialIncomeCapitalAccount != null)
				return false;
		} else if (!financialIncomeCapitalAccount.equals(other.financialIncomeCapitalAccount))
			return false;
		if (financialIncomeCapitalAccountTime == null) {
			if (other.financialIncomeCapitalAccountTime != null)
				return false;
		} else if (!financialIncomeCapitalAccountTime.equals(other.financialIncomeCapitalAccountTime))
			return false;
		if (financialIncomeCapitalTime == null) {
			if (other.financialIncomeCapitalTime != null)
				return false;
		} else if (!financialIncomeCapitalTime.equals(other.financialIncomeCapitalTime))
			return false;
		if (flag == null) {
			if (other.flag != null)
				return false;
		} else if (!flag.equals(other.flag))
			return false;
		if (id == null) {
			if (other.id != null)
				return false;
		} else if (!id.equals(other.id))
			return false;
		if (incomeCapital == null) {
			if (other.incomeCapital != null)
				return false;
		} else if (!incomeCapital.equals(other.incomeCapital))
			return false;
		if (incomeCapitalAccount == null) {
			if (other.incomeCapitalAccount != null)
				return false;
		} else if (!incomeCapitalAccount.equals(other.incomeCapitalAccount))
			return false;
		if (issuedIncomeCapital == null) {
			if (other.issuedIncomeCapital != null)
				return false;
		} else if (!issuedIncomeCapital.equals(other.issuedIncomeCapital))
			return false;
		if (issuedIncomeCapitalAccount == null) {
			if (other.issuedIncomeCapitalAccount != null)
				return false;
		} else if (!issuedIncomeCapitalAccount.equals(other.issuedIncomeCapitalAccount))
			return false;
		if (issuedIncomeCapitalAccountTime == null) {
			if (other.issuedIncomeCapitalAccountTime != null)
				return false;
		} else if (!issuedIncomeCapitalAccountTime.equals(other.issuedIncomeCapitalAccountTime))
			return false;
		if (issuedIncomeCapitalTime == null) {
			if (other.issuedIncomeCapitalTime != null)
				return false;
		} else if (!issuedIncomeCapitalTime.equals(other.issuedIncomeCapitalTime))
			return false;
		if (principalNotrecoveredCapital == null) {
			if (other.principalNotrecoveredCapital != null)
				return false;
		} else if (!principalNotrecoveredCapital.equals(other.principalNotrecoveredCapital))
			return false;
		if (principalNotrecoveredCapitalAccount == null) {
			if (other.principalNotrecoveredCapitalAccount != null)
				return false;
		} else if (!principalNotrecoveredCapitalAccount.equals(other.principalNotrecoveredCapitalAccount))
			return false;
		if (principalReturnCapital == null) {
			if (other.principalReturnCapital != null)
				return false;
		} else if (!principalReturnCapital.equals(other.principalReturnCapital))
			return false;
		if (principalReturnCapitalAccount == null) {
			if (other.principalReturnCapitalAccount != null)
				return false;
		} else if (!principalReturnCapitalAccount.equals(other.principalReturnCapitalAccount))
			return false;
		if (principalReturnMoney == null) {
			if (other.principalReturnMoney != null)
				return false;
		} else if (!principalReturnMoney.equals(other.principalReturnMoney))
			return false;
		if (principalReturnTime == null) {
			if (other.principalReturnTime != null)
				return false;
		} else if (!principalReturnTime.equals(other.principalReturnTime))
			return false;
		if (profitDistributionCapital == null) {
			if (other.profitDistributionCapital != null)
				return false;
		} else if (!profitDistributionCapital.equals(other.profitDistributionCapital))
			return false;
		if (profitDistributionCapitalAccount == null) {
			if (other.profitDistributionCapitalAccount != null)
				return false;
		} else if (!profitDistributionCapitalAccount.equals(other.profitDistributionCapitalAccount))
			return false;
		if (profitDistributionCapitalAccountTime == null) {
			if (other.profitDistributionCapitalAccountTime != null)
				return false;
		} else if (!profitDistributionCapitalAccountTime.equals(other.profitDistributionCapitalAccountTime))
			return false;
		if (profitDistributionCapitalTime == null) {
			if (other.profitDistributionCapitalTime != null)
				return false;
		} else if (!profitDistributionCapitalTime.equals(other.profitDistributionCapitalTime))
			return false;
		if (projectFollowCapital == null) {
			if (other.projectFollowCapital != null)
				return false;
		} else if (!projectFollowCapital.equals(other.projectFollowCapital))
			return false;
		if (projectFollowCapitalTime == null) {
			if (other.projectFollowCapitalTime != null)
				return false;
		} else if (!projectFollowCapitalTime.equals(other.projectFollowCapitalTime))
			return false;
		if (projectFollowSingleCapital == null) {
			if (other.projectFollowSingleCapital != null)
				return false;
		} else if (!projectFollowSingleCapital.equals(other.projectFollowSingleCapital))
			return false;
		if (projectFollowSingleCapitalTime == null) {
			if (other.projectFollowSingleCapitalTime != null)
				return false;
		} else if (!projectFollowSingleCapitalTime.equals(other.projectFollowSingleCapitalTime))
			return false;
		if (projectFollowTotalCapital == null) {
			if (other.projectFollowTotalCapital != null)
				return false;
		} else if (!projectFollowTotalCapital.equals(other.projectFollowTotalCapital))
			return false;
		if (projectId == null) {
			if (other.projectId != null)
				return false;
		} else if (!projectId.equals(other.projectId))
			return false;
		if (projectName == null) {
			if (other.projectName != null)
				return false;
		} else if (!projectName.equals(other.projectName))
			return false;
		if (regionId == null) {
			if (other.regionId != null)
				return false;
		} else if (!regionId.equals(other.regionId))
			return false;
		if (regionName == null) {
			if (other.regionName != null)
				return false;
		} else if (!regionName.equals(other.regionName))
			return false;
		if (updateBy == null) {
			if (other.updateBy != null)
				return false;
		} else if (!updateBy.equals(other.updateBy))
			return false;
		if (updateTime == null) {
			if (other.updateTime != null)
				return false;
		} else if (!updateTime.equals(other.updateTime))
			return false;
		return true;
	}
	
	
	
}
