package com.yihu.wlyy.entity.demographic;

import java.sql.Timestamp;
import javax.persistence.*;

import org.hibernate.annotations.GenericGenerator;

/**
 * 户口信息。数据来自基卫，表名与基卫一致。
 */
@Entity
@Table(name = "tbl_personjoinfamilymid")
public class ResidenceInfo implements java.io.Serializable {
	private Integer id;//记录编码
	private Integer familystateid;//家庭户对应id
	private Integer personid;//人员编码
	private String property;//住户性质
	private String relaholder;//与户主关系
	private String personstate;//人户状态
	private Integer operatorid;//录入操作员
	private String checkunit;//登记单位
	private Timestamp checkdate;//登记时间
	private String leavecau;//出户原因
	private Timestamp canceldate;//出户日期
	private String memo;//备注
	private Integer familyinfoid;//户信息id对应表familystate
	private Timestamp indate;//入户日期
	private String state;//1为激活，2为未激活
	private String sn;//序号
	private String team;//组编码
	private String familyno;//家庭编号
	private String doornumb;//分户编号
	private String addno;//地址码(来源于:TEAM+FAMILYNO+DOORNUMB)
	private String persontype;//对应TBL_BASIC表的人员类型
	private String munittype;//管理单位类型(0为主管单位，1为协管单位
	private Integer manid;//对应TBLSYS_MANAGE表的记录ID
	private Timestamp startdate;//开始管理日期
	private Timestamp enddate;//结束管理日期
	private Integer jionid;//入户ID对应tblreg_move或tblhis_children表
	private String jiontype;//入户类型（01对应迁入，02对应出生）
	private Integer cancelid;//出户ID对应tblreg_move或tblreg_cancel表
	private String canceltype;//出户类型（03对应死亡，04对应迁出）

	public ResidenceInfo() {
	}

	public ResidenceInfo(Integer familystateid, Integer personid,
						 String property, String relaholder, String personstate,
						 Integer operatorid, String checkunit, Timestamp checkdate,
						 String leavecau, Timestamp canceldate, String memo,
						 Integer familyinfoid, Timestamp indate, String state, String sn,
						 String team, String familyno, String doornumb, String addno,
						 String persontype, String munittype, Integer manid,
						 Timestamp startdate, Timestamp enddate, Integer jionid,
						 String jiontype, Integer cancelid, String canceltype) {
		this.familystateid = familystateid;
		this.personid = personid;
		this.property = property;
		this.relaholder = relaholder;
		this.personstate = personstate;
		this.operatorid = operatorid;
		this.checkunit = checkunit;
		this.checkdate = checkdate;
		this.leavecau = leavecau;
		this.canceldate = canceldate;
		this.memo = memo;
		this.familyinfoid = familyinfoid;
		this.indate = indate;
		this.state = state;
		this.sn = sn;
		this.team = team;
		this.familyno = familyno;
		this.doornumb = doornumb;
		this.addno = addno;
		this.persontype = persontype;
		this.munittype = munittype;
		this.manid = manid;
		this.startdate = startdate;
		this.enddate = enddate;
		this.jionid = jionid;
		this.jiontype = jiontype;
		this.cancelid = cancelid;
		this.canceltype = canceltype;
	}

	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	@Column(name = "ID", unique = true, nullable = false)
	public Integer getId() {
		return this.id;
	}

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

	@Column(name = "FAMILYSTATEID")
	public Integer getFamilystateid() {
		return this.familystateid;
	}

	public void setFamilystateid(Integer familystateid) {
		this.familystateid = familystateid;
	}

	@Column(name = "PERSONID")
	public Integer getPersonid() {
		return this.personid;
	}

	public void setPersonid(Integer personid) {
		this.personid = personid;
	}

	@Column(name = "PROPERTY", length = 1)
	public String getProperty() {
		return this.property;
	}

	public void setProperty(String property) {
		this.property = property;
	}

	@Column(name = "RELAHOLDER", length = 2)
	public String getRelaholder() {
		return this.relaholder;
	}

	public void setRelaholder(String relaholder) {
		this.relaholder = relaholder;
	}

	@Column(name = "PERSONSTATE", length = 1)
	public String getPersonstate() {
		return this.personstate;
	}

	public void setPersonstate(String personstate) {
		this.personstate = personstate;
	}

	@Column(name = "OPERATORID")
	public Integer getOperatorid() {
		return this.operatorid;
	}

