Base.cs 6.1 KB

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