package com.goafanti.portal.bo;

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

import org.apache.commons.lang3.time.DateFormatUtils;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonFormat.Shape;
import com.goafanti.common.constant.AFTConstants;

public class AchievementSearchListBo {
	private String		id;

	/**
	 * 编号
	 */
	private Integer		serialNumber;

	/**
	 * 关键词
	 */
	private String		keyword;

	/**
	 * 成果
	 */
	private String		name;

	/**
	 * 数据类别 (0--成果, 1--技术, 2--项目)
	 */
	private Integer		dataCategory;

	/**
	 * 类型(0--专利, 2--软著, 3--项目, 4--版权, 5--工业设计, 6--配方, 7--非标)
	 */
	private Integer		category;

	/**
	 * 成果所有人名称
	 */
	private String		ownerName;

	/**
	 * 发布时间
	 */
	private Date		releaseDate;

	/**
	 * 所有人类型(0--个人,1--组织)
	 */
	private Integer		ownerType;

	/**
	 * 行业分类A
	 */
	private Integer		fieldA;

	/**
	 * 行业分类B
	 */
	private Integer		fieldB;

	/**
	 * 交易价格
	 */
	private BigDecimal	transferPrice;

	/**
	 * 成熟度(1--正在研发, 2-- 已有样品, 3-- 通过小试, 4-- 通过中试, 5-- 可以量产)
	 */
	private Integer		maturity;
	
	/**
	 * 成熟度(1--正在研发, 2-- 已有样品, 3-- 通过小试, 4-- 通过中试, 5-- 可以量产)
	 */
	private String		maturityS;

	/**
	 * 交易方式(转让方式(0--完全转让,1--许可转让,2--技术入股))
	 */
	private Integer		transferMode;

	/**
	 * 议价方式(0--面议，1--定价)
	 */
	private Integer		bargainingMode;

	/**
	 * 用户等级
	 */
	private Integer		level;
	
	/**
	 * 图片链接
	 */
	private String		technicalPictureUrl;
	
	/**
	 * 项目介绍
	 */
	private String		introduction;
	
	/** 行业分类 **/
	private String 		fieldAs;
	
	/** 是否国际*/
	private Integer internationalFlag;
	/** 是否精品*/
	private Integer boutique;
	
	public Integer getLevel() {
		return level;
	}

	public void setLevel(Integer level) {
		this.level = level;
	}

	@JsonFormat(shape = Shape.STRING)
	public Integer getBargainingMode() {
		return bargainingMode;
	}

	public void setBargainingMode(Integer bargainingMode) {
		this.bargainingMode = bargainingMode;
	}

	public String getId() {
		return id;
	}

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

	public Integer getSerialNumber() {
		return serialNumber;
	}

	public void setSerialNumber(Integer serialNumber) {
		this.serialNumber = serialNumber;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	@JsonFormat(shape = Shape.STRING)
	public Integer getDataCategory() {
		return dataCategory;
	}

	public void setDataCategory(Integer dataCategory) {
		this.dataCategory = dataCategory;
	}

	@JsonFormat(shape = Shape.STRING)
	public Integer getCategory() {
		return category;
	}

	public void setCategory(Integer category) {
		this.category = category;
	}

	public String getOwnerName() {
		return ownerName;
	}

	public void setOwnerName(String ownerName) {
		this.ownerName = ownerName;
	}

	public Date getReleaseDate() {
		return releaseDate;
	}

	public void setReleaseDate(Date releaseDate) {
		this.releaseDate = releaseDate;
	}

	@JsonFormat(shape = Shape.STRING)
	public Integer getOwnerType() {
		return ownerType;
	}

	public void setOwnerType(Integer ownerType) {
		this.ownerType = ownerType;
	}

	public String getKeyword() {
		return keyword;
	}

	public void setKeyword(String keyword) {
		this.keyword = keyword;
	}

	@JsonFormat(shape = Shape.STRING)
	public Integer getFieldA() {
		return fieldA;
	}

	public void setFieldA(Integer fieldA) {
		this.fieldA = fieldA;
	}
	
	@JsonFormat(shape = Shape.STRING)
	public String getTechnicalPictureUrl() {
		return technicalPictureUrl;
	}

	public void setTechnicalPictureUrl(String technicalPictureUrl) {
		this.technicalPictureUrl = technicalPictureUrl;
	}

	@JsonFormat(shape = Shape.STRING)
	public Integer getFieldB() {
		return fieldB;
	}

	public void setFieldB(Integer fieldB) {
		this.fieldB = fieldB;
	}

	public BigDecimal getTransferPrice() {
		return transferPrice;
	}

	public void setTransferPrice(BigDecimal transferPrice) {
		this.transferPrice = transferPrice;
	}

	@JsonFormat(shape = Shape.STRING)
	public Integer getMaturity() {
		return maturity;
	}

	public void setMaturity(Integer maturity) {
		this.maturity = maturity;
	}

	@JsonFormat(shape = Shape.STRING)
	public Integer getTransferMode() {
		return transferMode;
	}

	public void setTransferMode(Integer transferMode) {
		this.transferMode = transferMode;
	}

	public String getReleaseDateFormattedDate() {
		if (this.releaseDate == null) {
			return null;
		} else {
			return DateFormatUtils.format(this.getReleaseDate(), AFTConstants.YYYYMMDD);
		}
	}

	public void setReleaseDateFormattedDate(String releaseDateFormattedDate) {

	}

	public String getIntroduction() {
		return introduction;
	}

	public void setIntroduction(String introduction) {
		this.introduction = introduction;
	}

	public String getMaturityS() {
		return maturityS;
	}

	public void setMaturityS(String maturityS) {
		this.maturityS = maturityS;
	}

	public String getFieldAs() {
		return fieldAs;
	}

	public void setFieldAs(String fieldAs) {
		this.fieldAs = fieldAs;
	}

	public Integer getInternationalFlag() {
		return internationalFlag;
	}

	public void setInternationalFlag(Integer internationalFlag) {
		this.internationalFlag = internationalFlag;
	}

	public Integer getBoutique() {
		return boutique;
	}

	public void setBoutique(Integer boutique) {
		this.boutique = boutique;
	}
	
}
