using System;
|
using SqlSugar;
|
using System.Linq;
|
using System.ComponentModel;
|
using System.Collections.Generic;
|
using Tiger.Model.Extensions;
|
|
namespace Tiger.Model
|
{
|
/// <summary>
|
/// 实体:作业列表
|
/// </summary>
|
[Description("Primary:ID")]
|
[Serializable]
|
[SugarTable("TSK_JOB")]
|
public class TSK_JOB : DbEntityWithAuth
|
{
|
#region 构造函数
|
|
/// <summary>
|
/// 实体:作业列表
|
/// </summary>
|
public TSK_JOB()
|
{ }
|
|
#endregion 构造函数
|
|
#region 公共属性
|
|
/// <summary>
|
/// 作业名称
|
/// </summary>
|
public string JobName { get; set; }
|
|
/// <summary>
|
/// 作业组名称
|
/// </summary>
|
public string GroupName { get; set; }
|
|
/// <summary>
|
/// 作业处理程序类型,存储的是类型的 FuLIName
|
/// </summary>
|
public string JobType { get; set; }
|
|
/// <summary>
|
/// 作业处理程序类型所在程序集,存储的是程序集 Name
|
/// </summary>
|
public string AssemblyName { get; set; }
|
|
/// <summary>
|
/// 描述信息
|
/// </summary>
|
public string Description { get; set; }
|
|
/// <summary>
|
/// 作业执行方式,如果设置为 false,那么使用串行执行,否则并行执行
|
/// </summary>
|
public bool Concurrent { get; set; } = true;
|
|
/// <summary>
|
/// 是否扫描 IJob 实现类 [Trigger] 特性触发器
|
/// </summary>
|
public bool IncludeAnnotations { get; set; } = false;
|
|
/// <summary>
|
/// 作业信息额外数据,由 Dictionary<string,object> 序列化成字符串存储
|
/// </summary>
|
public string Properties { get; set; } = "{}";
|
|
/// <summary>
|
/// 作业更新时间
|
/// </summary>
|
public DateTime UpdatedTime { get; set; } = DateTime.MinValue;
|
|
/// <summary>
|
/// 备注
|
/// </summary>
|
public string Remark { get; set; }
|
|
/// <summary>
|
/// 是否执行
|
/// </summary>
|
public int? ISRUNNING { get; set; }
|
|
/// <summary>
|
/// 最后执行时间
|
/// </summary>
|
public DateTime? LASTRUNTIME { get; set; }
|
|
#endregion 公共属性
|
|
#region 虚拟属性
|
|
//例子
|
[SugarColumn(IsIgnore = true)]
|
public string Status => Triggers?.FirstOrDefault()?.StatusStr + "," + Triggers?.FirstOrDefault()?.StatusStr.GetEnum<TSK_TRIG.Statuss>().GetDesc() ?? TSK_TRIG.Statuss.Ready.GetName() + "," + TSK_TRIG.Statuss.Ready.GetDesc();
|
|
//[SugarColumn(IsIgnore = true)]
|
//public int Period => Convert.ToInt32(Triggers?.FirstOrDefault()?.Args ?? $"2");
|
|
[SugarColumn(IsIgnore = true)]
|
public int uPeriod { get; set; }
|
|
#endregion 虚拟属性
|
|
#region 外键属性
|
|
/*例子
|
//一对一外键导航
|
[Navigate(NavigateType.OneToOne, nameof(ClassAId))]//一对一 ClassAId是TSK_JOB类里面的外键ID字段
|
public ClassA ClassA { get; set; } //不能赋值只能是null
|
//一对多外键导航
|
[Navigate(NavigateType.OneToMany, nameof(ClassA.TSK_JOBId))]//ClassA表中的TSK_JOBId
|
public List<ClassA> ClassAList { get; set; }//注意禁止给books手动赋值
|
//多对多外键导航
|
[Navigate(typeof(MappingClass), nameof(MappingClass.TSK_JOBId), nameof(MappingClass.ClassAId))]//注意顺序
|
public List<ClassA> ClassAList { get; set; } //只能是null不能赋默认值
|
*/
|
|
[Navigate(NavigateType.OneToMany, nameof(TSK_TRIG.JobId))]//ClassA表中的TSK_JOBId
|
public List<TSK_TRIG> TriggersWithGhost { get; set; }//注意禁止手动赋值,只能是null
|
|
[SugarColumn(IsIgnore = true)]
|
public List<TSK_TRIG> Triggers => TriggersWithGhost?.Where(q => !q.GHOST_ROW).ToList();
|
|
#endregion 外键属性
|
|
#region 枚举变量
|
|
/*例子
|
public enum FieldNames
|
{
|
[Description("枚举描述0")]
|
Enum0,
|
[Description("枚举描述1")]
|
Enum1,
|
}
|
*/
|
|
#endregion 枚举变量
|
}//endClass
|
|
public class TskJobParam
|
{
|
/// <summary>
|
/// 作业名称
|
/// </summary>
|
public string JobName { get; set; }
|
|
/// <summary>
|
/// 周期
|
/// </summary>
|
public int Period { get; set; }
|
|
/// <summary>
|
/// 备注
|
/// </summary>
|
public string Remark { get; set; }
|
}
|
|
public class FluentJobParam: TskJobParam
|
{
|
public string AssemblyName { get; set; }
|
public string DataType { get; set; }
|
|
/// <summary>
|
/// 参数
|
/// </summary>
|
public TrigArgs Args { get; set; }
|
}
|
}
|