AdoS8ApprovalFlowRepairLog.cs 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. namespace Admin.NET.Plugin.AiDOP.Entity.S8;
  2. /// <summary>
  3. /// S8-UAT-APPROVAL-REPAIR-1:S8 审批流审批人配置修复留证。
  4. ///
  5. /// <para><b>为什么必须留证</b>:这次改的是<b>用户可见的流程配置</b>。明天有人问
  6. /// 「我的审批人怎么变了」,必须能当场答出改前是什么、为什么改、依据是哪条权限事实。
  7. /// 没有这张表,这就是一次无法解释的静默改写。</para>
  8. /// </summary>
  9. [SugarTable("ado_s8_approval_flow_repair_log", "S8 审批流审批人修复留证")]
  10. public class AdoS8ApprovalFlowRepairLog
  11. {
  12. [SugarColumn(ColumnName = "id", IsPrimaryKey = true, IsIdentity = true, ColumnDataType = "bigint")]
  13. public long Id { get; set; }
  14. [SugarColumn(ColumnName = "tenant_id", ColumnDataType = "bigint")]
  15. public long TenantId { get; set; }
  16. [SugarColumn(ColumnName = "flow_id", ColumnDataType = "bigint")]
  17. public long FlowId { get; set; }
  18. [SugarColumn(ColumnName = "biz_type", Length = 64)]
  19. public string BizType { get; set; } = string.Empty;
  20. [SugarColumn(ColumnName = "node_name", Length = 128)]
  21. public string NodeName { get; set; } = string.Empty;
  22. /// <summary>改前的 approverType。</summary>
  23. [SugarColumn(ColumnName = "before_type", Length = 32, IsNullable = true)]
  24. public string? BeforeType { get; set; }
  25. /// <summary>改前的 approverIds,逐字保留。</summary>
  26. [SugarColumn(ColumnName = "before_ids", Length = 512, IsNullable = true)]
  27. public string? BeforeIds { get; set; }
  28. [SugarColumn(ColumnName = "after_type", Length = 32, IsNullable = true)]
  29. public string? AfterType { get; set; }
  30. [SugarColumn(ColumnName = "after_ids", Length = 512, IsNullable = true)]
  31. public string? AfterIds { get; set; }
  32. /// <summary>为什么改:判据 + 派生依据。</summary>
  33. [SugarColumn(ColumnName = "reason", Length = 512, IsNullable = true)]
  34. public string? Reason { get; set; }
  35. /// <summary>REPAIRED / SKIPPED_ALREADY_OK / BLOCKED_NO_ROLE。</summary>
  36. [SugarColumn(ColumnName = "outcome", Length = 32)]
  37. public string Outcome { get; set; } = string.Empty;
  38. [SugarColumn(ColumnName = "repaired_at")]
  39. public DateTime RepairedAt { get; set; } = DateTime.Now;
  40. }