package cn.palmte.work.model;

import org.hibernate.annotations.GenericGenerator;

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

/**
 * 项目决算成本表
 */
@Entity
@Table(name = "project_final_cost")
public class ProjectFinalCost {
    public static final int FEE_PURCHASE = 1;
    public static final int FEE_PROJECT_MANAGE = 2;
    public static final int FEE_OTHER = 3;

    public static final int TYPE_DEVICE = 1;
    public static final int TYPE_BUILDING = 2;
    public static final int TYPE_SERVICE = 3;
    public static final int TYPE_OTHER = 4;
    public static final int TYPE_PROJECT_MANAGE = 5;
    public static final int TYPE_OTHER_OTHER = 6;
    /**
     * id
     */
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @GenericGenerator(name = "persistenceGenerator", strategy = "increment")
    private Integer id;

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

    private int fee;
    private int type;

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

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

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

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

    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 int getFee() {
        return fee;
    }

    public void setFee(int fee) {
        this.fee = fee;
    }

    public BigDecimal getEstimateTotalCost() {
        return estimateTotalCost;
    }

    public void setEstimateTotalCost(BigDecimal estimateTotalCost) {
        this.estimateTotalCost = estimateTotalCost;
    }

    public BigDecimal getBudgetTotalCost() {
        return budgetTotalCost;
    }

    public void setBudgetTotalCost(BigDecimal budgetTotalCost) {
        this.budgetTotalCost = budgetTotalCost;
    }

    public BigDecimal getSettleTotalCost() {
        return settleTotalCost;
    }

    public void setSettleTotalCost(BigDecimal settleTotalCost) {
        this.settleTotalCost = settleTotalCost;
    }

    public BigDecimal getFinalTotalCost() {
        return finalTotalCost;
    }

    public void setFinalTotalCost(BigDecimal finalTotalCost) {
        this.finalTotalCost = finalTotalCost;
    }
}