OldIdBase.cs 6.2 KB

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