package com.goafanti.cognizance.bo;

import java.math.BigDecimal;
import java.util.Date;

import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.Size;

import com.goafanti.common.constant.ErrorConstants;

public class InputOrgActivity {

	@Size(min = 0, max = 36, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
	private String		id;

	@Size(min = 0, max = 36, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
	private String		uid;

	@Size(min = 0, max = 32, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
	private String		activityNumber;

	@Size(min = 0, max = 32, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
	private String		activityName;

	/**
	 * 开始日期
	 */
	private Date		startDate;

	/**
	 * 结束日期
	 */
	private Date		endDate;

	@Size(min = 0, max = 255, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
	private String		participant;

	@Max(value = 1, message = "{" + ErrorConstants.PARAM_ERROR + "}")
	@Min(value = 0, message = "{" + ErrorConstants.PARAM_ERROR + "}")
	private Integer		projectMode;

	@Size(min = 0, max = 3, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
	private String		technicalField1;

	@Size(min = 0, max = 3, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
	private String		technicalField2;

	@Size(min = 0, max = 3, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
	private String		technicalField3;

	@Max(value = 9, message = "{" + ErrorConstants.PARAM_ERROR + "}")
	@Min(value = 0, message = "{" + ErrorConstants.PARAM_ERROR + "}")
	private Integer		technicalSource;

	@Size(min = 0, max = 500, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
	private String		intellectualPropertyNumber;

	@Max(value = (long) 999999.99, message = "{" + ErrorConstants.PARAM_ERROR + "}")
	@Min(value = (long) 0.00, message = "{" + ErrorConstants.PARAM_ERROR + "}")
	private BigDecimal	budget;

	@Max(value = (long) 999999.99, message = "{" + ErrorConstants.PARAM_ERROR + "}")
	@Min(value = (long) 0.00, message = "{" + ErrorConstants.PARAM_ERROR + "}")
	private BigDecimal	firstYearExpenditure;

	@Max(value = (long) 999999.99, message = "{" + ErrorConstants.PARAM_ERROR + "}")
	@Min(value = (long) 0.00, message = "{" + ErrorConstants.PARAM_ERROR + "}")
	private BigDecimal	secondYearExpenditure;

	@Max(value = (long) 999999.99, message = "{" + ErrorConstants.PARAM_ERROR + "}")
	@Min(value = (long) 0.00, message = "{" + ErrorConstants.PARAM_ERROR + "}")
	private BigDecimal	thirdYearExpenditure;

	@Size(min = 0, max = 500, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
	private String		implement;

	@Size(min = 0, max = 500, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
	private String		technologyInnovation;

	@Size(min = 0, max = 500, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
	private String		achievement;

	@Size(min = 0, max = 255, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
	private String		proofUrl;

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getUid() {
		return uid;
	}

	public void setUid(String uid) {
		this.uid = uid;
	}

	public String getActivityNumber() {
		return activityNumber;
	}

	public void setActivityNumber(String activityNumber) {
		this.activityNumber = activityNumber;
	}

	public String getActivityName() {
		return activityName;
	}

	public void setActivityName(String activityName) {
		this.activityName = activityName;
	}

	public Date getStartDate() {
		return startDate;
	}

	public void setStartDate(Date startDate) {
		this.startDate = startDate;
	}

	public Date getEndDate() {
		return endDate;
	}

	public void setEndDate(Date endDate) {
		this.endDate = endDate;
	}

	public String getParticipant() {
		return participant;
	}

	public void setParticipant(String participant) {
		this.participant = participant;
	}

	public Integer getProjectMode() {
		return projectMode;
	}

	public void setProjectMode(Integer projectMode) {
		this.projectMode = projectMode;
	}

	public String getTechnicalField1() {
		return technicalField1;
	}

	public void setTechnicalField1(String technicalField1) {
		this.technicalField1 = technicalField1;
	}

	public String getTechnicalField2() {
		return technicalField2;
	}

	public void setTechnicalField2(String technicalField2) {
		this.technicalField2 = technicalField2;
	}

	public String getTechnicalField3() {
		return technicalField3;
	}

	public void setTechnicalField3(String technicalField3) {
		this.technicalField3 = technicalField3;
	}

	public Integer getTechnicalSource() {
		return technicalSource;
	}

	public void setTechnicalSource(Integer technicalSource) {
		this.technicalSource = technicalSource;
	}

	public String getIntellectualPropertyNumber() {
		return intellectualPropertyNumber;
	}

	public void setIntellectualPropertyNumber(String intellectualPropertyNumber) {
		this.intellectualPropertyNumber = intellectualPropertyNumber;
	}

	public BigDecimal getBudget() {
		return budget;
	}

	public void setBudget(BigDecimal budget) {
		this.budget = budget;
	}

	public BigDecimal getFirstYearExpenditure() {
		return firstYearExpenditure;
	}

	public void setFirstYearExpenditure(BigDecimal firstYearExpenditure) {
		this.firstYearExpenditure = firstYearExpenditure;
	}

	public BigDecimal getSecondYearExpenditure() {
		return secondYearExpenditure;
	}

	public void setSecondYearExpenditure(BigDecimal secondYearExpenditure) {
		this.secondYearExpenditure = secondYearExpenditure;
	}

	public BigDecimal getThirdYearExpenditure() {
		return thirdYearExpenditure;
	}

	public void setThirdYearExpenditure(BigDecimal thirdYearExpenditure) {
		this.thirdYearExpenditure = thirdYearExpenditure;
	}

	public String getImplement() {
		return implement;
	}

	public void setImplement(String implement) {
		this.implement = implement;
	}

	public String getTechnologyInnovation() {
		return technologyInnovation;
	}

	public void setTechnologyInnovation(String technologyInnovation) {
		this.technologyInnovation = technologyInnovation;
	}

	public String getAchievement() {
		return achievement;
	}

	public void setAchievement(String achievement) {
		this.achievement = achievement;
	}

	public String getProofUrl() {
		return proofUrl;
	}

	public void setProofUrl(String proofUrl) {
		this.proofUrl = proofUrl;
	}

}
