Commit a9c291a2 authored by 黄奎's avatar 黄奎

页面修改

parent 7abb2df2
......@@ -230,5 +230,10 @@ namespace Edu.Model.ViewModel.Sell
/// 预约数量
/// </summary>
public int AppointNum { get; set; }
/// <summary>
/// 学员数量
/// </summary>
public int StudentNum { get; set; }
}
}
......@@ -157,7 +157,7 @@ namespace Edu.Module.Course
courseModel = courseRepository.GetEntity(classModel.CouseId);
}
//预计退款金额
decimal backMoney = orderRepository.CalcBackMoneyRepository(orderModel, courseModel, FinishHours,out decimal classHourPrice);
decimal backMoney = orderRepository.CalcBackMoneyRepository(orderModel, courseModel, FinishHours, out decimal classHourPrice);
var obj = new
{
orderModel.PreferPrice,
......@@ -190,7 +190,7 @@ namespace Edu.Module.Course
var eduReceipt = education_ReceiptRepository.GetEducationReceiptListRepository(new EducationReceiptQuery()
{
ReceiptType = 2,
RelationId= backClassId
RelationId = backClassId
})?.FirstOrDefault();
if (backModel == null || backModel.AuditStatus != WFRrocessStatus.AuditThrough) { return "退课流程未审核通过"; }
if (backModel.FinanceId > 0) { return "已制单,无法再次生成财务单据"; }
......@@ -213,7 +213,7 @@ namespace Edu.Module.Course
}
};
var classModel = classRepository.GetEntity(backModel.ClassId);
string Remark = backModel.ApplyReason+ "【" + (classModel?.ClassName ?? "") + "】下,订单" + backModel.OrderId + " 客人退课";
string Remark = backModel.ApplyReason + "【" + (classModel?.ClassName ?? "") + "】下,订单" + backModel.OrderId + " 客人退课";
var financeObj = new
{
OtherType = 28,
......@@ -457,9 +457,9 @@ namespace Edu.Module.Course
/// <param name="demodel"></param>
/// <param name="orderIds"></param>
/// <returns></returns>
public List<RB_Order_Guest_Extend> GetAllStudentPage(int pageIndex, int pageSize, out long rowsCount, RB_Order_Guest_Extend demodel)
public List<RB_Order_Guest_Extend> GetAllStudentPageModule(int pageIndex, int pageSize, out long rowsCount, RB_Order_Guest_Extend demodel)
{
var orderstudentList = order_GuestRepository.GetAllStudentPage(pageIndex, pageSize, out rowsCount, demodel);
var orderstudentList = order_GuestRepository.GetAllStudentPageRepository(pageIndex, pageSize, out rowsCount, demodel);
if (orderstudentList.Any())
{
//课程顾问 协助老师 负责人; 客户来源 来源关联人
......@@ -550,6 +550,32 @@ namespace Edu.Module.Course
return orderstudentList;
}
/// <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 object GetAllStudentStaticModule(RB_Order_Guest_Extend demodel)
{
var obj = new object();
var list = order_GuestRepository.GetAllStudentStaticRepository(demodel);
if (list != null)
{
obj = new
{
NormalNum = list?.FirstOrDefault(qitem => qitem.GuestState == GuestStateEnum.Normal)?.StudentNum ?? 0,
DropOutNum = list?.FirstOrDefault(qitem => qitem.GuestState == GuestStateEnum.DropOut)?.StudentNum ?? 0,
StopClassesNum = list?.FirstOrDefault(qitem => qitem.GuestState == GuestStateEnum.StopClasses)?.StudentNum ?? 0,
GraduateNum = list?.FirstOrDefault(qitem => qitem.GuestState == GuestStateEnum.Graduate)?.StudentNum ?? 0,
};
}
return obj;
}
/// <summary>
/// 获取签到状态记录
/// </summary>
......
......@@ -127,7 +127,7 @@ namespace Edu.Repository.Sell
//查询课时完成的学员
if (demodel.QFinishGuest == 1)
{
where += string.Format(" AND ( A.TotalHours<=A.ValidClassHours AND A.CompleteHours=A.ValidClassHours AND B.OrderState<>3 AND (IFNULL(A.GraduationTime,'')='' OR A.GuestState={0})) ",(int)GuestStateEnum.Graduate);
where += string.Format(" AND ( A.TotalHours<=A.ValidClassHours AND A.CompleteHours=A.ValidClassHours AND B.OrderState<>3 AND (IFNULL(A.GraduationTime,'')='' OR A.GuestState={0})) ", (int)GuestStateEnum.Graduate);
}
string sql = $@"
......@@ -365,7 +365,7 @@ WHERE 1=1 and A.Status=0 and class.Status=0 and b.OrderState<>3
{
builder.AppendFormat($@" AND A.{nameof(RB_Order_Guest_ViewModel.OrderId)} ={demodel.OrderId}");
}
if (demodel.Teacher_Id > 0 || demodel.HelpEnterId>0)
if (demodel.Teacher_Id > 0 || demodel.HelpEnterId > 0)
{
//builder.AppendFormat($@" and (class.Teacher_Id ={demodel.Teacher_Id} OR o.HelpEnterId ={demodel.HelpEnterId} )");
builder.AppendFormat($@" and (class.Teacher_Id ={demodel.Teacher_Id} OR stu.StuId IN(SELECT StuId FROM rb_student_assist WHERE `Status`=0 AND AssistId={demodel.HelpEnterId}) ) ");
......@@ -679,14 +679,14 @@ WHERE {where}";
/// <param name="demodel"></param>
/// <param name="orderIds"></param>
/// <returns></returns>
public List<RB_Order_Guest_Extend> GetAllStudentPage(int pageIndex, int pageSize, out long rowsCount, RB_Order_Guest_Extend demodel)
public List<RB_Order_Guest_Extend> GetAllStudentPageRepository(int pageIndex, int pageSize, out long rowsCount, RB_Order_Guest_Extend demodel)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT a.*,contract.ContractNo,contract.Id as ContractId,b.CourseId,IFNULL(C.CourseName,'') AS CourseName,C.CourseRate,class.ClassName,class.ClassNo
,class.Teacher_Id,teacher.TeacherName,b.CreateTime as OrderTime,b.EnterID,b.PreferPrice,b.Income,b.Refund,b.PlatformTax
,(a.TotalHours-a.CompleteHours) as SurplusHours,gc.AbsenceNum,gc.LeaveNum,eventlog.EventlogNum,b.EffectStatus,b.JoinType,sog.Student_Id,st.StuTel,st.StuRealMobile,chl.Name as StuChannelName,st.CreateType,st.StuSourceId,st.StuId,st.CreateBy as StuCreateBy
FROM RB_Order_Guest AS A LEFT JOIN rb_order AS B ON A.OrderId=B.OrderId
FROM RB_Order_Guest AS A LEFT JOIN rb_order AS B ON A.OrderId=B.OrderId AND B.OrderState IN(1,2)
LEFT JOIN rb_education_contract as contract on contract.GuestId=a.Id AND contract.`Status`=0
LEFT JOIN rb_student_orderguest as sog on sog.GuestId=a.Id AND sog.`Status`=0
LEFT JOIN rb_student as st ON sog.Student_Id=st.StuId
......@@ -798,6 +798,131 @@ WHERE 1=1 AND A.Status=0 AND class.Status=0 AND class.ClassStatus <>4 AND b.Or
return GetPage<RB_Order_Guest_Extend>(pageIndex, pageSize, out rowsCount, builder.ToString()).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_Extend> GetAllStudentStaticRepository(RB_Order_Guest_Extend demodel)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT a.GuestState,COUNT(1) AS StudentNum
FROM RB_Order_Guest AS A LEFT JOIN rb_order AS B ON A.OrderId=B.OrderId AND B.OrderState IN(1,2)
LEFT JOIN rb_education_contract as contract on contract.GuestId=a.Id AND contract.`Status`=0
LEFT JOIN rb_student_orderguest as sog on sog.GuestId=a.Id AND sog.`Status`=0
LEFT JOIN rb_student as st ON sog.Student_Id=st.StuId
LEFT JOIN rb_channel as chl ON st.StuChannel=chl.Id
LEFT JOIN rb_class as class on class.ClassId=b.ClassId
LEFT JOIN rb_course AS C ON (B.CourseId=C.CourseId AND B.CourseId>0 AND B.OrderType=1)
LEFT JOIN rb_teacher as teacher on teacher.TId=class.Teacher_Id
LEFT JOIN (
SELECT OrderGuestId,SUM(CASE CheckStatus WHEN 1 THEN 1 ELSE 0 END) AS AbsenceNum,SUM(CASE CheckStatus WHEN 2 THEN 1 ELSE 0 END) AS LeaveNum
FROM rb_class_check
WHERE `Status`=0 and CheckStatus <>0 GROUP BY OrderGuestId
) AS gc on gc.OrderGuestId=a.Id
LEFT JOIN (SELECT StuId,COUNT(*) AS EventlogNum FROM rb_student_eventlog WHERE `Status`=0 GROUP BY StuId) as eventlog on eventlog.StuId=a.Id
WHERE 1=1 AND A.Status=0 AND class.Status=0 AND class.ClassStatus <>4 AND b.OrderState<>3
");
if (demodel.Group_Id > 0)
{
builder.AppendFormat($@" AND A.{nameof(RB_Order_Guest_Extend.Group_Id)} ={demodel.Group_Id}");
}
if (demodel.School_Id > -1)
{
builder.AppendFormat($@" AND class.{nameof(RB_Class_ViewModel.School_Id)} ={demodel.School_Id}");
}
if (demodel.CourseId > 0)
{
builder.AppendFormat($@" AND b.{nameof(RB_Order_Guest_Extend.CourseId)} ={demodel.CourseId}");
}
if (demodel.ClassId > 0)
{
builder.AppendFormat($@" AND B.{nameof(RB_Order_Guest_Extend.ClassId)} ={demodel.ClassId}");
}
if (!string.IsNullOrEmpty(demodel.GuestName))
{
builder.AppendFormat($@" AND A.{nameof(RB_Order_Guest_Extend.GuestName)} like '%{demodel.GuestName}%'");
}
if (demodel.GuestState > 0)
{
builder.AppendFormat($@" AND A.{nameof(RB_Order_Guest_Extend.GuestState)} ={(int)demodel.GuestState}");
}
if (!string.IsNullOrEmpty(demodel.ClassNo))
{
builder.AppendFormat($@" AND class.{nameof(RB_Order_Guest_Extend.ClassNo)} like '%{demodel.ClassNo}%'");
}
if (demodel.OrderId > 0)
{
builder.AppendFormat($@" AND A.{nameof(RB_Order_Guest_Extend.OrderId)} ={demodel.OrderId}");
}
if (demodel.EnterID > 0)
{
builder.AppendFormat($@" AND B.{nameof(RB_Order_Guest_Extend.EnterID)} ={demodel.EnterID}");
}
if (demodel.OrderTime.HasValue)
{
builder.AppendFormat($@" AND DATE_FORMAT(B.CreateTime,'%y-%m-%d')>=DATE_FORMAT('{Common.ConvertHelper.FormatDate(demodel.OrderTime)}','%y-%m-%d')");
}
if (demodel.EndOrderTime.HasValue)
{
builder.AppendFormat($@" AND DATE_FORMAT(B.CreateTime,'%y-%m-%d')<=DATE_FORMAT('{Common.ConvertHelper.FormatDate(demodel.EndOrderTime)}','%y-%m-%d')");
}
if (demodel.EffectStatus.HasValue)
{
if (demodel.EffectStatus == 0)
{
builder.AppendFormat($@" AND B.{nameof(RB_Order_Guest_Extend.EffectStatus)} =0");
}
else
{
// builder.AppendFormat($@" AND B.{nameof(RB_Order_Guest_Extend.EffectStatus)} >0");
builder.AppendFormat($@" AND A.{nameof(RB_Order_Guest_Extend.GuestState)} ={demodel.EffectStatus.Value}");
}
}
if (demodel.JoinType > 0)
{
builder.AppendFormat($@" AND B.{nameof(RB_Order_Guest_Extend.JoinType)} ={demodel.JoinType}");
}
if (demodel.EarlyWarning == Common.Enum.Course.GuestClassHoursEarlyWarningEnum.NotFifteen)
{
builder.AppendFormat($@" AND (a.TotalHours-a.CompleteHours) <15 ");
}
else if (demodel.EarlyWarning == Common.Enum.Course.GuestClassHoursEarlyWarningEnum.NotFive)
{
builder.AppendFormat($@" AND (a.TotalHours-a.CompleteHours) <5 ");
}
else if (demodel.EarlyWarning == Common.Enum.Course.GuestClassHoursEarlyWarningEnum.NotTen)
{
builder.AppendFormat($@" AND (a.TotalHours-a.CompleteHours) <10 ");
}
else if (demodel.EarlyWarning == Common.Enum.Course.GuestClassHoursEarlyWarningEnum.NotTwenty)
{
builder.AppendFormat($@" AND (a.TotalHours-a.CompleteHours) <20 ");
}
//2022-01-17
if (demodel.CreateType > 0)
{
builder.AppendFormat($@" AND st.CreateType ={(int)demodel.CreateType}");
}
if (demodel.StuChannelId > 0)
{
builder.AppendFormat($@" AND st.StuChannel ={demodel.StuChannelId}");
}
if (demodel.StuSourceId > 0)
{
builder.AppendFormat($@" AND st.StuSourceId ={demodel.StuSourceId}");
}
builder.AppendFormat($@" GROUP BY A.GuestState ");
return Get<RB_Order_Guest_Extend>(builder.ToString()).ToList();
}
#endregion
/// <summary>
/// 获取学生列表 根据手机号码
......
......@@ -135,9 +135,9 @@ namespace Edu.WebApi.Controllers.Course
SourceId = 0,
IsLessPrice = 0,
LessPrice = 0,
PerLessMoney=0,
DiscountMoney=0,
PerDiscountMoney=0,
PerLessMoney = 0,
DiscountMoney = 0,
PerDiscountMoney = 0,
OrderNature = oldOrderModel.OrderNature,
OldPreferPrice = base.ParmJObj.GetDecimal("PreferPrice"),//应收,
CourseId = 0,
......@@ -208,10 +208,10 @@ namespace Edu.WebApi.Controllers.Course
{
CheckStatus = base.ParmJObj.GetInt("CheckStatus"),
ClassId = base.ParmJObj.GetInt("ClassId"),
CouseId=base.ParmJObj.GetInt("CouseId"),
GuestName=base.ParmJObj.GetStringValue("GuestName"),
OrderGuestId=base.ParmJObj.GetInt("OrderGuestId"),
StartDate=base.ParmJObj.GetStringValue("StartDate"),
CouseId = base.ParmJObj.GetInt("CouseId"),
GuestName = base.ParmJObj.GetStringValue("GuestName"),
OrderGuestId = base.ParmJObj.GetInt("OrderGuestId"),
StartDate = base.ParmJObj.GetStringValue("StartDate"),
};
demodel.School_Id = -1;
var School_Id = base.ParmJObj.GetStringValue("School_Id");
......@@ -304,7 +304,7 @@ namespace Edu.WebApi.Controllers.Course
EnterID = base.ParmJObj.GetInt("EnterID", 0),
JoinType = base.ParmJObj.GetInt("JoinType", 0),
EarlyWarning = (Common.Enum.Course.GuestClassHoursEarlyWarningEnum)base.ParmJObj.GetInt("EarlyWarning", 0),
GuestState=(GuestStateEnum)base.ParmJObj.GetInt("GuestState"),
GuestState = (GuestStateEnum)base.ParmJObj.GetInt("GuestState"),
StuChannelId = base.ParmJObj.GetInt("StuChannelId", 0),
CreateType = (Common.Enum.User.StuCreateTypeEnum)base.ParmJObj.GetInt("CreateType", 0),
StuSourceId = base.ParmJObj.GetInt("StuSourceId", 0),
......@@ -339,7 +339,8 @@ namespace Edu.WebApi.Controllers.Course
}
model.Group_Id = base.UserInfo.Group_Id;
var list = studentBillModule.GetAllStudentPage(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, model);
var list = studentBillModule.GetAllStudentPageModule(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, model);
var obj = studentBillModule.GetAllStudentStaticModule(model);
List<object> result = new List<object>();
foreach (var item in list)
......@@ -417,7 +418,7 @@ namespace Edu.WebApi.Controllers.Course
}
pageModel.Count = rowsCount;
pageModel.PageData = result;
return ApiResult.Success(data: pageModel);
return ApiResult.Success(data: new { pageModel, StudentStatic = 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