Selaa lähdekoodia

扭转信件统计

Dun.Jason 8 kuukautta sitten
vanhempi
commit
eed8588ae8

+ 30 - 3
src/Hotline.Api/Controllers/Bi/BiOrderController.cs

@@ -3964,11 +3964,38 @@ namespace Hotline.Api.Controllers.Bi
 
         }
 
-
-
+        /// <summary>
+        /// 扭转信件统计
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        [HttpGet("ordervisit-jude-statistics")]
         public async Task<List<OrderVisitJudeStatisticsRep>> OrderVisitJudeStatistics([FromQuery] OrderVisitJudeStatisticsReq dto)
         {
-            
+            var list = await _orderApplication.OrderVisitJudeStatistics(dto).ToListAsync();
+            return list;
+        }
+
+        /// <summary>
+        /// 扭转信件统计
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        [HttpPost("ordervisit-jude-statistics-export")]
+        public async Task<FileStreamResult> OrderVisitJudeStatisticsExport([FromBody]ExportExcelDto<OrderVisitJudeStatisticsReq> dto)
+        {
+            var query = _orderApplication.OrderVisitJudeStatistics(dto.QueryDto);
+            List<OrderVisitJudeStatisticsRep> exportList;
+            exportList = await query.ToListAsync(HttpContext.RequestAborted);
+            var ordersDtos = _mapper.Map<ICollection<OrderDataInventoryRep>>(exportList);
+            dynamic? dynamicClass = DynamicClassHelper.CreateDynamicClass(dto.ColumnInfos);
+            var dtos = ordersDtos
+                .Select(stu => _mapper.Map(stu, typeof(OrderDataInventoryRep), dynamicClass))
+                .Cast<object>()
+                .ToList();
+
+            var stream = ExcelHelper.CreateStream(dtos);
+            return ExcelStreamResult(stream, "扭转信件统计");
         }
     }
 }

+ 4 - 0
src/Hotline.Application/Orders/OrderApplication.cs

@@ -2004,6 +2004,10 @@ public class OrderApplication : IOrderApplication, IScopeDependency
         {
             dto.EndTime = dto.StartTime?.AddDays(1).AddSeconds(-1);
         }
+        else
+        {
+            dto.EndTime = dto.EndTime?.AddDays(1).AddSeconds(-1);
+        }
        return _orderVisitRepository.Queryable()
             .WhereIF(dto.StartTime.HasValue, x => x.VisitTime >= dto.StartTime)
             .WhereIF(dto.EndTime.HasValue, x => x.VisitTime <= dto.EndTime)

+ 11 - 0
src/Hotline.Share/Requests/PagedKeywordRequest.cs

@@ -1184,3 +1184,14 @@ public class OrderVisitJudeStatisticsRep
 
 }
 
+
+public record OrderVisitJudeDetailReq: PagedRequest
+{
+
+}
+
+
+public class OrderVisitJudeDetailRep
+{
+
+}