Forráskód Böngészése

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

xf 1 éve
szülő
commit
a16a65e7aa

+ 59 - 48
src/Hotline.Api/Controllers/EnforcementOrderController.cs

@@ -14,7 +14,6 @@ using MapsterMapper;
 using Microsoft.AspNetCore.Authorization;
 using Microsoft.AspNetCore.Mvc;
 using SqlSugar;
-using System.Diagnostics.Eventing.Reader;
 using XF.Domain.Authentications;
 using XF.Domain.Exceptions;
 using XF.Domain.Repository;
@@ -72,7 +71,7 @@ namespace Hotline.Api.Controllers
            .WhereIF(dto.IsEnforcementOrder.HasValue, d => d.IsEnforcementOrder == dto.IsEnforcementOrder)//是否行政执法类
            .WhereIF(dto.IsPassTheBuckOrder.HasValue, d => d.IsPassTheBuckOrder == dto.IsPassTheBuckOrder)//是否推诿
            .WhereIF(dto.IsTheClueTrue.HasValue, d => d.IsTheClueTrue == dto.IsTheClueTrue)//线索是否属实
-           .WhereIF(dto.EventTypeId.Any(), d => dto.EventTypeId.Contains(d.EventTypeId))//事项分类
+           .WhereIF(!string.IsNullOrEmpty(dto.EventTypeId), d => dto.EventTypeId == d.EventTypeId)//事项分类
            .WhereIF(!string.IsNullOrEmpty(dto.Title), d => d.Order.Title.Contains(dto.Title!)) //标题
            .WhereIF(!string.IsNullOrEmpty(dto.ProvinceNo), d => d.Order.ProvinceNo.Contains(dto.ProvinceNo)) //省本地编号
            .WhereIF(!string.IsNullOrEmpty(dto.No), d => d.Order.No.Contains(dto.No)) //工单编码
@@ -212,39 +211,6 @@ namespace Hotline.Api.Controllers
             return await _judicialComplaintsEventTypeRepository.Queryable().ToTreeAsync(it => it.Children, it => it.ParentId, null, it => it.Id);
         }
 
-        /// <summary>
-        /// 执法部门办件统计
-        /// </summary>
-        /// <param name="StartDate"></param>
-        /// <param name="EndDate"></param>
-        /// <returns></returns>
-        [HttpGet("enforcement_departmental_processing_statistics")]
-        public async Task<object> GetDepartmentalProcessingStatisticsAsync(DateTime StartDate, DateTime EndDate)
-        {
-
-            EndDate = EndDate.AddDays(1).AddSeconds(-1);
-            var data = await _enforcementOrdersRepository.Queryable()
-                   .Includes(x => x.Order)
-                   .Where(d => d.Order.Id != null)
-                   .Where(d => d.Order.FiledTime >= StartDate && d.Order.FiledTime <= EndDate)
-                    .GroupBy(d => new
-                    {
-                        OrgCode = d.Order.OrgLevelOneCode,
-                        OrgName = d.Order.OrgLevelOneName
-                    })
-                    .Select(d => new
-                    {
-                        OrgName = d.Order.OrgLevelOneName,
-                        CountNum = SqlFunc.AggregateCount(d.Order.OrgLevelOneCode),
-                        TheClueIsTrue = SqlFunc.AggregateSum(SqlFunc.IIF(d.IsTheClueTrue.HasValue && d.IsTheClueTrue.Value == true, 1, 0)),
-                        TheClueIsNotTrue = SqlFunc.AggregateSum(SqlFunc.IIF(d.IsTheClueTrue.HasValue && d.IsTheClueTrue.Value == false, 1, 0)),
-                        EnforcementOrder = SqlFunc.AggregateSum(SqlFunc.IIF(d.IsEnforcementOrder, 1, 0))
-                    })
-                   .ToListAsync();
-
-            return data;
-        }
-
         /// <summary>
         /// 事项分类统计
         /// </summary>
@@ -254,6 +220,7 @@ namespace Hotline.Api.Controllers
         /// <param name="AreaCode"></param>
         /// <returns></returns>
         [HttpGet("event_classification_statistics")]
