package cn.palmte.work.model;

import org.hibernate.annotations.GenericGenerator;

import javax.persistence.*;
import java.math.BigDecimal;

/**
 * 资金计划明细表
 */
@MappedSuperclass
public class ProjectBudgetPlanDetailBase {
    /**
     * id
     */
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @GenericGenerator(name = "persistenceGenerator", strategy = "increment")
    private Integer id;

    @Column(name = "project_id")
    private int projectId;

    private String month;

    /**
     * 设备支出
     */
    @Column(name = "device_cost")
    private BigDecimal deviceCost;
    /**
     *工程支出
     */
    @Column(name = "engineer_cost")
    private BigDecimal engineerCost;
    /**
     *经营性开支
     */
    @Column(name = "project_manage_cost")
    private BigDecimal projectManageCost;
    /**
     *保证金支出
     */
    @Column(name = "earnest_money_cost")
    private BigDecimal earnestMoneyCost;
    /**
     *支出合计
     */
    @Column(name = "total_cost")
    private BigDecimal totalCost;
    /**
     *销售收款
     */
    @Column(name = "sale_income")
    private BigDecimal saleIncome;
    /**
     *保证金收款
     */
    @Column(name = "earnest_money_income")
    private BigDecimal earnestMoneyIncome;
    /**
     *收款合计
     */
    @Column(name = "total_income")
    private BigDecimal totalIncome;
    /**
     *资金余额
     */
    @Column(name = "fund_balance")
    private BigDecimal fundBalance;
    /**
     * 项目创建配置的年利率
     */
    @Column(name = "underwritten_tax_rate")
    private BigDecimal underwrittenTaxRate;
    /**
     *资金利息
     */
    @Column(name = "capital_interest")
    private BigDecimal capitalInterest;
    /**
     *垫资计划
     */
    @Column(name = "underwritten_plan")
    private BigDecimal underwrittenPlan;
    /**
     *还款计划
     */
    @Column(name = "repayment_plan")
    private BigDecimal repaymentPlan;

    public Integer getId() {
        return id;
    }

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

    public int getProjectId() {
        return projectId;
    }

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

    public String getMonth() {
        return month;
    }

    public void setMonth(String month) {
        this.month = month;
    }

    public BigDecimal getDeviceCost() {
        return deviceCost;
    }

    public void setDeviceCost(BigDecimal deviceCost) {
        this.deviceCost = deviceCost;
    }

    public BigDecimal getEngineerCost() {
        return engineerCost;
    }

    public void setEngineerCost(BigDecimal engineerCost) {
        this.engineerCost = engineerCost;
    }

    public BigDecimal getProjectManageCost() {
        return projectManageCost;
    }

    public void setProjectManageCost(BigDecimal projectManageCost) {
        this.projectManageCost = projectManageCost;
    }

    public BigDecimal getEarnestMoneyCost() {
        return earnestMoneyCost;
    }

    public void setEarnestMoneyCost(BigDecimal earnestMoneyCost) {
        this.earnestMoneyCost = earnestMoneyCost;
    }

    public BigDecimal getTotalCost() {
        return totalCost;
    }

    public void setTotalCost(BigDecimal totalCost) {
        this.totalCost = totalCost;
    }

    public BigDecimal getSaleIncome() {
        return saleIncome;
    }

    public void setSaleIncome(BigDecimal saleIncome) {
        this.saleIncome = saleIncome;
    }

    public BigDecimal getEarnestMoneyIncome() {
        return earnestMoneyIncome;
    }

    public void setEarnestMoneyIncome(BigDecimal earnestMoneyIncome) {
        this.earnestMoneyIncome = earnestMoneyIncome;
    }

    public BigDecimal getTotalIncome() {
        return totalIncome;
    }

    public void setTotalIncome(BigDecimal totalIncome) {
        this.totalIncome = totalIncome;
    }

    public BigDecimal getFundBalance() {
        return fundBalance;
    }

    public void setFundBalance(BigDecimal fundBalance) {
        this.fundBalance = fundBalance;
    }

    public BigDecimal getUnderwrittenTaxRate() {
        return underwrittenTaxRate;
    }

    public void setUnderwrittenTaxRate(BigDecimal underwrittenTaxRate) {
        this.underwrittenTaxRate = underwrittenTaxRate;
    }

    public BigDecimal getCapitalInterest() {
        return capitalInterest;
    }

    public void setCapitalInterest(BigDecimal capitalInterest) {
        this.capitalInterest = capitalInterest;
    }

    public BigDecimal getUnderwrittenPlan() {
        return underwrittenPlan;
    }

    public void setUnderwrittenPlan(BigDecimal underwrittenPlan) {
        this.underwrittenPlan = underwrittenPlan;
    }

    public BigDecimal getRepaymentPlan() {
        return repaymentPlan;
    }

    public void setRepaymentPlan(BigDecimal repaymentPlan) {
        this.repaymentPlan = repaymentPlan;
    }
}