田爽 пре 1 година
родитељ
комит
4d4638cf5c

+ 1 - 0
src/Hotline.Api/Controllers/QualityController.cs

@@ -98,6 +98,7 @@ namespace Hotline.Api.Controllers
 				.Includes(x => x.QualityDetails)
 				.WhereIF(!string.IsNullOrEmpty(dto.Keyword), d => d.Order.Title.Contains(dto.Keyword!) || d.Order.No.Contains(dto.Keyword!))
 				.WhereIF(dto.State.HasValue, d => d.State == dto.State)
+				.WhereIF(dto.Source.HasValue, d => d.Source == dto.Source)
 				.WhereIF(dto.CreationTimeStart.HasValue, d => d.CreationTime >= dto.CreationTimeStart)
 				.WhereIF(dto.CreationTimeEnd.HasValue, d => d.CreationTime <= dto.CreationTimeEnd)
 				.OrderByDescending(x => x.CreationTime)

+ 9 - 0
src/Hotline.Repository.SqlSugar/Quality/QualityRepository.cs

@@ -2,6 +2,7 @@
 using Hotline.Repository.SqlSugar.DataPermissions;
 using Hotline.Share.Dtos.File;
 using Hotline.Share.Dtos.Quality;
+using Hotline.Share.Enums.Quality;
 using MapsterMapper;
 using Microsoft.AspNetCore.Http;
 using SqlSugar;
@@ -31,6 +32,14 @@ namespace Hotline.Repository.SqlSugar.Quality
 			_qualiteyDetail = qualiteyDetail;
 		}
 
+		public async Task AddQualityAsync(EQualitySource Source, string OrderId, CancellationToken cancellationToken) 
+		{
+			QualityAddDto quality =  new  QualityAddDto();
+			quality.Source = Source;
+			quality.OrderId = OrderId;
+			await AddQualityAsync(quality, cancellationToken);
+		}
+
 		public async Task AddQualityAsync(QualityAddDto model, CancellationToken cancellationToken)
 		{
 			var quality = _mapper.Map<Hotline.Quality.Quality>(model);

+ 19 - 2
src/Hotline.Share/Dtos/Quality/QualityDto.cs

@@ -22,7 +22,7 @@ namespace Hotline.Share.Dtos.Quality
 		/// <summary>
 		/// 质检分数
 		/// </summary>
-		public int Grade { get; set; }
+		public int? Grade { get; set; }
 
 		/// <summary>
 		/// 质检评价
@@ -34,6 +34,11 @@ namespace Hotline.Share.Dtos.Quality
 		/// </summary>
 		public EQualityState State { get; set; }
 
+		/// <summary>
+		/// 质检状态
+		/// </summary>
+		public EQualitySource Source { get; set; }
+
 		/// <summary>
 		/// 质检明细
 		/// </summary>
@@ -107,7 +112,14 @@ namespace Hotline.Share.Dtos.Quality
 		/// </summary>
 		public EQualityState State { get; set; }
 
-		public string StatusText => State.GetDescription();
+		public string StateText => State.GetDescription();
+
+		/// <summary>
+		/// 质检状态
+		/// </summary>
+		public EQualitySource Source { get; set; }
+
+		public string SourceText => Source.GetDescription();
 
 		/// <summary>
 		/// 
@@ -159,6 +171,11 @@ namespace Hotline.Share.Dtos.Quality
 		/// 质检状态
 		/// </summary>
 		public EQualityState? State { get; set; }
+
+		/// <summary>
+		/// 质检状态
+		/// </summary>
+		public EQualitySource? Source { get; set; }
 		public DateTime? CreationTimeStart { get; set; }
 		public DateTime? CreationTimeEnd { get; set; }
 	}

+ 34 - 13
src/Hotline.Share/Enums/Quality/EQuality.cs

@@ -7,7 +7,7 @@ using System.Threading.Tasks;
 
 namespace Hotline.Share.Enums.Quality
 {
-   public enum EQualityItem
+	public enum EQualityItem
 	{
 		/// <summary>
 		/// 质检项目
@@ -22,18 +22,39 @@ namespace Hotline.Share.Enums.Quality
 		Grouping = 2,
 	}
 
-   public enum EQualityState
+	public enum EQualityState
 	{
-	   /// <summary>
-	   /// 待质检
-	   /// </summary>
-	   [Description("待质检")]
-	   Apply = 0,
+		/// <summary>
+		/// 待质检
+		/// </summary>
+		[Description("待质检")]
+		Apply = 0,
+
+		/// <summary>
+		/// 已质检
+		/// </summary>
+		[Description("已质检")]
+		End = 1,
+	}
+
+	public enum EQualitySource
+	{
+		/// <summary>
+		/// 受理待质检
+		/// </summary>
+		[Description("受理待质检")]
+		Accepted = 0,
+
+		/// <summary>
+		/// 派单待质检
+		/// </summary>
+		[Description("派单待质检")]
+		Send = 1,
 
-	   /// <summary>
-	   /// 已质检
-	   /// </summary>
-	   [Description("已质检")]
-	   End = 1,
-   }
+		/// <summary>
+		/// 回访待质检
+		/// </summary>
+		[Description("回访待质检")]
+		Visit = 1
+	}
 }

+ 2 - 0
src/Hotline/Quality/IQualityRepository.cs

@@ -1,10 +1,12 @@
 using Hotline.Share.Dtos.Quality;
+using Hotline.Share.Enums.Quality;
 using XF.Domain.Repository;
 
 namespace Hotline.Quality
 {
 	public interface IQualityRepository : IRepository<Quality>
 	{
+		Task AddQualityAsync(EQualitySource Source, string OrderId, CancellationToken cancellationToken);
 		Task AddQualityAsync(QualityAddDto model, CancellationToken cancellationToken);
 		Task UpdateQualityAsync(UpdateQualityDto model, CancellationToken cancellationToken);
 	}

+ 8 - 2
src/Hotline/Quality/Quality.cs

@@ -30,7 +30,7 @@ namespace Hotline.Quality
 		/// 质检分数
 		/// </summary>
 		[SugarColumn(ColumnDescription = "质检分数")]
-		public int Grade { get; set; }
+		public int? Grade { get; set; }
 
 		/// <summary>
 		/// 质检评价
@@ -42,7 +42,13 @@ namespace Hotline.Quality
 		/// 质检状态
 		/// </summary>
 		[SugarColumn(ColumnDescription = "质检状态   0 待质检  1 已质检")]
-		public EQualityState? State { get; set; } 
+		public EQualityState? State { get; set; }
+
+		/// <summary>
+		/// 质检状态
+		/// </summary>
+		[SugarColumn(ColumnDescription = "质检来源")]
+		public EQualitySource? Source { get; set; }
 
 		/// <summary>
 		///