OrderSpecial.cs 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. using Hotline.FlowEngine.Workflows;
  8. using Hotline.Share.Dtos;
  9. using Hotline.Share.Dtos.File;
  10. using Hotline.Share.Dtos.FlowEngine;
  11. using Hotline.Share.Dtos.FlowEngine.Workflow;
  12. using Hotline.Share.Dtos.Order;
  13. using Hotline.Share.Enums.FlowEngine;
  14. using Hotline.Share.Enums.Order;
  15. using Hotline.Share.Enums.Settings;
  16. using SqlSugar;
  17. using XF.Domain.Repository;
  18. namespace Hotline.Orders
  19. {
  20. /// <summary>
  21. /// 特提
  22. /// </summary>
  23. [Description("工单特提")]
  24. [SugarIndex("index_special_orderId", nameof(OrderSpecial.OrderId), OrderByType.Asc)]
  25. public class OrderSpecial : FullStateEntity
  26. {
  27. public string OrderId { get; set; }
  28. public string WorkflowId { get; set; }
  29. /// <summary>
  30. /// 下一节点code(defineStep.code)
  31. /// </summary>
  32. public string NextStepCode { get; set; } = string.Empty;
  33. public string NextStepName { get; set; } = string.Empty;
  34. public EFlowDirection? FlowDirection { get; set; }
  35. /// <summary>
  36. /// 办理对象类型
  37. /// </summary>
  38. public EHandlerType? HandlerType { get; set; }
  39. /// <summary>
  40. /// 模板配置节点业务类型
  41. /// </summary>
  42. public EBusinessType? BusinessType { get; set; }
  43. /// <summary>
  44. /// 节点类型
  45. /// </summary>
  46. public EStepType? StepType { get; set; }
  47. /// <summary>
  48. /// 工单状态
  49. /// </summary>
  50. public EOrderStatus? Status { get; set; }
  51. public string? StepCode { get; set; } = string.Empty;
  52. public string? StepName { get; set; } = string.Empty;
  53. [SugarColumn(ColumnDataType = "json", IsJson = true, IsNullable = true)]
  54. public List<StepAssignInfo> NextHandlers { get; set; }
  55. /// <summary>
  56. /// 特提原因
  57. /// </summary>
  58. [SugarColumn(ColumnDescription = "特提原因")]
  59. public string? Cause { get; set; }
  60. /// <summary>
  61. /// 特提理由
  62. /// </summary>
  63. [SugarColumn(ColumnDescription = "特提理由", ColumnDataType = "text")]
  64. public string? Reason { get; set; }
  65. /// <summary>
  66. /// 办理时间限制(如:24小时、7个工作日)
  67. /// </summary>
  68. public int? TimeLimit { get; set; }
  69. public ETimeType? TimeLimitUnit { get; set; } = ETimeType.WorkDay;
  70. /// <summary>
  71. /// 是否修改期满时间
  72. /// </summary>
  73. public bool AlterTime { get; set; }
  74. /// <summary>
  75. /// 特提意见
  76. /// </summary>
  77. [SugarColumn(ColumnDescription = "特提意见", ColumnDataType = "text")]
  78. public string? Opinion { get; set; }
  79. /// <summary>
  80. /// 审核结果 0 待审核 1 审核通过 2 审核不通过
  81. /// </summary>
  82. public int State { get; set; }
  83. [SugarColumn(ColumnDescription = "组织Id")]
  84. public string? OrgId { get; set; }
  85. public string? OrgName { get; set; }
  86. [SugarColumn(ColumnDataType = "json", IsJson = true, IsNullable = true)]
  87. public List<FileJson>? FileJson { get; set; }
  88. [SugarColumn(ColumnDataType = "json", IsJson = true, IsNullable = true)]
  89. public List<FileJson>? ReplyFileJson { get; set; }
  90. /// <summary>
  91. /// 特提类型
  92. /// </summary>
  93. public ESpecialType? SpecialType { get; set; }
  94. /// <summary>
  95. /// 错件类型
  96. /// </summary>
  97. //[SugarColumn(ColumnDataType = "json", IsJson = true, IsNullable = true)]
  98. [Navigate(NavigateType.OneToMany, nameof(OrderSpecialDetail.SpecialId))]
  99. public List<OrderSpecialDetail> ReTransactError { get; set; }
  100. /// <summary>
  101. /// 首次归档意见
  102. /// </summary>
  103. [SugarColumn(ColumnDataType = "varchar(8000)")]
  104. public string? FirstFileOpinion { get; set; }
  105. /// <summary>
  106. /// 上次归档意见
  107. /// </summary>
  108. [SugarColumn(ColumnDataType = "varchar(8000)")]
  109. public string? LastFileOpinion { get; set; }
  110. /// <summary>
  111. ///特提后最新节点Id
  112. /// </summary>
  113. [SugarColumn(ColumnDescription = "特提后最新节点Id")]
  114. public string? NewCurrentStepId { get; set; }
  115. /// <summary>
  116. /// 工单
  117. /// </summary>
  118. [Navigate(NavigateType.OneToOne, nameof(OrderId))]
  119. public Order Order { get; set; }
  120. }
  121. //public class ReTransactError {
  122. // public string OrgId { get; set; }
  123. // public string OrgName { get; set; }
  124. // public string ErrorId { get; set; }
  125. // public string ErrorName { get; set; }
  126. //}
  127. }