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 ApprovalStage extends DataEntity<ApprovalStage> {
    /**
     * 项目编码
     * */
    private String projectCode;

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

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

    /**
     * 核准文号
     * */
    private String approvalNumber;
    /**
     * 核准日期
     * */
    private Date dateOfApproval;
    /**
     * 核准金额
     * */
    private String approvedAmount;

    /**
     * 核准附件
     */
    private String approvedAnnex;

    /**
     * 子类数据集合
     * */
    private List<ApprovalStage> 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 getApprovalNumber() {
        return approvalNumber;
    }

    public void setApprovalNumber(String approvalNumber) {
        this.approvalNumber = approvalNumber;
    }

    @JsonFormat(pattern = "yyyy-MM-dd")
    @ExcelField(title="核准日期", align=2, sort=5)
    public Date getDateOfApproval() {
        return dateOfApproval;
    }

    public void setDateOfApproval(Date dateOfApproval) {
        this.dateOfApproval = dateOfApproval;
    }

    @ExcelField(title="核准金额", align=2, sort=6)
    public String getApprovedAmount() {
        return approvedAmount;
    }

    public void setApprovedAmount(String approvedAmount) {
        this.approvedAmount = approvedAmount;
    }

    public String getApprovedAnnex() {
        return approvedAnnex;
    }

    public void setApprovedAnnex(String approvedAnnex) {
        this.approvedAnnex = approvedAnnex;
    }

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

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