package com.yihu.wlyy.entity.follow;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.yihu.wlyy.entity.IdEntity;

/**
 * 随访计划随访阶段随访项
 * @author George
 *
 */
@Entity
@Table(name = "wlyy_followup_plan_stage_item")
public class FollowUpPlanStageItem extends IdEntity {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1437387574146491933L;

	// 随访项标识
	private String code;
	// 随访计划标识
	private String plan;
	// 随访计划阶段标识
	private String stage;
	// 随访项类型：1问卷，2体测
	private Integer type;
	// 标题
	private String title;
	// 推送类型：1按时间，2按次数
	private Integer pushType;
	// 推送次数
	private Integer pushTimes;
	// 推送周期
	private Integer pushCycle;
	// 推送周期单位：1天，2周，3月
	private Integer pushCycleUnit;
	// 下一次推送日期
	private Date nextPushDate;
	// 推送开始日期
	private Date pushBegin;
	// 推送结束日期
	private Date pushEnd;
	// 已推送次数
	private Integer times;
	// 执行状态：-1暂停，0未开始，1进行中，2已结束
	private Integer status;
	// 添加时间
	private Date czrq;

	public String getCode() {
		return code;
	}

	public void setCode(String code) {
		this.code = code;
	}

	public String getPlan() {
		return plan;
	}

	public void setPlan(String plan) {
		this.plan = plan;
	}

	public String getStage() {
		return stage;
	}

	public void setStage(String stage) {
		this.stage = stage;
	}

	public Integer getType() {
		return type;
	}

	public void setType(Integer type) {
		this.type = type;
	}

	public String getTitle() {
		return title;
	}

	public void setTitle(String title) {
		this.title = title;
	}

	@Column(name = "push_type")
	public Integer getPushType() {
		return pushType;
	}

	public void setPushType(Integer pushType) {
		this.pushType = pushType;
	}

	@Column(name = "push_times")
	public Integer getPushTimes() {
		return pushTimes;
	}

	public void setPushTimes(Integer pushTimes) {
		this.pushTimes = pushTimes;
	}

	@Column(name = "push_cycle")
	public Integer getPushCycle() {
		return pushCycle;
	}

	public void setPushCycle(Integer pushCycle) {
		this.pushCycle = pushCycle;
	}

	@Column(name = "push_cycle_unit")
	public Integer getPushCycleUnit() {
		return pushCycleUnit;
	}

	public void setPushCycleUnit(Integer pushCycleUnit) {
		this.pushCycleUnit = pushCycleUnit;
	}

	@Column(name = "next_push_date")
	public Date getNextPushDate() {
		return nextPushDate;
	}

	public void setNextPushDate(Date nextPushDate) {
		this.nextPushDate = nextPushDate;
	}

	@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+08:00")
	@Column(name = "push_begin")
	public Date getPushBegin() {
		return pushBegin;
	}

	public void setPushBegin(Date pushBegin) {
		this.pushBegin = pushBegin;
	}

	@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+08:00")
	@Column(name = "push_end")
	public Date getPushEnd() {
		return pushEnd;
	}

	public void setPushEnd(Date pushEnd) {
		this.pushEnd = pushEnd;
	}

	public Integer getTimes() {
		return times;
	}

	public void setTimes(Integer times) {
		this.times = times;
	}

	public Integer getStatus() {
		return status;
	}

	public void setStatus(Integer status) {
		this.status = status;
	}

	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
	public Date getCzrq() {
		return czrq;
	}

	public void setCzrq(Date czrq) {
		this.czrq = czrq;
	}

}
