using APT.Infrastructure.Core;
using APT.Infrastructure.Utility;
using System;
using System.ComponentModel;
namespace APT.BaseData.Domain.Entities.FM
{
    /// 
    /// 同步任务配置
    /// 
    [Redis("ID")]
    [DataClassIndex(new string[] { "CODE", "ORG_ID" }, true)]
    [IgnoreT4]public class T_FM_SYNC_TASK : MesEntityBase
    {
        /// 同步编码
        [Description("同步编号")]
        public string CODE { get; set; }
        /// 
        /// 同步名称
        /// 
        [Description("同步名称")]
        public string NAME { get; set; }
        /// 
        /// 名称首字母缩写
        /// 
        [Description("名称首字母缩写")]
        public string NAME_ACRONYM { get; set; }
        /// 
        /// 同步Api地址
        /// 
        [Description("同步Api地址")]
        public string INTERFACE_ADDRESS { get; set; }
        /// 
        /// 设置同步开始时间
        /// 
        [Description("设置同步开始时间")]
        public DateTime TASK_START_TIME { get; set; }
        /// 
        /// 上一次同步结束时间
        /// 
        [Description("上一次同步结束时间")]
        public DateTime TASK_END_TIME { get; set; }
        /// 
        /// 下一次同步起始时间
        /// 
        [Description("下一次同步起始时间")]
        public DateTime NEXT_START_TIME { get; set; }
        /// 
        /// 用于判断任务执行的时间,如果执行太久可能是异常了
        /// 
        [Description("当前任务开始时间")]
        public DateTime? CURR_TASK_START_TIME { get; set; }
        /// 
        /// 用户确定下次取数据的时间点
        /// 
        [Description("上次任务执行成功时间")]
        public DateTime? UPDATE_SUCCES_TIME { get; set; }
        /// 
        /// 是否同步中
        /// 
        [Description("是否同步中")]
        public bool? IS_SYNCING { get; set; }
        /// 
        /// 同步周期
        /// 
        [Description("同步周期")]
        public int PERIODIC_TIME { get; set; }
        /// 
        /// 周期单位 TimeUnitEnum
        /// 
        [Description("周期单位")]
		[EnumName("TimeUnitEnum")]
		public int? SYNC_UNIT { get; set; }
        [Description("备注")]
        public string REMARK { get; set; }
        /// 
        /// 启用标志 FMEnableStatusEnum
        /// 
        [Description("启用标志")]
		[EnumName("FMEnableStatusEnum")]
		public int ENABLE_STATUS { get; set; }
        /// 
        /// 优先级 数值越大优先级越高 
        /// 
        [Description("优先级")]
        public int PRIORITY_LEVEL { get; set; }
        /// 
        /// 执行次数 
        /// 
        [Description("执行次数")]
        public int EXECUTE_NUM { get; set; }
        [Description("参数")]
        public string SYNC_PARAM { get; set; }
        [Description("源ID")]
        public Guid? SRC_ID { get; set; }
    }
}