TANG JIANG 1 year ago
parent
commit
de57a36eba

+ 22 - 1
src/Hotline.Api/Controllers/Bi/BiOrderController.cs

@@ -17,6 +17,8 @@ using XF.Domain.Exceptions;
 using Microsoft.AspNetCore.Authorization;
 using Microsoft.AspNetCore.Authorization;
 using Hotline.CallCenter.Calls;
 using Hotline.CallCenter.Calls;
 using Hotline.Share.Enums.CallCenter;
 using Hotline.Share.Enums.CallCenter;
+using Org.BouncyCastle.Utilities;
+using Polly.Caching;
 
 
 namespace Hotline.Api.Controllers.Bi
 namespace Hotline.Api.Controllers.Bi
 {
 {
@@ -657,7 +659,7 @@ namespace Hotline.Api.Controllers.Bi
         /// <param name="StartDate"></param>
         /// <param name="StartDate"></param>
         /// <param name="EndDate"></param>
         /// <param name="EndDate"></param>
         /// <returns></returns>
         /// <returns></returns>
-        [HttpGet("Center_report_forms_statistics")]
+        [HttpGet("center_report_forms_statistics")]
         public async Task<CenterReportStatisticsDto> CenterReportFormsStatistics(DateTime StartDate, DateTime EndDate)
         public async Task<CenterReportStatisticsDto> CenterReportFormsStatistics(DateTime StartDate, DateTime EndDate)
         {
         {
             EndDate = EndDate.AddDays(1).AddSeconds(-1);
             EndDate = EndDate.AddDays(1).AddSeconds(-1);
@@ -908,5 +910,24 @@ namespace Hotline.Api.Controllers.Bi
 
 
             return orderData;
             return orderData;
         }
         }
+
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        [HttpGet("department_acceptance_type_order_list")]
+        public async Task<PagedDto<OrderDto>> DepartmentAcceptanceTypeOrderList([FromQuery] DepartmentKeyWordRequest dto)
+        {
+            dto.EndDate = dto.EndDate.AddDays(1).AddSeconds(-1);
+            var (total, items) = await _orderRepository.Queryable()
+                .Where(p => p.CreationTime >= dto.StartDate && p.CreationTime <= dto.EndDate && (int)p.Status >= 300)
+                .WhereIF(!string.IsNullOrEmpty(dto.OrgLevelOneCode), p => p.OrgLevelOneCode == dto.OrgLevelOneCode)
+                .WhereIF(!string.IsNullOrEmpty(dto.AcceptTypeCode), p => p.AcceptTypeCode == dto.AcceptTypeCode)
+                .OrderByDescending(d => d.CreationTime)
+                .ToPagedListAsync(dto, HttpContext.RequestAborted);
+
+            return new PagedDto<OrderDto>(total, _mapper.Map<IReadOnlyList<OrderDto>>(items));
+        }
     }
     }
 }
 }

+ 25 - 0
src/Hotline.Share/Requests/DepartmentKeyWordRequest.cs

@@ -0,0 +1,25 @@
+namespace Hotline.Share.Requests
+{
+    public record DepartmentKeyWordRequest : PagedRequest
+    {
+        /// <summary>
+        /// 开始时间
+        /// </summary>
+        public DateTime StartDate { get; set; }
+
+        /// <summary>
+        /// 结束时间
+        /// </summary>
+        public DateTime EndDate { get; set; }
+
+        /// <summary>
+        /// 一级部门编码
+        /// </summary>
+        public string? OrgLevelOneCode { get; set; }
+
+        /// <summary>
+        /// 受理类型编码
+        /// </summary>
+        public string? AcceptTypeCode { get; set; }
+    }
+}