Selaa lähdekoodia

Merge branch 'release_20250519tj' of Fengwo/hotline into release

自贡修改部门查看历史工单权限,修改大屏受理类型办件统计中待办数据,大屏地图区域中查询高新区
tangjiang 4 päivää sitten
vanhempi
commit
f3c858b878

+ 73 - 71
src/Hotline.Api/Controllers/Bigscreen/DataScreenController.cs

@@ -196,7 +196,7 @@ namespace Hotline.Api.Controllers.Bigscreen
         {
             EndTime = EndTime.AddDays(1).AddSeconds(-1);
             var list = await _orderRepository.Queryable(false, false, false).Where(x =>
-                    x.StartTime >= StartTime && x.StartTime <= EndTime && x.Status > EOrderStatus.Handling && !string.IsNullOrEmpty(x.AcceptType))
+                    x.StartTime >= StartTime && x.StartTime <= EndTime && x.Status > EOrderStatus.WaitForAccept && !string.IsNullOrEmpty(x.AcceptType))
                 .GroupBy(x => x.AcceptType)
                 .Select(x => new OrderTypeHandleStatisticsDto
                 {
@@ -359,7 +359,9 @@ namespace Hotline.Api.Controllers.Bigscreen
                     AcceptedCount = SqlFunc.AggregateCount(it.AreaCode.Substring(SqlFunc.MappingColumn<int>("0"), SqlFunc.MappingColumn<int>("6"))),
                     CompletionCount = SqlFunc.AggregateSum(SqlFunc.IIF(it.Status >= EOrderStatus.Filed, 1, 0))
                 }).MergeTable()
-                .Where(x => x.AreaCode != "519800" && x.AreaCode != "519900").OrderByDescending(it => it.AcceptedCount).ToListAsync();
+                .WhereIF(_appOptions.Value.IsZiGong == false, x => x.AreaCode != "519800" && x.AreaCode != "519900")
+                .WhereIF(_appOptions.Value.IsZiGong == true, x => x.AreaCode != "519900")
+                .OrderByDescending(it => it.AcceptedCount).ToListAsync();
             return list;
         }
 
@@ -529,74 +531,74 @@ namespace Hotline.Api.Controllers.Bigscreen
         /// <returns></returns>
         [AllowAnonymous]
         [HttpGet("ordervisit-orgsatisfaction-rank")]
