/**
 * Copyright &copy; 2015-2020 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
 */
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;

/**
 * 变更管理Entity
 * @author ssrh
 * @version 2018-06-06
 */
public class WorkContentAltermanage extends DataEntity<WorkContentAltermanage> {
	
	private static final long serialVersionUID = 1L;
	private String projectId;		// 项目id
	private String contentId;		// 工作内容ID
	private ProjectContentData contract;		// 合同ID
	private String alterType;		// 变更类型
	private Date alterDate;		// 变更日期
	private String alterCost;		// 变更造价预计
	private String alterCtnt;		// 变更主要内容
    @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 WorkContentAltermanage() {
		super();
	}

	public WorkContentAltermanage(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 getAlterType() {
		return alterType;
	}

	public void setAlterType(String alterType) {
		this.alterType = alterType;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@NotNull(message="变更日期不能为空")
	@ExcelField(title="变更日期", align=2, sort=11)
	public Date getAlterDate() {
		return alterDate;
	}

	public void setAlterDate(Date alterDate) {
		this.alterDate = alterDate;
	}
	
	@ExcelField(title="变更造价预计", align=2, sort=12)
	public String getAlterCost() {
		return alterCost;
	}

	public void setAlterCost(String alterCost) {
		this.alterCost = alterCost;
	}
	
	@ExcelField(title="变更主要内容", align=2, sort=13)
	public String getAlterCtnt() {
		return alterCtnt;
	}

	public void setAlterCtnt(String alterCtnt) {
		this.alterCtnt = alterCtnt;
	}
	
	@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;
	}
	
}