using SqlSugar;
using System;
using System.Collections.Generic;
namespace OASystem.Domain.Entities.WorkOrder
{
///
/// 主表:工单
///
[SugarTable("Task_WorkOrder", TableDescription = "工单主表")]
public class Task_WorkOrder : EntityBase
{
///
/// 工单名称
///
[SugarColumn(Length = 200, IsNullable = false, ColumnDescription = "工单名称")]
public string Name { get; set; }
///
/// 任务开始时间
///
[SugarColumn(ColumnDescription = "任务开始时间")]
public DateTime StartTime { get; set; }
///
/// 所属团组ID
///
[SugarColumn(ColumnDescription = "所属团组ID")]
public int GroupId { get; set; }
///
/// 指派用户ID
///
[SugarColumn(ColumnDescription = "指派用户ID")]
public int AssignedUserId { get; set; }
///
/// 外办选项ID
///
[SugarColumn(ColumnDescription = "外办选项ID")]
public int ForeignOptionId { get; set; }
///
/// 部门类型
///
public int TypeId { get; set; }
///
/// 进度ID
///
[SugarColumn(ColumnDescription = "进度ID")]
public int ProgressId { get; set; }
///
/// 子任务集合(导航属性,不映射数据库)
///
[SugarColumn(IsIgnore = true)]
public List Tasks { get; set; }
}
///
/// 从表:任务
///
[SugarTable("Task_WorkTask", TableDescription = "工单任务表")]
public class Task_WorkTask : EntityBase
{
///
/// 任务名称
///
[SugarColumn(Length = 200, IsNullable = false, ColumnDescription = "任务名称")]
public string Name { get; set; }
///
/// 优先级ID
///
[SugarColumn(ColumnDescription = "优先级ID")]
public int PriorityId { get; set; }
///
/// 是否加急
///
[SugarColumn(ColumnDescription = "是否加急")]
public bool IsUrgent { get; set; }
///
/// 指派用户ID
///
[SugarColumn(ColumnDescription = "指派用户ID")]
public int AssignedUserId { get; set; }
///
/// 任务开始时间
///
[SugarColumn(ColumnDescription = "任务开始时间")]
public DateTime StartTime { get; set; }
///
/// 任务结束时间
///
[SugarColumn(ColumnDescription = "任务结束时间", IsNullable = true)]
public DateTime? EndTime { get; set; }
///
/// 任务耗时(小时数)
///
[SugarColumn(ColumnDescription = "任务耗时(小时)", IsNullable = true)]
public double? DurationHours { get; set; }
///
/// 是否为额外任务
///
[SugarColumn(ColumnDescription = "是否为额外任务")]
public bool IsExtraTask { get; set; }
///
/// 工单主表ID
///
[SugarColumn(ColumnDescription = "工单主表ID")]
public int WorkOrderId { get; set; }
///
/// 排序
///
public int Sort { get; set; }
///
/// 工单导航属性(不映射数据库)
///
[SugarColumn(IsIgnore = true)]
public Task_WorkOrder WorkOrder { get; set; }
///
/// 任务回执集合(不映射数据库)
///
[SugarColumn(IsIgnore = true)]
public List Receipts { get; set; }
}
///
/// 从表:任务回执
///
[SugarTable("Task_WorkTaskReceipt", TableDescription = "工单任务回执表")]
public class Task_WorkTaskReceipt : EntityBase
{
///
/// 工单主表ID
///
[SugarColumn(ColumnDescription = "工单主表ID")]
public int WorkOrderId { get; set; }
///
/// 任务ID
///
[SugarColumn(ColumnDescription = "任务ID")]
public int WorkTaskId { get; set; }
///
/// 任务是否完成
///
[SugarColumn(ColumnDescription = "任务是否完成")]
public int IsCompleted { get; set; }
///
/// 相关内容
///
[SugarColumn(Length = 2000, IsNullable = true, ColumnDescription = "相关内容")]
public string Content { get; set; }
///
/// 文件路径
///
[SugarColumn(Length = 500, IsNullable = true, ColumnDescription = "文件路径")]
public string FilePath { get; set; }
///
/// 是否通过审核 0未审核 1通过 2驳回
///
[SugarColumn(ColumnDescription = "是否通过审核")]
public int IsApproved { get; set; }
///
/// 未通过审核原因
///
[SugarColumn(Length = 500, IsNullable = true, ColumnDescription = "未通过审核原因")]
public string RejectReason { get; set; }
///
/// 任务导航属性(不映射数据库)
///
[SugarColumn(IsIgnore = true)]
public Task_WorkTask WorkTask { get; set; }
///
/// 工单导航属性(不映射数据库)
///
[SugarColumn(IsIgnore = true)]
public Task_WorkOrder WorkOrder { get; set; }
}
///
/// 默认任务表
///
public class Task_WorkOrderDefault : EntityBase
{
///
/// 任务名称
///
[SugarColumn(Length = 200, IsNullable = false, ColumnDescription = "任务名称")]
public string Name { get; set; }
///
/// 优先级ID
///
[SugarColumn(ColumnDescription = "优先级ID")]
public int PriorityId { get; set; }
///
/// 是否加急
///
[SugarColumn(ColumnDescription = "是否加急")]
public bool IsUrgent { get; set; }
///
/// 任务耗时(小时数)
///
[SugarColumn(ColumnDescription = "任务耗时(小时)", IsNullable = true)]
public double DurationHours { get; set; } = 0;
///
/// 部门类型
///
public int TypeId { get; set; }
///
/// 排序
///
public int Sort { get; set; }
}
}