Sfoglia il codice sorgente

Merge branch 'master' of http://110.188.24.182:10023/Fengwo/hotline

xf 1 anno fa
parent
commit
b1f6a92ffe

+ 2 - 2
src/Hotline.Ai.Jths/AiQualityService.cs

@@ -35,7 +35,7 @@ namespace Hotline.Ai.Jths
 				CallNumber = call.CPN,
 				CallTime = call.CreatedTime.ToString("yyyy-MM-dd HH:mm:ss"),
 				RecordForm = recordForm,
-				Extend = model.Source.ToString(),
+				ywlx = model.Source.ToString(),
 			};
 			datalist.Add(aiQuality);
 			var data =JsonConvert.SerializeObject(datalist);
@@ -74,7 +74,7 @@ namespace Hotline.Ai.Jths
 			var req = new RestRequest(path, httpMethod);
 			req.AddHeader("content-type", "application/json");
 			req.AddHeader("token", "");
-			req.AddHeader("version", "1.0");
+			req.AddHeader("version", "V1.0");
 			var sign = MD5Encrypt(request.ToString());
 			req.AddHeader("sign", sign);
 			req.AddHeader("signType", "md5");

+ 5 - 5
src/Hotline.Api/Controllers/DataSharing/WebPortalController.cs

@@ -359,7 +359,7 @@ namespace Hotline.Api.Controllers.DataSharing
         [HttpPost("getchartdata")]
         public async Task<OpenResponse> GetChartData()
         {
-            var startDate = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd 00:00:00"));
+            var startDate = Convert.ToDateTime(DateTime.Now.AddMonths(-1).ToString("yyyy-MM-dd 00:00:00"));
             var endDate = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd 23:59:59"));
 
             //数据查询
@@ -421,10 +421,10 @@ namespace Hotline.Api.Controllers.DataSharing
             var endDate = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd 23:59:59"));
             GetStatistDto getStatistDto = new()
             {
-                AllCount = await _dataOrderRepository.Queryable().GroupBy(p => p.OrderId).CountAsync(),
-                AllTrandCount = await _dataOrderRepository.Queryable().GroupBy(p => p.OrderId).Where(p => p.HandleState == "办理完成").CountAsync(),
-                DayCount = await _dataOrderRepository.Queryable().GroupBy(p => p.OrderId).Where(p => p.CaseDate >= startDate).Where(p => p.CaseDate <= endDate).CountAsync(),
-                DayTrandCount = await _dataOrderRepository.Queryable().GroupBy(p => p.OrderId).Where(p => p.HandleState == "办理完成").Where(p => p.CaseDate >= startDate).Where(p => p.CaseDate <= endDate).CountAsync()
+                AllCount = await _dataOrderRepository.Queryable().CountAsync(),
+                AllTrandCount = await _dataOrderRepository.Queryable().Where(p => p.HandleState == "办理完成").CountAsync(),
+                DayCount = await _dataOrderRepository.Queryable().Where(p => p.CaseDate >= startDate).Where(p => p.CaseDate <= endDate).CountAsync(),
+                DayTrandCount = await _dataOrderRepository.Queryable().Where(p => p.HandleState == "办理完成").Where(p => p.CaseDate >= startDate).Where(p => p.CaseDate <= endDate).CountAsync()
             };
 
             return OpenResponse.Ok(WebPortalDeResponse<GetStatistDto>.Success(getStatistDto));

+ 37 - 26
src/Hotline.Api/Controllers/QualityController.cs

@@ -558,39 +558,50 @@ namespace Hotline.Api.Controllers
 		/// <returns></returns>
 		[AllowAnonymous]
 		[HttpPost("AiResult")]
-		public async Task AiResult([FromBody] AiQualityResultDto dto) 
+		public async Task AiResult([FromBody] List<AiQualityResultDto> dto) 
 		{
-			var quality = await _qualitey.GetAsync(dto.record_id);
-			if (quality is { State: EQualityState.Apply } && dto.score_items != null && dto.score_items.Any())
+			foreach (var item in dto)
 			{
-				List<QualityDetail> details = new List<QualityDetail>();
-				foreach (var item in dto.score_items)
+				var quality = await _qualitey.GetAsync(item.record_id);
+				if (quality is { State: EQualityState.Apply } && item.score_items != null && item.score_items.Any())
 				{
-					QualityDetail detail = new QualityDetail
+					List<QualityDetail> details = new List<QualityDetail>();
+					foreach (var item2 in item.score_items)
 					{
-						QualityId = quality.Id,
-						Second = 0,
-						Name = item.name,
-						//Content = item.name,
-						Grade = item.score
-					};
-					details.Add(detail);
+						QualityDetail detail = new QualityDetail
+						{
+							QualityId = quality.Id,
+							Second = 0,
+							Name = item2.name,
+							//Content = item.name,
+							Grade = item2.score
+						};
+						details.Add(detail);
+					}
+					await _qualiteyDetail.AddRangeAsync(details);
 				}
-				await _qualiteyDetail.AddRangeAsync(details);
 			}
 		}
