Commit bc1dc7b8 authored by 黄奎's avatar 黄奎

页面修改

parent d6cc6d65
......@@ -16,6 +16,7 @@ using Edu.Common.Enum;
using Edu.Repository.System;
using Edu.Model.ViewModel.System;
using Edu.Common.Enum.User;
using Edu.Common.Plugin;
namespace Edu.Module.Customer
{
......@@ -536,6 +537,7 @@ namespace Edu.Module.Customer
}
}
/// <summary>
/// 市场人员统计
/// </summary>
......@@ -623,6 +625,93 @@ namespace Edu.Module.Customer
var lastWeekList = lastList?.Where(qitem => Common.ConvertHelper.WeekOfYear(qitem.Date) == Common.ConvertHelper.WeekOfYear(end.AddDays(-1))-1)?.ToList();
var tempDataList = lastList?.Where(qitem => Common.ConvertHelper.FormatDate(qitem.Date) == Common.ConvertHelper.FormatDate(end.AddDays(-1)))?.ToList();
//渠道数据统计
var dataList = studentRepository.GetStudentChannelStaticRepository(new RB_Student_ViewModel()
{
StartTime = StartTime,
EndTime = EndTime,
CreateIds=Common.ConvertHelper.StringToList(EmpIds)
});
//市场部个人数据
List<MarketChannelStaticModel> barList = new List<MarketChannelStaticModel>();
var channelList = channelRepository.GetChannelListRepository(new RB_Channel_Extend() { });
var createTypeList = dataList.GroupBy(qitem => new { qitem.CreateType }).Select(qitem => new { qitem.Key.CreateType });
foreach (var item in createTypeList)
{
var tempList = dataList?.Where(qitem => qitem.CreateType == item.CreateType)?.ToList();
if (item.CreateType == StuCreateTypeEnum.EmployeeInput)
{
foreach (var sItem in tempList?.GroupBy(qitem => new { qitem.StuChannel })?.Select(qitem => new { qitem.Key.StuChannel }))
{
barList.Add(new MarketChannelStaticModel()
{
ChannelId = sItem.StuChannel,
ChannelName = channelList?.FirstOrDefault(qitem=>qitem.Id==sItem.StuChannel)?.Name??"",
ClueCount = tempList?.Where(qitem=>qitem.StuChannel==sItem.StuChannel)?.Sum(qitem => qitem.ClueCount) ?? 0,
VisitCount = tempList?.Where(qitem => qitem.StuChannel == sItem.StuChannel)?.Sum(qitem => qitem.VisitCount) ?? 0,
OrderCount = tempList?.Where(qitem => qitem.StuChannel == sItem.StuChannel)?.Sum(qitem => qitem.OrderCount) ?? 0,
OrderIncome = tempList?.Where(qitem => qitem.StuChannel == sItem.StuChannel)?.Sum(qitem => qitem.OrderIncome) ?? 0,
});
}
}
else if(item.CreateType== StuCreateTypeEnum.CustomerInput)
{
barList.Add(new MarketChannelStaticModel()
{
ChannelId = 100002,
ChannelName = item.CreateType.ToName(),
ClueCount = tempList?.Sum(qitem => qitem.ClueCount) ?? 0,
VisitCount = tempList?.Sum(qitem => qitem.VisitCount) ?? 0,
OrderCount = tempList?.Sum(qitem => qitem.OrderCount) ?? 0,
OrderIncome = tempList?.Sum(qitem => qitem.OrderIncome) ?? 0,
});
}
else if (item.CreateType == StuCreateTypeEnum.InternalIntroduction)
{
barList.Add(new MarketChannelStaticModel()
{
ChannelId = 100003,
ChannelName = item.CreateType.ToName(),
ClueCount = tempList?.Sum(qitem => qitem.ClueCount) ?? 0,
VisitCount = tempList?.Sum(qitem => qitem.VisitCount) ?? 0,
OrderCount = tempList?.Sum(qitem => qitem.OrderCount) ?? 0,
OrderIncome = tempList?.Sum(qitem => qitem.OrderIncome) ?? 0,
});
}
else if (item.CreateType == StuCreateTypeEnum.TransIntroduction)
{
barList.Add(new MarketChannelStaticModel()
{
ChannelId = 100004,
ChannelName = item.CreateType.ToName(),
ClueCount = tempList?.Sum(qitem => qitem.ClueCount) ?? 0,
VisitCount = tempList?.Sum(qitem => qitem.VisitCount) ?? 0,
OrderCount = tempList?.Sum(qitem => qitem.OrderCount) ?? 0,
OrderIncome = tempList?.Sum(qitem => qitem.OrderIncome) ?? 0,
});
}
}
//四个渠道饼状图
List<MarketChannelStaticModel> pieList = new List<MarketChannelStaticModel>();
foreach (var item in createTypeList)
{
var tempList = dataList?.Where(qitem => qitem.CreateType == item.CreateType)?.ToList();
pieList.Add(new MarketChannelStaticModel()
{
ChannelId = (int)item.CreateType,
ChannelName = item.CreateType.ToName(),
ClueCount = tempList?.Sum(qitem => qitem.ClueCount) ?? 0,
VisitCount = tempList?.Sum(qitem => qitem.VisitCount) ?? 0,
OrderCount = tempList?.Sum(qitem => qitem.OrderCount) ?? 0,
OrderIncome = tempList?.Sum(qitem => qitem.OrderIncome) ?? 0,
});
}
obj = new
{
dayList,
......@@ -665,6 +754,20 @@ namespace Edu.Module.Customer
LastWeekSale = lastWeekList?.Sum(qitem => qitem.LastWeekSale) ?? 0,
CurMonrhSale = tempDataList?.Sum(qitem => qitem.CurMonrhSale) ?? 0,
LastMonthSale = tempDataList?.Sum(qitem => qitem.LastMonthSale) ?? 0,
},
BarData = new
{
ClueData = barList?.OrderByDescending(qitem => qitem.ClueCount)?.Select(qitem=>new { qitem.ChannelId,qitem.ChannelName,qitem.ClueCount})?.Take(10),
VisitData = barList?.OrderByDescending(qitem => qitem.VisitCount)?.Select(qitem => new { qitem.ChannelId, qitem.ChannelName, qitem.VisitCount })?.Take(10),
OrderData = barList?.OrderByDescending(qitem => qitem.OrderCount)?.Select(qitem => new { qitem.ChannelId, qitem.ChannelName, qitem.OrderCount })?.Take(10),
IncomeData = barList?.OrderByDescending(qitem => qitem.OrderIncome)?.Select(qitem => new { qitem.ChannelId, qitem.ChannelName, qitem.OrderIncome })?.Take(10),
},
PieData = new
{
ClueData = pieList?.OrderByDescending(qitem => qitem.ClueCount)?.Select(qitem => new { qitem.ChannelId, qitem.ChannelName, qitem.ClueCount })?.Take(10),
VisitData = pieList?.OrderByDescending(qitem => qitem.VisitCount)?.Select(qitem => new { qitem.ChannelId, qitem.ChannelName, qitem.VisitCount })?.Take(10),
OrderData = pieList?.OrderByDescending(qitem => qitem.OrderCount)?.Select(qitem => new { qitem.ChannelId, qitem.ChannelName, qitem.OrderCount })?.Take(10),
IncomeData = pieList?.OrderByDescending(qitem => qitem.OrderIncome)?.Select(qitem => new { qitem.ChannelId, qitem.ChannelName, qitem.OrderIncome })?.Take(10),
}
};
return obj;
......
......@@ -962,6 +962,10 @@ WHERE A.Status=0
{
builder.AppendFormat(" AND A.{0}<='{1} 23:59:59' ", nameof(RB_Student_ViewModel.CreateTime), query.EndTime);
}
if (query.CreateIds != null && query.CreateIds.Count > 0)
{
builder.AppendFormat(" AND A.{0} IN({0}) ", nameof(RB_Student_ViewModel.CreateBy), string.Join(",", query.CreateIds));
}
}
var list = Get<RB_Student_ViewModel>(builder.ToString()).ToList();
return list;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment