|
@@ -1,17 +1,22 @@
|
|
|
using FluentValidation.Results;
|
|
|
using Hotline.FlowEngine.Workflows;
|
|
|
using Hotline.Orders;
|
|
|
+using Hotline.Repository.SqlSugar.Orders;
|
|
|
using Hotline.Settings.Hotspots;
|
|
|
using Hotline.Share.Attributes;
|
|
|
+using Hotline.Share.Dtos;
|
|
|
using Hotline.Share.Dtos.Snapshot;
|
|
|
using Hotline.Share.Enums.FlowEngine;
|
|
|
using Hotline.Share.Enums.Order;
|
|
|
using Hotline.Share.Enums.Snapshot;
|
|
|
+using Hotline.Share.Requests;
|
|
|
using Hotline.Share.Tools;
|
|
|
using Hotline.Snapshot;
|
|
|
using Hotline.Snapshot.Interfaces;
|
|
|
using Hotline.Tools;
|
|
|
using Mapster;
|
|
|
+using Microsoft.AspNetCore.Http;
|
|
|
+using Microsoft.AspNetCore.Mvc;
|
|
|
using NPOI.SS.Formula.Functions;
|
|
|
using SqlSugar;
|
|
|
using System;
|
|
@@ -35,8 +40,9 @@ public class BiSnapshotApplication : IBiSnapshotApplication, IScopeDependency
|
|
|
private readonly IRedPackAuditRepository _redPackAuditRepository;
|
|
|
private readonly IRepository<Hotspot> _hotspotTypeRepository;
|
|
|
private readonly ISessionContext _sessionContext;
|
|
|
+ private readonly IOrderRepository _orderRepository;
|
|
|
|
|
|
- public BiSnapshotApplication(IOrderSnapshotRepository orderSnapshotRepository, IRedPackRecordRepository redPackRecordRepository, IIndustryRepository industryRepository, IIndustryCaseRepository industryCaseRepository, IRedPackAuditRepository redPackAuditRepository, IRepository<Hotspot> hotspotTypeRepository, ISessionContext sessionContext)
|
|
|
+ public BiSnapshotApplication(IOrderSnapshotRepository orderSnapshotRepository, IRedPackRecordRepository redPackRecordRepository, IIndustryRepository industryRepository, IIndustryCaseRepository industryCaseRepository, IRedPackAuditRepository redPackAuditRepository, IRepository<Hotspot> hotspotTypeRepository, ISessionContext sessionContext, IOrderRepository orderRepository)
|
|
|
{
|
|
|
_orderSnapshotRepository = orderSnapshotRepository;
|
|
|
_redPackRecordRepository = redPackRecordRepository;
|
|
@@ -45,6 +51,7 @@ public class BiSnapshotApplication : IBiSnapshotApplication, IScopeDependency
|
|
|
_redPackAuditRepository = redPackAuditRepository;
|
|
|
_hotspotTypeRepository = hotspotTypeRepository;
|
|
|
_sessionContext = sessionContext;
|
|
|
+ _orderRepository = orderRepository;
|
|
|
}
|
|
|
|
|
|
public ISugarQueryable<HotspotStatisticsOutDto> GetHotspotStatistics(HotspotStatisticsInDto dto)
|
|
@@ -55,7 +62,7 @@ public class BiSnapshotApplication : IBiSnapshotApplication, IScopeDependency
|
|
|
if (dto.HotspotCode.NotNullOrEmpty())
|
|
|
{
|
|
|
count = (dto.HotspotCode.Length + 2).ToString();
|
|
|
- dto.HotspotCode.Length.ToString();
|
|
|
+ countx = dto.HotspotCode.Length.ToString();
|
|
|
}
|
|
|
return _hotspotTypeRepository.Queryable()
|
|
|
.LeftJoin<Order>((it, o) => it.Id == o.HotspotId)
|
|
@@ -81,6 +88,27 @@ public class BiSnapshotApplication : IBiSnapshotApplication, IScopeDependency
|
|
|
});
|
|
|
}
|
|
|
|
|
|
+ /// <summary>
|
|
|
+ /// 热点类型小类统计明细
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="dto"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ public ISugarQueryable<HotspotStatisticsDetailsOutDto> HotspotStatisticsDetail([FromQuery] HotspotStatisticsDetailsInDto dto)
|
|
|
+ {
|
|
|
+ var IsCenter = _sessionContext.OrgIsCenter;
|
|
|
+ IsCenter = true;
|
|
|
+ var query = _orderRepository.Queryable()
|
|
|
+ .Includes(d => d.OrderVisits)
|
|
|
+ .Where(d => d.CreationTime >= dto.StartTime && d.CreationTime <= dto.EndTime)
|
|
|
+ .WhereIF(dto.HotspotCode.NotNullOrEmpty(), d => d.HotspotId.StartsWith(dto.HotspotCode))
|
|
|
+ .WhereIF(IsCenter == false, d => d.ActualHandleOrgCode.StartsWith(_sessionContext.RequiredOrgId))
|
|
|
+ .Select(d => new HotspotStatisticsDetailsOutDto
|
|
|
+ {
|
|
|
+ OrderScreenStatus = SqlFunc.Subqueryable<OrderScreen>().Where(q => q.OrderId == d.Id).OrderByDesc(q => q.CreationTime).Select(q => q.Status), //x.OrderScreens.FirstOrDefault().Status,
|
|
|
+ }, true);
|
|
|
+ return query;
|
|
|
+ }
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 市民红包审批统计
|
|
|
/// </summary>
|