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; } } }