package cn.palmte.work.model;

import org.hibernate.annotations.GenericGenerator;

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

/**
 * 项目决算现金流量表
 */
@Entity
@Table(name = "project_final_cash_flux")
public class ProjectFinalCashFlux {
    public static final int TYPE1 = 1;//销售商品、提供劳务收到的现金
    public static final int TYPE2 = 2;//收到的税费返还
    public static final int TYPE3 = 3;//收到其他与经营活动有关的现金
    public static final int TYPE4 = 4;//购买商品、接受劳务支付的现金
    public static final int TYPE5 = 5;//支付的各项税费
    public static final int TYPE6 = 6;//支付其他与经营活动有关的现金
    public static final int TYPE7 = 7;//经营活动产生的现金流量净额
    public static final int TYPE8 = 8;//投资活动现金流入
    public static final int TYPE9 = 9;//投资活动现金流出
    public static final int TYPE10 = 10;//投资活动产生的现金流量净额
    public static final int TYPE11 = 11;//融资资金流入
    public static final int TYPE12 = 12;//还款资金流出
    public static final int TYPE13 = 13;//筹资活动产生的现金流量净额
    public static final int TYPE14 = 14;//货币资金净增加额

    /**
     * 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 = "budget_total_cash_flux")
    private BigDecimal budgetTotalCashFlux;

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

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

    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 getBudgetTotalCashFlux() {
        return budgetTotalCashFlux;
    }

    public void setBudgetTotalCashFlux(BigDecimal budgetTotalCashFlux) {
        this.budgetTotalCashFlux = budgetTotalCashFlux;
    }

    public BigDecimal getSettleTotalCashFlux() {
        return settleTotalCashFlux;
    }

    public void setSettleTotalCashFlux(BigDecimal settleTotalCashFlux) {
        this.settleTotalCashFlux = settleTotalCashFlux;
    }

    public BigDecimal getFinalTotalCashFlux() {
        return finalTotalCashFlux;
    }

    public void setFinalTotalCashFlux(BigDecimal finalTotalCashFlux) {
        this.finalTotalCashFlux = finalTotalCashFlux;
    }
}