package com.ruoyi.projectCost.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * projectCost对象 project_cost
 * 
 * @author ruoyi
 * @date 2023-08-14
 */
public class ProjectCost extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 任务号/来自科研任务 */
    @Excel(name = "任务号/来自科研任务")
    private String taskno;

    /** 任务名称/来自科研任务 */
    @Excel(name = "任务名称/来自科研任务")
    private String taskname;

    /** 型号/来自科研报工 */
    @Excel(name = "型号/来自科研报工")
    private String xhname;

    /** 计划完成时间(进度要求)来自科研任务 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "计划完成时间(进度要求)来自科研任务", width = 30, dateFormat = "yyyy-MM-dd")
    private Date jhwcsj;

    /** 阶段/来自科研报工 */
    @Excel(name = "阶段/来自科研报工")
    private String yzjdname;

    /** 项目进度/来自科研任务 */
    @Excel(name = "项目进度/来自科研任务")
    private BigDecimal processPercent;

    /** 成本进度 */
    @Excel(name = "成本进度")
    private BigDecimal costPercent;

    /** 研制数量/来自科研任务 */
    private Long yzsl;

    /** 单台收入/（合同额or预估价）/研制数量 */
    @Excel(name = "单台收入/", readConverterExp = "合=同额or预估价")
    private BigDecimal oneIncome;

    /** 单台成本/  总成本额/研制数量 */
    @Excel(name = "单台成本/  总成本额/研制数量")
    private BigDecimal oneCost;

    /** 单台利润/  利润额/研制数量 */
    @Excel(name = "单台利润/  利润额/研制数量")
    private BigDecimal oneProfit;

    /** 利润额/（合同额or预估价）-总成本额 */
    @Excel(name = "利润额/", readConverterExp = "合=同额or预估价")
    private BigDecimal lre;

    /** 利润率/ 利润额/（合同额or预估价）*100% */
    @Excel(name = "利润率/ 利润额/", readConverterExp = "合=同额or预估价")
    private BigDecimal lrl;

    /** 预估价/来自财务预算 */
    @Excel(name = "预估价/来自财务预算")
    private BigDecimal EstimationCoat;

    /** 合同额/来自收款合同的合同分配额  */
    @Excel(name = "合同额/来自收款合同的合同分配额 ")
    private BigDecimal contractfpe;

    /** 已收款/ 来自合同收款详细的任务收款额 */
    @Excel(name = "已收款/ 来自合同收款详细的任务收款额")
    private BigDecimal TaskMoney;

    /** 总成本/ 直接成本+间接费用/直接成本=材料费（出库）+外协费+专用费+事务费/间接费用=工资费+管理费+燃动费+固资费 */
    @Excel(name = "总成本/ 直接成本+间接费用/直接成本=材料费", readConverterExp = "出=库")
    private BigDecimal zcb;

    /** 材料费/物资出库单明细 实发主数量*采购单价 */
    @Excel(name = "材料费/物资出库单明细 实发主数量*采购单价")
    private BigDecimal clf;

    /** 专用费 */
    @Excel(name = "专用费")
    private BigDecimal zyf;

    /** 事务费 */
    @Excel(name = "事务费")
    private BigDecimal swf;

    /** 外协费 */
    @Excel(name = "外协费")
    private BigDecimal wxf;

    /** 燃料动力费/（材料费+外协费+事务费+专用费）×1.5% */
    @Excel(name = "燃料动力费/", readConverterExp = "材=料费+外协费+事务费+专用费")
    private BigDecimal rldlf;

    /** 固定资产折旧/（材料费+外协费+事务费+专用费）×2.5% */
    @Excel(name = "固定资产折旧/", readConverterExp = "材=料费+外协费+事务费+专用费")
    private BigDecimal gdzczj;

    /** 工资及劳务费/（材料费+外协费+事务费+专用费）×17% */
    @Excel(name = "工资及劳务费/", readConverterExp = "材=料费+外协费+事务费+专用费")
    private BigDecimal gzjlwf;

    /** 管理费/（材料费+外协费+事务费+专用费）×5% */
    @Excel(name = "管理费/", readConverterExp = "材=料费+外协费+事务费+专用费")
    private BigDecimal glf;

    /** 装机成本/ mes装机信息卡的采购单价*数量 */
    @Excel(name = "装机成本/ mes装机信息卡的采购单价*数量")
    private BigDecimal zjcb;

    /** 内部试验 */
    @Excel(name = "内部试验")
    private BigDecimal lbsy;

    /** 工时(h)/来自科研报工，每次科研报工累加计时 */
    @Excel(name = "工时(h)/来自科研报工，每次科研报工累加计时")
    private BigDecimal workhour;

    /** 责任部门/来自科研任务 */
    @Excel(name = "责任部门/来自科研任务")
    private String zrbm;

    /** 下达部门id/来自科研任务 */
    @Excel(name = "下达部门id/来自科研任务")
    private Long jycsid;

    /** 下达部门/来自科研任务 */
    @Excel(name = "下达部门/来自科研任务")
    private String jycs;

    /** 1：横向 2：纵向/来自科研任务 */
    @Excel(name = "1：横向 2：纵向/来自科研任务")
    private Long hxzxid;

    /** 横向纵向/来自科研任务 */
    @Excel(name = "横向纵向/来自科研任务")
    private String hxzxname;

    /** 任务类型/来自科研任务 */
    @Excel(name = "任务类型/来自科研任务")
    private String tasktype;

    /** 审计审价/来自科研任务 */
    @Excel(name = "审计审价/来自科研任务")
    private String AuditPrice;

    /** 任务状态/来自科研任务 */
    @Excel(name = "任务状态/来自科研任务")
    private String iflag;

    /** 提出单位简称/来自科研任务 */
    @Excel(name = "提出单位简称/来自科研任务")
    private String Brief;

    /** 父级任务/来自科研任务 */
    @Excel(name = "父级任务/来自科研任务")
    private Long RefTaskNo;

    /** 批产任务号/来自科研任务 */
    @Excel(name = "批产任务号/来自科研任务")
    private Long pcCode;

    /** 备产任务号/来自科研任务 */
    @Excel(name = "备产任务号/来自科研任务")
    private Long bcCode;

    /** 备料任务号/来自科研任务 */
    @Excel(name = "备料任务号/来自科研任务")
    private Long blCode;

    /** 业务员/来自科研任务 */
    @Excel(name = "业务员/来自科研任务")
    private String BusinessMan;

    /** 设计工时 */
    @Excel(name = "设计工时")
    private BigDecimal sjgs;

    /** 生产工时 */
    @Excel(name = "生产工时")
    private BigDecimal scgs;

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

    public Long getId() 
    {
        return id;
    }
    public void setTaskno(String taskno) 
    {
        this.taskno = taskno;
    }

    public String getTaskno() 
    {
        return taskno;
    }
    public void setTaskname(String taskname) 
    {
        this.taskname = taskname;
    }

    public String getTaskname() 
    {
        return taskname;
    }
    public void setXhname(String xhname) 
    {
        this.xhname = xhname;
    }

    public String getXhname() 
    {
        return xhname;
    }
    public void setJhwcsj(Date jhwcsj) 
    {
        this.jhwcsj = jhwcsj;
    }

    public Date getJhwcsj() 
    {
        return jhwcsj;
    }
    public void setYzjdname(String yzjdname) 
    {
        this.yzjdname = yzjdname;
    }

    public String getYzjdname() 
    {
        return yzjdname;
    }

    public BigDecimal getProcessPercent() {
        return processPercent;
    }

    public void setProcessPercent(BigDecimal processPercent) {
        this.processPercent = processPercent;
    }

    public BigDecimal getCostPercent() {
        return costPercent;
    }

    public void setCostPercent(BigDecimal costPercent) {
        this.costPercent = costPercent;
    }

    public void setYzsl(Long yzsl)
    {
        this.yzsl = yzsl;
    }

    public Long getYzsl() 
    {
        return yzsl;
    }
    public void setOneIncome(BigDecimal oneIncome) 
    {
        this.oneIncome = oneIncome;
    }

    public BigDecimal getOneIncome() 
    {
        return oneIncome;
    }
    public void setOneCost(BigDecimal oneCost) 
    {
        this.oneCost = oneCost;
    }

    public BigDecimal getOneCost() 
    {
        return oneCost;
    }
    public void setOneProfit(BigDecimal oneProfit) 
    {
        this.oneProfit = oneProfit;
    }

    public BigDecimal getOneProfit() 
    {
        return oneProfit;
    }
    public void setLre(BigDecimal lre) 
    {
        this.lre = lre;
    }

    public BigDecimal getLre() 
    {
        return lre;
    }
    public void setLrl(BigDecimal lrl) 
    {
        this.lrl = lrl;
    }

    public BigDecimal getLrl() 
    {
        return lrl;
    }
    public void setEstimationCoat(BigDecimal EstimationCoat) 
    {
        this.EstimationCoat = EstimationCoat;
    }

    public BigDecimal getEstimationCoat() 
    {
        return EstimationCoat;
    }
    public void setContractfpe(BigDecimal contractfpe) 
    {
        this.contractfpe = contractfpe;
    }

    public BigDecimal getContractfpe() 
    {
        return contractfpe;
    }
    public void setTaskMoney(BigDecimal TaskMoney) 
    {
        this.TaskMoney = TaskMoney;
    }

    public BigDecimal getTaskMoney() 
    {
        return TaskMoney;
    }
    public void setZcb(BigDecimal zcb) 
    {
        this.zcb = zcb;
    }

    public BigDecimal getZcb() 
    {
        return zcb;
    }
    public void setClf(BigDecimal clf) 
    {
        this.clf = clf;
    }

    public BigDecimal getClf() 
    {
        return clf;
    }
    public void setZyf(BigDecimal zyf) 
    {
        this.zyf = zyf;
    }

    public BigDecimal getZyf() 
    {
        return zyf;
    }
    public void setSwf(BigDecimal swf) 
    {
        this.swf = swf;
    }

    public BigDecimal getSwf() 
    {
        return swf;
    }
    public void setWxf(BigDecimal wxf) 
    {
        this.wxf = wxf;
    }

    public BigDecimal getWxf() 
    {
        return wxf;
    }
    public void setRldlf(BigDecimal rldlf) 
    {
        this.rldlf = rldlf;
    }

    public BigDecimal getRldlf() 
    {
        return rldlf;
    }
    public void setGdzczj(BigDecimal gdzczj) 
    {
        this.gdzczj = gdzczj;
    }

    public BigDecimal getGdzczj() 
    {
        return gdzczj;
    }
    public void setGzjlwf(BigDecimal gzjlwf) 
    {
        this.gzjlwf = gzjlwf;
    }

    public BigDecimal getGzjlwf() 
    {
        return gzjlwf;
    }
    public void setGlf(BigDecimal glf) 
    {
        this.glf = glf;
    }

    public BigDecimal getGlf() 
    {
        return glf;
    }
    public void setZjcb(BigDecimal zjcb) 
    {
        this.zjcb = zjcb;
    }

    public BigDecimal getZjcb() 
    {
        return zjcb;
    }
    public void setLbsy(BigDecimal lbsy) 
    {
        this.lbsy = lbsy;
    }

    public BigDecimal getLbsy() 
    {
        return lbsy;
    }
    public void setWorkhour(BigDecimal workhour) 
    {
        this.workhour = workhour;
    }

    public BigDecimal getWorkhour() 
    {
        return workhour;
    }
    public void setZrbm(String zrbm) 
    {
        this.zrbm = zrbm;
    }

    public String getZrbm() 
    {
        return zrbm;
    }
    public void setJycsid(Long jycsid) 
    {
        this.jycsid = jycsid;
    }

    public Long getJycsid() 
    {
        return jycsid;
    }
    public void setJycs(String jycs) 
    {
        this.jycs = jycs;
    }

    public String getJycs() 
    {
        return jycs;
    }
    public void setHxzxid(Long hxzxid) 
    {
        this.hxzxid = hxzxid;
    }

    public Long getHxzxid() 
    {
        return hxzxid;
    }
    public void setHxzxname(String hxzxname) 
    {
        this.hxzxname = hxzxname;
    }

    public String getHxzxname() 
    {
        return hxzxname;
    }
    public void setTasktype(String tasktype) 
    {
        this.tasktype = tasktype;
    }

    public String getTasktype() 
    {
        return tasktype;
    }
    public void setAuditPrice(String AuditPrice) 
    {
        this.AuditPrice = AuditPrice;
    }

    public String getAuditPrice() 
    {
        return AuditPrice;
    }
    public void setIflag(String iflag) 
    {
        this.iflag = iflag;
    }

    public String getIflag() 
    {
        return iflag;
    }
    public void setBrief(String Brief) 
    {
        this.Brief = Brief;
    }

    public String getBrief() 
    {
        return Brief;
    }
    public void setRefTaskNo(Long RefTaskNo) 
    {
        this.RefTaskNo = RefTaskNo;
    }

    public Long getRefTaskNo() 
    {
        return RefTaskNo;
    }
    public void setPcCode(Long pcCode) 
    {
        this.pcCode = pcCode;
    }

    public Long getPcCode() 
    {
        return pcCode;
    }
    public void setBcCode(Long bcCode) 
    {
        this.bcCode = bcCode;
    }

    public Long getBcCode() 
    {
        return bcCode;
    }
    public void setBlCode(Long blCode) 
    {
        this.blCode = blCode;
    }

    public Long getBlCode() 
    {
        return blCode;
    }
    public void setBusinessMan(String BusinessMan) 
    {
        this.BusinessMan = BusinessMan;
    }

    public String getBusinessMan() 
    {
        return BusinessMan;
    }
    public void setSjgs(BigDecimal sjgs) 
    {
        this.sjgs = sjgs;
    }

    public BigDecimal getSjgs() 
    {
        return sjgs;
    }
    public void setScgs(BigDecimal scgs) 
    {
        this.scgs = scgs;
    }

    public BigDecimal getScgs() 
    {
        return scgs;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("taskno", getTaskno())
            .append("taskname", getTaskname())
            .append("xhname", getXhname())
            .append("jhwcsj", getJhwcsj())
            .append("yzjdname", getYzjdname())
            .append("processPercent", getProcessPercent())
            .append("costPercent", getCostPercent())
            .append("yzsl", getYzsl())
            .append("oneIncome", getOneIncome())
            .append("oneCost", getOneCost())
            .append("oneProfit", getOneProfit())
            .append("lre", getLre())
            .append("lrl", getLrl())
            .append("EstimationCoat", getEstimationCoat())
            .append("contractfpe", getContractfpe())
            .append("TaskMoney", getTaskMoney())
            .append("zcb", getZcb())
            .append("clf", getClf())
            .append("zyf", getZyf())
            .append("swf", getSwf())
            .append("wxf", getWxf())
            .append("rldlf", getRldlf())
            .append("gdzczj", getGdzczj())
            .append("gzjlwf", getGzjlwf())
            .append("glf", getGlf())
            .append("zjcb", getZjcb())
            .append("lbsy", getLbsy())
            .append("workhour", getWorkhour())
            .append("zrbm", getZrbm())
            .append("jycsid", getJycsid())
            .append("jycs", getJycs())
            .append("hxzxid", getHxzxid())
            .append("hxzxname", getHxzxname())
            .append("tasktype", getTasktype())
            .append("AuditPrice", getAuditPrice())
            .append("iflag", getIflag())
            .append("Brief", getBrief())
            .append("RefTaskNo", getRefTaskNo())
            .append("pcCode", getPcCode())
            .append("bcCode", getBcCode())
            .append("blCode", getBlCode())
            .append("BusinessMan", getBusinessMan())
            .append("sjgs", getSjgs())
            .append("scgs", getScgs())
            .toString();
    }
}
