using APT.Infrastructure.Core;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Text;

namespace APT.BaseData.Domain.Entities.FM
{
    [Description("部门日历配置表")]
    public class T_FM_DEPARTMENT_CALENDAR_CONFIG : MesEntityBase
    {
        [Description("部门ID")]
        [FormFieldTable]
        [FormFieldEdit]
        [FormFieldQuery]
        [DataFieldForeignKey("Nav_Department", "Nav_DepartmentCalendarConfig")]
        public Guid? DEPARTMENT_ID { get; set; }

        [Description("日历模板ID")]
        [FormFieldTable]
        [FormFieldEdit]
        [FormFieldQuery]
        [DataFieldForeignKey("Nav_Calendar")]
        public Guid CALENDAR_ID { get; set; }

        [Description("当前时间")]
        [FormFieldTable]
        [FormFieldEdit]
        [FormFieldQuery]
        public DateTime CURR_TIME { get; set; }

        [Description("启用标志")]
        [FormFieldTable]
        [FormFieldEdit]
        [FormFieldQuery]
        [EnumName("FMEnableStatusEnum")]
        public int ENABLE_STATUS { get; set; }


        [Description("是否默认模板")]
        [FormFieldTable]
        [FormFieldEdit]
        [EnumName("FMDefaultTemplate")]
        public int IS_DEFAULT_TEMPLATE { get; set; }

        [Description("排班周期")]
        [FormFieldTable]
        [FormFieldEdit]
        public int CYCLE { get; set; }


        [Description("开始时间")]
        [FormFieldTable]
        [FormFieldEdit]
        [FormFieldQuery]
        public DateTime START_TIME { get; set; }

        [Description("结束时间")]
        [FormFieldTable]
        [FormFieldEdit]
        [FormFieldQuery]
        public DateTime END_TIME { get; set; }

        [Description("是否交接班")]
        [FormFieldTable]
        [FormFieldEdit]
        public bool IS_HANDOVER { get; set; }

        [Description("导航：部门表")]
        public virtual T_FM_DEPARTMENT Nav_Department { get; set; }

        [Description("导航：日历模板")]
        public virtual T_FM_CALENDAR Nav_Calendar { get; set; }

        [Description("导航：日历配置详情表")]
        public virtual ICollection<T_FM_DEPARTMENT_CALENDAR_CONFIG_DETAIL> Nav_DepartmentCalendarConfigDetail { get; set; }

        [Description("导航：日历配置班组表")]
        public virtual ICollection<T_FM_DEPARTMENT_CALENDAR_CONFIG_TEAM> Nav_DepartmentCalendarConfigTeam { get; set; }

        
    }
}
