using Microsoft.EntityFrameworkCore;
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace Ewide.Application
{
	[Table("bs_house_task")]
	[Comment("房屋巡查任务表")]
	public class BsHouseTask : Core.DEntityBase
	{
		/// <summary>
		/// bs_house_code主键Id
		/// </summary>
		[Comment("bs_house_code主键Id")]
		[MaxLength(36)]
		[Required]
		public string HouseCodeId { get; set; }

		/// <summary>
		/// 巡查日期
		/// </summary>
		[Comment("巡查日期")]
		public DateTime? PatrolDate { get; set; }

		/// <summary>
		/// 巡查人姓名
		/// </summary>
		[Comment("巡查人姓名")]
		[MaxLength(50)]
		public string PatrolUser { get; set; }

		/// <summary>
		/// 沉降倾斜
		/// </summary>
		[Comment("沉降倾斜")]
		[MaxLength(1000)]
		public string SettlementTilt { get; set; }

		/// <summary>
		/// 沉降倾斜附件
		/// </summary>
		[Comment("沉降倾斜附件")]
		[MaxLength(2000)]
		public string SettlementTiltFiles { get; set; }

		/// <summary>
		/// 其他情况
		/// </summary>
		[Comment("其他情况")]
		[MaxLength(1000)]
		public string OtherInfo { get; set; }

		/// <summary>
		/// 其他情况附件
		/// </summary>
		[Comment("其他情况附件")]
		[MaxLength(2000)]
		public string OtherInfoFiles { get; set; }

		/// <summary>
		/// 初始等级
		/// </summary>
		[Comment("初始等级")]
		public int? InitGrade { get; set; }

		/// <summary>
		/// 损坏等级
		/// </summary>
		[Comment("损坏等级")]
		public int? DamageGrade { get; set; }

		/// <summary>
		/// 综合等级
		/// </summary>
		[Comment("综合等级")]
		public int? ComprehensiveGrade { get; set; }

		/// <summary>
		/// 房屋场地
		/// </summary>
		[Comment("房屋场地")]
		[MaxLength(100)]
		public string HouseSite { get; set; }

		/// <summary>
		/// 相邻施工
		/// </summary>
		[Comment("相邻施工")]
		[MaxLength(100)]
		public string AdjacentConstruction { get; set; }

		/// <summary>
		/// 化学侵蚀
		/// </summary>
		[Comment("化学侵蚀")]
		[MaxLength(100)]
		public string ChemicalErosion { get; set; }

		/// <summary>
		/// 结构拆改
		/// </summary>
		[Comment("结构拆改")]
		public int? StructuralDismantling { get; set; }

		/// <summary>
		/// 加层改造
		/// </summary>
		[Comment("加层改造")]
		public int? AddingLayer { get; set; }

		/// <summary>
		/// 修缮加固
		/// </summary>
		[Comment("修缮加固")]
		[MaxLength(100)]
		public string RepairAndReinforce { get; set; }

		/// <summary>
		/// 历史灾害
		/// </summary>
		[Comment("历史灾害")]
		[MaxLength(100)]
		public string HistoricalCalamity { get; set; }

		/// <summary>
		/// 使用功能变更
		/// </summary>
		[Comment("使用功能变更")]
		[MaxLength(100)]
		public string FunctionalChange { get; set; }

		/// <summary>
		/// 其他调查内容
		/// </summary>
		[Comment("其他调查内容")]
		[MaxLength(1000)]
		public string OtherContents { get; set; }

		/// <summary>
		/// 主要安全隐患综述
		/// </summary>
		[Comment("主要安全隐患综述")]
		[MaxLength(1000)]
		public string MainSafety { get; set; }

		/// <summary>
		/// 处理意见
		/// </summary>
		[Comment("处理意见")]
		public int? HandlingOpinion { get; set; }

		/// <summary>
		/// 处理意见备注
		/// </summary>
		[Comment("处理意见备注")]
		[MaxLength(1000)]
		public string HandlingOpinionRemark { get; set; }

		/// <summary>
		/// 整改情况
		/// </summary>
		[Comment("整改情况")]
		public int? RectifyAndReform { get; set; }

		/// <summary>
		/// 整改情况备注
		/// </summary>
		[Comment("整改情况备注")]
		[MaxLength(1000)]
		public string RectifyAndReformRemark { get; set; }

		/// <summary>
		/// 巡查结果：1正常,-1异常
		/// </summary>
		[Comment("巡查结果：1正常,-1异常")]
		public int? PatrolResult { get; set; }

		/// <summary>
		/// 巡查异常描述
		/// </summary>
		[Comment("巡查异常描述")]
		[MaxLength(1000)]
		public string PatrolResultRemark { get; set; }

		/// <summary>
		/// 任务人员ID
		/// </summary>
		[Comment("任务人员ID")]
		[MaxLength(36)]
		public string UserID { get; set; }

		/// <summary>
		/// 任务截止时间
		/// </summary>
		[Comment("任务截止时间")]
		public DateTime? EndTime { get; set; }

		/// <summary>
		/// 是否过期
		/// </summary>
		[Comment("是否过期")]
		public bool? IsDelay { get; set; }

		/// <summary>
		/// -1：退回0：待处理1：保存待提交2：待审核3：审核通过
		/// </summary>
		[Comment("-1：退回0：待处理1：保存待提交2：待审核6：审核通过")]
		public int Status { get; set; } = 0;

		/// <summary>
		/// 0：建档任务1：系统派发的巡查任务2：主动巡查任务
		/// </summary>
		[Comment("0：建档任务1：系统派发的巡查任务2：主动巡查任务")]
		public int? TaskType { get; set; }

		/// <summary>
		/// 上报街道
		/// </summary>
		[Comment("上报街道")]
		public int? ReportRoad { get; set; }

		/// <summary>
		/// 上报街道时间
		/// </summary>
		[Comment("上报街道时间")]
		public DateTime? ReportRoadTime { get; set; }

		/// <summary>
		/// 上报区住建
		/// </summary>
		[Comment("上报区住建")]
		public int? ReportArea { get; set; }

		/// <summary>
		/// 上报区住建时间
		/// </summary>
		[Comment("上报区住建时间")]
		public DateTime? ReportAreaTime { get; set; }

		/// <summary>
		/// 上报备注
		/// </summary>
		[Comment("上报备注")]
		[MaxLength(1000)]
		public string ReportRemark { get; set; }

		/// <summary>
		/// 提交时间
		/// </summary>
		[Comment("提交时间")]
		public DateTime? SubmitTime { get; set; }

		/// <summary>
		/// 最后提交时间
		/// </summary>
		[Comment("最后提交时间")]
		public DateTime? LastSubmitTime { get; set; }

		/// <summary>
		/// 是否有效
		/// </summary>
		[Comment("是否有效")]
		public bool IsEnabled { get; set; } = true;
	}
}
