using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Ewide.Application
{
	[Table("bs_house_info")]
	[Comment("房屋信息表")]
	public class BsHouseInfo : Core.DEntityBase
    {
		/// <summary>
		/// HouseCode主键ID
		/// </summary>
		[Comment("bs_house_code主键Id")]
		[MaxLength(36)]
		[Required]
		public string HouseCodeId { get; set; }

		/// <summary>
		/// 幢名称
		/// </summary>
		[Comment("幢名称")]
		[MaxLength(255)]
		public string BuildingName { get; set; }

		/// <summary>
		/// 土地性质
		/// </summary>
		[Comment("土地性质")]
		public int? LandAttribute { get; set; }

		/// <summary>
		/// 结构类型
		/// </summary>
		[Comment("结构类型")]
		public int? StructureType { get; set; }

		/// <summary>
		/// 基础情况
		/// </summary>
		[Comment("基础情况")]
		public int? BaseInfo { get; set; }

		/// <summary>
		/// 抗震等级
		/// </summary>
		[Comment("抗震等级")]
		public int? SeismicGrade { get; set; }

		/// <summary>
		/// 竣工日期
		/// </summary>
		[Comment("竣工日期")]
		public DateTime? CompletedDate { get; set; }

		/// <summary>
		/// 设计使用年限
		/// </summary>
		[Comment("设计使用年限")]
		public int? UsefulYear { get; set; }

		/// <summary>
		/// 总层数
		/// </summary>
		[Comment("总层数")]
		public int? TotalFloor { get; set; }

		/// <summary>
		/// 地上层数
		/// </summary>
		[Comment("地上层数")]
		public int? LandFloorCount { get; set; }

		/// <summary>
		/// 地上商业层数开始
		/// </summary>
		[Comment("地上商业层数开始")]
		public int? LandBsFloorStart { get; set; }

		/// <summary>
		/// 地上商业层数结束
		/// </summary>
		[Comment("地上商业层数结束")]
		public int? LandBsFloorEnd { get; set; }

		/// <summary>
		/// 地上车棚层开始
		/// </summary>
		[Comment("地上车棚层开始")]
		public int? LandBikeFloorStart { get; set; }

		/// <summary>
		/// 地上住宅层开始
		/// </summary>
		[Comment("地上住宅层开始")]
		public int? LandResidenceFloorStart { get; set; }

		/// <summary>
		/// 地上住宅层结束
		/// </summary>
		[Comment("地上住宅层结束")]
		public int? LandResidenceFloorEnd { get; set; }

		/// <summary>
		/// 地下层数
		/// </summary>
		[Comment("地下层数")]
		public int? UnderFloorCount { get; set; }

		/// <summary>
		/// 总建筑面积
		/// </summary>
		[Comment("总建筑面积")]
		public float? TotalArea { get; set; }

		/// <summary>
		/// 有无建筑幕墙
		/// </summary>
		[Comment("有无建筑幕墙")]
		public int? CurtainWall { get; set; }

		/// <summary>
		/// 有无面砖
		/// </summary>
		[Comment("有无面砖")]
		public int? FaceBrick { get; set; }

		/// <summary>
		/// 有无涂料
		/// </summary>
		[Comment("有无涂料")]
		public int? Coating { get; set; }

		/// <summary>
		/// 有无粉刷
		/// </summary>
		[Comment("有无粉刷")]
		public int? Painting { get; set; }

		/// <summary>
		/// 电梯
		/// </summary>
		[Comment("电梯")]
		[MaxLength(20)]
		public string Elevator { get; set; }

		/// <summary>
		/// 总户数（户）
		/// </summary>
		[Comment("总户数（户）")]
		public int? HouseHolds { get; set; }

		/// <summary>
		/// 房屋单元数
		/// </summary>
		[Comment("房屋单元数")]
		public int? Units { get; set; }

		/// <summary>
		/// 各单元每层户数（户）
		/// </summary>
		[Comment("各单元每层户数（户）")]
		public int? UnitFloorHolds { get; set; }

		/// <summary>
		/// 建设单位ID
		/// </summary>
		[Comment("建设单位ID")]
		[MaxLength(36)]
		public string BuildingUnitId { get; set; }

		/// <summary>
		/// 设计单位ID
		/// </summary>
		[Comment("设计单位ID")]
		[MaxLength(36)]
		public string DesingerUnitId { get; set; }

		/// <summary>
		/// 施工单位ID
		/// </summary>
		[Comment("施工单位ID")]
		[MaxLength(36)]
		public string ConstructionUnitId { get; set; }

		/// <summary>
		/// 监理单位ID
		/// </summary>
		[Comment("监理单位ID")]
		[MaxLength(36)]
		public string MonitorUnitId { get; set; }

		/// <summary>
		/// 产权性质
		/// </summary>
		[Comment("产权性质")]
		[MaxLength(100)]
		public string PropertyRights { get; set; }

		/// <summary>
		/// 总共套数
		/// </summary>
		[Comment("总共套数")]
		public int? HouseCount { get; set; }

		/// <summary>
		/// 直管公房套数
		/// </summary>
		[Comment("直管公房套数")]
		public int? StraightHouseCount { get; set; }

		/// <summary>
		/// 自管公房套数
		/// </summary>
		[Comment("自管公房套数")]
		public int? SelfHouseCount { get; set; }

		/// <summary>
		/// 私房套数
		/// </summary>
		[Comment("私房套数")]
		public int? PrivateHouseCount { get; set; }

		/// <summary>
		/// 商品房套数
		/// </summary>
		[Comment("商品房套数")]
		public int? BusinessCount { get; set; }

		/// <summary>
		/// 房改房套数
		/// </summary>
		[Comment("房改房套数")]
		public int? ChangeHouseCount { get; set; }

		/// <summary>
		/// 拆迁安置房套数
		/// </summary>
		[Comment("拆迁安置房套数")]
		public int? ResettlementHouseCount { get; set; }

		/// <summary>
		/// 其它套数
		/// </summary>
		[Comment("其它套数")]
		public int? OtherCount { get; set; }

		/// <summary>
		/// 产权单位ID
		/// </summary>
		[Comment("产权单位ID")]
		[MaxLength(36)]
		public string PropertyUnitId { get; set; }

		/// <summary>
		/// 物业单位ID
		/// </summary>
		[Comment("物业单位ID")]
		[MaxLength(36)]
		public string WuYeUnitId { get; set; }

		/// <summary>
		/// 图纸资料存档处
		/// </summary>
		[Comment("图纸资料存档处")]
		[MaxLength(50)]
		public string DrawingMaterial { get; set; }

		/// <summary>
		/// 其他图纸存档
		/// </summary>
		[Comment("其他图纸存档")]
		[MaxLength(100)]
		public string DrawingMaterialText { get; set; }

		/// <summary>
		/// 立项文件
		/// </summary>
		[Comment("立项文件")]
		[MaxLength(2000)]
		public string AnEntryDocument { get; set; }

		/// <summary>
		/// 规划许可
		/// </summary>
		[Comment("规划许可")]
		[MaxLength(2000)]
		public string PlanningPermission { get; set; }

		/// <summary>
		/// 竣工验收备案
		/// </summary>
		[Comment("竣工验收备案")]
		[MaxLength(2000)]
		public string CompletionRecord { get; set; }

		/// <summary>
		/// 监理资料
		/// </summary>
		[Comment("监理资料")]
		[MaxLength(2000)]
		public string MonitorDocument { get; set; }

		/// <summary>
		/// 鉴定报告
		/// </summary>
		[Comment("鉴定报告")]
		[MaxLength(2000)]
		public string IdentificationReport { get; set; }

		/// <summary>
		/// 其它资料
		/// </summary>
		[Comment("其它资料")]
		[MaxLength(2000)]
		public string OtherDocument { get; set; }

		/// <summary>
		/// 外立面照片
		/// </summary>
		[Comment("外立面照片")]
		[MaxLength(2000)]
		public string FacadePhoto { get; set; }

		/// <summary>
		/// 房屋等级 1,2,3,4,C,d
		/// </summary>
		[Comment("房屋等级 1,2,3,4,C,d")]
		public int? HouseGrade { get; set; }

		/// <summary>
		/// 房屋使用状态
		/// </summary>
		[Comment("房屋使用状态")]
		public int? HouseUsedStatus { get; set; }

		/// <summary>
		/// -1 退回（审核被退回的数据） 1、待建档（需要建档的数据未暂存未保存的）2、暂存（点击了暂存的数据）3、待提交（点击了保存的数据） 5、审核中6、审核通过
		/// </summary>
		[Comment("-1 退回（审核被退回的数据） 1、待建档（需要建档的数据未暂存未保存的）2、暂存（点击了暂存的数据）3、待提交（点击了保存的数据） 5、审核中6、审核通过")]
		[Required]
		public int State { get; set; }

		/// <summary>
		/// 调查登记机构
		/// </summary>
		[Comment("调查登记机构")]
		[MaxLength(100)]
		public string InvestigateAgency { get; set; }

		/// <summary>
		/// 纸质资料调查人
		/// </summary>
		[Comment("纸质资料调查人")]
		[MaxLength(50)]
		public string InvestigateUser { get; set; }

		/// <summary>
		/// 纸质资料审核人
		/// </summary>
		[Comment("纸质资料审核人")]
		[MaxLength(50)]
		public string OfflineAuditor { get; set; }

		/// <summary>
		/// 主管部门
		/// </summary>
		[Comment("主管部门")]
		[MaxLength(50)]
		public string CompetentDepartment { get; set; }

	}
}
