Commit d3206d26 authored by liudong1993's avatar liudong1993

Merge branch 'master' of http://gitlab.oytour.com/Kui2/education

parents 042cb438 d3f89b05
...@@ -16,6 +16,7 @@ using Edu.Common.Enum; ...@@ -16,6 +16,7 @@ using Edu.Common.Enum;
using Edu.Repository.System; using Edu.Repository.System;
using Edu.Model.ViewModel.System; using Edu.Model.ViewModel.System;
using Edu.Common.Enum.User; using Edu.Common.Enum.User;
using Edu.Common.Plugin;
namespace Edu.Module.Customer namespace Edu.Module.Customer
{ {
...@@ -536,6 +537,7 @@ namespace Edu.Module.Customer ...@@ -536,6 +537,7 @@ namespace Edu.Module.Customer
} }
} }
/// <summary> /// <summary>
/// 市场人员统计 /// 市场人员统计
/// </summary> /// </summary>
...@@ -620,9 +622,96 @@ namespace Edu.Module.Customer ...@@ -620,9 +622,96 @@ namespace Edu.Module.Customer
//当前周 //当前周
var curWeekList = lastList?.Where(qitem => Common.ConvertHelper.WeekOfYear(qitem.Date) == Common.ConvertHelper.WeekOfYear(end.AddDays(-1)))?.ToList(); var curWeekList = lastList?.Where(qitem => Common.ConvertHelper.WeekOfYear(qitem.Date) == Common.ConvertHelper.WeekOfYear(end.AddDays(-1)))?.ToList();
//上一周 //上一周
var lastWeekList = lastList?.Where(qitem => Common.ConvertHelper.WeekOfYear(qitem.Date) == Common.ConvertHelper.WeekOfYear(end.AddDays(-1))-1)?.ToList(); 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 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 obj = new
{ {
dayList, dayList,
...@@ -665,6 +754,20 @@ namespace Edu.Module.Customer ...@@ -665,6 +754,20 @@ namespace Edu.Module.Customer
LastWeekSale = lastWeekList?.Sum(qitem => qitem.LastWeekSale) ?? 0, LastWeekSale = lastWeekList?.Sum(qitem => qitem.LastWeekSale) ?? 0,
CurMonrhSale = tempDataList?.Sum(qitem => qitem.CurMonrhSale) ?? 0, CurMonrhSale = tempDataList?.Sum(qitem => qitem.CurMonrhSale) ?? 0,
LastMonthSale = tempDataList?.Sum(qitem => qitem.LastMonthSale) ?? 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; return obj;
...@@ -896,7 +999,7 @@ namespace Edu.Module.Customer ...@@ -896,7 +999,7 @@ namespace Edu.Module.Customer
/// <param name="EndTime">结束时间</param> /// <param name="EndTime">结束时间</param>
/// <param name="qEmpIds">员工编号</param> /// <param name="qEmpIds">员工编号</param>
/// <returns></returns> /// <returns></returns>
public List<object> MarketChannelStudentStaticModule(string StartTime, string EndTime, string qEmpIds,bool isHaveAuth=false) public List<object> MarketChannelStudentStaticModule(string StartTime, string EndTime, string qEmpIds, bool isHaveAuth = false)
{ {
List<object> list = new List<object>(); List<object> list = new List<object>();
var empList = accountRepository.GetEmployeeListRepository(new Employee_ViewModel() var empList = accountRepository.GetEmployeeListRepository(new Employee_ViewModel()
...@@ -905,7 +1008,7 @@ namespace Edu.Module.Customer ...@@ -905,7 +1008,7 @@ namespace Edu.Module.Customer
QDeptIds = "4", QDeptIds = "4",
Group_Id = 100000, Group_Id = 100000,
IsLeave = 1, IsLeave = 1,
QIds= qEmpIds QIds = qEmpIds
}); });
if (empList != null && empList.Count > 0) if (empList != null && empList.Count > 0)
{ {
...@@ -1063,11 +1166,11 @@ namespace Edu.Module.Customer ...@@ -1063,11 +1166,11 @@ namespace Edu.Module.Customer
customerDataList.Add(new MarketChannelStaticModel() customerDataList.Add(new MarketChannelStaticModel()
{ {
ChannelName = customerList?.FirstOrDefault(qitem => qitem.CustomerId == subItem.StuSourceId)?.CustomerName ?? "", ChannelName = customerList?.FirstOrDefault(qitem => qitem.CustomerId == subItem.StuSourceId)?.CustomerName ?? "",
ChannelId= subItem.StuSourceId, ChannelId = subItem.StuSourceId,
ClueCount = tempCusList?.Count()??0, ClueCount = tempCusList?.Count() ?? 0,
VisitCount = tempCusList?.Sum(qitem => qitem.VisitCount)??0, VisitCount = tempCusList?.Sum(qitem => qitem.VisitCount) ?? 0,
OrderCount = tempCusList?.Sum(qitem => qitem.OrderCount)??0, OrderCount = tempCusList?.Sum(qitem => qitem.OrderCount) ?? 0,
OrderIncome = tempCusList?.Sum(qitem => qitem.OrderIncome)??0 OrderIncome = tempCusList?.Sum(qitem => qitem.OrderIncome) ?? 0
}); });
} }
//校代同行 //校代同行
...@@ -1076,11 +1179,11 @@ namespace Edu.Module.Customer ...@@ -1076,11 +1179,11 @@ namespace Edu.Module.Customer
schoolDataList.Add(new MarketChannelStaticModel() schoolDataList.Add(new MarketChannelStaticModel()
{ {
ChannelName = customerList?.FirstOrDefault(qitem => qitem.CustomerId == subItem.StuSourceId)?.CustomerName ?? "", ChannelName = customerList?.FirstOrDefault(qitem => qitem.CustomerId == subItem.StuSourceId)?.CustomerName ?? "",
ChannelId= subItem.StuSourceId, ChannelId = subItem.StuSourceId,
ClueCount = tempCusList?.Count()??0, ClueCount = tempCusList?.Count() ?? 0,
VisitCount = tempCusList?.Sum(qitem => qitem.VisitCount)??0, VisitCount = tempCusList?.Sum(qitem => qitem.VisitCount) ?? 0,
OrderCount = tempCusList?.Sum(qitem => qitem.OrderCount)??0, OrderCount = tempCusList?.Sum(qitem => qitem.OrderCount) ?? 0,
OrderIncome = tempCusList?.Sum(qitem => qitem.OrderIncome)??0 OrderIncome = tempCusList?.Sum(qitem => qitem.OrderIncome) ?? 0
}); });
} }
} }
...@@ -1104,11 +1207,11 @@ namespace Edu.Module.Customer ...@@ -1104,11 +1207,11 @@ namespace Edu.Module.Customer
innerDataList.Add(new MarketChannelStaticModel() innerDataList.Add(new MarketChannelStaticModel()
{ {
ChannelName = empList?.FirstOrDefault(qitem => qitem.Id == sItem.StuSourceId)?.EmployeeName ?? "", ChannelName = empList?.FirstOrDefault(qitem => qitem.Id == sItem.StuSourceId)?.EmployeeName ?? "",
ChannelId= sItem.StuSourceId, ChannelId = sItem.StuSourceId,
ClueCount = tempInnerList?.Count()??0, ClueCount = tempInnerList?.Count() ?? 0,
VisitCount = tempInnerList?.Sum(qitem => qitem.VisitCount)??0, VisitCount = tempInnerList?.Sum(qitem => qitem.VisitCount) ?? 0,
OrderCount = tempInnerList?.Sum(qitem => qitem.OrderCount)??0, OrderCount = tempInnerList?.Sum(qitem => qitem.OrderCount) ?? 0,
OrderIncome = tempInnerList?.Sum(qitem => qitem.OrderIncome)??0 OrderIncome = tempInnerList?.Sum(qitem => qitem.OrderIncome) ?? 0
}); });
} }
} }
...@@ -1129,11 +1232,11 @@ namespace Edu.Module.Customer ...@@ -1129,11 +1232,11 @@ namespace Edu.Module.Customer
transDataList.Add(new MarketChannelStaticModel() transDataList.Add(new MarketChannelStaticModel()
{ {
ChannelName = stuList?.FirstOrDefault(qitem => qitem.StuId == sItem.StuSourceId)?.StuName ?? "", ChannelName = stuList?.FirstOrDefault(qitem => qitem.StuId == sItem.StuSourceId)?.StuName ?? "",
ChannelId= sItem.StuSourceId, ChannelId = sItem.StuSourceId,
ClueCount = tempTransList?.Count()??0, ClueCount = tempTransList?.Count() ?? 0,
VisitCount = tempTransList?.Sum(qitem => qitem.VisitCount)??0, VisitCount = tempTransList?.Sum(qitem => qitem.VisitCount) ?? 0,
OrderCount = tempTransList?.Sum(qitem => qitem.OrderCount)??0, OrderCount = tempTransList?.Sum(qitem => qitem.OrderCount) ?? 0,
OrderIncome = tempTransList?.Sum(qitem => qitem.OrderIncome)??0 OrderIncome = tempTransList?.Sum(qitem => qitem.OrderIncome) ?? 0
}); });
} }
} }
...@@ -1203,7 +1306,7 @@ namespace Edu.Module.Customer ...@@ -1203,7 +1306,7 @@ namespace Edu.Module.Customer
{ {
list.Add(new list.Add(new
{ {
ChannelName ="(企业)"+( customerList?.FirstOrDefault(qitem => qitem.CustomerId == subItem.StuSourceId)?.CustomerName ?? ""), ChannelName = "(企业)" + (customerList?.FirstOrDefault(qitem => qitem.CustomerId == subItem.StuSourceId)?.CustomerName ?? ""),
subItem.StuSourceId, subItem.StuSourceId,
ClueCount = tempCusList?.Count(), ClueCount = tempCusList?.Count(),
VisitCount = tempCusList?.Sum(qitem => qitem.VisitCount), VisitCount = tempCusList?.Sum(qitem => qitem.VisitCount),
......
...@@ -966,6 +966,10 @@ WHERE A.Status=0 ...@@ -966,6 +966,10 @@ WHERE A.Status=0
{ {
builder.AppendFormat(" AND A.{0}<='{1} 23:59:59' ", nameof(RB_Student_ViewModel.CreateTime), query.EndTime); 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(); var list = Get<RB_Student_ViewModel>(builder.ToString()).ToList();
return list; 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