+        [AllowAnonymous]
         public async Task<object> GetEventClassificationStatisticsAsync(DateTime StartDate, DateTime EndDate, string Id, string AreaCode)
         {
 
@@ -262,7 +229,7 @@ namespace Hotline.Api.Controllers
             var items = await _judicialComplaintsEventTypeRepository.Queryable()
              .LeftJoin<EnforcementOrders>((x, o) => o.EventTypeSpliceName != null && (x.EventTypeName == o.EventTypeSpliceName || o.EventTypeSpliceName.Contains(x.EventTypeName)))
             .LeftJoin<Order>((x, o, p) => p.Id == o.Id)
-            .Where((x, o, p) => p.FiledTime >= StartDate && p.FiledTime <= EndDate)
+            .Where((x, o, p) => p.CreationTime >= StartDate && p.CreationTime <= EndDate)
             .WhereIF(!string.IsNullOrEmpty(AreaCode), (x, o, p) => p.AreaCode == AreaCode)
              .Where((x, o, p) => x.ParentId == Id)
              .GroupBy((x, o, p) => new { x.Id, x.EventTypeName })
@@ -284,17 +251,64 @@ namespace Hotline.Api.Controllers
                 Sublevel = false
             };
 
+            var data = await _enforcementOrdersRepository.Queryable()
+                .Includes(x => x.Order)
+                .Where(d => d.Order.Id != null)
+                .Where(d => d.Order.CreationTime >= StartDate && d.Order.CreationTime <= EndDate)
+                .GroupBy(d => d.Id)
+                 .Select(d => new
+                 {
+                     TheClueIsTrue = SqlFunc.AggregateSum(SqlFunc.IIF(d.IsTheClueTrue.HasValue && d.IsTheClueTrue.Value == true, 1, 0)),
+                     TheClueIsNotTrue = SqlFunc.AggregateSum(SqlFunc.IIF(d.IsTheClueTrue.HasValue && d.IsTheClueTrue.Value == false, 1, 0)),
+                     EnforcementOrder = SqlFunc.AggregateSum(SqlFunc.IIF(d.IsEnforcementOrder, 1, 0)),
+                     PassTheBuckOrder = SqlFunc.AggregateSum(SqlFunc.IIF(d.IsPassTheBuckOrder, 1, 0))
+                 })
+                   .ToListAsync();
+
             var orderCount = new
             {
-                TheClueIsTrue = 0,
-                TheClueIsNotTrue = 0,
-                EnforcementOrder = 0,
-                PassTheBuckOrder = 0
+                TheClueIsTrue = data.Count > 0 ? data[0].TheClueIsTrue : 0,
+                TheClueIsNotTrue = data.Count > 0 ? data?[0].TheClueIsNotTrue : 0,
+                EnforcementOrder = data.Count > 0 ? data?[0].EnforcementOrder : 0,
+                PassTheBuckOrder = data.Count > 0 ? data?[0].PassTheBuckOrder : 0
             };
 
             return new { List = items, Total = total, OrderCount = orderCount };
         }
 
+        /// <summary>
+        /// 执法部门办件统计
+        /// </summary>
+        /// <param name="StartDate"></param>
+        /// <param name="EndDate"></param>
+        /// <returns></returns>
+        [HttpGet("enforcement_departmental_processing_statistics")]
+        public async Task<object> GetDepartmentalProcessingStatisticsAsync(DateTime StartDate, DateTime EndDate)
+        {
+
+            EndDate = EndDate.AddDays(1).AddSeconds(-1);
+            var data = await _enforcementOrdersRepository.Queryable()
+                   .Includes(x => x.Order)
+                   .Where(d => d.Order.Id != null)
+                   .Where(d => d.Order.CreationTime >= StartDate && d.Order.CreationTime <= EndDate)
+                    .GroupBy(d => new
+                    {
+                        OrgCode = d.Order.OrgLevelOneCode,
+                        OrgName = d.Order.OrgLevelOneName
+                    })
+                    .Select(d => new
+                    {
+                        OrgName = d.Order.OrgLevelOneName,
+                        CountNum = SqlFunc.AggregateCount(d.Order.OrgLevelOneCode),
+                        TheClueIsTrue = SqlFunc.AggregateSum(SqlFunc.IIF(d.IsTheClueTrue.HasValue && d.IsTheClueTrue.Value == true, 1, 0)),
+                        TheClueIsNotTrue = SqlFunc.AggregateSum(SqlFunc.IIF(d.IsTheClueTrue.HasValue && d.IsTheClueTrue.Value == false, 1, 0)),
+                        EnforcementOrder = SqlFunc.AggregateSum(SqlFunc.IIF(d.IsEnforcementOrder, 1, 0))
+                    })
+                   .ToListAsync();
+
+            return data;
+        }
+
         /// <summary>
         /// 区域受理排行
         /// </summary>
