Commit 3a3eef4e authored by liudong1993's avatar liudong1993

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

parents c361414a 74a902ca
...@@ -75,7 +75,7 @@ namespace Edu.Model.ViewModel.Course ...@@ -75,7 +75,7 @@ namespace Edu.Model.ViewModel.Course
public int OrderStudentCount { get; set; } public int OrderStudentCount { get; set; }
/// <summary> /// <summary>
/// 学名称 /// 学名称
/// </summary> /// </summary>
public string SchoolName { get; set; } public string SchoolName { get; set; }
......
using Edu.Model.Entity.EduTask; using Edu.Model.CacheModel;
using Edu.Model.Entity.EduTask;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Text; using System.Text;
...@@ -45,4 +46,65 @@ namespace Edu.Model.ViewModel.EduTask ...@@ -45,4 +46,65 @@ namespace Edu.Model.ViewModel.EduTask
/// </summary> /// </summary>
public string EffectiveDateStr { get { return Common.ConvertHelper.FormatDate(this.EffectiveDate); } } public string EffectiveDateStr { get { return Common.ConvertHelper.FormatDate(this.EffectiveDate); } }
} }
/// <summary>
/// 订单转班分拆生成财务单据实体类
/// </summary>
public class OrderChangeFinace
{
/// <summary>
/// 更改类型(1-转班,2-分拆)
/// </summary>
public int ChangeType { get; set; }
/// <summary>
/// 应收/退款
/// </summary>
public decimal InCome { get; set; }
/// <summary>
/// 学员编号
/// </summary>
public int GuestId { get; set; }
/// <summary>
/// 学员名称
/// </summary>
public string GuestName { get; set; }
/// <summary>
/// 操作人员
/// </summary>
public UserInfo UserInfo { get; set; }
/// <summary>
/// 班级编号
/// </summary>
public int ClassId { get; set; }
/// <summary>
/// 班级所在校区编号
/// </summary>
public int Class_School_Id { get; set; }
/// <summary>
/// 校区名称
/// </summary>
public string SName { get; set; }
/// <summary>
/// 班级名称
/// </summary>
public string ClassName { get; set; }
/// <summary>
/// 订单编号
/// </summary>
public int OrderId { get; set; }
/// <summary>
/// 关联财务单号
/// </summary>
public int ReFinanceId { get; set; }
}
} }
...@@ -1156,7 +1156,6 @@ namespace Edu.Module.EduTask ...@@ -1156,7 +1156,6 @@ namespace Edu.Module.EduTask
{ {
student_BackClassRepository.UpdateGuestStateRepository(receiptModel, auditModel); student_BackClassRepository.UpdateGuestStateRepository(receiptModel, auditModel);
} }
} }
return flag; return flag;
} }
......
...@@ -68,11 +68,6 @@ namespace Edu.Module.EduTask ...@@ -68,11 +68,6 @@ namespace Edu.Module.EduTask
/// </summary> /// </summary>
private readonly RB_Order_GuestRepository guestRepository = new RB_Order_GuestRepository(); private readonly RB_Order_GuestRepository guestRepository = new RB_Order_GuestRepository();
/// <summary>
/// 校区仓储层对象
/// </summary>
private readonly RB_SchoolRepository schoolRepository = new RB_SchoolRepository();
/// <summary> /// <summary>
/// 用户日志 /// 用户日志
/// </summary> /// </summary>
...@@ -201,7 +196,11 @@ namespace Edu.Module.EduTask ...@@ -201,7 +196,11 @@ namespace Edu.Module.EduTask
return false; return false;
} }
var oldOrderModel = orderRepository.GetEntity(orderChangeModel.SourceOrderId); var oldOrderModel = orderRepository.GetEntity(orderChangeModel.SourceOrderId);
var newClassModel = classRepository.GetEntity(orderChangeModel.NewClassId); var classList= classRepository.GetClassListRepository(new RB_Class_ViewModel() {
Q_ClassIds = orderChangeModel.NewClassId + "," + oldOrderModel.ClassId
});
var oldClassModel = classList?.Where(qitem => qitem.ClassId == oldOrderModel.ClassId)?.FirstOrDefault() ?? new RB_Class_ViewModel();
var newClassModel = classList?.Where(qitem => qitem.ClassId == orderChangeModel.NewClassId)?.FirstOrDefault() ?? new RB_Class_ViewModel();
var newCourseModel = courseRepository.GetEntity(orderChangeModel.NewCourseId); var newCourseModel = courseRepository.GetEntity(orderChangeModel.NewCourseId);
var userInfo = UserReidsCache.GetUserLoginInfo(oldOrderModel.EnterID); var userInfo = UserReidsCache.GetUserLoginInfo(oldOrderModel.EnterID);
var guestClassHours = GetGuestFinishMinutesModule(orderChangeModel.OrderGuestId.ToString()); var guestClassHours = GetGuestFinishMinutesModule(orderChangeModel.OrderGuestId.ToString());
...@@ -292,8 +291,36 @@ namespace Edu.Module.EduTask ...@@ -292,8 +291,36 @@ namespace Edu.Module.EduTask
if (flag) if (flag)
{ {
var RelevanceFrId = CreateExpenditure(newPreferPrice, guestModel.Id,guestModel.GuestName, userInfo, oldOrderModel.ClassId, oldOrderModel.OrderId, out string msg1); var changeModel = new OrderChangeFinace()
var InCome = CreateInCome(newPreferPrice, orderModel.NewGuestId, guestModel.GuestName, userInfo, orderModel.ClassId, orderModel.OrderId, RelevanceFrId, out string msg2); {
ChangeType=1,
InCome= newPreferPrice,
GuestId=guestModel.Id,
GuestName=guestModel.GuestName,
UserInfo=userInfo,
ClassId=oldOrderModel.ClassId,
ClassName=oldClassModel.ClassName,
Class_School_Id=oldClassModel.School_Id,
SName=oldClassModel.SchoolName,
OrderId=oldOrderModel.OrderId,
};
var RelevanceFrId = CreateExpenditure(changeModel, out string msg1);
var changeModel2 = new OrderChangeFinace()
{
ChangeType = 1,
InCome = newPreferPrice,
GuestId = orderModel.NewGuestId,
GuestName = guestModel.GuestName,
UserInfo = userInfo,
ClassId = orderModel.ClassId,
ClassName= newClassModel.ClassName,
Class_School_Id=newClassModel.School_Id,
SName=newClassModel.SchoolName,
OrderId = orderModel.OrderId,
ReFinanceId = RelevanceFrId
};
var InCome = CreateInCome(changeModel2, out string msg2);
flag = RelevanceFrId > 0 && InCome > 0; flag = RelevanceFrId > 0 && InCome > 0;
} }
#endregion #endregion
...@@ -313,9 +340,9 @@ namespace Edu.Module.EduTask ...@@ -313,9 +340,9 @@ namespace Edu.Module.EduTask
} }
/// <summary> /// <summary>
/// 转班收入 /// 转班、分拆收入
/// </summary> /// </summary>
public int CreateInCome(decimal InCome,int guestId,string GuestName, UserInfo userInfo, int classId, int orderId, int ReFinanceId, out string msg) public int CreateInCome(OrderChangeFinace change, out string msg)
{ {
msg = ""; msg = "";
#region 新增财务单据 #region 新增财务单据
...@@ -325,13 +352,12 @@ namespace Edu.Module.EduTask ...@@ -325,13 +352,12 @@ namespace Edu.Module.EduTask
{ {
CostTypeId=533, CostTypeId=533,
Number = 1, Number = 1,
OriginalMoney = InCome, OriginalMoney = change.InCome,
UnitPrice = InCome, UnitPrice = change.InCome,
Remark = "学员【"+GuestName+"】收入" Remark = "学员【"+change.GuestName+"】收入"
} }
}; };
var classModel = classRepository.GetEntity(classId); string Remark = "【" + (change.ClassName ?? "") + "】下,订单" + change.OrderId + " 客人"+(change.ChangeType==1? "转班" : "分拆");
string Remark = "【" + (classModel?.ClassName ?? "") + "】下,订单" + orderId + " 客人转班";
var financeObj = new var financeObj = new
{ {
BType = 1, BType = 1,
...@@ -339,28 +365,28 @@ namespace Edu.Module.EduTask ...@@ -339,28 +365,28 @@ namespace Edu.Module.EduTask
IsPublic = 7, IsPublic = 7,
ClientType = 3659, ClientType = 3659,
CurrencyId = 1, CurrencyId = 1,
GuestId=guestId, GuestId=change.GuestId,
WBMoney = InCome, WBMoney = change.InCome,
PayDate = DateTime.Now.ToString("yyyy-MM-dd"), PayDate = DateTime.Now.ToString("yyyy-MM-dd"),
TemplateId = 186, TemplateId = 186,
OrderSource = 17, OrderSource = 17,
OrderID = orderId, OrderID = change.OrderId,
TCIDList = new List<int>() { classId }, TCIDList = new List<int>() { change.ClassId },
OtherType = 0, OtherType = 0,
ReFinanceId, change.ReFinanceId,
CallBackReFrId = ReFinanceId, CallBackReFrId = change.ReFinanceId,
Remark, Remark,
detailList, detailList,
CreateBy = userInfo.Id, CreateBy =change.UserInfo.Id,
RB_Branch_Id = classModel.School_Id, RB_Branch_Id = change.Class_School_Id,
RB_Depart_Id = userInfo.DeptId, RB_Depart_Id = change.UserInfo.DeptId,
RB_Group_Id = userInfo.Group_Id, RB_Group_Id = change.UserInfo.Group_Id,
RB_CreateByName = userInfo.AccountName, RB_CreateByName = change.UserInfo.AccountName,
RB_DepartName = userInfo.DeptName, RB_DepartName = change.UserInfo.DeptName,
RB_BranchName = schoolRepository.GetEntity(classModel.School_Id)?.SName ?? "", RB_BranchName = change?.SName ?? "",
RB_GroupName = userInfo.GroupName, RB_GroupName = change.UserInfo.GroupName,
FinanceType = 2, FinanceType = 2,
RemitterName = "转班", RemitterName =change.ChangeType==1? "转班":"分拆",
TradeDate = Common.ConvertHelper.FormatDate(DateTime.Now), TradeDate = Common.ConvertHelper.FormatDate(DateTime.Now),
AccountNumber = Common.ConvertHelper.FormatDate(DateTime.Now), AccountNumber = Common.ConvertHelper.FormatDate(DateTime.Now),
}; };
...@@ -381,29 +407,31 @@ namespace Edu.Module.EduTask ...@@ -381,29 +407,31 @@ namespace Edu.Module.EduTask
{ {
Id = 0, Id = 0,
Type = 1, Type = 1,
CreateBy = userInfo.Id, CreateBy = change.UserInfo.Id,
CreateTime = DateTime.Now, CreateTime = DateTime.Now,
Group_Id = userInfo.Group_Id, Group_Id = change.UserInfo.Group_Id,
LogContent = "生成学员转班财务单据【" + orderId + "】", LogContent = "生成学员"+(change.ChangeType == 1 ? "转班" : "分拆") +"财务单据【" + change.OrderId + "】",
School_Id = userInfo.School_Id, School_Id = change.UserInfo.School_Id,
SourceId = 0 SourceId = 0
}); });
} }
else else
{ {
string message = parmsJob.GetStringValue("message"); string message = parmsJob.GetStringValue("message");
LogHelper.Write("CreateInCome:" + message); LogHelper.Write("CreateInCome:" + message);
msg += orderId + "创建财务单据失败;"; msg += change.OrderId + "创建财务单据失败;";
} }
#endregion #endregion
return frid; return frid;
} }
/// <summary> /// <summary>
/// 转班支出 /// 转班、分拆支出
/// </summary> /// </summary>
public int CreateExpenditure(decimal BackMoney,int guestId, string GuestName, UserInfo userInfo, int classId, int orderId, out string msg) /// <param name="change"></param>
/// <param name="msg"></param>
/// <returns></returns>
public int CreateExpenditure(OrderChangeFinace change,out string msg)
{ {
msg = ""; msg = "";
#region 新增财务单据 #region 新增财务单据
...@@ -413,37 +441,36 @@ namespace Edu.Module.EduTask ...@@ -413,37 +441,36 @@ namespace Edu.Module.EduTask
{ {
CostTypeId=533, CostTypeId=533,
Number = 1, Number = 1,
OriginalMoney = BackMoney, OriginalMoney =change.InCome,
UnitPrice = BackMoney, UnitPrice = change.InCome,
Remark = "学员【"+GuestName+"】转班支出" Remark = "学员【"+change.GuestName+"】转班支出"
} }
}; };
var classModel = classRepository.GetEntity(classId); string Remark = "【" + (change.ClassName) + "】下,订单" + change.OrderId + " 学员" + (change.ChangeType == 1 ? "转班" : "分拆") + "支出!";
string Remark = "【" + (classModel?.ClassName ?? "") + "】下,订单" + orderId + " 学员转班支出!";
var financeObj = new var financeObj = new
{ {
IsPublic = 7, IsPublic = 7,
ClientType = 10, ClientType = 10,
ClientID = 3659, ClientID = 3659,
CurrencyId = 1, CurrencyId = 1,
GuestId=guestId, GuestId= change.GuestId,
WBMoney = BackMoney, WBMoney = change.InCome,
PayDate = DateTime.Now.ToString("yyyy-MM-dd"), PayDate = DateTime.Now.ToString("yyyy-MM-dd"),
TemplateId = 185, TemplateId = 185,
OrderSource = 17, OrderSource = 17,
OrderID = orderId, OrderID =change.OrderId,
TCIDList = new List<int>() { classId }, TCIDList = new List<int>() { change.ClassId },
OtherType = 0, OtherType = 0,
Remark, Remark,
detailList, detailList,
CreateBy = userInfo.Id, CreateBy =change.UserInfo.Id,
RB_Branch_Id = classModel.School_Id, RB_Branch_Id = change.Class_School_Id,
RB_Depart_Id = userInfo.DeptId, RB_Depart_Id = change.UserInfo.DeptId,
RB_Group_Id = userInfo.Group_Id, RB_Group_Id = change.UserInfo.Group_Id,
RB_CreateByName = userInfo.AccountName, RB_CreateByName = change.UserInfo.AccountName,
RB_DepartName = userInfo.DeptName, RB_DepartName = change.UserInfo.DeptName,
RB_BranchName = schoolRepository.GetEntity(classModel.School_Id)?.SName ?? "", RB_BranchName = change?.SName ?? "",
RB_GroupName = userInfo.GroupName, RB_GroupName = change.UserInfo.GroupName,
FinanceType = 2 FinanceType = 2
}; };
string sign = EncryptionHelper.AesEncrypt(JsonHelper.Serialize(financeObj), Config.ReadConfigKey("FinanceKey")); string sign = EncryptionHelper.AesEncrypt(JsonHelper.Serialize(financeObj), Config.ReadConfigKey("FinanceKey"));
...@@ -451,7 +478,6 @@ namespace Edu.Module.EduTask ...@@ -451,7 +478,6 @@ namespace Edu.Module.EduTask
{ {
msg = sign msg = sign
}; };
string apiResult = HttpHelper.HttpPost(Config.ReadConfigKey("PaymentFinanceApi"), JsonHelper.Serialize(resultInfo), ""); string apiResult = HttpHelper.HttpPost(Config.ReadConfigKey("PaymentFinanceApi"), JsonHelper.Serialize(resultInfo), "");
JObject parmsJob = JObject.Parse(apiResult); JObject parmsJob = JObject.Parse(apiResult);
string resultCode = parmsJob.GetStringValue("resultCode"); string resultCode = parmsJob.GetStringValue("resultCode");
...@@ -463,11 +489,11 @@ namespace Edu.Module.EduTask ...@@ -463,11 +489,11 @@ namespace Edu.Module.EduTask
{ {
Id = 0, Id = 0,
Type = 1, Type = 1,
CreateBy = userInfo.Id, CreateBy = change.UserInfo.Id,
CreateTime = DateTime.Now, CreateTime = DateTime.Now,
Group_Id = userInfo.Group_Id, Group_Id = change.UserInfo.Group_Id,
LogContent = "生成学员转班财务单据【" + orderId + "】", LogContent = "生成学员"+(change.ChangeType==1? "转班" : "分拆")+"财务单据【" + change.OrderId + "】",
School_Id = userInfo.School_Id, School_Id = change.UserInfo.School_Id,
SourceId = 0 SourceId = 0
}); });
} }
...@@ -475,7 +501,7 @@ namespace Edu.Module.EduTask ...@@ -475,7 +501,7 @@ namespace Edu.Module.EduTask
{ {
string message = parmsJob.GetStringValue("message"); string message = parmsJob.GetStringValue("message");
LogHelper.Write("CreateExpenditure:" + message); LogHelper.Write("CreateExpenditure:" + message);
msg += orderId + "创建财务单据失败;"; msg += change.OrderId + "创建财务单据失败;";
} }
#endregion #endregion
return frid; return frid;
...@@ -544,26 +570,33 @@ namespace Edu.Module.EduTask ...@@ -544,26 +570,33 @@ namespace Edu.Module.EduTask
if (orderChangeModel != null && orderChangeModel.Id > 0) if (orderChangeModel != null && orderChangeModel.Id > 0)
{ {
//计算新班级课时数 //计算新班级课时数
var planList = class_PlanRepository.GetClassPlanListExtRepository(new RB_Class_Plan_ViewModel()
{
ClassId = orderChangeModel.NewClassId,
StartTime = Common.ConvertHelper.FormatDate(orderChangeModel.EffectiveDate)
});
//原订单实体
var oldOrderModel = orderRepository.GetEntity(orderChangeModel.SourceOrderId); var oldOrderModel = orderRepository.GetEntity(orderChangeModel.SourceOrderId);
var newClassModel = classRepository.GetEntity(orderChangeModel.NewClassId); var classList = classRepository.GetClassListRepository(new RB_Class_ViewModel()
{
Q_ClassIds = orderChangeModel.NewClassId + "," + oldOrderModel.ClassId
});
var oldClassModel = classList?.Where(qitem => qitem.ClassId == oldOrderModel.ClassId)?.FirstOrDefault() ?? new RB_Class_ViewModel();
var newClassModel = classList?.Where(qitem => qitem.ClassId == orderChangeModel.NewClassId)?.FirstOrDefault() ?? new RB_Class_ViewModel();
//班级有效课时
var courseValidHourse = planList?.Sum(qitem => qitem.TimeHour)??0;
//课程信息
var newCourseModel = courseRepository.GetEntity(orderChangeModel.NewCourseId); var newCourseModel = courseRepository.GetEntity(orderChangeModel.NewCourseId);
//新班级课程的应收
var newPreferPrice = Math.Round(newCourseModel.SellPrice / newCourseModel.ClassHours * courseValidHourse,2);
//原业务员
var userInfo = UserReidsCache.GetUserLoginInfo(oldOrderModel.EnterID); var userInfo = UserReidsCache.GetUserLoginInfo(oldOrderModel.EnterID);
var guestClassHours = GetGuestFinishMinutesModule(orderChangeModel.OrderGuestId.ToString()); //原学员信息
var guestModel = guestRepository.GetEntity(orderChangeModel.OrderGuestId); var guestModel = guestRepository.GetEntity(orderChangeModel.OrderGuestId);
//计算课时单价
//老订单应收 //原订单应收=原订单应收-新班级课程的应收
//单个人员的课时单价 decimal oldPreferPrice = oldOrderModel.PreferPrice - newPreferPrice ;
var unitPrice = (oldOrderModel.Income + oldOrderModel.PlatformTax) / oldOrderModel.GuestNum / guestModel.TotalHours;
//单人已完成应收
var singleFinishPrice = Math.Round(guestClassHours.FinishClassHours * unitPrice, 2);
//单人应收
var singlePreferPrice = Math.Round(guestModel.TotalHours * unitPrice, 2);
//原订单应收=原订单应收-单人应收+单人完成
decimal oldPreferPrice = oldOrderModel.PreferPrice - singlePreferPrice + singleFinishPrice;
//新订单应收和退款一致
decimal newPreferPrice = singlePreferPrice - singleFinishPrice;
#region 生成新订单 #region 生成新订单
var orderModel = new RB_Order_ViewModel() var orderModel = new RB_Order_ViewModel()
{ {
...@@ -589,8 +622,8 @@ namespace Edu.Module.EduTask ...@@ -589,8 +622,8 @@ namespace Edu.Module.EduTask
StartClassHours = 0, StartClassHours = 0,
UpOrderId = 0, UpOrderId = 0,
VisitorReserveId = 0, VisitorReserveId = 0,
JoinType = Common.Enum.Sale.OrderJoinTypeEnum.TransOrder, JoinType = Common.Enum.Sale.OrderJoinTypeEnum.SplitOrder,
TargetJoinType = Common.Enum.Sale.OrderJoinTypeEnum.Normal, TargetJoinType = oldOrderModel.JoinType,
EffectTime = orderChangeModel.EffectiveDate, EffectTime = orderChangeModel.EffectiveDate,
}; };
orderModel.SourceOrderId = orderChangeModel.SourceOrderId; orderModel.SourceOrderId = orderChangeModel.SourceOrderId;
...@@ -616,7 +649,7 @@ namespace Edu.Module.EduTask ...@@ -616,7 +649,7 @@ namespace Edu.Module.EduTask
{ {
{nameof(RB_Order_ViewModel.TargetOrderId),orderModel.OrderId }, {nameof(RB_Order_ViewModel.TargetOrderId),orderModel.OrderId },
{nameof(RB_Order_ViewModel.PreferPrice),oldPreferPrice }, {nameof(RB_Order_ViewModel.PreferPrice),oldPreferPrice },
{nameof(RB_Order_ViewModel.TargetJoinType),(int) Common.Enum.Sale.OrderJoinTypeEnum.TransOrder }, {nameof(RB_Order_ViewModel.TargetJoinType),(int) Common.Enum.Sale.OrderJoinTypeEnum.SplitOrder },
}; };
flag = orderRepository.Update(fileds, new WhereHelper(nameof(RB_Order_ViewModel.OrderId), orderChangeModel.SourceOrderId)); flag = orderRepository.Update(fileds, new WhereHelper(nameof(RB_Order_ViewModel.OrderId), orderChangeModel.SourceOrderId));
#endregion #endregion
...@@ -624,7 +657,7 @@ namespace Edu.Module.EduTask ...@@ -624,7 +657,7 @@ namespace Edu.Module.EduTask
#region 修改老学员课时相关 #region 修改老学员课时相关
Dictionary<string, object> guestFileds = new Dictionary<string, object>() Dictionary<string, object> guestFileds = new Dictionary<string, object>()
{ {
{nameof(RB_Order_Guest_ViewModel.TotalHours),guestClassHours.FinishClassHours }, {nameof(RB_Order_Guest_ViewModel.TotalHours),guestModel.TotalHours-courseValidHourse },
{nameof(RB_Order_Guest_ViewModel.GuestState),7 }, {nameof(RB_Order_Guest_ViewModel.GuestState),7 },
}; };
if (flag) if (flag)
...@@ -637,9 +670,36 @@ namespace Edu.Module.EduTask ...@@ -637,9 +670,36 @@ namespace Edu.Module.EduTask
if (flag) if (flag)
{ {
//var RelevanceFrId = CreateExpenditure(newPreferPrice, guestModel.Id, guestModel.GuestName, userInfo, oldOrderModel.ClassId, oldOrderModel.OrderId, out string msg1); var change1 = new OrderChangeFinace()
//var InCome = CreateInCome(newPreferPrice, orderModel.NewGuestId, guestModel.GuestName, userInfo, orderModel.ClassId, orderModel.OrderId, RelevanceFrId, out string msg2); {
//flag = RelevanceFrId > 0 && InCome > 0; ChangeType = 2,
InCome = newPreferPrice,
GuestId = guestModel.Id,
GuestName = guestModel.GuestName,
UserInfo = userInfo,
ClassId = oldOrderModel.ClassId,
ClassName = oldClassModel.ClassName,
Class_School_Id = oldClassModel.School_Id,
SName = oldClassModel.SchoolName,
OrderId = oldOrderModel.OrderId
};
var RelevanceFrId = CreateExpenditure(change1, out string msg1);
var change2 = new OrderChangeFinace()
{
ChangeType = 2,
InCome = newPreferPrice,
GuestId = orderModel.NewGuestId,
GuestName = guestModel.GuestName,
UserInfo = userInfo,
ClassId = orderModel.ClassId,
ClassName = newClassModel.ClassName,
Class_School_Id = newClassModel.School_Id,
SName = newClassModel.SchoolName,
OrderId = orderModel.OrderId,
ReFinanceId = RelevanceFrId,
};
var InCome = CreateInCome(change2, out string msg2);
flag = RelevanceFrId > 0 && InCome > 0;
} }
#endregion #endregion
} }
......
...@@ -24,9 +24,10 @@ namespace Edu.Repository.Course ...@@ -24,9 +24,10 @@ namespace Edu.Repository.Course
{ {
StringBuilder builder = new StringBuilder(); StringBuilder builder = new StringBuilder();
builder.AppendFormat(@" builder.AppendFormat(@"
SELECT A.* ,IFNULL(B.CourseName,'') AS CourseName,IFNULL(C.GuestNum,0) AS GuestNum SELECT A.* ,IFNULL(B.CourseName,'') AS CourseName,IFNULL(C.GuestNum,0) AS GuestNum,IFNULL(D.SName,'') AS SchoolName
FROM rb_class AS A LEFT JOIN rb_course AS B ON A.CouseId=B.CourseId FROM rb_class AS A LEFT JOIN rb_course AS B ON A.CouseId=B.CourseId
LEFT JOIN(SELECT ClassId,SUM(GuestNum) AS GuestNum FROM rb_order WHERE OrderState=1 GROUP BY ClassId) AS C ON A.ClassId=C.ClassId LEFT JOIN(SELECT ClassId,SUM(GuestNum) AS GuestNum FROM rb_order WHERE OrderState=1 GROUP BY ClassId) AS C ON A.ClassId=C.ClassId
LEFT JOIN rb_school AS D ON A.School_Id=D.SId
WHERE 1=1 WHERE 1=1
"); ");
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_ViewModel.Status), (int)DateStateEnum.Normal); builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_ViewModel.Status), (int)DateStateEnum.Normal);
......
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