using APT.Infrastructure.Api;
using APT.Infrastructure.Utility;
using System;
using System.ComponentModel;
using APT.Infrastructure.Core;
using System.Collections.Generic;
using APT.BaseData.Domain.Entities.FM;

namespace APT.BaseData.Domain.Entities
{
	[Description("审批流主表")]
     public partial class T_PF_APPROVE : MesEntityBase
    {

		[Description("流程编码")]
		[FormFieldEdit]
		[FormFieldQuery]
		[FormFieldTable]
		[DataFieldLength(20)]
		public string CODE { get; set; }
		/// <summary>
		/// 显示名称
		/// </summary>

		[Description("流程名称")]
		[FormFieldEdit]
		[FormFieldQuery]
		[FormFieldTable]
		[DataFieldLength(50)]
		public string NAME { get; set; }

		[FormFieldEdit]
		[FormFieldQuery]
		[FormFieldTable]
		[DataFieldLength(10)]
		[Description("审批表单编码")]
		public string APPROVE_CODE { get; set; }

		[FormFieldEdit]
		[FormFieldQuery]
		[FormFieldTable]
		[Description("数据ID")]
		public Guid DATA_ID { get; set; }

		[Description("审批状态")]
		[FormFieldEdit]
		[FormFieldQuery]
		[FormFieldTable]
		[EnumName("ApproveStatus")]
        public int APPROVE_STATUS { get; set; }

		/// <summary>
		///Get接口，需返回bool类型
		/// </summary>
		[Description("回调接口")]
		[FormFieldEdit]
		[FormFieldTable]
		[DataFieldLength(100)]
		public string CALLBACK_INTERFACE { get; set; }

		/// <summary>
		/// 当前节点
		/// </summary>
		[DataFieldIngore]
		public T_PF_APPROVE_DETAIL CurrentNode { get; set; }

		[FormFieldEdit]
		[Description("导航：审批模板子表")]
		public ICollection<T_PF_APPROVE_DETAIL> Nav_ApproveDetails { get; set; }

		/// <summary>
		/// 当前节点
		/// </summary>
		[DataFieldIngore]
		public bool IS_SEND_MESSAGE { get; set; }

		[FormFieldEdit]
		[DataFieldLength(200)]
		[Description("自定义参数")]
		public string PARAM { get; set; }


		/// <summary>
		/// 是否取消
		/// </summary>
		[Description("是否取消")]
		public bool ISCANCEL { get; set; }

        [Description("审批模板ID")]
        public Guid? APPROVE_TEMP_ID { get; set; }

        [Description("驳回接口")]
        [DataFieldIngore]
        public string REJECT_INTERFACE { get; set; } 
    }
}
