using System.ComponentModel; using Hotline.FlowEngine.Workflows; using Hotline.Share.Dtos.File; using Hotline.Share.Enums.Order; using Hotline.Share.Enums.Settings; using Hotline.Users; using SqlSugar; using XF.Domain.Repository; namespace Hotline.Orders { /// /// 工单延期 /// [Description("工单延期")] [SugarIndex("index_delay_orderId", nameof(OrderDelay.OrderId), OrderByType.Asc)] public class OrderDelay : WorkflowEntity { /// /// 工单编号(冗余) /// public string No { get; set; } /// /// 工单ID /// public string OrderId { get; set; } /// /// /// [Navigate(NavigateType.OneToOne, nameof(OrderId))] public Order? Order { get; set; } /// /// 延期申请时间 /// public DateTime ApplyDelayTime { get; set; } /// /// 申请部门Code /// public string ApplyOrgCode { get; set; } /// /// 申请部门名称 /// public string ApplyOrgName { get; set; } /// /// 申请人 /// public string EmployeeId { get; set; } /// /// 申请人名称 /// public string? EmployeeName { get; set; } /// /// /// [Navigate(NavigateType.OneToOne, nameof(EmployeeId))] public User? Employee { get; set; } /// /// 延期申请时限 /// public int DelayNum { get; set; } /// /// 延期申请单位 /// public ETimeType DelayUnit { get; set; } /// /// 延期申请理由 /// [SugarColumn(ColumnDescription = "延期申请理由", ColumnDataType = "text")] public string DelayReason { get; set; } /// /// 申请前期满时间 /// public DateTime? BeforeDelay { get; set; } /// /// 申请后期满时间 /// public DateTime? AfterDelay { get; set; } /// /// 审批状态 /// public EDelayState DelayState { get; set; } #region 用于省平台查询 /// /// 审核人 /// public string? AuditName { get; set; } /// /// 审核部门 /// public string? AuditOrgName { get; set; } /// /// 审核时间 /// public DateTime? AuditTime { get; set; } /// /// 审核意见 /// [SugarColumn(ColumnDescription = "审核意见", ColumnDataType = "text")] public string? AuditOpinion { get; set; } #endregion /// /// 审批类型 /// public EDelayApplyType? DelayApplyType { get; set; } /// /// 附件 /// [SugarColumn(ColumnDataType = "json", IsJson = true, IsNullable = true)] public List FileJson { get; set; } /// /// 是否省延期 /// [SugarColumn(DefaultValue = "f")] public bool IsProDelay { get; set; } /// /// 流程ID /// public string? WorkflowId { get; set; } [Navigate(NavigateType.OneToOne, nameof(WorkflowId))] public Workflow? Workflow { get; set; } /// /// 自动延期次数 /// [SugarColumn(DefaultValue = "0")] public int? AutomaticDelayNum { get; set; } } }