using Hotline.FlowEngine.Workflows;
using Hotline.Share.Enums.Order;
using Hotline.Share.Enums.Settings;
using Hotline.Users;
using SqlSugar;
using XF.Domain.Repository;
namespace Hotline.Orders
{
///
/// 工单延期
///
public class OrderDelay : CreationEntity
{
///
/// 工单编号(冗余)
///
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; }
///
///
///
[Navigate(NavigateType.OneToOne, nameof(EmployeeId))]
public User? Employee { get; set; }
///
/// 延期申请时限
///
public int DelayNum { get; set; }
///
/// 延期申请单位
///
public ETimeType DelayUnit {get;set;}
///
/// 延期申请理由
///
public string DelayReason { get; set; }
///
/// 申请前期满时间
///
public DateTime? BeforeDelay { get; set; }
///
/// 申请后期满时间
///
public DateTime? AfterDelay { get; set; }
///
/// 审批状态
///
public EDelayState DelayState { get; set; }
///
/// 附件
///
[SugarColumn(ColumnDataType = "json", IsJson = true, IsNullable = true)]
public List FileIds { 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; }
}
}