package com.jeeplus.modules.workcontent.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.jeeplus.common.persistence.DataEntity;
import com.jeeplus.common.utils.excel.annotation.ExcelField;
import com.jeeplus.modules.projectcontentinfo.entity.ProjectContentData;
import org.springframework.format.annotation.NumberFormat;

import javax.validation.constraints.NotNull;
import java.util.Date;

public class WorkContentVisamanage  extends DataEntity<WorkContentVisamanage> {
    private static final long serialVersionUID = 1L;
    private String projectId;		// 项目id
    private String contentId;		// 工作内容ID
    private ProjectContentData contract;		// 合同ID
    private String visaType;		// 变更类型
    private Date visaDate;		// 变更日期
    private String visaCtnt;		// 变更主要内容
    @NumberFormat(style = NumberFormat.Style.CURRENCY)
    private Double reviewAmt;		// 送审金额
    @NumberFormat(style = NumberFormat.Style.CURRENCY)
    private Double setAmt;		// 审定金额
    private Date subDate;		// 报送日期
    private Date setDate;		// 审定日期
    private String inAccount;		// 计入台账
    private String inPayment;		// 计入支付
    private String proConTentName;
    private String typeName;
    private String createName;

    public String getCreateName() {
        return createName;
    }

    public void setCreateName(String createName) {
        this.createName = createName;
    }

    public String getProConTentName() {
        return proConTentName;
    }

    public void setProConTentName(String proConTentName) {
        this.proConTentName = proConTentName;
    }

    public String getTypeName() {
        return typeName;
    }

    public void setTypeName(String typeName) {
        this.typeName = typeName;
    }

    public WorkContentVisamanage() {
        super();
    }

    public WorkContentVisamanage(String id){
        super(id);
    }

    @ExcelField(title="项目id", align=2, sort=7)
    public String getProjectId() {
        return projectId;
    }

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

    @ExcelField(title="工作内容ID", align=2, sort=8)
    public String getContentId() {
        return contentId;
    }

    public void setContentId(String contentId) {
        this.contentId = contentId;
    }

    public ProjectContentData getContract() {
        return contract;
    }

    public void setContract(ProjectContentData contract) {
        this.contract = contract;
    }
    @ExcelField(title="变更类型", dictType="", align=2, sort=10)
    public String getVisaType() {
        return visaType;
    }

    public void setVisaType(String visaType) {
        this.visaType = visaType;
    }

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @NotNull(message="变更日期不能为空")
    @ExcelField(title="变更日期", align=2, sort=11)
    public Date getVisaDate() {
        return visaDate;
    }

    public void setVisaDate(Date visaDate) {
        this.visaDate = visaDate;
    }

    @ExcelField(title="变更主要内容", align=2, sort=13)
    public String getVisaCtnt() {
        return visaCtnt;
    }

    public void setVisaCtnt(String visaCtnt) {
        this.visaCtnt = visaCtnt;
    }

    @ExcelField(title="送审金额", align=2, sort=14)
    public Double getReviewAmt() {
        return reviewAmt;
    }

    public void setReviewAmt(Double reviewAmt) {
        this.reviewAmt = reviewAmt;
    }

    @ExcelField(title="审定金额", align=2, sort=15)
    public Double getSetAmt() {
        return setAmt;
    }

    public void setSetAmt(Double setAmt) {
        this.setAmt = setAmt;
    }

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @NotNull(message="报送日期不能为空")
    @ExcelField(title="报送日期", align=2, sort=16)
    public Date getSubDate() {
        return subDate;
    }

    public void setSubDate(Date subDate) {
        this.subDate = subDate;
    }

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @NotNull(message="审定日期不能为空")
    @ExcelField(title="审定日期", align=2, sort=17)
    public Date getSetDate() {
        return setDate;
    }

    public void setSetDate(Date setDate) {
        this.setDate = setDate;
    }

    @ExcelField(title="计入台账", dictType="", align=2, sort=18)
    public String getInAccount() {
        return inAccount;
    }

    public void setInAccount(String inAccount) {
        this.inAccount = inAccount;
    }

    @ExcelField(title="计入支付", dictType="", align=2, sort=19)
    public String getInPayment() {
        return inPayment;
    }

    public void setInPayment(String inPayment) {
        this.inPayment = inPayment;
    }
}