-		public async Task<List<OrderVisitOrgSatisfactionRankDto>> OrderVisitOrgSatisfactionRank(DateTime StartTime, DateTime EndTime)
-		{
-			var list = new List<OrderVisitOrgSatisfactionRankDto>();
-
-			if (_appOptions.Value.IsLuZhou)
-			{
-				list = await _orderVisitDetailRepository.Queryable()
-                      .LeftJoin<OrderVisit>((x,ov)=>x.VisitId == ov.Id)
-					  .Where((x, ov) => ov.VisitTime >= StartTime && ov.VisitTime <= EndTime && x.VisitTarget == EVisitTarget.Org &&
-								  x.VisitOrgCode.Length >= 6 && ov.VisitState == EVisitState.Visited)
-					  .GroupBy((x, ov) => new
-					  {
-						  VisitOrgCode = x.VisitOrgCode.Substring(SqlFunc.MappingColumn<int>("0"), SqlFunc.MappingColumn<int>("6"))
-					  })
-					  .Select((x, ov) => new OrderVisitOrgSatisfactionRankDto()
-					  {
-						  VisitOrgCode = x.VisitOrgCode.Substring(SqlFunc.MappingColumn<int>("0"), SqlFunc.MappingColumn<int>("6")),
-						  SatisfiedCount =
-							  SqlFunc.AggregateSum(SqlFunc.IIF(
-								  SqlFunc.JsonField(x.OrgProcessingResults, "Key") != "1" && SqlFunc.JsonField(x.OrgProcessingResults, "Key") != "2", 1,
-								  0)),
-						  VisitCount = SqlFunc.AggregateCount(x.VisitOrgName)
-					  }).MergeTable()
-					  .LeftJoin<SystemOrganize>((x, so) => x.VisitOrgCode == so.Id)
-					  .Select((x, so) => new OrderVisitOrgSatisfactionRankDto()
-					  {
-						  VisitOrgCode = x.VisitOrgCode,
-						  VisitOrgName = so.Name,
-						  SatisfiedCount = x.SatisfiedCount,
-						  VisitCount = x.VisitCount
-					  })
-					  .OrderByDescending(x => x.SatisfiedCount).Take(10).ToListAsync();
-				list = list.OrderByDescending(x => x.SatisfiedRate).ToList();
-			}
-			else
-			{
-				list = await _orderVisitDetailRepository.Queryable()
-					.Includes(x => x.OrderVisit)
-					.Where(x => x.OrderVisit.VisitTime >= StartTime && x.OrderVisit.VisitTime <= EndTime && x.VisitTarget == EVisitTarget.Org &&
-							x.VisitOrgCode.Length >= 6 && x.OrderVisit.VisitState == EVisitState.Visited)
-					.GroupBy(x => new
-					{
-						VisitOrgCode = x.VisitOrgCode.Substring(SqlFunc.MappingColumn<int>("0"), SqlFunc.MappingColumn<int>("6")),
-						x.VisitOrgName
-					})
-					.Select(x => new OrderVisitOrgSatisfactionRankDto()
-					{
-						VisitOrgCode = x.VisitOrgCode.Substring(SqlFunc.MappingColumn<int>("0"), SqlFunc.MappingColumn<int>("6")),
-						VisitOrgName = x.VisitOrgName,
-						SatisfiedCount =
-						SqlFunc.AggregateSum(SqlFunc.IIF(
-							SqlFunc.JsonField(x.OrgProcessingResults, "Key") != "1" && SqlFunc.JsonField(x.OrgProcessingResults, "Key") != "2", 1,
-							0)),
-						VisitCount = SqlFunc.AggregateCount(x.VisitOrgName)
-					}).MergeTable().OrderByDescending(x => x.SatisfiedCount).Take(10).ToListAsync();
-				list = list.OrderByDescending(x => x.SatisfiedRate).ToList();
-			}
-			return list;
-		}
-
-		/// <summary>
-		/// 占比分析
-		/// </summary>
-		/// <param name="StartTime"></param>
-		/// <param name="EndTime"></param>
-		/// <param name="IsSource"></param>
-		/// <returns></returns>
-		[AllowAnonymous]
+        public async Task<List<OrderVisitOrgSatisfactionRankDto>> OrderVisitOrgSatisfactionRank(DateTime StartTime, DateTime EndTime)
+        {
+            var list = new List<OrderVisitOrgSatisfactionRankDto>();
+
+            if (_appOptions.Value.IsLuZhou)
+            {
+                list = await _orderVisitDetailRepository.Queryable()
+                      .LeftJoin<OrderVisit>((x, ov) => x.VisitId == ov.Id)
+                      .Where((x, ov) => ov.VisitTime >= StartTime && ov.VisitTime <= EndTime && x.VisitTarget == EVisitTarget.Org &&
+                                  x.VisitOrgCode.Length >= 6 && ov.VisitState == EVisitState.Visited)
+                      .GroupBy((x, ov) => new
+                      {
+                          VisitOrgCode = x.VisitOrgCode.Substring(SqlFunc.MappingColumn<int>("0"), SqlFunc.MappingColumn<int>("6"))
+                      })
+                      .Select((x, ov) => new OrderVisitOrgSatisfactionRankDto()
+                      {
+                          VisitOrgCode = x.VisitOrgCode.Substring(SqlFunc.MappingColumn<int>("0"), SqlFunc.MappingColumn<int>("6")),
+                          SatisfiedCount =
+                              SqlFunc.AggregateSum(SqlFunc.IIF(
+                                  SqlFunc.JsonField(x.OrgProcessingResults, "Key") != "1" && SqlFunc.JsonField(x.OrgProcessingResults, "Key") != "2", 1,
+                                  0)),
+                          VisitCount = SqlFunc.AggregateCount(x.VisitOrgName)
+                      }).MergeTable()
+                      .LeftJoin<SystemOrganize>((x, so) => x.VisitOrgCode == so.Id)
+                      .Select((x, so) => new OrderVisitOrgSatisfactionRankDto()
+                      {
+                          VisitOrgCode = x.VisitOrgCode,
+                          VisitOrgName = so.Name,
+                          SatisfiedCount = x.SatisfiedCount,
+                          VisitCount = x.VisitCount
+                      })
+                      .OrderByDescending(x => x.SatisfiedCount).Take(10).ToListAsync();
+                list = list.OrderByDescending(x => x.SatisfiedRate).ToList();
+            }
+            else
+            {
+                list = await _orderVisitDetailRepository.Queryable()
+                    .Includes(x => x.OrderVisit)
+                    .Where(x => x.OrderVisit.VisitTime >= StartTime && x.OrderVisit.VisitTime <= EndTime && x.VisitTarget == EVisitTarget.Org &&
+                            x.VisitOrgCode.Length >= 6 && x.OrderVisit.VisitState == EVisitState.Visited)
+                    .GroupBy(x => new
+                    {
+                        VisitOrgCode = x.VisitOrgCode.Substring(SqlFunc.MappingColumn<int>("0"), SqlFunc.MappingColumn<int>("6")),
+                        x.VisitOrgName
+                    })
+                    .Select(x => new OrderVisitOrgSatisfactionRankDto()
+                    {
+                        VisitOrgCode = x.VisitOrgCode.Substring(SqlFunc.MappingColumn<int>("0"), SqlFunc.MappingColumn<int>("6")),
+                        VisitOrgName = x.VisitOrgName,
+                        SatisfiedCount =
+                        SqlFunc.AggregateSum(SqlFunc.IIF(
+                            SqlFunc.JsonField(x.OrgProcessingResults, "Key") != "1" && SqlFunc.JsonField(x.OrgProcessingResults, "Key") != "2", 1,
+                            0)),
+                        VisitCount = SqlFunc.AggregateCount(x.VisitOrgName)
+                    }).MergeTable().OrderByDescending(x => x.SatisfiedCount).Take(10).ToListAsync();
+                list = list.OrderByDescending(x => x.SatisfiedRate).ToList();
+            }
+            return list;
+        }
+
+        /// <summary>
+        /// 占比分析
+        /// </summary>
+        /// <param name="StartTime"></param>
+        /// <param name="EndTime"></param>
+        /// <param name="IsSource"></param>
+        /// <returns></returns>
+        [AllowAnonymous]
         [HttpGet("order-source-accepttype-statistics")]
         public async Task<List<OrderSourceAndAcceptTtoeStatisticsDto>> OrderSourceAndAcceptTtoeStatistics(DateTime StartTime, DateTime EndTime,
             bool IsSource)
