package com.jeeplus.modules.filing.approvalStage.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.google.common.collect.Lists;
import com.jeeplus.common.utils.excel.annotation.ExcelField;
import com.jeeplus.core.persistence.DataEntity;
import com.jeeplus.modules.filing.basicInformation.entity.BasicInformationChild;

import java.util.Date;
import java.util.List;

/**
 * 项目概述实体类
 * */
public class StudyStage extends DataEntity<StudyStage> {
    /**
     * 项目编码
     * */
    private String projectCode;

    /**
     * 单体编码
     * */
    private String monomerCode;

    /**
     * 项目名称
     * */
    private String entryName;

    /**
     * 可研批复文号
     * */
    private String replyNo;
    /**
     * 可研批复日期
     * */
    private Date approvalDate;
    /**
     * 可研静态态投资金额
     * */
    private String staticInvestment;
    /**
     * 可研动态投资金额
     * */
    private String dynamicInvestment;

    /**
     * 可研附件
     */
    private String studyAppendix;

    /**
     * 父级id
     */
    private String parentId;

    /**
     * 子类数据集合
     * */
    private List<StudyStage> childList = Lists.newArrayList();

    @ExcelField(title="项目编码", align=2, sort=1)
    public String getProjectCode() {
        return projectCode;
    }

    public void setProjectCode(String projectCode) {
        this.projectCode = projectCode;
    }

    @ExcelField(title="单体编码", align=2, sort=2)
    public String getMonomerCode() {
        return monomerCode;
    }

    public void setMonomerCode(String monomerCode) {
        this.monomerCode = monomerCode;
    }

    @ExcelField(title="项目名称", align=2, sort=3)
    public String getEntryName() {
        return entryName;
    }

    public void setEntryName(String entryName) {
        this.entryName = entryName;
    }

    @ExcelField(title="可研批复文号", align=2, sort=4)
    public String getReplyNo() {
        return replyNo;
    }

    public void setReplyNo(String replyNo) {
        this.replyNo = replyNo;
    }

    @JsonFormat(pattern = "yyyy-MM-dd")
    @ExcelField(title="可研批复日期", align=2, sort=5)
    public Date getApprovalDate() {
        return approvalDate;
    }

    public void setApprovalDate(Date approvalDate) {
        this.approvalDate = approvalDate;
    }

    @ExcelField(title="可研静态态投资金额", align=2, sort=6)
    public String getStaticInvestment() {
        return staticInvestment;
    }

    public void setStaticInvestment(String staticInvestment) {
        this.staticInvestment = staticInvestment;
    }

    @ExcelField(title="可研动态投资金额", align=2, sort=7)
    public String getDynamicInvestment() {
        return dynamicInvestment;
    }

    public void setDynamicInvestment(String dynamicInvestment) {
        this.dynamicInvestment = dynamicInvestment;
    }

    public String getStudyAppendix() {
        return studyAppendix;
    }

    public void setStudyAppendix(String studyAppendix) {
        this.studyAppendix = studyAppendix;
    }

    public String getParentId() {
        return parentId;
    }

    public void setParentId(String parentId) {
        this.parentId = parentId;
    }

    public List<StudyStage> getChildList() {
        return childList;
    }

    public void setChildList(List<StudyStage> childList) {
        this.childList = childList;
    }
}
