using MadRunFabric.Common;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace EquipmentApi.Model.Input
{
    public class WoEquipmentRunningPlanInput
    {
        /// <summary>
        /// id
        /// </summary>
        public string id { get; set; }
        /// <summary>
        /// 项目名称
        /// </summary>
        public string projectid { get; set; } = "";
        /// <summary>
        /// 巡检计划名称
        /// </summary>
        public string planname { get; set; } = "";
        /// <summary>
        /// 附件
        /// </summary>
        public List<FileBaseModel> files { get; set; } = null;
        /// <summary>
        /// 计划内容
        /// </summary>
        public string plancontent { get; set; }
        /// <summary>
        /// 计划状态：0开始，1结束
        /// </summary>
        public int planstate { get; set; } = 0;
        ///// <summary>
        ///// 系统id
        ///// </summary>
        //public string systemid { get; set; } = "";
        ///// <summary>
        ///// 设备id
        ///// </summary>
        //public string[] equipmentid { get; set; }
        /// <summary>
        /// 检查事项
        /// </summary>
        public string[] matterids { get; set; }
        /// <summary>
        /// 扩展字段 - 自定义
        /// </summary>
        public List<ExtensionFileModel> extensionlist { get; set; } = null;
        /// <summary>
        /// 执行计划id
        /// </summary>
        public string hangfireid { get; set; } = "";
        /// <summary>
        /// 开始日期
        /// </summary>
        public DateTime startdate { get; set; }
        /// <summary>
        /// 结束日期
        /// </summary>
        public DateTime enddate { get; set; }
        /// <summary>
        /// 提交时间
        /// </summary>
        public DateTime createtime { get; set; }
        /// <summary>
        /// 提交人
        /// </summary>
        public string createby { get; set; } = "";
        /// <summary>
        /// 是否删除（0正常-1删除）
        /// </summary>
        public int isdelete { get; set; } = 0;
        /// <summary>
        /// 提交人
        /// </summary>
        public string deleteby { get; set; } = "";
        /// <summary>
        /// 删除时间
        /// </summary>
        public DateTime deletetime { get; set; }
        /// <summary>
        /// 工单完成是否返回消息提醒 0不提醒，1提醒
        /// </summary>
        public int isreturnmsg { get; set; } = 0;
        #region
        /// <summary>
        /// 定时任务周期：1年，2月，3周，4日，5时，6分 
        /// 超时任务周期：5时，6分
        /// </summary>
        public int plancycle { get; set; } = 0;

        /// <summary>
        /// 执行间隔
        /// </summary>
        public int planinterval { get; set; } = 0;
        /// <summary>
        /// 执行频率
        /// </summary>
        public int plantimes { get; set; } = 0;
        
        /// <summary>
        /// 自定义时间段
        /// </summary>
        public List<ExtensionTimeModel> extensiontime { get; set; } = null;
        #endregion
        #region
        ///// <summary>
        ///// id
        ///// </summary>
        //public string id { get; set; }
        ///// <summary>
        ///// 项目名称
        ///// </summary>
        //public string projectid { get; set; } = "";
        ///// <summary>
        ///// 系统名称
        ///// </summary>
        //public string sysnameid { get; set; } = "";
        ///// <summary>
        ///// 设备名称
        ///// </summary>
        //public string[] equipmentid { get; set; }
        ///// <summary>
        ///// 巡检计划名称
        ///// </summary>
        //public string planname { get; set; } = "";
        ///// <summary>
        ///// 附件
        ///// </summary>
        //public List<FileBaseModel> files { get; set; }
        ///// <summary>
        ///// 内容
        ///// </summary>
        //public string plancontent { get; set; }
        ///// <summary>
        ///// 首次到期时间
        ///// 多次巡检的任务根据执行时间间隔计算到期时间
        ///// 计算超时需要使用
        ///// </summary>
        //public DateTime expirytime { get; set; }
        ///// <summary>
        ///// 提前展示时长（分钟）
        ///// </summary>
        //public int advancelong { get; set; } = 0;
        ///// <summary>
        ///// 计划ID
        ///// </summary>
        //public string planid { get; set; } = "";
        //#region 计划任务
        ///// <summary>
        ///// 计划类型：1定时任务，2临时任务
        ///// </summary>
        //public int plantype { get; set; } = 0;
        ///// <summary>
        ///// 定时周期：1每天，2每周，3每月 
        ///// </summary>
        //public int plancycle { get; set; } = 0;
        ///// <summary>
        ///// 执行计划日：如每周第几天，每月第几天
        ///// </summary>
        //public int plandate { get; set; } = 0;
        ///// <summary>
        ///// 执行计划时间：几点执行
        ///// 0-23
        ///// </summary>
        //public int planhour { get; set; } = 0;
        ///// <summary>
        ///// 执行间隔 
        ///// 小时：0-23
        ///// 分钟：0-59
        ///// </summary>
        //public int planinterval { get; set; } = 0; 
        ///// <summary>
        ///// 计划状态 0开始 1结束 2挂起
        ///// </summary>
        //public int planstate { get; set; } = 0;
        ///// <summary>
        ///// 开始执行时间
        ///// </summary>
        //public DateTime planstart { get; set; }
        ///// <summary>
        ///// 计划结束时间
        ///// </summary>
        //public DateTime planend { get; set; }
        //#endregion
        #endregion
    }
}
