using Hotline.Share.Dtos;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using XF.Domain.Repository;

namespace Hotline.Snapshot;

/// <summary>
/// 志愿者上报
/// </summary>
[Description("志愿者上报")]
public class VolunteerReport : FullStateEntity
{
    /// <summary>
    /// 作业类型
    /// </summary>
    [SugarColumn(ColumnDescription = "作业类型")]
    public string JobType { get; set; }

    /// <summary>
    /// 上报人联系方式
    /// </summary>
    [SugarColumn(ColumnDescription = "上报人联系方式")]
    public string PhoneNumber { get; set; }

    /// <summary>
    /// 上报人姓名
    /// </summary>
    [SugarColumn(ColumnDescription = "上报人姓名")]
    public string Name { get; set; }

    /// <summary>
    /// 申报人手机号码
    /// </summary>
    public string? DeclarePhoneNumber { get; set; }

    /// <summary>
    /// 志愿者姓名
    /// </summary>
    [SugarColumn(ColumnDescription = "志愿者姓名")]
    public string Volunteer { get; set; }

    /// <summary>
    /// 志愿者电话
    /// </summary>
    [SugarColumn(ColumnDescription = "志愿者电话")]
    public string VolunteerPhone { get; set; }

    /// <summary>
    /// 是否已经申报
    /// </summary>
    [SugarColumn(ColumnDescription = "是否已经申报")]
    public bool IsDeclare { get; set; }

    /// <summary>
    /// 生产经营单位内部是否按规定办理审批手续
    /// </summary>
    [SugarColumn(ColumnDescription = "生产经营单位内部是否按规定办理审批手续")]
    public bool IsApprovalProcess { get; set; }

    /// <summary>
    /// 电气焊作业人员是否取得职业资格证书
    /// </summary>
    [SugarColumn(ColumnDescription = "电气焊作业人员是否取得职业资格证书")]
    public bool IsProfessionalCertificate { get; set; }

    /// <summary>
    /// 是否落实作业现场监护人员
    /// </summary>
    [SugarColumn(ColumnDescription = "是否落实作业现场监护人员")]
    public bool IsSiteMonitoring { get; set; }

    /// <summary>
    /// 是否在人员密集场所营业期间动火作业
    /// </summary>
    [SugarColumn(ColumnDescription = "是否在人员密集场所营业期间动火作业")]
    public bool IsFireWork { get; set; }

    /// <summary>
    /// 是否清除作业现场及周围易燃物品或落实有效安全防范措施
    /// </summary>
    [SugarColumn(ColumnDescription = "是否清除作业现场及周围易燃物品或落实有效安全防范措施")]
    public bool IsClearSafety { get; set; }

    /// <summary>
    /// 作业现场是否配备能满足现场灭火应急需求消防器材
    /// </summary>
    [SugarColumn(ColumnDescription = "作业现场是否配备能满足现场灭火应急需求消防器材")]
    public bool HasFireEquipment { get; set; }

    /// <summary>
    /// 作业现场使用的工器具是否进行安全检查
    /// </summary>
    [SugarColumn(ColumnDescription = "作业现场使用的工器具是否进行安全检查")]
    public bool IsToolSafety { get; set; }

    #region 地址信息
    /// <summary>
    /// 经度
    /// </summary>
    [SugarColumn(ColumnDescription = "经度")]
    public double? Longitude { get; set; }

    /// <summary>
    /// 维度
    /// </summary>
    [SugarColumn(ColumnDescription = "维度")]
    public double? Latitude { get; set; }

    /// <summary>
    /// 行政区划编码;
    /// Area对象的Id;
    /// </summary>
    [SugarColumn(ColumnDescription = "行政区编码")]
    public string? AreaCode { get; set; }

    /// <summary>
    /// 省
    /// </summary>
    [SugarColumn(ColumnDescription = "省")]
    public string? Province { get; set; }

    /// <summary>
    /// 市
    /// </summary>
    [SugarColumn(ColumnDescription = "市")]
    public string? City { get; set; }

    /// <summary>
    /// 区/县
    /// </summary>
    [SugarColumn(ColumnDescription = "区县")]
    public string? County { get; set; }

    /// <summary>
    /// 乡镇(4级行政区划)
    /// </summary>
    [SugarColumn(ColumnDescription = "4级行政区划")]
    public string? Town { get; set; }

    /// <summary>
    /// 详细街道
    /// </summary>
    [SugarColumn(ColumnDescription = "详细街道")]
    public string? Street { get; set; }

    /// <summary>
    /// 行政区划地址
    /// </summary>
    [SugarColumn(ColumnDescription = "行政区划地址")]
    public string? Address { get; set; }

    /// <summary>
    /// 完整地址
    /// </summary>
    [SugarColumn(ColumnDescription = "完整地址")]
    public string? FullAddress { get; set; }

    #endregion
}
