package cn.palmte.work.model;

import org.hibernate.annotations.GenericGenerator;

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

/**
 * 项目决算利润率表
 */
@Entity
@Table(name = "project_final_profit_margin")
public class ProjectFinalProfitMargin {

    public static final int TYPE_GROSS_PROFIT = 1;//项目毛利
    public static final int TYPE_CONTRIBUTION_MARGIN = 2;//项目贡献利润
    public static final int TYPE_NET_MARGIN = 3;//项目净利润

    /**
     * id
     */
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @GenericGenerator(name = "persistenceGenerator", strategy = "increment")
    private Integer id;

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

    private int type;

    /**
     * 概算总额（不含税）
     */
    @Column(name = "estimate_total_profit_margin")
    private BigDecimal estimateTotalProfitMargin;

    /**
     * 预算总额（不含税）
     */
    @Column(name = "budget_total_profit_margin")
    private BigDecimal budgetTotalProfitMargin;

    /**
     * 结算总额（不含税）
     */
    @Column(name = "settle_total_profit_margin")
    private BigDecimal settleTotalProfitMargin;

    /**
     * 决算总额（不含税）
     */
    @Column(name = "final_total_profit_margin")
    private BigDecimal finalTotalProfitMargin;

    /**
     * 利润率
     */
    @Column(name = "profit_margin")
    private BigDecimal profitMargin;

    public BigDecimal getProfitMargin() {
        return profitMargin;
    }

    public void setProfitMargin(BigDecimal profitMargin) {
        this.profitMargin = profitMargin;
    }

    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 int getType() {
        return type;
    }

    public void setType(int type) {
        this.type = type;
    }

    public BigDecimal getEstimateTotalProfitMargin() {
        return estimateTotalProfitMargin;
    }

    public void setEstimateTotalProfitMargin(BigDecimal estimateTotalProfitMargin) {
        this.estimateTotalProfitMargin = estimateTotalProfitMargin;
    }

    public BigDecimal getBudgetTotalProfitMargin() {
        return budgetTotalProfitMargin;
    }

    public void setBudgetTotalProfitMargin(BigDecimal budgetTotalProfitMargin) {
        this.budgetTotalProfitMargin = budgetTotalProfitMargin;
    }

    public BigDecimal getSettleTotalProfitMargin() {
        return settleTotalProfitMargin;
    }

    public void setSettleTotalProfitMargin(BigDecimal settleTotalProfitMargin) {
        this.settleTotalProfitMargin = settleTotalProfitMargin;
    }

    public BigDecimal getFinalTotalProfitMargin() {
        return finalTotalProfitMargin;
    }

    public void setFinalTotalProfitMargin(BigDecimal finalTotalProfitMargin) {
        this.finalTotalProfitMargin = finalTotalProfitMargin;
    }
}