-		//[AllowAnonymous]
-		//[HttpPost("AiResultTest/{id}")]
-		//public async Task TaskAsync(string id)
-		//{
-		//	var quality = await _qualitey.GetAsync(id);
-		//	var order = await _orderRepository.GetAsync(quality.OrderId);
-		//	if (order != null && !string.IsNullOrEmpty(order.CallId))
-		//	{
-		//		var call = await _trCallRecordRepository.GetAsync(x => x.CallAccept == order.CallId);
-		//		await _aiQualityService.CreateAiOrderQualityTask(quality, call, order, HttpContext.RequestAborted);
-		//	}
-		//}
+
+		/// <summary>
+		/// 重推质检 
+		/// </summary>
+		/// <param name="id"></param>
+		/// <returns></returns>
+		[AllowAnonymous]
+		[HttpPost("AiResultTest/{id}")]
+		public async Task TaskAsync(string id)
+		{
+			var quality = await _qualitey.GetAsync(id, HttpContext.RequestAborted);
+			var order = await _orderRepository.GetAsync(quality.OrderId, HttpContext.RequestAborted);
+			if (order != null && !string.IsNullOrEmpty(order.CallId))
+			{
+				quality.AiQuality = true;
+				var call = await _trCallRecordRepository.GetAsync(x => x.CallAccept == order.CallId, HttpContext.RequestAborted);
+				await _aiQualityService.CreateAiOrderQualityTask(quality, call, order, HttpContext.RequestAborted);
+				await _qualitey.UpdateAsync(quality, HttpContext.RequestAborted);
+			}
+		}
 
 	}
 }

+ 4 - 3
src/Hotline.Application/Mappers/DataSharing/DsMapperConfigs.cs

@@ -114,7 +114,7 @@ namespace Hotline.Application.Mappers.DataSharing
             //延期申请
             config.ForType<PublishOrderDelayDto, DsDelayCaseInfoSend>()
             .Map(d => d.ApplyDelaynum, x => x.DelayNum)
-            .Map(d => d.ApplyDelayunit, x =>(int) x.DelayUnit)
+            .Map(d => d.ApplyDelayunit, x => (int)x.DelayUnit)
             .Map(d => d.ApplyName, x => x.EmployeeName)
             .Map(d => d.ApplyTime, x => x.ApplyDelayTime)
             .Map(d => d.ApplyOuname, x => x.ApplyOrgName)
@@ -130,7 +130,7 @@ namespace Hotline.Application.Mappers.DataSharing
            .Map(d => d.Title, x => x.CaseTitle)
            //.Map(d => d.AcceptorName, x => x.CaseRegister)
            //.Map(d => d.AcceptorStaffNo, x => x.CaseRegisterNo)
-          // .Map(d => d.CreationTime, x => x.CaseDate)
+           // .Map(d => d.CreationTime, x => x.CaseDate)
            .Map(d => d.Contact, x => x.PhoneNumber)
            .Map(d => d.FromName, x => x.AppLicantName)
            .Map(d => d.AgeRangeCode, x => x.AppLicantAge)
