Base.cs 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244
  1. using Abp;
  2. using Abp.Domain.Entities;
  3. using Abp.Domain.Entities.Auditing;
  4. using DataTransmission.Entity;
  5. namespace SnapshotWinFormsApp.Entities.NewHotline
  6. {
  7. public class Entity
  8. {
  9. //private List<IAppNotification> _domainEvents = new();
  10. public string Id { get; set; }
  11. //[SugarColumn(ColumnDescription = "创建人")]
  12. public string? CreatorId { get; set; }
  13. public string? CreatorName { get; set; }
  14. //[SugarColumn(ColumnDescription = "组织Id")]
  15. public string? CreatorOrgId { get; set; }
  16. public string? CreatorOrgName { get; set; }
  17. //[SugarColumn(DefaultValue = "0")]
  18. public int CreatorOrgLevel { get; set; } = 0;
  19. /// <summary>
  20. /// 一级部门Id
  21. /// </summary>
  22. //[SugarColumn(ColumnDescription = "数据权限区域Id")]
  23. public string? AreaId { get; set; }
  24. //public void ClearEvents() => _domainEvents.Clear();
  25. //public ICollection<IAppNotification> QueryAllEvents() => _domainEvents;
  26. public void InitId() => Id = SequentialGuidGenerator.Instance.Create().ToString("D");
  27. }
  28. /// <summary>
  29. /// 实体(带有创建时间)
  30. /// </summary>
  31. public abstract class CreationEntity : Entity, IHasCreationTime
  32. {
  33. /// <summary>
  34. /// 创建时间
  35. /// </summary>
  36. //[SugarColumn(ColumnDescription = "创建时间")]
  37. public DateTime CreationTime { get; set; }
  38. }
  39. /// <summary>
  40. /// 实体(带有软删除)
  41. /// </summary>
  42. public abstract class SoftDeleteEntity : Entity, IHasDeletionTime, ISoftDelete
  43. {
  44. /// <summary>
  45. /// 删除时间
  46. /// </summary>
  47. //[SugarColumn(ColumnDescription = "删除时间")]
  48. public DateTime? DeletionTime { get; set; }
  49. //[SugarColumn(ColumnDescription = "是否删除")]
  50. public bool IsDeleted { get; set; }
  51. public void SoftDelete()
  52. {
  53. IsDeleted = true;
  54. DeletionTime = DateTime.Now;
  55. }
  56. }
  57. /// <summary>
  58. /// 实体(带有创建时间和软删除)
  59. /// </summary>
  60. public abstract class CreationSoftDeleteEntity : CreationEntity, IHasDeletionTime, ISoftDelete
  61. {
  62. //[SugarColumn(ColumnDescription = "是否删除", DefaultValue = "f")]
  63. public bool IsDeleted { get; set; }
  64. /// <summary>
  65. /// 删除时间
  66. /// </summary>
  67. //[SugarColumn(ColumnDescription = "删除时间")]
  68. public DateTime? DeletionTime { get; set; }
  69. public void SoftDelete()
  70. {
  71. IsDeleted = true;
  72. DeletionTime = DateTime.Now;
  73. }
  74. public void Recover() => IsDeleted = false;
  75. }
  76. public abstract class CreationModificationEntity : CreationEntity, IHasModificationTime
  77. {
  78. /// <summary>
  79. /// 最近更新时间
  80. /// </summary>
  81. //[SugarColumn(ColumnDescription = "最近更新时间")]
  82. public DateTime? LastModificationTime { get; set; }
  83. public void Modified() => LastModificationTime = DateTime.Now;
  84. }
  85. /// <summary>
  86. /// 全状态实体(创建时间、更新时间、软删除)
  87. /// </summary>
  88. public abstract class FullStateEntity : CreationSoftDeleteEntity, IHasModificationTime
  89. {
  90. /// <summary>
  91. /// 最近更新时间
  92. /// </summary>
  93. //[SugarColumn(ColumnDescription = "最近更新时间")]
  94. public DateTime? LastModificationTime { get; set; }
  95. public void Modified() => LastModificationTime = DateTime.Now;
  96. }
  97. public abstract class WorkflowEntity : FullStateEntity, IWorkflow
  98. {
  99. //[SugarColumn(IsNullable = true)]
  100. public string? WorkflowId { get; set; }
  101. /// <summary>
  102. /// 过期时间配置id
  103. /// </summary>
  104. //[SugarColumn(IsNullable = true)]
  105. public string? ExpiredTimeConfigId { get; set; }
  106. //[SugarColumn(ColumnDataType = "json", IsJson = true)]
  107. public List<string>? FlowedOrgIds { get; set; } = new();
  108. //[SugarColumn(ColumnDataType = "json", IsJson = true)]
  109. public List<string>? FlowedUserIds { get; set; } = new();
  110. #region 当前办理对象
  111. /// <summary>
  112. /// 办理人id
  113. /// </summary>
  114. //[SugarColumn(ColumnDataType = "json", IsJson = true)]
  115. public List<HandlerGroupItem>? HandlerUsers { get; set; } = new();
  116. /// <summary>
  117. /// 办理部门id
  118. /// </summary>
  119. //[SugarColumn(ColumnDataType = "json", IsJson = true)]
  120. public List<HandlerGroupItem>? HandlerOrgs { get; set; } = new();
  121. #endregion
  122. }
  123. public abstract class PositionEntity : FullStateEntity
  124. {
  125. /// <summary>
  126. /// 经度
  127. /// </summary>
  128. //[SugarColumn(ColumnDescription = "经度")]
  129. public double? Longitude { get; set; }
  130. /// <summary>
  131. /// 维度
  132. /// </summary>
  133. //[SugarColumn(ColumnDescription = "纬度")]
  134. public double? Latitude { get; set; }
  135. /// <summary>
  136. /// 行政区划编码
  137. /// </summary>
  138. //[SugarColumn(ColumnDescription = "行政区划编码")]
  139. public string? AreaCode { get; set; }
  140. /// <summary>
  141. /// 省
  142. /// </summary>
  143. public string? Province { get; set; }
  144. /// <summary>
  145. /// 市
  146. /// </summary>
  147. public string? City { get; set; }
  148. /// <summary>
  149. /// 区/县
  150. /// </summary>
  151. public string? County { get; set; }
  152. /// <summary>
  153. /// 乡镇(4级行政区划)
  154. /// </summary>
  155. public string? Town { get; set; }
  156. /// <summary>
  157. /// 详细街道
  158. /// </summary>
  159. public string? Street { get; set; }
  160. /// <summary>
  161. /// 行政区划地址
  162. /// </summary>
  163. public string? Address { get; set; }
  164. /// <summary>
  165. /// 完整地址
  166. /// </summary>
  167. public string? FullAddress { get; set; }
  168. }
  169. public abstract class PositionWorkflowEntity : PositionEntity, IWorkflow
  170. {
  171. //[SugarColumn(IsNullable = true)]
  172. public string? WorkflowId { get; set; }
  173. /// <summary>
  174. /// 过期时间配置id
  175. /// </summary>
  176. //[SugarColumn(IsNullable = true)]
  177. public string? ExpiredTimeConfigId { get; set; }
  178. //[SugarColumn(ColumnDataType = "json", IsJson = true)]
  179. public List<string>? FlowedOrgIds { get; set; } = new();
  180. //[SugarColumn(ColumnDataType = "json", IsJson = true)]
  181. public List<string>? FlowedUserIds { get; set; } = new();
  182. #region 当前办理对象
  183. /// <summary>
  184. /// 办理人id
  185. /// </summary>
  186. //[SugarColumn(ColumnDataType = "json", IsJson = true)]
  187. public List<HandlerGroupItem>? HandlerUsers { get; set; } = new();
  188. /// <summary>
  189. /// 办理部门id
  190. /// </summary>
  191. //[SugarColumn(ColumnDataType = "json", IsJson = true)]
  192. public List<HandlerGroupItem>? HandlerOrgs { get; set; } = new();
  193. #endregion
  194. }
  195. }