OrderDelay.cs 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. using System.ComponentModel;
  2. using Hotline.FlowEngine.Workflows;
  3. using Hotline.Share.Dtos.File;
  4. using Hotline.Share.Enums.Order;
  5. using Hotline.Share.Enums.Settings;
  6. using Hotline.Users;
  7. using SqlSugar;
  8. using XF.Domain.Repository;
  9. namespace Hotline.Orders
  10. {
  11. /// <summary>
  12. /// 工单延期
  13. /// </summary>
  14. [Description("工单延期")]
  15. [SugarIndex("index_delay_orderId", nameof(OrderDelay.OrderId), OrderByType.Asc)]
  16. public class OrderDelay : WorkflowEntity
  17. {
  18. /// <summary>
  19. /// 工单编号(冗余)
  20. /// </summary>
  21. public string No { get; set; }
  22. /// <summary>
  23. /// 工单ID
  24. /// </summary>
  25. public string OrderId { get; set; }
  26. /// <summary>
  27. ///
  28. /// </summary>
  29. [Navigate(NavigateType.OneToOne, nameof(OrderId))]
  30. public Order? Order { get; set; }
  31. /// <summary>
  32. /// 延期申请时间
  33. /// </summary>
  34. public DateTime ApplyDelayTime { get; set; }
  35. /// <summary>
  36. /// 申请部门Code
  37. /// </summary>
  38. public string ApplyOrgCode { get; set; }
  39. /// <summary>
  40. /// 申请部门名称
  41. /// </summary>
  42. public string ApplyOrgName { get; set; }
  43. /// <summary>
  44. /// 申请人
  45. /// </summary>
  46. public string EmployeeId { get; set; }
  47. /// <summary>
  48. /// 申请人名称
  49. /// </summary>
  50. public string? EmployeeName { get; set; }
  51. /// <summary>
  52. ///
  53. /// </summary>
  54. [Navigate(NavigateType.OneToOne, nameof(EmployeeId))]
  55. public User? Employee { get; set; }
  56. /// <summary>
  57. /// 延期申请时限
  58. /// </summary>
  59. public int DelayNum { get; set; }
  60. /// <summary>
  61. /// 延期申请单位
  62. /// </summary>
  63. public ETimeType DelayUnit { get; set; }
  64. /// <summary>
  65. /// 延期申请理由
  66. /// </summary>
  67. [SugarColumn(ColumnDescription = "延期申请理由", ColumnDataType = "text")]
  68. public string DelayReason { get; set; }
  69. /// <summary>
  70. /// 申请前期满时间
  71. /// </summary>
  72. public DateTime? BeforeDelay { get; set; }
  73. /// <summary>
  74. /// 申请后期满时间
  75. /// </summary>
  76. public DateTime? AfterDelay { get; set; }
  77. /// <summary>
  78. /// 审批状态
  79. /// </summary>
  80. public EDelayState DelayState { get; set; }
  81. #region 用于省平台查询
  82. /// <summary>
  83. /// 审核人
  84. /// </summary>
  85. public string? AuditName { get; set; }
  86. /// <summary>
  87. /// 审核部门
  88. /// </summary>
  89. public string? AuditOrgName { get; set; }
  90. /// <summary>
  91. /// 审核时间
  92. /// </summary>
  93. public DateTime? AuditTime { get; set; }
  94. /// <summary>
  95. /// 审核意见
  96. /// </summary>
  97. [SugarColumn(ColumnDescription = "审核意见", ColumnDataType = "text")]
  98. public string? AuditOpinion { get; set; }
  99. #endregion
  100. /// <summary>
  101. /// 审批类型
  102. /// </summary>
  103. public EDelayApplyType? DelayApplyType { get; set; }
  104. /// <summary>
  105. /// 附件
  106. /// </summary>
  107. [SugarColumn(ColumnDataType = "json", IsJson = true, IsNullable = true)]
  108. public List<FileJson> FileJson { get; set; }
  109. /// <summary>
  110. /// 是否省延期
  111. /// </summary>
  112. [SugarColumn(DefaultValue = "f")]
  113. public bool IsProDelay { get; set; }
  114. /// <summary>
  115. /// 流程ID
  116. /// </summary>
  117. public string? WorkflowId { get; set; }
  118. [Navigate(NavigateType.OneToOne, nameof(WorkflowId))]
  119. public Workflow? Workflow { get; set; }
  120. /// <summary>
  121. /// 自动延期次数
  122. /// </summary>
  123. [SugarColumn(DefaultValue = "0")]
  124. public int? AutomaticDelayNum { get; set; }
  125. }
  126. }