Sfoglia il codice sorgente

Merge branch 'test' of http://110.188.24.182:10023/Fengwo/hotline into test

tangjiang 2 settimane fa
parent
commit
0f7c0ea18b

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

@@ -929,6 +929,7 @@ namespace Hotline.Api.Controllers
                 .WhereIF(string.IsNullOrEmpty(dto.UserName) == false, x => x.UserName.Contains(dto.UserName))
                 .WhereIF(dto.StartTime.HasValue, x => x.CreationTime >= dto.StartTime)
                 .WhereIF(dto.EndTime.HasValue, x => x.CreationTime <= dto.EndTime)
+                .WhereIF(_appOptions.Value.IsLuZhou,x=>x.ActionType != EActionType.CallEndArrange)
                 .OrderByDescending(x => x.CreationTime)
                 .ToPagedListAsync(dto.PageIndex, dto.PageSize, HttpContext.RequestAborted);
             return new PagedDto<TelActionListRep>(total, _mapper.Map<IReadOnlyList<TelActionListRep>>(items));

+ 4 - 2
src/Hotline.Api/Controllers/OrderController.cs

@@ -6350,8 +6350,10 @@ public class OrderController : BaseController
             IdentityTypeOptions = EnumExts.GetDescriptions<EIdentityType>(),
             OrderTags = _sysDicDataCacheManager.GetSysDicDataCache(SysDicTypeConsts.OrderTag),
             FocusOnEvents = _sysDicDataCacheManager.GetSysDicDataCache(SysDicTypeConsts.FocusOnEvent),
-            PoliticalIdentity = _sysDicDataCacheManager.GetSysDicDataCache(SysDicTypeConsts.PoliticalIdentity)
-        };
+            PoliticalIdentity = _sysDicDataCacheManager.GetSysDicDataCache(SysDicTypeConsts.PoliticalIdentity),
+			SeatEvaluate = EnumExts.GetDescriptions<ESeatEvaluate>(),
+			VisitSatisfaction = _sysDicDataCacheManager.GetSysDicDataCache(SysDicTypeConsts.VisitSatisfaction),
+		};
         return rsp;
     }
 

+ 17 - 5
src/Hotline.Api/Controllers/OrgController.cs

@@ -201,11 +201,23 @@ namespace Hotline.Api.Controllers
             return org;
         }
 
