Commit 12bf3462 authored by 黄奎's avatar 黄奎

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

parents a9acfb97 8c920f07
......@@ -25,6 +25,20 @@ namespace Edu.Model.ViewModel.Course
/// </summary>
public int EnterID { get; set; }
/// <summary>
/// 业务员
/// </summary>
public string EnterName { get; set; }
/// <summary>
/// 班级名称
/// </summary>
public string ClassName { get; set; }
/// <summary>
/// 老师id
/// </summary>
public int Teacher_Id { get; set; }
/// <summary>
/// rb_student表的id
/// </summary>
......@@ -153,6 +167,14 @@ namespace Edu.Model.ViewModel.Course
public int UpOrderId { get; set; }
/// <summary>
/// 总上课次数
/// </summary>
public int TotalPlanNum { get; set; }
/// <summary>
/// 已上课次数
/// </summary>
public int Ranks { get; set; }
/// 是否续班订单
/// </summary>
public int IsRenewOrder { get; set; }
......
......@@ -3006,5 +3006,24 @@ namespace Edu.Module.Course
#endregion
#region 教师-学员管理
/// <summary>
/// 获取分页列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="rowsCount"></param>
/// <param name="demodel"></param>
/// <param name="orderIds"></param>
/// <returns></returns>
public List<RB_Order_Guest_ViewModel> GetTeacherStudentPage(int pageIndex, int pageSize, out long rowsCount, RB_Order_Guest_ViewModel demodel)
{
var orderstudentList = order_GuestRepository.GetTeacherStudentPage( pageIndex, pageSize, out rowsCount, demodel);
return orderstudentList;
}
#endregion
}
}
This diff is collapsed.
......@@ -468,7 +468,7 @@ ORDER BY p.ClassDate ASC
/// <param name="contractNo"></param>
/// <param name="groupId"></param>
/// <returns></returns>
public List<RB_Class_Check_ViewModel> GetStudentConsumptionHoursDetialPageList(int pageIndex, int pageSize, out long count, int teacherId, int schoolId, int classId, string startMonth, string endMonth, string studentName, int orderId, string contractNo, int groupId)
public List<RB_Class_Check_ViewModel> GetStudentConsumptionHoursDetialPageList(int pageIndex, int pageSize, out long count, int teacherId, int schoolId, int classId, string startMonth, string endMonth, string studentName, int orderId, string contractNo, int groupId,int StudentId)
{
string where = $@" ";
if (teacherId > 0)
......@@ -491,6 +491,10 @@ ORDER BY p.ClassDate ASC
{
where += $@" and t2.OrderId ={orderId}";
}
if (StudentId > 0)
{
where += $@" and t2.StudentId ={StudentId}";
}
if (!string.IsNullOrEmpty(contractNo))
{
where += $@" and ec.ContractNo ='{contractNo}'";
......
......@@ -237,5 +237,68 @@ FROM RB_Order_Guest AS A LEFT JOIN rb_order AS B ON A.OrderId=B.OrderId
WHERE {where}";
return Get<RB_Order_Guest_ViewModel>(sql).ToList();
}
/// <summary>
/// 获取分页列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="rowsCount"></param>
/// <param name="demodel"></param>
/// <param name="orderIds"></param>
/// <returns></returns>
public List<RB_Order_Guest_ViewModel> GetTeacherStudentPage(int pageIndex, int pageSize, out long rowsCount, RB_Order_Guest_ViewModel demodel)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT A.*,IFNULL(B.IsChaBan,0) AS IsChaBan,IFNULL(B.StartClassHours,0) AS StartClassHours,IFNULL(C.CourseName,'') AS CourseName,class.ClassId,class.ClassName,b.EnterID
,plan.TotalPlanNum,planr.Ranks ,B.EffectStatus,B.EffectTime,B.UpOrderId,B.OrderType,B.CourseId
FROM RB_Order_Guest AS A LEFT JOIN rb_order AS B ON A.OrderId=B.OrderId
LEFT JOIN rb_class as class on class.ClassId=a.ClassId
LEFT JOIN rb_course AS C ON (B.CourseId=C.CourseId AND B.CourseId>0 AND B.OrderType=1)
LEFT JOIN (SELECT ClassId,COUNT(*) TotalPlanNum from rb_class_plan where `Status`=0 GROUP BY ClassId) as plan on plan.ClassId=class.ClassId
LEFT JOIN (SELECT ClassId,COUNT(*) Ranks from rb_class_plan where `Status`=0 and DATE_FORMAT(ClassDate,'%Y-%m-%d') <=DATE_FORMAT(NOW(),'%Y-%m-%d') GROUP BY ClassId) as planr on planr.ClassId=class.ClassId
WHERE 1=1 and A.Status=0 and b.OrderState<>3
");
if (demodel.Group_Id > 0)
{
builder.AppendFormat($@" AND A.{nameof(RB_Order_Guest_ViewModel.Group_Id)} ={demodel.Group_Id}");
}
if (demodel.School_Id > 0)
{
builder.AppendFormat($@" AND A.{nameof(RB_Order_Guest_ViewModel.School_Id)} ={demodel.School_Id}");
}
if (demodel.OrderId > 0)
{
builder.AppendFormat($@" AND A.{nameof(RB_Order_Guest_ViewModel.OrderId)} ={demodel.OrderId}");
}
if (!string.IsNullOrEmpty(demodel.GuestName))
{
builder.AppendFormat($@" AND A.{nameof(RB_Order_Guest_ViewModel.GuestName)} like '%{demodel.GuestName}%'");
}
if (demodel.ClassId > 0)
{
builder.AppendFormat($@" AND A.{nameof(RB_Order_Guest_ViewModel.ClassId)} ={demodel.ClassId}");
}
if (demodel.CourseId > 0)
{
builder.AppendFormat($@" AND B.{nameof(RB_Order_Guest_ViewModel.CourseId)} ={demodel.CourseId}");
}
if (demodel.EnterID > 0)
{
builder.AppendFormat($@" AND B.{nameof(RB_Order_Guest_ViewModel.EnterID)} ={demodel.EnterID}");
}
if (demodel.SourceId > 0)
{
builder.AppendFormat($@" AND A.{nameof(RB_Order_Guest_ViewModel.SourceId)} ={demodel.SourceId}");
}
if (demodel.GuestState > 0)
{
builder.AppendFormat($@" AND A.{nameof(RB_Order_Guest_ViewModel.GuestState)} ={demodel.GuestState}");
}
return GetPage<RB_Order_Guest_ViewModel>(pageIndex, pageSize, out rowsCount, builder.ToString()).ToList();
}
}
}
......@@ -8,6 +8,7 @@ using Edu.Common.Enum.Course;
using Edu.Common.Plugin;
using Edu.Model.ViewModel.Course;
using Edu.Module.Course;
using Edu.Module.Finance;
using Edu.WebApi.Filter;
using Microsoft.AspNetCore.Cors;
using Microsoft.AspNetCore.Http;
......@@ -26,7 +27,10 @@ namespace Edu.WebApi.Controllers.Course
/// </summary>
private readonly ClassModule classModule = AOP.AOPHelper.CreateAOPObject<ClassModule>();
/// <summary>
/// 财务处理类对象
/// </summary>
private readonly FinanceModule financeModule = AOP.AOPHelper.CreateAOPObject<FinanceModule>();
#region 班级管理
/// <summary>
/// 获取班级页列表
......@@ -132,5 +136,77 @@ namespace Edu.WebApi.Controllers.Course
return ApiResult.Success(data: obj);
}
#endregion
#region 月度耗课
/// <summary>
/// 班级月度课耗统计
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetClassMonthStatistics()
{
var userInfo = base.UserInfo;
int classId = base.ParmJObj.GetInt("ClassId", 0);
var list = financeModule.GetTeacherClassMonthStatistics(classId, userInfo);
return ApiResult.Success("", list);
}
#endregion
#region 学员管理
/// <summary>
/// 获取学员列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetClassStudent()
{
var pageModel = Common.Plugin.JsonHelper.DeserializeObject<ResultPageModel>(RequestParm.Msg.ToString());
var model = new RB_Order_Guest_ViewModel
{
Teacher_Id = base.ParmJObj.GetInt("Teacher_Id", 0),
GuestName = base.ParmJObj.GetStringValue("GuestName"),
ClassId = base.ParmJObj.GetInt("ClassId", 0),
CourseId = base.ParmJObj.GetInt("CourseId", 0),
EnterID = base.ParmJObj.GetInt("EnterID", 0),
};
model.Group_Id = base.UserInfo.Group_Id;
var list = classModule.GetTeacherStudentPage(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, model);
List<object> result = new List<object>();
foreach (var item in list)
{
if (item.EnterID > 0)
{
item.EnterName = UserReidsCache.GetUserLoginInfo(item.CreateBy)?.AccountName ?? "";
}
result.Add(new
{
item.Id,
item.GuestName,
item.Mobile,
item.ClassId,
item.ClassName,
item.CourseId,
item.CourseName,
item.GuestState,
item.GuestStateStr,
item.School_Id,
item.Teacher_Id,
item.TotalPlanNum,
item.Ranks,
item.EnterName,
item.EnterID
});
}
pageModel.Count = rowsCount;
pageModel.PageData = result;
return ApiResult.Success(data: pageModel);
}
#endregion
}
}
......@@ -244,9 +244,9 @@ namespace Edu.WebApi.Controllers.Finance
var classInfo = classModule.GetClassAndCourseListRepository(new Model.ViewModel.Course.RB_Class_ViewModel { Group_Id = base.UserInfo.Group_Id, ClassId = classId, School_Id = schoolId }).FirstOrDefault();
projectInfo = new RB_Class_ViewModel()
{
ClassName= classInfo?.ClassName,
CourseName= classInfo?.CourseName,
TeacherName= classInfo?.TeacherName,
ClassName = classInfo?.ClassName,
CourseName = classInfo?.CourseName,
TeacherName = classInfo?.TeacherName,
OpenTimeStr = classInfo?.OpenTime.ToString("yyyy-MM-dd")
};
}
......@@ -260,7 +260,7 @@ namespace Edu.WebApi.Controllers.Finance
TeacherName = "",
OpenTimeStr = ""
};
title = (studyInfo?.Type ?? 0) ==1? "留学情况" : "就业情况";
title = (studyInfo?.Type ?? 0) == 1 ? "留学情况" : "就业情况";
subtitle = "项目名称";
thirdTitle = "";
fourTitle = "";
......@@ -1015,7 +1015,8 @@ namespace Edu.WebApi.Controllers.Finance
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetOrderStudentClassHoursPageList() {
public ApiResult GetOrderStudentClassHoursPageList()
{
var userInfo = base.UserInfo;
var pageModel = JsonHelper.DeserializeObject<ResultPageModel>(RequestParm.Msg.ToString());
var dmodel = JsonHelper.DeserializeObject<RB_Education_Contract_ViewModel>(RequestParm.Msg.ToString());
......@@ -1095,8 +1096,8 @@ namespace Edu.WebApi.Controllers.Finance
y.AccountTypeId
})
}),
PreferPrice = x.FinanceList.Where(t => t.Type == WFTempLateClassEnum.IN)?.Sum(x => (x.Money ?? 0) + (x.Fee ?? 0))??0,
EffectiveClassHours = x.Unit_Price > 0 ? Math.Round(x.Income / x.Unit_Price,2,MidpointRounding.AwayFromZero) : 0,
PreferPrice = x.FinanceList.Where(t => t.Type == WFTempLateClassEnum.IN)?.Sum(x => (x.Money ?? 0) + (x.Fee ?? 0)) ?? 0,
EffectiveClassHours = x.Unit_Price > 0 ? Math.Round(x.Income / x.Unit_Price, 2, MidpointRounding.AwayFromZero) : 0,
x.Income,
x.Expend,
x.UseBookFee,
......@@ -1253,7 +1254,8 @@ namespace Edu.WebApi.Controllers.Finance
};
slist.Add(firstRow);
}
else {
else
{
ExcelDataSource firstRow = new ExcelDataSource(30)
{
ExcelRows = new List<ExcelColumn>()
......@@ -1299,7 +1301,8 @@ namespace Edu.WebApi.Controllers.Finance
Num++;
}
}
else {
else
{
ExcelDataSource firstRow = new ExcelDataSource(30)
{
ExcelRows = new List<ExcelColumn>()
......@@ -1365,7 +1368,8 @@ namespace Edu.WebApi.Controllers.Finance
var userInfo = base.UserInfo;
var pageModel = JsonHelper.DeserializeObject<ResultPageModel>(RequestParm.Msg.ToString());
var dmodel = JsonHelper.DeserializeObject<RB_Education_ContractAdjust_ViewModel>(RequestParm.Msg.ToString());
if (dmodel.ContractId <= 0) {
if (dmodel.ContractId <= 0)
{
return ApiResult.ParamIsNull("请传递合同编号");
}
......@@ -1375,7 +1379,8 @@ namespace Edu.WebApi.Controllers.Finance
{
return ApiResult.Success();
}
else {
else
{
return ApiResult.Failed();
}
}
......@@ -1421,13 +1426,16 @@ namespace Edu.WebApi.Controllers.Finance
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult SetFinanceMonthStatementInfo() {
public ApiResult SetFinanceMonthStatementInfo()
{
var userInfo = base.UserInfo;
var dmodel = JsonHelper.DeserializeObject<RB_RollingAccount_Extend>(RequestParm.Msg.ToString());
if (string.IsNullOrEmpty(dmodel.Month)) {
if (string.IsNullOrEmpty(dmodel.Month))
{
return ApiResult.ParamIsNull("请选择月份");
}
if (dmodel.SchoolList == null || !dmodel.SchoolList.Any()) {
if (dmodel.SchoolList == null || !dmodel.SchoolList.Any())
{
return ApiResult.ParamIsNull("请选择校区");
}
dmodel.Month = Convert.ToDateTime(dmodel.Month).ToString("yyyy-MM");
......@@ -1453,17 +1461,20 @@ namespace Edu.WebApi.Controllers.Finance
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetTeacherConsumptionHoursStatistics() {
public ApiResult GetTeacherConsumptionHoursStatistics()
{
var userInfo = base.UserInfo;
var pageModel = JsonHelper.DeserializeObject<ResultPageModel>(RequestParm.Msg.ToString());
int TeacherId = base.ParmJObj.GetInt("TeacherId", 0);
int SchoolId = base.ParmJObj.GetInt("SchoolId", 0);
string StartMonth = base.ParmJObj.GetStringValue("StartMonth");
string EndMonth = base.ParmJObj.GetStringValue("EndMonth");
if (string.IsNullOrEmpty(StartMonth)) {
if (string.IsNullOrEmpty(StartMonth))
{
return ApiResult.ParamIsNull("请选择开始月份");
}
if (string.IsNullOrEmpty(EndMonth)) {
if (string.IsNullOrEmpty(EndMonth))
{
return ApiResult.ParamIsNull("请选择结束月份");
}
try
......@@ -1559,7 +1570,8 @@ namespace Edu.WebApi.Controllers.Finance
/// 获取老师课时统计明细列表
/// </summary>
/// <returns></returns>
public ApiResult GetTeacherConsumptionHoursDetialPageList() {
public ApiResult GetTeacherConsumptionHoursDetialPageList()
{
var userInfo = base.UserInfo;
var pageModel = JsonHelper.DeserializeObject<ResultPageModel>(RequestParm.Msg.ToString());
int TeacherId = base.ParmJObj.GetInt("TeacherId", 0);
......@@ -1700,6 +1712,7 @@ namespace Edu.WebApi.Controllers.Finance
string StartMonth = base.ParmJObj.GetStringValue("StartMonth");
string EndMonth = base.ParmJObj.GetStringValue("EndMonth");
string StudentName = base.ParmJObj.GetStringValue("StudentName");//学生名称
int StudentId = base.ParmJObj.GetInt("StudentId",0);//学员id
int OrderId = base.ParmJObj.GetInt("OrderId", 0);//订单
string ContractNo = base.ParmJObj.GetStringValue("ContractNo");//合同编号
if (string.IsNullOrEmpty(StartMonth))
......@@ -1720,7 +1733,7 @@ namespace Edu.WebApi.Controllers.Finance
return ApiResult.Failed("日期格式有误");
}
var list = financeModule.GetStudentConsumptionHoursDetialPageList(pageModel.PageIndex, pageModel.PageSize, out long count, TeacherId, SchoolId, ClassId, StartMonth, EndMonth, StudentName, OrderId, ContractNo, userInfo.Group_Id);
var list = financeModule.GetStudentConsumptionHoursDetialPageList(pageModel.PageIndex, pageModel.PageSize, out long count, TeacherId, SchoolId, ClassId, StartMonth, EndMonth, StudentName, OrderId, ContractNo, userInfo.Group_Id, StudentId);
pageModel.Count = Convert.ToInt32(count);
pageModel.PageData = list;
return ApiResult.Success("", pageModel);
......@@ -1919,7 +1932,8 @@ namespace Edu.WebApi.Controllers.Finance
try
{
int Num = 1;
foreach (var item in list) {
foreach (var item in list)
{
item.YSKMoney = Math.Round(item.YSKMoney, 6, MidpointRounding.AwayFromZero);
ExcelDataSource firstRow = new ExcelDataSource(30)
{
......@@ -1981,7 +1995,8 @@ namespace Edu.WebApi.Controllers.Finance
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetClassMonthStatistics() {
public ApiResult GetClassMonthStatistics()
{
var userInfo = base.UserInfo;
int classId = base.ParmJObj.GetInt("ClassId", 0);
......@@ -1994,7 +2009,8 @@ namespace Edu.WebApi.Controllers.Finance
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetAllClassNowMonthStatistics() {
public ApiResult GetAllClassNowMonthStatistics()
{
var userInfo = base.UserInfo;
string StartTime = base.ParmJObj.GetStringValue("StartTime");//开始时间
string EndTime = base.ParmJObj.GetStringValue("EndTime");//结束时间
......
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