@@ -653,7 +653,8 @@ namespace Hotline.Application.Mappers.DataSharing
             #region 门户网站数据
             //办件摘编列表
             config.ForType<DsOrder, OrderListDto>()
-            .Map(d => d.FlowID, x => x.OrderId)
+               .Ignore(d => d.Source)
+               .Map(d => d.FlowID, x => x.OrderId)
                .Map(d => d.FlowCode, x => x.OrderNo)
                .Map(d => d.FlowPwd, x => x.Password)
                .Map(d => d.FlowTitle, x => string.IsNullOrEmpty(x.ArrangeTitle) ? x.Title : x.ArrangeTitle)

+ 4 - 2
src/Hotline.Application/Quality/QualityApplication.cs

@@ -74,7 +74,7 @@ namespace Hotline.Application.Quality
         {
             var quality = _mapper.Map<Hotline.Quality.Quality>(model);
             quality.InitId();
-			await _qualityRepository.AddAsync(quality, cancellationToken);
+			
             if (model.QualityDetails.Any())
             {
                 foreach (var item in model.QualityDetails)
@@ -95,12 +95,14 @@ namespace Hotline.Application.Quality
 					var order = await _orderRepository.GetAsync(model.OrderId);
 					if (order != null && !string.IsNullOrEmpty(order.CallId))
 					{
+                        quality.AiQuality = true;
 						var call = await _trCallRecordRepository.GetAsync(x=>x.CallAccept == order.CallId);
 						await _aiQualityService.CreateAiOrderQualityTask(quality, call, order, cancellationToken);
 					}
 				}
             }
-        }
+            await _qualityRepository.AddAsync(quality, cancellationToken);
+		}
 
         public async Task UpdateQualityAsync(UpdateQualityDto model, CancellationToken cancellationToken)
         {

+ 2 - 2
src/Hotline.Share/Dtos/Quality/AiQualityDto.cs

@@ -71,7 +71,7 @@ namespace Hotline.Share.Dtos.Quality
 		/// <summary>
 		/// 扩展字段
 		/// </summary>
-		public string Extend { get; set; }
+		public string ywlx { get; set; }
 	}
 
 	public class AiQualityResultDto : AiQualitySourceData
@@ -194,7 +194,7 @@ namespace Hotline.Share.Dtos.Quality
 		/// <summary>
 		/// 智能质检时间
 		/// </summary>
-		public string quality_time { get; set; }
+		public decimal quality_time { get; set; }
 
 		/// <summary>
 		/// 是否减分[1是0否]

+ 6 - 1
src/Hotline.Share/Dtos/Quality/QualityDto.cs

@@ -151,7 +151,12 @@ namespace Hotline.Share.Dtos.Quality
 		/// 质检明细
 		/// </summary>
 		public List<QualityDetailDto> QualityDetails { get; set; }
-		
+
+		/// <summary>
+		/// 智能质检
+		/// </summary>
+		public bool AiQuality { get; set; }
+
 	}
 	public class QualityBaseDto {
 		public DateTime? LastModificationTime { get; set; }

+ 1 - 1
src/Hotline/DataSharing/Province/Services/ProvinceService.cs

@@ -446,7 +446,7 @@ namespace Hotline.DataSharing.Province.Services
                         CaseSource = dto.SourceChannel,
                         CaseSourceCode = dto.SourceChannelCode,
                         ExpiredTime = submitCaseInfo.TfdBackTimeBf,
-                        CaseType = submitCaseInfo.CaseType,
+                        CaseType = dto.AcceptType,
                         CaseTypeCode = dto.AcceptTypeCode,
                         AllDuration = 0,
                         IsProvince = false,

+ 5 - 0
src/Hotline/Quality/Quality.cs

@@ -85,5 +85,10 @@ namespace Hotline.Quality
 		/// </summary>
 		[Navigate(NavigateType.OneToOne, nameof(VisitId))]
 		public OrderVisit Visit { get; set; }
+
+		/// <summary>
+		/// 智能质检
+		/// </summary>
+		public bool? AiQuality { get; set; } = false;
 	}
 }