-        /// <summary>
-        /// 获取可用组织架构树形
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet("getcanuseorg")]
+		/// <summary>
+		/// 获取一级部门
+		/// </summary>
+		/// <param name="id"></param>
+		/// <returns></returns>
+		[HttpGet("get_one_org")]
+		public async Task<List<SystemOrganize>> GetOneOrg()
+		{
+			var oneOrgs = await _systemOrganizeRepository.Queryable().Where(x=>x.Level == 1).ToListAsync();
+			return oneOrgs;
+		}
+
+		/// <summary>
+		/// 获取可用组织架构树形
+		/// </summary>
+		/// <returns></returns>
+		[HttpGet("getcanuseorg")]
         public async Task<IReadOnlyList<SystemOrganize>> GetCanUseOrg()
         {
             return await _systemOrganizeRepository.GetCanUseOrg();

+ 5 - 2
src/Hotline.Application/OrderApp/OrderApplication.cs

@@ -1875,7 +1875,8 @@ public class OrderApplication : IOrderApplication, IScopeDependency
                                                                                                                //.WhereIF(!string.IsNullOrEmpty(dto.OrgId), d => d.CurrentHandleOrgId == dto.OrgId)//接办部门
                 .WhereIF(!string.IsNullOrEmpty(dto.OrgLevelOneName), d => d.OrgLevelOneName.Contains(dto.OrgLevelOneName)) //一级部门
                 .WhereIF(!string.IsNullOrEmpty(dto.ActualHandleOrgName), d => d.ActualHandleOrgName.Contains(dto.ActualHandleOrgName)) //接办部门(综合查询模糊)
-                .WhereIF(!string.IsNullOrEmpty(dto.NameOrNo), d => d.AcceptorName == dto.NameOrNo! || d.AcceptorStaffNo == dto.NameOrNo!) //受理人/坐席
+				.WhereIF(!string.IsNullOrEmpty(dto.ActualHandleOrgCode), d => d.ActualHandleOrgCode.StartsWith(dto.ActualHandleOrgCode)) //接办部门(综合查询模糊)
+				.WhereIF(!string.IsNullOrEmpty(dto.NameOrNo), d => d.AcceptorName == dto.NameOrNo! || d.AcceptorStaffNo == dto.NameOrNo!) //受理人/坐席
                 .WhereIF(dto.CreationTimeStart.HasValue, d => d.CreationTime >= dto.CreationTimeStart) //受理时间开始
                 .WhereIF(dto.CreationTimeEnd.HasValue, d => d.CreationTime <= dto.CreationTimeEnd) //受理时间结束
                 .WhereIF(dto.StartTimeStart.HasValue, d => d.StartTime >= dto.StartTimeStart) //流程开启时间开始
@@ -1933,7 +1934,9 @@ public class OrderApplication : IOrderApplication, IScopeDependency
                 .WhereIF(!string.IsNullOrEmpty(dto.OrderTagCode), d => d.OrderTags.Any(ot => ot.DicDataValue == dto.OrderTagCode)) //工单标签
                 .WhereIF(!string.IsNullOrEmpty(dto.FocusOnEvents),
                     d => d.FocusOnEvents.Contains(dto.FocusOnEvents) && !d.FocusOnEvents.Contains("99")) //!string.IsNullOrEmpty(d.FocusOnEvents) && SqlFunc.SplitIn(d.FocusOnEvents, dto.FocusOnEvents))
-                .OrderByIF(string.IsNullOrEmpty(dto.SortField), d => d.CreationTime, OrderByType.Desc) //默认排序时间为创建时间
+				 .WhereIF(dto.SeatEvaluate.Any(), d => dto.SeatEvaluate.Contains(d.SeatEvaluate.Value)) //话务员评价(话务评价)
+				.WhereIF(dto.OrgProcessingResults.Any(),d => dto.OrgProcessingResults.Contains(SqlFunc.JsonField(d.OrgProcessingResults, "Key")))//部门办件结果
+				.OrderByIF(string.IsNullOrEmpty(dto.SortField), d => d.CreationTime, OrderByType.Desc) //默认排序时间为创建时间
                 .OrderByIF(dto is { SortField: "no", SortRule: 0 }, d => d.No, OrderByType.Asc) //工单编号升序
                 .OrderByIF(dto is { SortField: "no", SortRule: 1 }, d => d.No, OrderByType.Desc) //工单编号降序
                 .OrderByIF(dto is { SortField: "isProvinceText", SortRule: 0 }, d => d.IsProvince, OrderByType.Asc) //是否省工单升序

+ 5 - 20
src/Hotline.Application/OrderApp/OrderVisitApp/VoiceVisitTaskExecutor.cs

@@ -34,34 +34,19 @@ namespace Hotline.Application.OrderApp.OrderVisitApp
         {
             Console.WriteLine($"执行vv: {DateTime.Now}");
             if (request == null)
-                return new ApptaskExecuteResult
-                {
-                    IsSuccess = false,
-                    Message = "请求参数为空"
-                };
+                return ApptaskExecuteResult.Fail("请求参数为空");
 
             var baseAddress = _callcenterOptions.Value.XingTang.Address;
             if (string.IsNullOrEmpty(baseAddress))
-                return new ApptaskExecuteResult
-                {
-                    IsSuccess = false,
-                    Message = "未配置请求地址"
-                };
+                return ApptaskExecuteResult.Fail("未配置请求地址");
+
             var client = _httpClientFactory.CreateClient();
             client.BaseAddress = new Uri(baseAddress);
             var url = $"{baseAddress}/groupcall?content=&called1={request.PhoneNo}&called2=&called3=&called4=&called5=&caller=&customerid={request.VisitId}";
             var result = await client.GetAsync(url, cancellation);
             return result.IsSuccessStatusCode
-                ? new ApptaskExecuteResult
-                {
-                    IsSuccess = true,
-                    Message = "成功"
-                }
-                : new ApptaskExecuteResult
-                {
-                    IsSuccess = false,
-                    Message = "请求失败"
-                };
+                ? ApptaskExecuteResult.Success()
+                : ApptaskExecuteResult.Fail("请求呼叫中心外呼失败");
         }
     }
 }

+ 20 - 5
src/Hotline.Share/Dtos/Order/QueryOrderDto.cs

@@ -73,10 +73,15 @@ namespace Hotline.Share.Dtos.Order
         /// </summary>
         public string? ActualHandleOrgName { get; set; }
 
-        /// <summary>
-        /// 受理坐席名字或工号(×)
-        /// </summary>
-        public string? NameOrNo { get; set; }
+		/// <summary>
+		/// 接办部门编号(综合查询使用)
+		/// </summary>
+		public string? ActualHandleOrgCode { get; set; }
+
+		/// <summary>
+		/// 受理坐席名字或工号(×)
+		/// </summary>
+		public string? NameOrNo { get; set; }
 
         /// <summary>
         /// 受理时间(工单创建时间)(√)
@@ -245,8 +250,18 @@ namespace Hotline.Share.Dtos.Order
         /// </summary>
 		public bool? IsReTransact { get; set; }
 
+		/// <summary>
+		/// 话务员评价(话务评价)
+		/// </summary>
+		public List<ESeatEvaluate> SeatEvaluate { get; set; } = new();
 
-    }
+		/// <summary>
+		/// 部门办件结果
+		/// </summary>
+		public List<string> OrgProcessingResults { get; set; } = new();
+
+
+	}
 
 
     public enum FiledType

+ 15 - 0
src/Hotline/BatchTask/IApptaskExecutor.cs

@@ -16,4 +16,19 @@ public class ApptaskExecuteResult
 {
     public bool IsSuccess { get; set; }
     public string? Message { get; set; }
+
+    public ApptaskExecuteResult()
+    {
+
+    }
+
+    public ApptaskExecuteResult(bool isSuccess, string? message = null)
+    {
+        IsSuccess = isSuccess;
+        Message = message;
+    }
+
+    public static ApptaskExecuteResult Success(string? message = null) => new(true, message ?? "成功");
+
+    public static ApptaskExecuteResult Fail(string message) => new(false, message);
 }