package com.jeeplus.modules.sg.overheadline.entity;

import com.jeeplus.common.utils.excel.annotation.ExcelField;

import java.util.Objects;

/**
 * 项目数据明细
 */
public class JkxlDetailFee {
    private String id;  //项目ID
    private String wbsCode;  //WBS识别码
    private Double originalTotalCost;  //分布分项合计金额
    private Double zjgcFee;  //直接工程费
    private Double originalRgCost;  //分布分项前人工费
    private Double originalCbrCost;  //分布分项前承包人采购费
    private Double originalFbrCost;  //分布分项前发包人采购费
    private Double originalJxCost;  //分部分项前机械费
//    private Double rgCost;  //分部分项调差后人工费
//    private Double cbrCost;  //分布分项调差后承包人采购费
//    private Double fbrCost;   //分布分项调差后发包人采购费
//    private Double jxCost;  //分布分项调差后发包人机械费
    private Double measuresFee1;  //措施费一（1）
    private Double measuresFee2;  //措施费一（2）
    private Double measuresFee3;  //措施费二
    private Double otherCost;   //其他费用
    private Double fees;   //规费
    private Double tex;   //税金
    private Double rgFtFee;  //共性人工分摊费用
    private Double totalFee;   //合计金额

    private String wbsId;  //标准 WBS 要素
    private String projectId;  //内部项目号
    private String describe;  //描述
    private String parentNode;  //父节点
    private String feeType;   //1：主体部分  2：其他部分

    private Double sbFee;      //设备费
    private Double jzFee;      //建筑费
    private Double sbgzFee;    //设备购置费
    private Double azFee;      //安装费
    private Double zcFee;     //装材费
    private Double qtFee;    //其他费用
    private Double jsFee;    //结算价
    private Double cFee;      //差额
    private String hierarchy;  //层级
    private Integer index;    //序号

    @ExcelField(title="设备费", align=1, sort=6)
    public Double getSbFee() {
        return sbFee;
    }

    public void setSbFee(Double sbFee) {
        this.sbFee = sbFee;
    }

    @ExcelField(title="建筑费", align=1, sort=5)
    public Double getJzFee() {
        return jzFee;
    }

    public void setJzFee(Double jzFee) {
        this.jzFee = jzFee;
    }



    public String getFeeType() {
        return feeType != null?feeType:"3";
    }

    public void setFeeType(String feeType) {
        this.feeType = feeType;
    }

    public Double getMeasuresFee3() {
        return measuresFee3;
    }

    public void setMeasuresFee3(Double measuresFee3) {
        this.measuresFee3 = measuresFee3;
    }




    public String getWbsId() {
        return wbsId;
    }

    public void setWbsId(String wbsId) {
        this.wbsId = wbsId;
    }


    public String getProjectId() {
        return projectId;
    }

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

    @ExcelField(title="元素描述", align=1, sort=4)
    public String getDescribe() {
        return describe;
    }

    public void setDescribe(String describe) {
        this.describe = describe;
    }

    public String getParentNode() {
        return parentNode;
    }

    public void setParentNode(String parentNode) {
        this.parentNode = parentNode;
    }
    @ExcelField(title="WBS识别码", align=2, sort=2)
    public String getWbsCode() {
        return wbsCode;
    }

    public void setWbsCode(String wbsCode) {
        this.wbsCode = wbsCode;
    }

    @ExcelField(title="合计", align=2, sort=11)
    public Double getTotalFee() {
        return totalFee;
    }

    public void setTotalFee(Double totalFee) {
        this.totalFee = totalFee;
    }

    public String getId() {
        return id;
    }

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

    public Double getOriginalTotalCost() {
        return originalTotalCost;
    }

    public void setOriginalTotalCost(Double originalTotalCost) {
        this.originalTotalCost = originalTotalCost;
    }

    public Double getZjgcFee() {
        return zjgcFee;
    }

    public void setZjgcFee(Double zjgcFee) {
        this.zjgcFee = zjgcFee;
    }

    public Double getRgFtFee() {
        return rgFtFee;
    }

    public void setRgFtFee(Double rgFtFee) {
        this.rgFtFee = rgFtFee;
    }



    public Double getOriginalRgCost() {
        return originalRgCost;
    }

    public void setOriginalRgCost(Double originalRgCost) {
        this.originalRgCost = originalRgCost;
    }

    public Double getOriginalCbrCost() {
        return originalCbrCost;
    }

    public void setOriginalCbrCost(Double originalCbrCost) {
        this.originalCbrCost = originalCbrCost;
    }

    public Double getOriginalFbrCost() {
        return originalFbrCost;
    }

    public void setOriginalFbrCost(Double originalFbrCost) {
        this.originalFbrCost = originalFbrCost;
    }


    public Double getOriginalJxCost() {
        return originalJxCost;
    }

    public void setOriginalJxCost(Double originalJxCost) {
        this.originalJxCost = originalJxCost;
    }



    public Double getMeasuresFee1() {
        return measuresFee1;
    }

    public void setMeasuresFee1(Double measuresFee1) {
        this.measuresFee1 = measuresFee1;
    }

    public Double getMeasuresFee2() {
        return measuresFee2;
    }

    public void setMeasuresFee2(Double measuresFee2) {
        this.measuresFee2 = measuresFee2;
    }

    public Double getOtherCost() {
        return otherCost;
    }

    public void setOtherCost(Double otherCost) {
        this.otherCost = otherCost;
    }

    public Double getFees() {
        return fees;
    }

    public void setFees(Double fees) {
        this.fees = fees;
    }

    public Double getTex() {
        return tex;
    }

    public void setTex(Double tex) {
        this.tex = tex;
    }

    @ExcelField(title="设备购置费", align=2, sort=7)
    public Double getSbgzFee() {
        return sbgzFee;
    }

    public void setSbgzFee(Double sbgzFee) {
        this.sbgzFee = sbgzFee;
    }
    @ExcelField(title="安装费", align=2, sort=8)
    public Double getAzFee() {
        return azFee;
    }

    public void setAzFee(Double azFee) {
        this.azFee = azFee;
    }

    @ExcelField(title="装材费", align=2, sort=9)
    public Double getZcFee() {
        return zcFee;
    }

    public void setZcFee(Double zcFee) {
        this.zcFee = zcFee;
    }

    @ExcelField(title="其他费用", align=2, sort=10)
    public Double getQtFee() {
        return qtFee;
    }

    public void setQtFee(Double qtFee) {
        this.qtFee = qtFee;
    }


    public Double getJsFee() {
        return jsFee;
    }

    public void setJsFee(Double jsFee) {
        this.jsFee = jsFee;
    }

    public Double getcFee() {
        return cFee;
    }

    public void setcFee(Double cFee) {
        this.cFee = cFee;
    }

    @ExcelField(title="层级", align=2, sort=3)
    public String getHierarchy() {
        return hierarchy;
    }

    public void setHierarchy(String hierarchy) {
        this.hierarchy = hierarchy;
    }

    @ExcelField(title="序号", align=2, sort=1)
    public Integer getIndex() {
        return index;
    }

    public void setIndex(Integer index) {
        this.index = index;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (!(o instanceof JkxlDetailFee)) return false;
        JkxlDetailFee that = (JkxlDetailFee) o;
        return wbsCode.equals(that.wbsCode);
    }
}
