Переглянути джерело

Merge branch 'dev' of http://git.12345lm.cn/Fengwo/hotline into dev

Dun.Jason 10 місяців тому
батько
коміт
c5ce0e649e

+ 1 - 1
src/Hotline.Api/Controllers/OrderController.cs

@@ -1644,7 +1644,7 @@ public class OrderController : BaseController
         var view = dto.source == 1;
         var handler = dto.source == 1 && dto.Status is EScreenStatus.Apply;
 
-        var query = _orderScreenRepository.Queryable(canView: view, hasHandled: handler)
+        var query = _orderScreenRepository.Queryable(hasHandled: handler)
             .Includes(d => d.Order)
             .Includes(d => d.VisitDetail)
             .Includes(d => d.Visit, v => v.Order)

+ 1 - 1
src/Hotline.Application/Orders/OrderApplication.cs

@@ -543,7 +543,7 @@ public class OrderApplication : IOrderApplication, IScopeDependency
     {
 
         return _orderRepository.Queryable()
-            .WhereIF(string.IsNullOrEmpty(dto.SourceChannel), d => d.SourceChannel == dto.SourceChannel)
+            .WhereIF(!string.IsNullOrEmpty(dto.SourceChannel), d => d.SourceChannel == dto.SourceChannel)
             .WhereIF(dto.Time.HasValue, d => d.CreationTime.ToString("yyyy-MM-dd") == dto.Time.Value.ToString("yyyy-MM-dd"))
             .WhereIF(dto.IdentityType.HasValue, d => d.IdentityType == dto.IdentityType)
             .Where(d => d.SourceChannel != null && d.SourceChannel != "");

+ 19 - 7
src/Hotline.Repository.SqlSugar/Orders/OrderRepository.cs

@@ -10,6 +10,8 @@ using Hotline.Share.Enums.Order;
 using Hotline.Share.Requests;
 using SqlSugar;
 using System.Data;
+using System.Linq;
+using System.Linq.Dynamic.Core;
 using System.Reflection;
 using System.Reflection.Emit;
 using XF.Domain.Dependency;
@@ -586,7 +588,8 @@ namespace Hotline.Repository.SqlSugar.Orders
 				 .WhereIF(dto.IdentityType != null, p => p.IdentityType == dto.IdentityType)
 				 .Select(p => new
 				 {
-					 SourceChannelCode = p.SourceChannelCode
+					 SourceChannelCode = p.SourceChannelCode,
+					 Hour = p.CreationTime.ToString("yyyy-MM-dd")
 				 })
 			   .MergeTable();
 
@@ -594,14 +597,16 @@ namespace Hotline.Repository.SqlSugar.Orders
 			  .LeftJoin(listOrder, (s, p) => s.DicDataValue == p.SourceChannelCode)
 			  .Where((s, p) => s.DicTypeCode == "SourceChannel")
 			  .GroupBy((s, p) => s.DicDataValue).GroupBy((s, p) => s.DicDataName)
-			  .OrderBy((s, p) => s.DicDataValue)
+			  .GroupBy((s, p) => p.Hour)
+			  .OrderBy((s, p) => p.Hour)
 			  .Select((s, p) => new
 			  {
+				  Hour = SqlFunc.IIF(p.Hour == null || p.Hour == "", "0", p.Hour),
 				  count = SqlFunc.AggregateSum(SqlFunc.IIF(p.SourceChannelCode != null && p.SourceChannelCode != "", 1, 0)),
 				  DicDataValue = s.DicDataValue,
 				  DicDataName = s.DicDataName
 			  })
-			  .ToPivotListAsync(p => p.DicDataValue, p => p.DicDataName, p => p.Sum(x => x.count));
+			  .ToPivotListAsync(p => p.DicDataValue, p => p.Hour, p => p.Sum(x => x.count));
 			return listOrg;
 
 		}
@@ -618,7 +623,8 @@ namespace Hotline.Repository.SqlSugar.Orders
 				 .WhereIF(dto.IdentityType != null, p => p.IdentityType == dto.IdentityType)
 				 .Select(p => new
 				 {
-					 SourceChannelCode = p.SourceChannelCode
+					 SourceChannelCode = p.SourceChannelCode,
+					 Hour = p.CreationTime.ToString("yyyy-MM-dd")
 				 })
 			   .MergeTable();
 
@@ -626,14 +632,19 @@ namespace Hotline.Repository.SqlSugar.Orders
 			  .LeftJoin(listOrder, (s, p) => s.DicDataValue == p.SourceChannelCode)
 			  .Where((s, p) => s.DicTypeCode == "SourceChannel")
 			  .GroupBy((s, p) => s.DicDataValue).GroupBy((s, p) => s.DicDataName)
-			  .OrderBy((s, p) => s.DicDataValue)
+			  .GroupBy((s, p) => p.Hour)
+			  .OrderBy((s, p) => p.Hour)
 			  .Select((s, p) => new
 			  {
+				  Hour = SqlFunc.IIF(p.Hour == null || p.Hour == "", "0", p.Hour),
 				  count = SqlFunc.AggregateSum(SqlFunc.IIF(p.SourceChannelCode != null && p.SourceChannelCode != "", 1, 0)),
 				  DicDataValue = s.DicDataValue,
 				  DicDataName = s.DicDataName
 			  })
-			  .ToPivotTableAsync(p => p.DicDataValue, p => p.DicDataName, p => p.Sum(x => x.count));
+			  .ToPivotTableAsync(p => p.DicDataName, p => p.Hour, p => p.Sum(x => x.count));
+				listOrg.Columns["Hour"].ColumnName = "日期";
+				if (listOrg.Rows[0][listOrg.Rows.Count - 1] == "0")
+				    listOrg.Rows[listOrg.Rows.Count - 1].Delete();
 			return InitDatatTable(listOrg, dto.AddColumnName);
 		}
 
@@ -667,7 +678,8 @@ namespace Hotline.Repository.SqlSugar.Orders
 
             //增加合计
             DataRow totalRow = dt.NewRow();
-            totalRow["时间段"] = "合计";
+            if (dt.Columns[0].ColumnName == "日期") totalRow["日期"] = "合计";
+            else totalRow["时间段"] = "合计";
             for (int i = 1; i < dt.Columns.Count; i++)
             {
                 int sumcount = 0;