/**
 * Copyright &copy; 2015-2020 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
 */
package com.jeeplus.modules.workcontent.entity;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import javax.validation.constraints.NotNull;

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;

/**
 * 认价管理Entity
 * @author ssrh
 * @version 2018-06-06
 */
public class WorkContentPricemanage extends DataEntity<WorkContentPricemanage> {
	
	private static final long serialVersionUID = 1L;
	private String projectId;		// 项目id
	private String contentId;		// 工作内容ID
	private ProjectContentData contract;		// 合同ID
	private String priceType;		// 认价类型
	private Date priceDate;		// 认价时间
	private String scope;		// 认价范围
	private String explain;		// 使用说明

	@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;		// 计入支付

	public WorkContentPricemanage() {
		super();
	}

	public WorkContentPricemanage(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;
	}
	
	@ExcelField(title="认价类型", dictType="", align=2, sort=10)
	public String getPriceType() {
		return priceType;
	}

	public void setPriceType(String priceType) {
		this.priceType = priceType;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@NotNull(message="认价时间不能为空")
	@ExcelField(title="认价时间", align=2, sort=11)
	public Date getPriceDate() {
		return priceDate;
	}

	public void setPriceDate(Date priceDate) {
		this.priceDate = priceDate;
	}
	
	@ExcelField(title="认价范围", align=2, sort=12)
	public String getScope() {
		return scope;
	}

	public void setScope(String scope) {
		this.scope = scope;
	}
	
	@ExcelField(title="使用说明", align=2, sort=13)
	public String getExplain() {
		return explain;
	}

	public void setExplain(String explain) {
		this.explain = explain;
	}

    public ProjectContentData getContract() {
        return contract;
    }

    public void setContract(ProjectContentData contract) {
        this.contract = contract;
    }

	public Double getReviewAmt() {
		return reviewAmt;
	}

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

	public Double getSetAmt() {
		return setAmt;
	}

	public void setSetAmt(Double setAmt) {
		this.setAmt = setAmt;
	}
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@NotNull(message="报送日期不能为空")
	public Date getSubDate() {
		return subDate;
	}

	public void setSubDate(Date subDate) {
		this.subDate = subDate;
	}
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@NotNull(message="报送日期不能为空")
	public Date getSetDate() {
		return setDate;
	}

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

	public String getInAccount() {
		return inAccount;
	}

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

	public String getInPayment() {
		return inPayment;
	}

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