	public void setOperatorid(Integer operatorid) {
		this.operatorid = operatorid;
	}

	@Column(name = "CHECKUNIT", length = 12)
	public String getCheckunit() {
		return this.checkunit;
	}

	public void setCheckunit(String checkunit) {
		this.checkunit = checkunit;
	}

	@Column(name = "CHECKDATE", length = 0)
	public Timestamp getCheckdate() {
		return this.checkdate;
	}

	public void setCheckdate(Timestamp checkdate) {
		this.checkdate = checkdate;
	}

	@Column(name = "LEAVECAU", length = 1)
	public String getLeavecau() {
		return this.leavecau;
	}

	public void setLeavecau(String leavecau) {
		this.leavecau = leavecau;
	}

	@Column(name = "CANCELDATE", length = 0)
	public Timestamp getCanceldate() {
		return this.canceldate;
	}

	public void setCanceldate(Timestamp canceldate) {
		this.canceldate = canceldate;
	}

	@Column(name = "MEMO", length = 210)
	public String getMemo() {
		return this.memo;
	}

	public void setMemo(String memo) {
		this.memo = memo;
	}

	@Column(name = "FAMILYINFOID")
	public Integer getFamilyinfoid() {
		return this.familyinfoid;
	}

	public void setFamilyinfoid(Integer familyinfoid) {
		this.familyinfoid = familyinfoid;
	}

	@Column(name = "INDATE", length = 0)
	public Timestamp getIndate() {
		return this.indate;
	}

	public void setIndate(Timestamp indate) {
		this.indate = indate;
	}

	@Column(name = "STATE", length = 1)
	public String getState() {
		return this.state;
	}

	public void setState(String state) {
		this.state = state;
	}

	@Column(name = "SN", length = 4)
	public String getSn() {
		return this.sn;
	}

	public void setSn(String sn) {
		this.sn = sn;
	}

	@Column(name = "TEAM", length = 4)
	public String getTeam() {
		return this.team;
	}

	public void setTeam(String team) {
		this.team = team;
	}

	@Column(name = "FAMILYNO", length = 6)
	public String getFamilyno() {
		return this.familyno;
	}

	public void setFamilyno(String familyno) {
		this.familyno = familyno;
	}

	@Column(name = "DOORNUMB", length = 4)
	public String getDoornumb() {
		return this.doornumb;
	}

	public void setDoornumb(String doornumb) {
		this.doornumb = doornumb;
	}

	@Column(name = "ADDNO", length = 14)
	public String getAddno() {
		return this.addno;
	}

	public void setAddno(String addno) {
		this.addno = addno;
	}

	@Column(name = "PERSONTYPE", length = 1)
	public String getPersontype() {
		return this.persontype;
	}

	public void setPersontype(String persontype) {
		this.persontype = persontype;
	}

	@Column(name = "MUNITTYPE", length = 1)
	public String getMunittype() {
		return this.munittype;
	}

	public void setMunittype(String munittype) {
		this.munittype = munittype;
	}

	@Column(name = "MANID")
	public Integer getManid() {
		return this.manid;
	}

	public void setManid(Integer manid) {
		this.manid = manid;
	}

	@Column(name = "STARTDATE", length = 0)
	public Timestamp getStartdate() {
		return this.startdate;
	}

	public void setStartdate(Timestamp startdate) {
		this.startdate = startdate;
	}

	@Column(name = "ENDDATE", length = 0)
	public Timestamp getEnddate() {
		return this.enddate;
	}

	public void setEnddate(Timestamp enddate) {
		this.enddate = enddate;
	}

	@Column(name = "JIONID")
	public Integer getJionid() {
		return this.jionid;
	}

	public void setJionid(Integer jionid) {
		this.jionid = jionid;
	}

	@Column(name = "JIONTYPE", length = 2)
	public String getJiontype() {
		return this.jiontype;
	}

	public void setJiontype(String jiontype) {
		this.jiontype = jiontype;
	}

	@Column(name = "CANCELID")
	public Integer getCancelid() {
		return this.cancelid;
	}

	public void setCancelid(Integer cancelid) {
		this.cancelid = cancelid;
	}

	@Column(name = "CANCELTYPE", length = 2)
	public String getCanceltype() {
		return this.canceltype;
	}

	public void setCanceltype(String canceltype) {
		this.canceltype = canceltype;
	}

}