|
@@ -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;
|