@@ -716,7 +718,7 @@ namespace Hotline.Api.Controllers.Bigscreen
         {
             var list = await _orderRepository
                .Queryable(false, false, false)
-               .Where(x => x.Source==ESource.Police110 && x.CreationTime.Date == DateTime.Now.Date)
+               .Where(x => x.Source == ESource.Police110 && x.CreationTime.Date == DateTime.Now.Date)
                .OrderByDescending(x => x.CreationTime)
                .Take(50)
                .ToListAsync();

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

@@ -4534,7 +4534,7 @@ public class OrderController : BaseController
     [HttpGet("history")]
     public async Task<PagedDto<OrderHistoryOutDto>> Query([FromQuery] QueryOrderHistoryDto dto)
     {
-        if (dto.PhoneNo.Equals("信息保密"))
+        if (dto.PhoneNo.Equals("信息保密") || dto.PhoneNo.StartsWith("***"))
         {
             return new PagedDto<OrderHistoryOutDto>() { };
         }
@@ -4561,8 +4561,7 @@ public class OrderController : BaseController
             .Includes(d => d.OrderScreens)
             .Includes(d => d.OrderTerminates)
             .Where(d => d.Contact == dto.PhoneNo)
-            .WhereIF(_sessionContext.OrgIsCenter == false && (_appOptions.Value.IsYiBin == true || _appOptions.Value.IsLuZhou == true),
-                d => d.IsSecret == false)
+            .WhereIF(_sessionContext.OrgIsCenter == false, d => d.IsSecret == false)
             .WhereIF(!string.IsNullOrEmpty(dto.OrderId) && _appOptions.Value.IsLuZhou == false, d => d.Id != dto.OrderId)
             .WhereIF(!string.IsNullOrEmpty(dto.Keyword), d => d.Title.Contains(dto.Keyword!) || d.No.Contains(dto.Keyword!))
             .Select(d => new OrderHistoryOutDto
@@ -4601,7 +4600,7 @@ public class OrderController : BaseController
         //随手拍
         if (_systemSettingCacheManager.Snapshot)
         {
-            query = query.WhereIF(dto.IndustryId.NotNullOrEmpty(),  d => d.OrderSnapshot.IndustryId == dto.IndustryId);
+            query = query.WhereIF(dto.IndustryId.NotNullOrEmpty(), d => d.OrderSnapshot.IndustryId == dto.IndustryId);
             query = query.WhereIF(dto.IsSnapshot.HasValue && dto.IsSnapshot.Value == true, d => d.OrderSnapshot.Id != null);
         }