Quality.cs 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. using Hotline.Orders;
  2. using Hotline.Share.Dtos;
  3. using Hotline.Share.Enums.Quality;
  4. using SqlSugar;
  5. using System;
  6. using System.Collections.Generic;
  7. using System.ComponentModel;
  8. using System.Linq;
  9. using System.Text;
  10. using System.Threading.Tasks;
  11. using XF.Domain.Repository;
  12. namespace Hotline.Quality
  13. {
  14. [Description("质检")]
  15. [SugarIndex("index_quality_creationtime", nameof(Quality.CreationTime), OrderByType.Desc)]
  16. [SugarIndex("index_quality_orderId", nameof(OrderScreen.OrderId), OrderByType.Asc)]
  17. [SugarIndex("index_quality_visitId", nameof(OrderScreen.VisitId), OrderByType.Asc)]
  18. public class Quality : FullStateEntity
  19. {
  20. /// <summary>
  21. /// 工单ID
  22. /// </summary>
  23. [SugarColumn(ColumnDescription = "工单ID")]
  24. public string OrderId { get; set; }
  25. /// <summary>
  26. /// 回访ID
  27. /// </summary>
  28. [SugarColumn(ColumnDescription = "回访ID")]
  29. public string? VisitId { get; set; }
  30. /// <summary>
  31. /// 质检方式
  32. /// </summary>
  33. [SugarColumn(ColumnDescription = "质检方式")]
  34. public string? Mode { get; set; }
  35. /// <summary>
  36. /// 质检分数
  37. /// </summary>
  38. [SugarColumn(ColumnDescription = "质检分数")]
  39. public int? Grade { get; set; }
  40. /// <summary>
  41. /// 质检评价
  42. /// </summary>
  43. [SugarColumn(ColumnDescription = "质检评价", ColumnDataType = "text")]
  44. public string? Content { get; set; }
  45. /// <summary>
  46. /// 质检状态
  47. /// </summary>
  48. [SugarColumn(ColumnDescription = "质检状态 0 待质检 1 已质检")]
  49. public EQualityState? State { get; set; }
  50. /// <summary>
  51. /// 质检来源
  52. /// </summary>
  53. [SugarColumn(ColumnDescription = "质检来源")]
  54. public EQualitySource? Source { get; set; }
  55. /// <summary>
  56. /// 质检人
  57. /// </summary>
  58. [SugarColumn(ColumnDescription = "质检人")]
  59. public string? UserName { get; set; }
  60. /// <summary>
  61. /// 质检时间
  62. /// </summary>
  63. [SugarColumn(ColumnDescription = "质检时间")]
  64. public DateTime? QualityTime { get; set; }
  65. /// <summary>
  66. ///
  67. /// </summary>
  68. [Navigate(NavigateType.OneToOne, nameof(OrderId))]
  69. public Order Order { get; set; }
  70. /// <summary>
  71. /// 质检明细
  72. /// </summary>
  73. [Navigate(NavigateType.OneToMany, nameof(QualityDetail.QualityId))]
  74. public List<QualityDetail> QualityDetails { get; set; }
  75. /// <summary>
  76. /// 回访
  77. /// </summary>
  78. [Navigate(NavigateType.OneToOne, nameof(VisitId))]
  79. public OrderVisit Visit { get; set; }
  80. /// <summary>
  81. /// 智能质检
  82. /// </summary>
  83. public bool? AiQuality { get; set; } = false;
  84. /// <summary>
  85. /// 转写状态
  86. /// </summary>
  87. [SugarColumn(ColumnDescription = "转写状态", DefaultValue = "0")]
  88. public EQualityTransferState? TransferState { get; set; }
  89. /// <summary>
  90. /// 转写内容
  91. /// </summary>
  92. [SugarColumn(ColumnDataType = "json", IsJson = true, IsNullable = true)]
  93. public List<Transfer>? Transfer { get; set; }
  94. }
  95. }