/**
 * 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-12
 */
public class WorkContentClaim extends DataEntity<WorkContentClaim> {
	
	private static final long serialVersionUID = 1L;
	private String projectId;		// 项目id
	private String contentId;		// 工作内容ID
	private ProjectContentData contract;		// 合同名称
	private String claimType;		// 索赔类型
	private Date claimDate;		// 索赔日期
	private String content;		// 索赔主要内容
    @NumberFormat(style = NumberFormat.Style.CURRENCY)
	private Double reviewAmt;		// 送审金额
    @NumberFormat(style = NumberFormat.Style.CURRENCY)
	private Double setAmt;		// 审定金额
	private Date reviewDate;		// 报送日期
	private Date setDate;		// 审定日期
	private String inAccount;		// 计入台账
	private String inPayment;		// 计入支付
	
	public WorkContentClaim() {
		super();
	}

	public WorkContentClaim(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 getClaimType() {
		return claimType;
	}

	public void setClaimType(String claimType) {
		this.claimType = claimType;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@NotNull(message="索赔日期不能为空")
	@ExcelField(title="索赔日期", align=2, sort=11)
	public Date getClaimDate() {
		return claimDate;
	}

	public void setClaimDate(Date claimDate) {
		this.claimDate = claimDate;
	}
	
	@ExcelField(title="索赔主要内容", align=2, sort=12)
	public String getContent() {
		return content;
	}

	public void setContent(String content) {
		this.content = content;
	}
	
	@ExcelField(title="送审金额", align=2, sort=13)
	public Double getReviewAmt() {
		return reviewAmt;
	}

	public void setReviewAmt(Double reviewAmt) {
		this.reviewAmt = reviewAmt;
	}
	
	@ExcelField(title="审定金额", align=2, sort=14)
	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=15)
	public Date getReviewDate() {
		return reviewDate;
	}

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

	public void setSetDate(Date setDate) {
		this.setDate = setDate;
	}
	
	@ExcelField(title="计入台账", dictType="", align=2, sort=17)
	public String getInAccount() {
		return inAccount;
	}

	public void setInAccount(String inAccount) {
		this.inAccount = inAccount;
	}
	
	@ExcelField(title="计入支付", dictType="", align=2, sort=18)
	public String getInPayment() {
		return inPayment;
	}

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