package com.ruoyi.szxc.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 户口变更记录对象 szxc_hkbg_recard
 *
 * @author hs
 * @date 2024-03-27
 */
public class SzxcHkbgRecard extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long id;

    /** 户号 */
    @Excel(name = "户号")
    private Long acountNo;

    /** 居民id */
    @Excel(name = "居民id")
    private Long jmId;

    /** 居民姓名 */
    @Excel(name = "居民姓名")
    private String name;

    /** 居民身份证号 */
    @Excel(name = "居民身份证号")
    private String idCard;

    /** 原居民id */
    @Excel(name = "原居民id")
    private Long yJmId;

    /** 原户主姓名 */
    @Excel(name = "原户主姓名")
    private String yName;

    /** 原户主身份证号 */
    @Excel(name = "原户主身份证号")
    private String yIdCard;

    /** 变更原因(字典) */
    @Excel(name = "变更原因(字典)")
    private String bgReason;

    /** 新居民id */
    @Excel(name = "新居民id")
    private Long xJmId;

    /** 新户主姓名 */
    @Excel(name = "新户主姓名")
    private String xName;

    /** 新户主身份证号 */
    @Excel(name = "新户主身份证号")
    private String xIdCard;

    /** 与户主关系 */
    @Excel(name = "与户主关系")
    private String relation;

    /** 变更时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "变更时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date bgTime;

    /** 户籍地址 */
    @Excel(name = "户籍地址")
    private String hjAddress;

    /** 户籍性质 */
    @Excel(name = "户籍性质")
    private String jgNature;

    /** 是否常住（0是 1否） */
    @Excel(name = "是否常住", readConverterExp = "0=是,1=否")
    private String longLive;

    /** 部门id */
    @Excel(name = "部门id")
    private Long deptId;

    /** 创建者ID */
    @Excel(name = "创建者ID")
    private Long userId;

    /** 所属网格 */
    @Excel(name = "所属网格")
    private String deptName;

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

    public Long getId()
    {
        return id;
    }
    public void setAcountNo(Long acountNo)
    {
        this.acountNo = acountNo;
    }

    public Long getAcountNo()
    {
        return acountNo;
    }
    public void setJmId(Long jmId)
    {
        this.jmId = jmId;
    }

    public Long getJmId()
    {
        return jmId;
    }
    public void setName(String name)
    {
        this.name = name;
    }

    public String getName()
    {
        return name;
    }
    public void setIdCard(String idCard)
    {
        this.idCard = idCard;
    }

    public String getIdCard()
    {
        return idCard;
    }
    public void setyJmId(Long yJmId)
    {
        this.yJmId = yJmId;
    }

    public Long getyJmId()
    {
        return yJmId;
    }
    public void setyName(String yName)
    {
        this.yName = yName;
    }

    public String getyName()
    {
        return yName;
    }
    public void setyIdCard(String yIdCard)
    {
        this.yIdCard = yIdCard;
    }

    public String getyIdCard()
    {
        return yIdCard;
    }
    public void setBgReason(String bgReason)
    {
        this.bgReason = bgReason;
    }

    public String getBgReason()
    {
        return bgReason;
    }
    public void setxJmId(Long xJmId)
    {
        this.xJmId = xJmId;
    }

    public Long getxJmId()
    {
        return xJmId;
    }
    public void setxName(String xName)
    {
        this.xName = xName;
    }

    public String getxName()
    {
        return xName;
    }
    public void setxIdCard(String xIdCard)
    {
        this.xIdCard = xIdCard;
    }

    public String getxIdCard()
    {
        return xIdCard;
    }
    public void setRelation(String relation)
    {
        this.relation = relation;
    }

    public String getRelation()
    {
        return relation;
    }
    public void setBgTime(Date bgTime)
    {
        this.bgTime = bgTime;
    }

    public Date getBgTime()
    {
        return bgTime;
    }
    public void setHjAddress(String hjAddress)
    {
        this.hjAddress = hjAddress;
    }

    public String getHjAddress()
    {
        return hjAddress;
    }
    public void setJgNature(String jgNature)
    {
        this.jgNature = jgNature;
    }

    public String getJgNature()
    {
        return jgNature;
    }
    public void setLongLive(String longLive)
    {
        this.longLive = longLive;
    }

    public String getLongLive()
    {
        return longLive;
    }
    public void setDeptId(Long deptId)
    {
        this.deptId = deptId;
    }

    public Long getDeptId()
    {
        return deptId;
    }
    public void setUserId(Long userId)
    {
        this.userId = userId;
    }

    public Long getUserId()
    {
        return userId;
    }
    public void setDeptName(String deptName)
    {
        this.deptName = deptName;
    }

    public String getDeptName()
    {
        return deptName;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("acountNo", getAcountNo())
                .append("jmId", getJmId())
                .append("name", getName())
                .append("idCard", getIdCard())
                .append("yJmId", getyJmId())
                .append("yName", getyName())
                .append("yIdCard", getyIdCard())
                .append("bgReason", getBgReason())
                .append("xJmId", getxJmId())
                .append("xName", getxName())
                .append("xIdCard", getxIdCard())
                .append("relation", getRelation())
                .append("bgTime", getBgTime())
                .append("hjAddress", getHjAddress())
                .append("jgNature", getJgNature())
                .append("longLive", getLongLive())
                .append("remark", getRemark())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("deptId", getDeptId())
                .append("userId", getUserId())
                .append("deptName", getDeptName())
                .toString();
    }
}
