Commit 42560796 authored by 黄奎's avatar 黄奎

新增统计

parent 331ff97d
using System;
using System.Collections.Generic;
using System.Text;
using VT.FW.DB;
namespace Edu.Model.Entity.DataStatistics
{
/// <summary>
/// 市场部数据统计实体类
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_MarketConsultant
{
/// <summary>
/// 主键编号
/// </summary>
public int Id { get; set; }
/// <summary>
/// 日期
/// </summary>
public DateTime Date { get; set; }
/// <summary>
/// 资源条数
/// </summary>
public int ClueCount { get; set; }
/// <summary>
/// 昨日资源条数
/// </summary>
public int YestodayClue { get; set; }
/// <summary>
/// 本周资源条数
/// </summary>
public int CurWeekClue { get; set; }
/// <summary>
/// 上周资源条数
/// </summary>
public int LastWeekClue { get; set; }
/// <summary>
/// 本月资源条数
/// </summary>
public int CurMonthClue { get; set; }
/// <summary>
/// 上月资源条数
/// </summary>
public int LastMonthClue { get; set; }
/// <summary>
/// 到访人数
/// </summary>
public int VisitCount { get; set; }
/// <summary>
/// 昨日到访人数
/// </summary>
public int YestodayVisit { get; set; }
/// <summary>
/// 本周到访人数
/// </summary>
public int CurWeekVisit { get; set; }
/// <summary>
/// 上周到访人数
/// </summary>
public int LastWeekVisit { get; set; }
/// <summary>
/// 本月到访人数
/// </summary>
public int CurMonthVisit { get; set; }
/// <summary>
/// 上月到访人数
/// </summary>
public int LastMonthVisit { get; set; }
/// <summary>
/// 试听人数
/// </summary>
public int TrialLessonCount { get; set; }
/// <summary>
/// 昨日试听人数
/// </summary>
public int YestodayTrialLesson { get; set; }
/// <summary>
/// 本周试听人数
/// </summary>
public int CurWeekTrialLesson { get; set; }
/// <summary>
/// 上周试听人数
/// </summary>
public int LastWeekTrialLesson { get; set; }
/// <summary>
/// 本月试听人数
/// </summary>
public int CurMonthTrialLesson { get; set; }
/// <summary>
/// 上月试听人数
/// </summary>
public int LastMonthTrialLesson { get; set; }
/// <summary>
/// 有效数据量 (第一次跟进且不等于流失)
/// </summary>
public int FollowCount { get; set; }
/// <summary>
/// 昨日有效数据量 (第一次跟进且不等于流失)
/// </summary>
public int YestodayFollow { get; set; }
/// <summary>
/// 本周有效数据量 (第一次跟进且不等于流失)
/// </summary>
public int CurWeekFollow { get; set; }
/// <summary>
/// 上周有效数据量 (第一次跟进且不等于流失)
/// </summary>
public int LastWeekFollow { get; set; }
/// <summary>
/// 本月有效数据量 (第一次跟进且不等于流失)
/// </summary>
public int CurMonthFollow { get; set; }
/// <summary>
/// 上月有效数据量 (第一次跟进且不等于流失)
/// </summary>
public int LastMonthFollow { get; set; }
/// <summary>
/// 销售额
/// </summary>
public decimal SaleMoney { get; set; }
/// <summary>
/// 昨日销售额
/// </summary>
public decimal YestodaySale { get; set; }
/// <summary>
/// 本周销售额
/// </summary>
public decimal CurWeekSale { get; set; }
/// <summary>
/// 上周销售额
/// </summary>
public decimal LastWeekSale { get; set; }
/// <summary>
/// 本月销售额
/// </summary>
public decimal CurMonrhSale { get; set; }
/// <summary>
/// 上月销售额
/// </summary>
public decimal LastMonthSale { get; set; }
/// <summary>
/// 创建人
/// </summary>
public int CreateBy { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime CreateTime { get; set; }
/// <summary>
/// 集团编号
/// </summary>
public int Group_Id { get; set; }
/// <summary>
/// 所属部门编号
/// </summary>
public int DeptId { get; set; }
}
}
......@@ -34,5 +34,10 @@ namespace Edu.Model.ViewModel.Customer
/// 结束时间
/// </summary>
public string ETime { get; set; }
/// <summary>
/// 有效数据量 (第一次跟进且不等于流失)
/// </summary>
public int FollowCount { get; set; }
}
}
using Edu.Model.Entity.DataStatistics;
using System;
using System.Collections.Generic;
using System.Text;
namespace Edu.Model.ViewModel.DataStatistics
{
/// <summary>
/// 市场部数据统计统计实体类
/// </summary>
public class RB_MarketConsultant_Extend : RB_MarketConsultant
{
/// <summary>
/// 开始时间
/// </summary>
public string StartTime { get; set; }
/// <summary>
/// 结束时间
/// </summary>
public string EndTime { get; set; }
/// <summary>
/// 创建人
/// </summary>
public string QCreateByIds { get; set; }
}
}
\ No newline at end of file
......@@ -175,7 +175,7 @@ namespace Edu.Model.ViewModel.User
public string EndTime { get; set; }
/// <summary>
/// 最一次跟进时间
/// 最一次跟进时间
/// </summary>
public string followUpTime { get; set; }
......@@ -336,5 +336,10 @@ namespace Edu.Model.ViewModel.User
/// 是否存在课程顾问(1-存在,2-不存在)
/// </summary>
public int ExistCourseConsultant { get; set; }
/// <summary>
/// 查询时间类型(1-本周,2-上周,3-本月,4-上月)
/// </summary>
public int QTimeType { get; set; }
}
}
\ No newline at end of file
......@@ -156,5 +156,102 @@ INNER JOIN rb_student_follow f1 on f.Id = f1.Id
";
return Get<RB_Student_Follow_Extend>(sql).ToList();
}
/// <summary>
/// 有效数据量统计 (第一次跟进且不等于流失)
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public Dictionary<string, List<RB_Student_Follow_Extend>> GetStudentFollowStaticRepository(RB_Student_Follow_Extend query)
{
Dictionary<string, List<RB_Student_Follow_Extend>> dicList = new Dictionary<string, List<RB_Student_Follow_Extend>>();
string sql = @"
SELECT A.CreateBy,COUNT(1) AS FollowCount
FROM rb_student_follow AS A INNER JOIN(SELECT StuId,CreateBy,MIN(Id) AS Id FROM rb_student_follow WHERE `Status`=0 GROUP BY StuId,CreateBy) AS B ON A.Id=B.Id
INNER JOIN RB_student AS C ON A.StuId=C.StuId
WHERE A.Status=0 AND C.Status=0 AND C.StuStage<>7 {0}
GROUP BY A.CreateBy
";
string todayWhere = "";
if (!string.IsNullOrEmpty(query.STime))
{
todayWhere += string.Format(" AND to_days(A.CreateTime)=to_days('{0}') ", query.STime);
}
else
{
todayWhere += string.Format(" AND to_days(A.CreateTime)=to_days(now()) ");
}
//今日
var todayList = Get<RB_Student_Follow_Extend>(string.Format(sql.ToString(), todayWhere)).ToList();
dicList.Add("today", todayList);
//昨日
string yesWhere = "";
if (!string.IsNullOrEmpty(query.STime))
{
yesWhere += string.Format(" AND TO_DAYS('{0}')-TO_DAYS(A.CreateTime)=1 ", query.STime);
}
else
{
yesWhere += string.Format(" AND TO_DAYS(now())-TO_DAYS(A.CreateTime)=1 ");
}
var yesList = Get<RB_Student_Follow_Extend>(string.Format(sql, yesWhere)).ToList();
dicList.Add("yestoday", yesList);
//本周
string curWeek = "";
if (!string.IsNullOrEmpty(query.STime))
{
curWeek += string.Format(" AND YEARWEEK(date_format(A.CreateTime,'%Y-%m-%d' )) = YEARWEEK('{0}') ", query.STime);
}
else
{
curWeek += string.Format(" AND YEARWEEK(date_format(A.CreateTime,'%Y-%m-%d')) = YEARWEEK(now()) ");
}
var curWeekList = Get<RB_Student_Follow_Extend>(string.Format(sql, curWeek)).ToList();
dicList.Add("currentWeek", curWeekList);
//上周
string lastWeek = "";
if (!string.IsNullOrEmpty(query.STime))
{
lastWeek += string.Format(" AND YEARWEEK(date_format(A.CreateTime,'%Y-%m-%d')) = YEARWEEK('{0}')-1 ", query.STime);
}
else
{
lastWeek += string.Format(" AND YEARWEEK(date_format(A.CreateTime,'%Y-%m-%d')) = YEARWEEK(now())-1 ");
}
var lastWeekList = Get<RB_Student_Follow_Extend>(string.Format(sql, lastWeek)).ToList();
dicList.Add("lastWeek", lastWeekList);
//本月
string curMonth = "";
if (!string.IsNullOrEmpty(query.STime))
{
curMonth += string.Format(" AND DATE_FORMAT(A.CreateTime,'%Y%m')=DATE_FORMAT('{0}','%Y%m') ", query.STime);
}
else
{
curMonth += string.Format(" AND DATE_FORMAT(A.CreateTime,'%Y%m')=DATE_FORMAT(CURDATE(),'%Y%m') ");
}
var curMonthList = Get<RB_Student_Follow_Extend>(string.Format(sql, curMonth)).ToList();
dicList.Add("curMonth", curMonthList);
//上月
string lastMonth = "";
if (!string.IsNullOrEmpty(query.STime))
{
lastMonth += string.Format(" AND PERIOD_DIFF(date_format('{0}','%Y%m'),date_format(A.CreateTime,'%Y%m')) =1 ", query.STime);
}
else
{
lastMonth += string.Format(" AND PERIOD_DIFF(date_format(now(),'%Y%m'),date_format(A.CreateTime,'%Y%m')) =1 ");
}
var lastMonthList = Get<RB_Student_Follow_Extend>(string.Format(sql, lastMonth)).ToList();
dicList.Add("lastMonth", lastMonthList);
return dicList;
}
}
}
......@@ -133,5 +133,100 @@ WHERE 1=1
builder.AppendFormat(" ORDER BY A.CreateBy, DATE_FORMAT(A.CreateTime, '%Y/%m/%d') ");
return Get<RB_Student_Visit_Extend>(builder.ToString()).ToList();
}
/// <summary>
/// 市场、课程顾问学员到访统计
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public Dictionary<string, List<RB_Student_Visit_Extend>> GetVisitStaticRepository(RB_Student_Visit_Extend query)
{
Dictionary<string, List<RB_Student_Visit_Extend>> dicList = new Dictionary<string, List<RB_Student_Visit_Extend>>();
string sql = @"
SELECT A.CreateBy,Count(1) AS VisitCount
FROM RB_Student_Visit AS A INNER JOIN rb_student AS B ON A.StuId=B.StuId
WHERE 1=1 AND B.Status=0 {0}
GROUP BY A.CreateBy
";
string todayWhere = "";
if (!string.IsNullOrEmpty(query.StartDate))
{
todayWhere += string.Format(" AND to_days(A.CreateTime)=to_days('{0}') ", query.StartDate);
}
else
{
todayWhere += string.Format(" AND to_days(A.CreateTime)=to_days(now()) ");
}
//今日
var todayList = Get<RB_Student_Visit_Extend>(string.Format(sql.ToString(), todayWhere)).ToList();
dicList.Add("today", todayList);
//昨日
string yesWhere = "";
if (!string.IsNullOrEmpty(query.StartDate))
{
yesWhere += string.Format(" AND TO_DAYS('{0}')-TO_DAYS(A.CreateTime)=1 ", query.StartDate);
}
else
{
yesWhere += string.Format(" AND TO_DAYS(now())-TO_DAYS(A.CreateTime)=1 ");
}
var yesList = Get<RB_Student_Visit_Extend>(string.Format(sql, yesWhere)).ToList();
dicList.Add("yestoday", yesList);
//本周
string curWeek = "";
if (!string.IsNullOrEmpty(query.StartDate))
{
curWeek += string.Format(" AND YEARWEEK(date_format(A.CreateTime,'%Y-%m-%d' )) = YEARWEEK('{0}') ", query.StartDate);
}
else
{
curWeek += string.Format(" AND YEARWEEK(date_format(A.CreateTime,'%Y-%m-%d')) = YEARWEEK(now()) ");
}
var curWeekList = Get<RB_Student_Visit_Extend>(string.Format(sql, curWeek)).ToList();
dicList.Add("currentWeek", curWeekList);
//上周
string lastWeek = "";
if (!string.IsNullOrEmpty(query.StartDate))
{
lastWeek += string.Format(" AND YEARWEEK(date_format(A.CreateTime,'%Y-%m-%d')) = YEARWEEK('{0}')-1 ", query.StartDate);
}
else
{
lastWeek += string.Format(" AND YEARWEEK(date_format(A.CreateTime,'%Y-%m-%d')) = YEARWEEK(now())-1 ");
}
var lastWeekList = Get<RB_Student_Visit_Extend>(string.Format(sql, lastWeek)).ToList();
dicList.Add("lastWeek", lastWeekList);
//本月
string curMonth = "";
if (!string.IsNullOrEmpty(query.StartDate))
{
curMonth += string.Format(" AND DATE_FORMAT(A.CreateTime,'%Y%m')=DATE_FORMAT('{0}','%Y%m') ", query.StartDate);
}
else
{
curMonth += string.Format(" AND DATE_FORMAT(A.CreateTime,'%Y%m')=DATE_FORMAT(CURDATE(),'%Y%m') ");
}
var curMonthList = Get<RB_Student_Visit_Extend>(string.Format(sql, curMonth)).ToList();
dicList.Add("curMonth", curMonthList);
//上月
string lastMonth = "";
if (!string.IsNullOrEmpty(query.StartDate))
{
lastMonth += string.Format(" AND PERIOD_DIFF(date_format('{0}','%Y%m'),date_format(A.CreateTime,'%Y%m')) =1 ", query.StartDate);
}
else
{
lastMonth += string.Format(" AND PERIOD_DIFF(date_format(now(),'%Y%m'),date_format(A.CreateTime,'%Y%m')) =1 ");
}
var lastMonthList = Get<RB_Student_Visit_Extend>(string.Format(sql, lastMonth)).ToList();
dicList.Add("lastMonth", lastMonthList);
return dicList;
}
}
}
using Edu.Model.Entity.DataStatistics;
using Edu.Model.ViewModel.DataStatistics;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Edu.Repository.DataStatistics
{
/// <summary>
/// 市场部数据统计仓储层
/// </summary>
public class RB_MarketConsultantRepository : BaseRepository<RB_MarketConsultant>
{
/// <summary>
/// 获取市场部数据统计列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_MarketConsultant_Extend> GetMarketConsultantListRepository(RB_MarketConsultant_Extend query)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT A.*
FROM RB_MarketConsultant AS A
WHERE 1=1
");
if (query != null)
{
if (query.Group_Id > 0)
{
builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_MarketConsultant_Extend.Group_Id), query.Group_Id);
}
if (query.CreateBy > 0)
{
builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_MarketConsultant_Extend.CreateBy), query.CreateBy);
}
if (!string.IsNullOrEmpty(query.QCreateByIds))
{
builder.AppendFormat(@" AND A.{0} IN({1}) ", nameof(RB_MarketConsultant_Extend.CreateBy), query.QCreateByIds);
}
if (query.DeptId > 0)
{
builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_MarketConsultant_Extend.DeptId), query.DeptId);
}
if (!string.IsNullOrEmpty(query.StartTime))
{
builder.AppendFormat(" AND A.{0}>='{1}' ", nameof(RB_MarketConsultant_Extend.Date), query.StartTime);
}
if (!string.IsNullOrEmpty(query.EndTime))
{
builder.AppendFormat(" AND A.{0}<='{1} 23:59:59' ", nameof(RB_MarketConsultant_Extend.Date), query.EndTime);
}
}
return Get<RB_MarketConsultant_Extend>(builder.ToString()).ToList();
}
/// <summary>
/// 新增市场部数据
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public bool InsertMarketConsultantRepository(RB_MarketConsultant_Extend model)
{
var newModel = new RB_MarketConsultant_Extend()
{
Date = model.Date,
ClueCount = model.ClueCount,
YestodayClue = model.YestodayClue,
LastWeekClue = model.LastWeekClue,
LastMonthClue = model.LastMonthClue,
VisitCount = model.VisitCount,
YestodayVisit = model.YestodayVisit,
LastWeekVisit = model.LastWeekVisit,
LastMonthVisit = model.LastMonthVisit,
TrialLessonCount = model.TrialLessonCount,
YestodayTrialLesson = model.YestodayTrialLesson,
LastWeekTrialLesson = model.LastWeekTrialLesson,
LastMonthTrialLesson = model.LastMonthTrialLesson,
FollowCount = model.FollowCount,
YestodayFollow = model.YestodayFollow,
LastWeekFollow = model.LastWeekFollow,
LastMonthFollow = model.LastMonthFollow,
SaleMoney = model.SaleMoney,
YestodaySale = model.YestodaySale,
LastWeekSale = model.LastWeekSale,
LastMonthSale = model.LastMonthSale,
CreateBy = model.CreateBy,
CreateTime = DateTime.Now,
DeptId = model.DeptId,
Group_Id = model.Group_Id
};
var newId = base.Insert(newModel);
newModel.Id = newId;
return newId > 0;
}
/// <summary>
/// 清楚历史数据
/// </summary>
/// <returns></returns>
public void ClearMarketConsultantRepository()
{
string sql = "TRUNCATE TABLE RB_MarketConsultant ";
base.Execute(sql);
}
}
}
......@@ -305,5 +305,100 @@ WHERE 1=1
builder.AppendFormat(@" ORDER BY A.CreateBy,DATE_FORMAT(A.CreateTime,'%Y/%m/%d') ");
return Get<RB_Visitor_Reserve_Extend>(builder.ToString()).ToList();
}
/// <summary>
/// 市场课程顾问部统计
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public Dictionary<string, List<RB_Visitor_Reserve_Extend>> GetVisitorStaticRepository(RB_Visitor_Reserve_Extend query)
{
Dictionary<string, List<RB_Visitor_Reserve_Extend>> dicList = new Dictionary<string, List<RB_Visitor_Reserve_Extend>>();
string sql = @"
SELECT A.CreateBy,COUNT(1) AS TrialLessonCount
FROM RB_Visitor_Reserve AS A
WHERE 1=1 AND A.Status=0 {0}
GROUP BY A.CreateBy
";
string todayWhere = "";
if (!string.IsNullOrEmpty(query.StartClassDate))
{
todayWhere += string.Format(" AND to_days(A.CreateTime)=to_days('{0}') ", query.StartClassDate);
}
else
{
todayWhere += string.Format(" AND to_days(A.CreateTime)=to_days(now()) ");
}
//今日
var todayList = Get<RB_Visitor_Reserve_Extend>(string.Format(sql.ToString(), todayWhere)).ToList();
dicList.Add("today", todayList);
//昨日
string yesWhere = "";
if (!string.IsNullOrEmpty(query.StartClassDate))
{
yesWhere += string.Format(" AND TO_DAYS('{0}')-TO_DAYS(A.CreateTime)=1 ", query.StartClassDate);
}
else
{
yesWhere += string.Format(" AND TO_DAYS(now())-TO_DAYS(A.CreateTime)=1 ");
}
var yesList = Get<RB_Visitor_Reserve_Extend>(string.Format(sql, yesWhere)).ToList();
dicList.Add("yestoday", yesList);
//本周
string curWeek = "";
if (!string.IsNullOrEmpty(query.StartClassDate))
{
curWeek += string.Format(" AND YEARWEEK(date_format(A.CreateTime,'%Y-%m-%d' )) = YEARWEEK('{0}') ", query.StartClassDate);
}
else
{
curWeek += string.Format(" AND YEARWEEK(date_format(A.CreateTime,'%Y-%m-%d')) = YEARWEEK(now()) ");
}
var curWeekList = Get<RB_Visitor_Reserve_Extend>(string.Format(sql, curWeek)).ToList();
dicList.Add("currentWeek", curWeekList);
//上周
string lastWeek = "";
if (!string.IsNullOrEmpty(query.StartClassDate))
{
lastWeek += string.Format(" AND YEARWEEK(date_format(A.CreateTime,'%Y-%m-%d')) = YEARWEEK('{0}')-1 ", query.StartClassDate);
}
else
{
lastWeek += string.Format(" AND YEARWEEK(date_format(A.CreateTime,'%Y-%m-%d')) = YEARWEEK(now())-1 ");
}
var lastWeekList = Get<RB_Visitor_Reserve_Extend>(string.Format(sql, lastWeek)).ToList();
dicList.Add("lastWeek", lastWeekList);
//本月
string curMonth = "";
if (!string.IsNullOrEmpty(query.StartClassDate))
{
curMonth += string.Format(" AND DATE_FORMAT(A.CreateTime,'%Y%m')=DATE_FORMAT('{0}','%Y%m') ", query.StartClassDate);
}
else
{
curMonth += string.Format(" AND DATE_FORMAT(A.CreateTime,'%Y%m')=DATE_FORMAT(CURDATE(),'%Y%m') ");
}
var curMonthList = Get<RB_Visitor_Reserve_Extend>(string.Format(sql, curMonth)).ToList();
dicList.Add("curMonth", curMonthList);
//上月
string lastMonth = "";
if (!string.IsNullOrEmpty(query.StartClassDate))
{
lastMonth += string.Format(" AND PERIOD_DIFF(date_format('{0}','%Y%m'),date_format(A.CreateTime,'%Y%m')) =1 ", query.StartClassDate);
}
else
{
lastMonth += string.Format(" AND PERIOD_DIFF(date_format(now(),'%Y%m'),date_format(A.CreateTime,'%Y%m')) =1 ");
}
var lastMonthList = Get<RB_Visitor_Reserve_Extend>(string.Format(sql, lastMonth)).ToList();
dicList.Add("lastMonth", lastMonthList);
return dicList;
}
}
}
......@@ -1213,5 +1213,100 @@ WHERE 1=1
builder.AppendFormat(" ORDER BY o.CreateTime ASC ");
return Get<RB_Order_ViewModel>(builder.ToString()).ToList();
}
/// <summary>
/// 市场部和课程顾问部销售额统计
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public Dictionary<string, List<RB_Order_ViewModel>> GetMarketMarketConsultantStaticRepository(RB_Order_ViewModel query)
{
Dictionary<string, List<RB_Order_ViewModel>> dicList = new Dictionary<string, List<RB_Order_ViewModel>>();
string sql = @"
SELECT A.EnterID,A.CourseConsultantId,SUM(A.Income) AS Income
FROM RB_Order AS A
WHERE 1=1 AND A.OrderState IN(1,2) {0}
GROUP BY A.EnterID,A.CourseConsultantId
";
string todayWhere = "";
if (!string.IsNullOrEmpty(query.StartTime))
{
todayWhere += string.Format(" AND to_days(A.CreateTime)=to_days('{0}') ", query.StartTime);
}
else
{
todayWhere += string.Format(" AND to_days(A.CreateTime)=to_days(now()) ");
}
//今日
var todayList = Get<RB_Order_ViewModel>(string.Format(sql.ToString(), todayWhere)).ToList();
dicList.Add("today", todayList);
//昨日
string yesWhere = "";
if (!string.IsNullOrEmpty(query.StartTime))
{
yesWhere += string.Format(" AND TO_DAYS('{0}')-TO_DAYS(A.CreateTime)=1 ", query.StartTime);
}
else
{
yesWhere += string.Format(" AND TO_DAYS(now())-TO_DAYS(A.CreateTime)=1 ");
}
var yesList = Get<RB_Order_ViewModel>(string.Format(sql, yesWhere)).ToList();
dicList.Add("yestoday", yesList);
//本周
string curWeek = "";
if (!string.IsNullOrEmpty(query.StartTime))
{
curWeek += string.Format(" AND YEARWEEK(date_format(A.CreateTime,'%Y-%m-%d' )) = YEARWEEK('{0}') ", query.StartTime);
}
else
{
curWeek += string.Format(" AND YEARWEEK(date_format(A.CreateTime,'%Y-%m-%d')) = YEARWEEK(now()) ");
}
var curWeekList = Get<RB_Order_ViewModel>(string.Format(sql, curWeek)).ToList();
dicList.Add("currentWeek", curWeekList);
//上周
string lastWeek = "";
if (!string.IsNullOrEmpty(query.StartTime))
{
lastWeek += string.Format(" AND YEARWEEK(date_format(A.CreateTime,'%Y-%m-%d')) = YEARWEEK('{0}')-1 ", query.StartTime);
}
else
{
lastWeek += string.Format(" AND YEARWEEK(date_format(A.CreateTime,'%Y-%m-%d')) = YEARWEEK(now())-1 ");
}
var lastWeekList = Get<RB_Order_ViewModel>(string.Format(sql, lastWeek)).ToList();
dicList.Add("lastWeek", lastWeekList);
//本月
string curMonth = "";
if (!string.IsNullOrEmpty(query.StartTime))
{
curMonth += string.Format(" AND DATE_FORMAT(A.CreateTime,'%Y%m')=DATE_FORMAT('{0}','%Y%m') ", query.StartTime);
}
else
{
curMonth += string.Format(" AND DATE_FORMAT(A.CreateTime,'%Y%m')=DATE_FORMAT(CURDATE(),'%Y%m') ");
}
var curMonthList = Get<RB_Order_ViewModel>(string.Format(sql, curMonth)).ToList();
dicList.Add("curMonth", curMonthList);
//上月
string lastMonth = "";
if (!string.IsNullOrEmpty(query.StartTime))
{
lastMonth += string.Format(" AND PERIOD_DIFF(date_format('{0}','%Y%m'),date_format(A.CreateTime,'%Y%m')) =1 ", query.StartTime);
}
else
{
lastMonth += string.Format(" AND PERIOD_DIFF(date_format(now(),'%Y%m'),date_format(A.CreateTime,'%Y%m')) =1 ");
}
var lastMonthList = Get<RB_Order_ViewModel>(string.Format(sql, lastMonth)).ToList();
dicList.Add("lastMonth", lastMonthList);
return dicList;
}
}
}
......@@ -829,34 +829,97 @@ WHERE 1=1
/// <param name="endDate">结束时间</param>
/// <param name="StuStage">客户阶段</param>
/// <returns></returns>
public List<RB_Student_ViewModel> GetStudentClueRepository(string createByIds, string startDate, string endDate,int StuStage=0)
public Dictionary<string,List<RB_Student_ViewModel>> GetStudentClueRepository(RB_Student_ViewModel query)
{
Dictionary<string, List<RB_Student_ViewModel>> dicList = new Dictionary<string, List<RB_Student_ViewModel>>();
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT DATE_FORMAT(CreateTime,'%Y-%m-%d') AS CreateTime,Count(1) AS ClueCount
builder.Append(@"
SELECT Count(1) AS ClueCount,CreateBy
FROM RB_Student
WHERE Status=0
WHERE Status=0 {0}
GROUP BY CreateBy
");
if (!string.IsNullOrEmpty(createByIds))
string todayWhere = "";
if (!string.IsNullOrEmpty(query.StartTime))
{
builder.AppendFormat(" AND CreateBy IN({0}) ", createByIds);
todayWhere += string.Format(" AND to_days(CreateTime)=to_days('{0}') ", query.StartTime);
}
if (!string.IsNullOrEmpty(startDate))
else
{
builder.AppendFormat(" AND CreateTime>='{0}' ", startDate);
todayWhere += string.Format(" AND to_days(CreateTime)=to_days(now()) ");
}
if (!string.IsNullOrEmpty(endDate))
//今日
var todayList = Get<RB_Student_ViewModel>(string.Format(builder.ToString(),todayWhere)).ToList();
dicList.Add("today", todayList);
//昨日
string yesWhere = "";
if (!string.IsNullOrEmpty(query.StartTime))
{
builder.AppendFormat(" AND CreateTime<='{0} 23:59:59' ", endDate);
yesWhere += string.Format(" AND TO_DAYS('{0}')-TO_DAYS(CreateTime)=1 ", query.StartTime);
}
if (StuStage > 0)
else
{
builder.AppendFormat(" AND StuStage={0} ", StuStage);
yesWhere += string.Format(" AND TO_DAYS(now())-TO_DAYS(CreateTime)=1 ");
}
builder.AppendFormat(" GROUP BY DATE_FORMAT(CreateTime,'%Y-%m-%d') ");
builder.AppendFormat(" ORDER BY DATE_FORMAT(CreateTime,'%Y/%m/%d') ");
var list = Get<RB_Student_ViewModel>(builder.ToString()).ToList();
return list;
var yesList = Get<RB_Student_ViewModel>(string.Format(builder.ToString(), yesWhere)).ToList();
dicList.Add("yestoday", yesList);
//本周
string curWeek = "";
if (!string.IsNullOrEmpty(query.StartTime))
{
curWeek += string.Format(" AND YEARWEEK(date_format(CreateTime,'%Y-%m-%d' )) = YEARWEEK('{0}') ", query.StartTime);
}
else
{
curWeek += string.Format(" AND YEARWEEK(date_format(CreateTime,'%Y-%m-%d')) = YEARWEEK(now()) ");
}
var curWeekList=Get<RB_Student_ViewModel>(string.Format(builder.ToString(), curWeek)).ToList();
dicList.Add("currentWeek", curWeekList);
//上周
string lastWeek = "";
if (!string.IsNullOrEmpty(query.StartTime))
{
lastWeek += string.Format(" AND YEARWEEK(date_format(CreateTime,'%Y-%m-%d')) = YEARWEEK('{0}')-1 ", query.StartTime);
}
else
{
lastWeek += string.Format(" AND YEARWEEK(date_format(CreateTime,'%Y-%m-%d')) = YEARWEEK(now())-1 ");
}
var lastWeekList = Get<RB_Student_ViewModel>(string.Format(builder.ToString(), lastWeek)).ToList();
dicList.Add("lastWeek", lastWeekList);
//本月
string curMonth = "";
if (!string.IsNullOrEmpty(query.StartTime))
{
curMonth += string.Format(" AND DATE_FORMAT(CreateTime,'%Y%m')=DATE_FORMAT('{0}','%Y%m') ", query.StartTime);
}
else
{
curMonth += string.Format(" AND DATE_FORMAT(CreateTime,'%Y%m')=DATE_FORMAT(CURDATE(),'%Y%m') ");
}
var curMonthList = Get<RB_Student_ViewModel>(string.Format(builder.ToString(), curMonth)).ToList();
dicList.Add("curMonth", curMonthList);
//上月
string lastMonth = "";
if (!string.IsNullOrEmpty(query.StartTime))
{
lastMonth += string.Format(" AND PERIOD_DIFF(date_format('{0}','%Y%m'),date_format(CreateTime,'%Y%m')) =1 ", query.StartTime);
}
else
{
lastMonth += string.Format(" AND PERIOD_DIFF(date_format(now(),'%Y%m'),date_format(CreateTime,'%Y%m')) =1 ");
}
var lastMonthList = Get<RB_Student_ViewModel>(string.Format(builder.ToString(), lastMonth)).ToList();
dicList.Add("lastMonth", lastMonthList);
return dicList;
}
}
}
\ No newline at end of file
......@@ -146,12 +146,12 @@ namespace Edu.WebApi.Controllers.User
model.RB_Group_id = userInfo.Group_Id;
model.RB_Branch_id = userInfo.School_Id;
model.UpdateBy = userInfo.Id;
if (string.IsNullOrEmpty(model.Mask))
if (string.IsNullOrEmpty(model.Mask))
{
model.Mask = model.Content;
}
var saveInfo = attendancemodule.SaveDictModule(model);
return saveInfo.result ? ApiResult.Success("请求成功!",saveInfo.id) : ApiResult.Failed("请求失败!");
return saveInfo.result ? ApiResult.Success("请求成功!", saveInfo.id) : ApiResult.Failed("请求失败!");
}
/// <summary>
......@@ -359,7 +359,7 @@ namespace Edu.WebApi.Controllers.User
if (flag)
{
var modelShenhe = attendancemodule.GetDictValueList(userInfo.Group_Id, Config.Notice_BaseKey).FirstOrDefault();
if (modelShenhe != null && !string.IsNullOrEmpty(modelShenhe.Content))
if (modelShenhe != null && !string.IsNullOrEmpty(modelShenhe.Content))
{
var queryTargetWorkId = accountModule.GetWorkUserIdModule(int.Parse(modelShenhe.Content));
......@@ -376,7 +376,7 @@ namespace Edu.WebApi.Controllers.User
CoverImg = "",
CreateByName = base.UserInfo.AccountName,
JumpUrl = "",
WorkMsgType= "markdown",
WorkMsgType = "markdown",
SendTime = DateTime.Now,
SendType = 0,
Title = "公告审批提醒",
......@@ -386,7 +386,7 @@ namespace Edu.WebApi.Controllers.User
Common.Message.MessageHelper.SendMessage(modelWork);
}
}
return ApiResult.Success();
}
else
......@@ -489,7 +489,7 @@ namespace Edu.WebApi.Controllers.User
if (flag)
{
var noticeModel = noticeModule.GetNoticeEntity(NoticeId);
if (noticeModel!=null)
if (noticeModel != null)
{
var queryTargetWorkId = accountModule.GetWorkUserIdModule(noticeModel.CreateBy);
......@@ -497,12 +497,12 @@ namespace Edu.WebApi.Controllers.User
if (!string.IsNullOrEmpty(queryTargetWorkId))
{
var path = $"/noticeView?NoticeId={NoticeId}";
if (ReviewStatus == 2)
if (ReviewStatus == 2)
{
path = $"/administration/document";
}
path = HttpUtility.UrlEncode(path);
string markdownContent = $"<font color='{(ReviewStatus == 2 ? "warning" : "info")}'>`审批{(ReviewStatus == 1?"通过":"驳回")}`</font> 公告审批结果\n\n>**概要信息** \n>公告标题:{noticeModel.Title}\n>审 核 人:{userInfo.AccountName}\n>审核时间:<font color='comment'>{DateTime.Now.ToString("MM-dd HH:mm")}</font>\n>\n>请 点 击:[查看详情]({Config.ErpUrl}/autologin?loginId={noticeModel.CreateBy}&target={path}#target=out)";
string markdownContent = $"<font color='{(ReviewStatus == 2 ? "warning" : "info")}'>`审批{(ReviewStatus == 1 ? "通过" : "驳回")}`</font> 公告审批结果\n\n>**概要信息** \n>公告标题:{noticeModel.Title}\n>审 核 人:{userInfo.AccountName}\n>审核时间:<font color='comment'>{DateTime.Now.ToString("MM-dd HH:mm")}</font>\n>\n>请 点 击:[查看详情]({Config.ErpUrl}/autologin?loginId={noticeModel.CreateBy}&target={path}#target=out)";
Common.Message.PushMessageModel modelWork = new Common.Message.PushMessageModel()
{
CategoryId = PushMessageCategoryEnum.NoticeAuditResult,
......@@ -524,7 +524,7 @@ namespace Edu.WebApi.Controllers.User
#region 批量推送公告用户
if (ReviewStatus == 1)
if (ReviewStatus == 1)
{
var to = "@all";
if (noticeModel.To != "-1")
......@@ -2515,7 +2515,7 @@ namespace Edu.WebApi.Controllers.User
int Type = base.ParmJObj.GetInt("Type");
int Year = base.ParmJObj.GetInt("Year");
int Month = base.ParmJObj.GetInt("Month");
var obj = employeeBonusModule.GetEmpBonusStaticModule(base.UserInfo, Type,Year, Month);
var obj = employeeBonusModule.GetEmpBonusStaticModule(base.UserInfo, Type, Year, Month);
return ApiResult.Success(data: obj);
}
......@@ -2523,6 +2523,29 @@ namespace Edu.WebApi.Controllers.User
#region 市场部数据统计
/// <summary>
/// 生成市场部和课程顾问部统计数据
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult CreateMarketData()
{
string startTime = "2022-01-01";
string endTime = "2022-01-17";
var start = Convert.ToDateTime(startTime);
var end = Convert.ToDateTime(endTime);
var days = (end - start).Days;
marketConsultantModule.ClearData();
Task.Run(() =>
{
for (var i = 0; i < days; i++)
{
marketConsultantModule.CreateDataModule(start.AddDays(i));
}
});
return ApiResult.Success();
}
/// <summary>
/// 市场部数据统计
/// </summary>
......@@ -2530,10 +2553,9 @@ namespace Edu.WebApi.Controllers.User
[HttpPost]
public ApiResult MarketStatic()
{
string employeeIds = "";
string startTime = "2022-01-01";
string endTime = "2022-01-30";
var obj = marketConsultantModule.MarketStaticModule(employeeIds, startTime, endTime);
string endTime = "2022-01-17";
var obj = marketConsultantModule.MarketStaticModule("", startTime, endTime);
return ApiResult.Success(data: obj);
}
......
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