Commit a7e2fd60 authored by liudong1993's avatar liudong1993

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

parents bba9e802 a0fe07e5
......@@ -106,7 +106,15 @@ namespace Edu.Common
{
try
{
timeStr = Convert.ToDateTime(time.ToString()).ToString("MM-dd");
timeStr = Convert.ToDateTime(time.ToString()).ToString("yyyy-MM-dd");
if (timeStr == "0001-01-01")
{
timeStr = "";
}
else
{
timeStr= Convert.ToDateTime(time.ToString()).ToString("MM-dd");
}
}
catch
{
......
......@@ -11,6 +11,11 @@ namespace Edu.Model.ViewModel.User
/// </summary>
public class RB_Student_Static_Extend : RB_Student_Static
{
/// <summary>
/// 月份
/// </summary>
public string ShowMonthStr { get; set; }
/// <summary>
/// 日期字符串
/// </summary>
......@@ -22,4 +27,116 @@ namespace Edu.Model.ViewModel.User
}
}
}
/// <summary>
/// 月份成长率统计
/// </summary>
public class RateMonthItem
{
/// <summary>
/// 项目名称
/// </summary>
public string ItemName { get; set; }
/// <summary>
/// 一月成长率
/// </summary>
public decimal JanuaryRate { get; set; }
/// <summary>
/// 二月成长率
/// </summary>
public decimal FebruaryRate { get; set; }
/// <summary>
/// 三月成长率
/// </summary>
public decimal MarchRate { get; set; }
/// <summary>
/// 四月成长率
/// </summary>
public decimal AprilRate { get; set; }
/// <summary>
/// 五月成长率
/// </summary>
public decimal MayRate { get; set; }
/// <summary>
/// 六月成长率
/// </summary>
public decimal JuneRate { get; set; }
/// <summary>
/// 七月成长率
/// </summary>
public decimal JulyRate { get; set; }
/// <summary>
/// 八月成长率
/// </summary>
public decimal AugustRate { get; set; }
/// <summary>
/// 九月成长率
/// </summary>
public decimal SeptemberRate { get; set; }
/// <summary>
/// 十月成长率
/// </summary>
public decimal OctoberRate { get; set; }
/// <summary>
/// 十一月成长率
/// </summary>
public decimal NovemberRate { get; set; }
/// <summary>
/// 十二月成长率
/// </summary>
public decimal DecemberRate { get; set; }
/// <summary>
/// 平均成长率
/// </summary>
public decimal AvgRate { get; set; }
}
/// <summary>
/// 年份成长统计
/// </summary>
public class RateYearItem
{
/// <summary>
/// 项目名称
/// </summary>
public string ItemName { get; set; }
/// <summary>
/// 去年年份
/// </summary>
public int FirstYearStr { get; set; }
/// <summary>
/// 当前年份
/// </summary>
public int SecondYearStr { get; set; }
/// <summary>
/// 第一年
/// </summary>
public decimal FirstYear { get; set; }
/// <summary>
/// 第二年
/// </summary>
public decimal SecondYear { get; set; }
/// <summary>
/// 成长率
/// </summary>
public decimal YearRate { get; set; }
}
}
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -47,6 +47,79 @@ WHERE 1=1
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Student_Static_Extend.Times), query.Times);
}
}
builder.AppendFormat(" ORDER BY A.{0} ASC ", nameof(RB_Student_Static_Extend.Id));
return Get<RB_Student_Static_Extend>(builder.ToString()).ToList();
}
/// <summary>
/// 客户数据月份统计
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Student_Static_Extend> GetStudentStaticMonthListRepository(RB_Student_Static_Extend query)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT CONCAT(DATE_FORMAT(A.Date, '%Y-%m'),'-01') AS Date,SUM(A.PushCount) AS PushCount,SUM(A.NewCount) AS NewCount,SUM(A.CommunicationCount) AS CommunicationCount
,SUM(A.TrialLessonCount) AS TrialLessonCount,SUM(A.NotContacted) AS NotContacted,SUM(A.JPCount) AS JPCount,SUM(A.KRCount) AS KRCount,SUM(A.FRCount) AS FRCount
,SUM(A.JPStudyCount) AS JPStudyCount,SUM(A.KRStudyCount) AS KRStudyCount,SUM(A.YGAStudyCount) AS YGAStudyCount,SUM(A.USStudyCount) AS USStudyCount
,SUM(A.SGStudyCount) AS SGStudyCount,SUM(A.AXStudyCount) AS AXStudyCount,SUM(A.OtherCount) AS OtherCount,SUM(A.ClassACount) AS ClassACount,SUM(A.ClassBCount) AS ClassBCount
,SUM(A.ClassCCount) AS ClassCCount,SUM(A.ClassDCount) AS ClassDCount,SUM(A.CustomerCount) AS CustomerCount,SUM(A.B2CCount) AS B2CCount,SUM(A.TransCount) AS TransCount
,SUM(A.InnerCount) AS InnerCount,SUM(A.InvalidCount) AS InvalidCount,SUM(A.SuspectedCount) AS SuspectedCount,SUM(A.IntentionCount) AS IntentionCount
,SUM(A.InvitationCount) AS InvitationCount,SUM(A.NegotiationCount) AS NegotiationCount,SUM(A.ContractCount) AS ContractCount,SUM(A.OrderMoney) AS OrderMoney
,SUM(A.StudyOrderMoney) AS StudyOrderMoney
FROM RB_Student_Static AS A
WHERE 1=1 AND A.Date<>'0001-01-01 00:00:00'
");
if (query != null)
{
if (query.Group_Id > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Student_Static_Extend.Group_Id), query.Group_Id);
}
if (query.YearStr > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Student_Static_Extend.YearStr), query.YearStr);
}
}
builder.AppendFormat(" GROUP BY DATE_FORMAT(A.Date, '%Y-%m') ");
builder.AppendFormat(" ORDER BY DATE_FORMAT(A.Date, '%Y-%m') ASC ", nameof(RB_Student_Static_Extend.Id));
return Get<RB_Student_Static_Extend>(builder.ToString()).ToList();
}
/// <summary>
/// 客户数据年份统计
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Student_Static_Extend> GetStudentStaticYearListRepository(RB_Student_Static_Extend query)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT CONCAT(A.YearStr,'-01','-01') AS Date,A.YearStr,SUM(A.PushCount) AS PushCount,SUM(A.NewCount) AS NewCount,SUM(A.CommunicationCount) AS CommunicationCount
,SUM(A.TrialLessonCount) AS TrialLessonCount,SUM(A.NotContacted) AS NotContacted,SUM(A.JPCount) AS JPCount,SUM(A.KRCount) AS KRCount,SUM(A.FRCount) AS FRCount
,SUM(A.JPStudyCount) AS JPStudyCount,SUM(A.KRStudyCount) AS KRStudyCount,SUM(A.YGAStudyCount) AS YGAStudyCount,SUM(A.USStudyCount) AS USStudyCount
,SUM(A.SGStudyCount) AS SGStudyCount,SUM(A.AXStudyCount) AS AXStudyCount,SUM(A.OtherCount) AS OtherCount,SUM(A.ClassACount) AS ClassACount,SUM(A.ClassBCount) AS ClassBCount
,SUM(A.ClassCCount) AS ClassCCount,SUM(A.ClassDCount) AS ClassDCount,SUM(A.CustomerCount) AS CustomerCount,SUM(A.B2CCount) AS B2CCount,SUM(A.TransCount) AS TransCount
,SUM(A.InnerCount) AS InnerCount,SUM(A.InvalidCount) AS InvalidCount,SUM(A.SuspectedCount) AS SuspectedCount,SUM(A.IntentionCount) AS IntentionCount
,SUM(A.InvitationCount) AS InvitationCount,SUM(A.NegotiationCount) AS NegotiationCount,SUM(A.ContractCount) AS ContractCount,SUM(A.OrderMoney) AS OrderMoney
,SUM(A.StudyOrderMoney) AS StudyOrderMoney
FROM RB_Student_Static AS A
WHERE 1=1 AND A.Date<>'0001-01-01 00:00:00'
");
if (query != null)
{
if (query.Group_Id > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Student_Static_Extend.Group_Id), query.Group_Id);
}
if (query.YearStr > 0)
{
builder.AppendFormat(" AND A.{0}<={1} ", nameof(RB_Student_Static_Extend.YearStr), query.YearStr);
}
}
builder.AppendFormat(" GROUP BY A.YearStr ");
builder.AppendFormat(" ORDER BY A.YearStr ASC ");
return Get<RB_Student_Static_Extend>(builder.ToString()).ToList();
}
......@@ -57,11 +130,6 @@ WHERE 1=1
/// <returns></returns>
public RB_Student_Static_Extend GetStudentStaticByProcRepository(string DateStr)
{
//var parameters = new DynamicParameters();
//string procName = "proc_student_static";
//parameters.Add("StartTime", DateStr, direction: ParameterDirection.Input);
//return Get<RB_Student_Static_Extend>(procName, parameters, commandType: CommandType.StoredProcedure)?.FirstOrDefault();
string sql = string.Format("call proc_student_static('{0}') ", DateStr);
var list = Get<RB_Student_Static_Extend>(sql);
return list?.FirstOrDefault();
......
......@@ -882,10 +882,10 @@ namespace Edu.WebApi.Controllers.Course
TeacherId = base.ParmJObj.GetInt("TeacherId"),
Group_Id = base.UserInfo.Group_Id,
};
if (classModule.CheckPlanModule(extModel))
{
return ApiResult.Failed(message: "已经存在【" + Common.ConvertHelper.FormatDate(extModel.ClassDate) + "】的上课安排!请删除后再操作!");
}
//if (classModule.CheckPlanModule(extModel))
//{
// return ApiResult.Failed(message: "已经存在【" + Common.ConvertHelper.FormatDate(extModel.ClassDate) + "】的上课安排!请删除后再操作!");
//}
extModel.School_Id = classModule.GetClassModule(extModel.ClassId)?.School_Id ?? 0;
try
{
......
......@@ -501,7 +501,7 @@ namespace Edu.WebApi.Controllers.User
#endregion
/// <summary>
/// 获取学员跟进分页列表
/// 客户数据每日统计
/// </summary>
/// <returns></returns>
[HttpPost]
......@@ -517,6 +517,73 @@ namespace Edu.WebApi.Controllers.User
return ApiResult.Success(data: list);
}
/// <summary>
/// 客户数据月份统计
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetStudentStaticMonth()
{
var query = new RB_Student_Static_Extend()
{
YearStr = base.ParmJObj.GetInt("YearStr"),
};
query.Group_Id = base.UserInfo.Group_Id;
var list = studentStatModule.GetStudentStaticListMonthModule(query);
return ApiResult.Success(data: list);
}
/// <summary>
/// 客户数据月份统计
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetStudentStaticRateMonth()
{
var query = new RB_Student_Static_Extend()
{
YearStr = base.ParmJObj.GetInt("YearStr"),
};
query.Group_Id = base.UserInfo.Group_Id;
var list = studentStatModule.GetStudentStaticRateListMonthModule(query);
return ApiResult.Success(data: list);
}
/// <summary>
/// 客户数据年份统计
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetStudentStaticYear()
{
var query = new RB_Student_Static_Extend()
{
YearStr = base.ParmJObj.GetInt("YearStr"),
};
query.Group_Id = base.UserInfo.Group_Id;
var list = studentStatModule.GetStudentStaticListYearModule(query);
return ApiResult.Success(data: list);
}
/// <summary>
/// 客户数据年份统计
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetStudentStaticYearRate()
{
var query = new RB_Student_Static_Extend()
{
YearStr = base.ParmJObj.GetInt("YearStr"),
};
query.Group_Id = base.UserInfo.Group_Id;
var list = studentStatModule.GetStudentStaticListYearRateModule(query);
return ApiResult.Success(data: list);
}
/// <summary>
/// 初始化学员统计数据
/// </summary>
......
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