/**
 * 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 org.springframework.format.annotation.NumberFormat;

/**
 * 工程价款管理Entity
 * @author 工程价款管理
 * @version 2018-06-13
 */
public class WorkContentProjectprice extends DataEntity<WorkContentProjectprice> {
	
	private static final long serialVersionUID = 1L;
	private String projectId;		// 项目id
	private String contentId;		// 工作内容ID
	private String name;		// 支付名称
	private String pnumber;		// 支付编号
	private String ptype;		// 支付类型
	private String abstracts;		// 支付摘要
    @NumberFormat(style = NumberFormat.Style.CURRENCY)
	private Double currentAmt;		// 本期申请
    @NumberFormat(style = NumberFormat.Style.CURRENCY)
	private Double beforeAmt;		// 至上期累计
    @NumberFormat(style = NumberFormat.Style.CURRENCY)
	private Double afterAmt;		// 至本期累计
    @NumberFormat(style = NumberFormat.Style.CURRENCY)
	private Double reviewAmt;		// 本期审核
    @NumberFormat(style = NumberFormat.Style.CURRENCY)
	private Double beforeReviewAmt;		// 至本期累计审核支付
    @NumberFormat(style = NumberFormat.Style.CURRENCY)
	private Double afterReviewAmt;		// 至本期累计实际支付
    @NumberFormat(style = NumberFormat.Style.CURRENCY)
	private Double stopAmt;		// 止付金额
    @NumberFormat(style = NumberFormat.Style.CURRENCY)
	private Double unpayAmt;		// 应付未付
	private String inAccount;		// 计入台账
	private Date applyDate;		// 申请支付时间
	private Date setDate;		// 审定支付时间
	
	public WorkContentProjectprice() {
		super();
	}

	public WorkContentProjectprice(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="支付名称", align=2, sort=9)
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
	
	@ExcelField(title="支付编号", align=2, sort=10)
	public String getPnumber() {
		return pnumber;
	}

	public void setPnumber(String pnumber) {
		this.pnumber = pnumber;
	}
	
	@ExcelField(title="支付类型", mainDictType="content_pay_type", align=2, sort=11)
	public String getPtype() {
		return ptype;
	}

	public void setPtype(String ptype) {
		this.ptype = ptype;
	}
	
	@ExcelField(title="支付摘要", align=2, sort=12)
	public String getAbstracts() {
		return abstracts;
	}

	public void setAbstracts(String abstracts) {
		this.abstracts = abstracts;
	}
	
	@ExcelField(title="本期申请", align=2, sort=13)
	public Double getCurrentAmt() {
		return currentAmt;
	}

	public void setCurrentAmt(Double currentAmt) {
		this.currentAmt = currentAmt;
	}
	
	@ExcelField(title="至上期累计", align=2, sort=14)
	public Double getBeforeAmt() {
		return beforeAmt;
	}

	public void setBeforeAmt(Double beforeAmt) {
		this.beforeAmt = beforeAmt;
	}
	
	@ExcelField(title="至本期累计", align=2, sort=15)
	public Double getAfterAmt() {
		return afterAmt;
	}

	public void setAfterAmt(Double afterAmt) {
		this.afterAmt = afterAmt;
	}
	
	@ExcelField(title="本期审核", align=2, sort=16)
	public Double getReviewAmt() {
		return reviewAmt;
	}

	public void setReviewAmt(Double reviewAmt) {
		this.reviewAmt = reviewAmt;
	}
	
	@ExcelField(title="至本期累计审核支付", align=2, sort=17)
	public Double getBeforeReviewAmt() {
		return beforeReviewAmt;
	}

	public void setBeforeReviewAmt(Double beforeReviewAmt) {
		this.beforeReviewAmt = beforeReviewAmt;
	}
	
	@ExcelField(title="至本期累计实际支付", align=2, sort=18)
	public Double getAfterReviewAmt() {
		return afterReviewAmt;
	}

	public void setAfterReviewAmt(Double afterReviewAmt) {
		this.afterReviewAmt = afterReviewAmt;
	}
	
	@ExcelField(title="止付金额", align=2, sort=19)
	public Double getStopAmt() {
		return stopAmt;
	}

	public void setStopAmt(Double stopAmt) {
		this.stopAmt = stopAmt;
	}
	
	@ExcelField(title="应付未付", align=2, sort=20)
	public Double getUnpayAmt() {
		return unpayAmt;
	}

	public void setUnpayAmt(Double unpayAmt) {
		this.unpayAmt = unpayAmt;
	}
	
	@ExcelField(title="计入台账", dictType="yes_no", align=2, sort=21)
	public String getInAccount() {
		return inAccount;
	}

	public void setInAccount(String inAccount) {
		this.inAccount = inAccount;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@NotNull(message="申请支付时间不能为空")
	@ExcelField(title="申请支付时间", align=2, sort=22)
	public Date getApplyDate() {
		return applyDate;
	}

	public void setApplyDate(Date applyDate) {
		this.applyDate = applyDate;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@NotNull(message="审定支付时间不能为空")
	@ExcelField(title="审定支付时间", align=2, sort=23)
	public Date getSetDate() {
		return setDate;
	}

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