package com.sptg.estate.api.entity;

import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Getter;
import lombok.Setter;

import java.util.Date;
import java.util.List;

/**
 * title: Floor
 * package: com.sptg.estate.api.entity
 * description: 楼层 实体类
 *
 *             
 *                 
 */
@Setter
@Getter
@TableName(value = "estate_floor")
public class Floor {

    /**
     * 主键
     */
    @TableId(value = "l_id",type = IdType.AUTO)
    private Long id;

    /**
     * 楼层名称-只能输入数字和字母
     */
    @TableField(value = "s_name")
    private String name;



    /**
     * 所属小区id
     */
    @TableField(value = "l_residential_id")
    private Long residentialId;

    /**
     * 所属小区旧id
     */
    @TableField(value = "l_residential_old_id")
    private Long residentialOldId;

    /**
     *所属小区名字
     */
    @TableField(value = "s_residential_name")
    private String residentialName;

    /**
     * 存储位置
     */
    @TableField(value = "s_org_position")
    private String orgPosition;

    /**
     * 物业路径
     */
    @TableField(value = "s_estate_position")
    private String estatePosition;

    /**
     * 负责人姓名
     */
    @TableField(value = "s_person_name")
    private String personName;

    /**
     * 负责人电话
     */
    @TableField(value = "s_person_tel")
    private String personTel;

    /**
     * 建筑年代
     */
    @TableField(value = "s_built_year")
    private String builtYear;

    /**
     * 产权性质
     */
    @TableField(value = "s_property_nature")
    private String propertyNature;

    /**
     * 有无电梯
     */
    @TableField(value = "s_including_elevator")
    private String includingElevator;

    /**
     * 房间数量
     */
    @TableField(value = "i_room_number")
    private Integer roomNumber;

    /**
     * 住户数量
     */
    @TableField(value = "i_user_number")
    private Integer userNumber;

    /**
     * 序号
     */
    @TableField(value = "i_serial")
    private Integer serial;

    /**
     * 备注
     */
    @TableField(value = "s_remark")
    private String remark;

    /**
     * 删除标记：{ -1：已删除，0：正常 }
     */
    @TableField(value = "i_status")
    private Integer status;

    /**
     * 所属机构id（属于社区机构，则存社区机构ID;无社区机构，则存小区ID）
     */
    @TableField(value = "l_org_pid")
    private Long orgPid;

    /**
     * 所属机构名称（属于社区机构，则存社区机构名称;无社区机构，则存小区名称）
     */
    @TableField(value = "s_org_pid_name")
    private String orgPidName;

    /**
     * 根机构id
     */
    @TableField(value = "l_root_org_id")
    private Long rootOrgId;

    /**
     * 创建人Id
     */
    @TableField(value = "l_create_account_id")
    private Long createAccountId;

    /**
     * 创建时间
     */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    @TableField(value = "t_create_date")
    private Date createDate;

    /**
     * 原数据Id
     */
    @TableField(value = "old_id")
    private String oldId;

    /**
     * 所属楼栋id
     */
    @TableField(value = "building_id")
    private Long buildingId;


    /**
     * 所属楼栋旧id
     */
    @TableField(value = "building_old_id")
    private Long buildingOldId;

    /**
     * 所属楼栋名称
     */
    @TableField(value = "building_name")
    private String buildingName;

    /**
     * 所属楼栋id
     */
    @TableField(value = "unit_id")
    private Long unitId;

    /**
     * 所属楼栋旧id
     */
    @TableField(value = "unit_old_id")
    private Long unitOldId;


    /**
     * 所属楼栋名称
     */
    @TableField(value = "unit_name")
    private String unitName;


    /**
     * 子菜单
     */
    @TableField(exist = false)
    private List<Room> subList;
}
