using Hotline.Share.Requests;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Hotline.Share.Dtos.Snapshot;
public class AddVolunteerReportInDto : Position
{
    /// <summary>
    /// 作业类型
    /// </summary>
    public string JobType { get; set; }

    /// <summary>
    /// 上报人联系方式
    /// </summary>
    public string PhoneNumber { get; set; }

    /// <summary>
    /// 上报人姓名
    /// </summary>
    public string Name { get; set; }

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

    /// <summary>
    /// 是否已经申报
    /// </summary>
    public bool IsDeclare { get; set; }

    /// <summary>
    /// 生产经营单位内部是否按规定办理审批手续
    /// </summary>
    public bool IsApprovalProcess { get; set; }

    /// <summary>
    /// 电气焊作业人员是否取得职业资格证书
    /// </summary>
    public bool IsProfessionalCertificate { get; set; }

    /// <summary>
    /// 是否落实作业现场监护人员
    /// </summary>
    public bool IsSiteMonitoring { get; set; }

    /// <summary>
    /// 是否在人员密集场所营业期间动火作业
    /// </summary>
    public bool IsFireWork { get; set; }

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

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

    /// <summary>
    /// 作业现场使用的工器具是否进行安全检查
    /// </summary>
    public bool IsToolSafety { get; set; }

    /// <summary>
    /// 附件信息
    /// </summary>
    public IList<SnapshotFileInDto> Files { get; set; }
}

public class AddVolunteerReportOutDto
{
    /// <summary>
    /// Id
    /// </summary>
    public string Id { get; set; }
}

/// <summary>
/// 入参
/// </summary>
/// <param name="Name">名字</param>
/// <param name="PhoneNumber">电话</param>
public record VolunteerReportItemsInDto(string? Name , string? PhoneNumber) : PagedRequest;

public class VolunteerReportItemsOutDto
{
    /// <summary>
    /// Id
    /// </summary>
    public string Id { get; set; }

    /// <summary>
    /// 作业类型
    /// </summary>
    public string JobType { get; set; }

    /// <summary>
    /// 上报人联系方式
    /// </summary>
    public string PhoneNumber { get; set; }

    /// <summary>
    /// 上报人姓名
    /// </summary>
    public string Name { get; set; }

    /// <summary>
    /// 志愿者姓名
    /// </summary>
    public string Volunteer { get; set; }

    /// <summary>
    /// 志愿者电话
    /// </summary>
    public string VolunteerPhone { get; set; }

    /// <summary>
    /// 是否已经申报
    /// </summary>
    public bool IsDeclare { get; set; }

    /// <summary>
    /// 生产经营单位内部是否按规定办理审批手续
    /// </summary>
    public bool IsApprovalProcess { get; set; }

    /// <summary>
    /// 电气焊作业人员是否取得职业资格证书
    /// </summary>
    public bool IsProfessionalCertificate { get; set; }

    /// <summary>
    /// 是否落实作业现场监护人员
    /// </summary>
    public bool IsSiteMonitoring { get; set; }

    /// <summary>
    /// 是否在人员密集场所营业期间动火作业
    /// </summary>
    public bool IsFireWork { get; set; }

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

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

    /// <summary>
    /// 作业现场使用的工器具是否进行安全检查
    /// </summary>
    public bool IsToolSafety { get; set; }

    /// <summary>
    /// 施工地点
    /// </summary>
    public string FullAddress { get; set; }

    /// <summary>
    /// 上报时间
    /// </summary>
    public DateTime CreationTime { get; set; }

    /// <summary>
    /// 附件信息
    /// </summary>
    public List<IndustryFileDto> Files { get; set; }
}