@@ -307,7 +321,7 @@ namespace Hotline.Api.Controllers
             var list = await _enforcementOrdersRepository.Queryable()
                .Includes(x => x.Order)
                .Where(x => x.Order.Id != null)
-               .Where(x => x.Order.FiledTime >= StartDate && x.Order.FiledTime <= EndDate)
+               .Where(x => x.Order.CreationTime >= StartDate && x.Order.CreationTime <= EndDate)
                .LeftJoin<SystemArea>((x, o) => x.Order.AreaCode.Substring(SqlFunc.MappingColumn<int>("0"), SqlFunc.MappingColumn<int>("6")) == o.Id)
                .Where((x, o) => x.Order.Status >= EOrderStatus.Filed)
                .GroupBy((x, o) => new
@@ -342,13 +356,10 @@ namespace Hotline.Api.Controllers
         {
             EndDate = EndDate.AddDays(1).AddSeconds(-1);
 
-            var list =
-                 await _enforcementOrdersRepository.Queryable()
-                 .LeftJoin<OrderVisit>((x,o)=>x.Id==o.OrderId)
-                 .LeftJoin<OrderVisitDetail>((x, o,p) => o.Id == p.VisitId)
-                .Where((x, o, p) => o.VisitTime >= StartDate && o.VisitTime <= EndDate && p.VisitTarget == EVisitTarget.Org 
-                && o.VisitState == EVisitState.Visited && !string.IsNullOrEmpty(p.VisitOrgCode))
-
+            var list = await _enforcementOrdersRepository.Queryable()
+                 .LeftJoin<OrderVisit>((x, o) => x.Id == o.OrderId)
+                 .LeftJoin<OrderVisitDetail>((x, o, p) => o.Id == p.VisitId)
+                .Where((x, o, p) => o.VisitTime >= StartDate && o.VisitTime <= EndDate && p.VisitTarget == EVisitTarget.Org && o.VisitState == EVisitState.Visited && !string.IsNullOrEmpty(p.VisitOrgCode))
                 .GroupBy((x, o, p) => new
                 {
                     VisitOrgCode = p.VisitOrgCode.Substring(SqlFunc.MappingColumn<int>("0"), SqlFunc.MappingColumn<int>("6"))

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

@@ -2506,8 +2506,9 @@ public class OrderController : BaseController
 
         try
         {
-            // 平均派单
-            if (dto.Workflow.BusinessType == EBusinessType.Send)
+			// 平均派单
+			var averageSendOrder = bool.Parse(_systemSettingCacheManager.GetSetting(SettingConstants.AverageSendOrder).SettingValue[0]);
+			if (dto.Workflow.BusinessType == EBusinessType.Send && averageSendOrder)
             {
                 dto.Workflow.NextHandlers = await _orderDomainService.AverageOrder(HttpContext.RequestAborted);
             }

+ 1 - 1
src/Hotline.Share/Dtos/JudicialManagement/QueryEnforcementOrderDto.cs

@@ -46,7 +46,7 @@ namespace Hotline.Share.Dtos.JudicialManagement
         /// <summary>
         /// 事项类型
         /// </summary>
-        public List<string> EventTypeId { get; set; } = new();
+        public string EventTypeId { get; set; } 
 
         /// <summary>
         /// 接办部门(√)

+ 1 - 1
src/Hotline/Orders/OrderDomainService.cs

@@ -183,7 +183,7 @@ public class OrderDomainService : IOrderDomainService, IScopeDependency
     /// <returns></returns>
     public async Task<List<Kv>> AverageOrder(CancellationToken cancellationToken)
     {
-        var user = await _userRepository.Queryable().Where(x => x.Id == OrderDefaults.SourceChannel.SendPoolId).FirstAsync(cancellationToken);
+        var user = await _userRepository.Queryable(includeDeleted:true).Where(x => x.Id == OrderDefaults.SourceChannel.SendPoolId).FirstAsync(cancellationToken);
         DateTime time = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd"));
         //根据当前时间获取排班信息
         var scheduling = await _schedulingRepository.Queryable().Includes(x => x.SchedulingUser)