Commit 2644c67a authored by 黄奎's avatar 黄奎

页面修改

parent ec8f3036
......@@ -15,6 +15,11 @@ namespace Edu.Model.ViewModel.EduTask
/// </summary>
public string QIds { get; set; }
/// <summary>
/// 学员编号
/// </summary>
public string QGuestIds { get; set; }
/// <summary>
/// 单据标题
/// </summary>
......@@ -30,6 +35,11 @@ namespace Edu.Model.ViewModel.EduTask
/// </summary>
public int ReceiptType { get; set; }
/// <summary>
/// 单据类型编号【逗号分割】
/// </summary>
public string QReceiptTypes { get; set; }
/// <summary>
/// 集团编号
/// </summary>
......
......@@ -44,5 +44,25 @@ namespace Edu.Model.ViewModel.EduTask
/// 附件list
/// </summary>
public List<string> ReceiptFileList { get; set; }
/// <summary>
/// 退课学员编号
/// </summary>
public int BackClassGuestId { get; set; }
/// <summary>
/// 停课学员编号
/// </summary>
public int StopClassGuestId { get; set; }
/// <summary>
/// 订单分拆、转班学员编号
/// </summary>
public int OrderChangeGuestId { get; set; }
/// <summary>
/// 临沭上课邀请学员编号
/// </summary>
public string TempinvitationGuestIds { get; set; }
}
}
using System;
using Edu.Common.Enum.Course;
using Edu.Common.Plugin;
using Edu.Model.Entity.Sell;
......@@ -158,5 +159,10 @@ namespace Edu.Model.ViewModel.Sell
return str;
}
}
/// <summary>
/// 课程等级
/// </summary>
public CourseRateEnum CourseRate { get; set; }
}
}
using Edu.Common.Enum.Sale;
using Edu.Common.Plugin;
using Edu.Model.Entity.Sell;
using Edu.Model.ViewModel.EduTask;
using System;
using System.Collections.Generic;
......@@ -262,5 +263,10 @@ namespace Edu.Model.ViewModel.Sell
/// 已完成课时的学员
/// </summary>
public int QFinishGuest { get; set; }
/// <summary>
/// 学员业务单据列表
/// </summary>
public List<RB_Education_Receipt_ViewModel> GuestEduReceiptList { get; set; }
}
}
\ No newline at end of file
......@@ -321,65 +321,6 @@ namespace Edu.Module.Course
};
flag = mallGoodsRepository.Update(fileds, new WhereHelper(nameof(RB_Goods.Id), model.MallGoodsId));
}
#region 阶梯报价
//未开启阶梯价格
if (model.IsOpenStepPrice == 0)
{
course_StepPriceRepository.DeleteStepPriceRepository(model.CourseId);
}
else//开启阶梯价格
{
var oldStepPriceList = course_StepPriceRepository.GetCourseStepPriceListRepository(new RB_Course_StepPrice_ViewModel() { CourseId = model.CourseId });
//以前没有阶梯报价信息【直接新增】
if (oldStepPriceList == null || (oldStepPriceList != null && oldStepPriceList.Count == 0))
{
if (model.StepPriceList != null && model.StepPriceList.Count > 0)
{
foreach (var item in model.StepPriceList)
{
item.CoursePriceId = 0;
item.CourseId = model.CourseId;
item.Group_Id = model.Group_Id;
item.School_Id = model.School_Id;
course_StepPriceRepository.Insert(item);
}
}
}
else//以前有阶梯报价
{
//现在没有阶梯报价了【直接删除以前的阶梯报价】
if (model.StepPriceList == null || (model.StepPriceList != null && model.StepPriceList.Count == 0))
{
//course_StepPriceRepository.DeleteStepPriceRepository(model.CourseId);
}
//找出差异的数据
//var deleteList = oldStepPriceList.Where(qitem => !model.StepPriceList.Any(oldItem => qitem.CoursePriceId == oldItem.CoursePriceId)).ToList();
//foreach (var dItem in deleteList)
//{
// if (dItem.CoursePriceId > 0)
// {
// course_StepPriceRepository.Delete(dItem.CoursePriceId);
// }
//}
//foreach (var priceItem in model.StepPriceList)
//{
// priceItem.CourseId = model.CourseId;
// priceItem.Group_Id = model.Group_Id;
// priceItem.School_Id = model.School_Id;
// if (priceItem.CoursePriceId == 0)
// {
// course_StepPriceRepository.Insert(priceItem);
// }
// else
// {
// course_StepPriceRepository.Update(priceItem);
// }
//}
}
}
#endregion
return flag;
}
......
......@@ -13,6 +13,7 @@ using Edu.Model.Entity.Course;
using Edu.Model.Entity.Sell;
using Edu.Model.ViewModel.Contract;
using Edu.Model.ViewModel.Course;
using Edu.Model.ViewModel.EduTask;
using Edu.Model.ViewModel.Grade;
using Edu.Model.ViewModel.Log;
using Edu.Model.ViewModel.Mall;
......@@ -22,6 +23,7 @@ using Edu.Model.ViewModel.StudyAbroad;
using Edu.Model.ViewModel.User;
using Edu.Repository.Contract;
using Edu.Repository.Course;
using Edu.Repository.EduTask;
using Edu.Repository.Finance;
using Edu.Repository.Grade;
using Edu.Repository.Log;
......@@ -1846,6 +1848,13 @@ namespace Edu.Module.Course
var list = order_GuestRepository.GetOrderGuestPageRepository(pageIndex, pageSize, out count, dmodel);
if (list != null && list.Count > 0)
{
string guestIds = string.Join(",", list.Select(qitem => qitem.Id));
//查询学员[停课,退课,转班,分拆,临课]业务单据
var guestEduReceiptList = education_ReceiptRepository.GetEducationReceiptListExtRepository(new EducationReceiptQuery()
{
QGuestIds = guestIds,
QReceiptTypes = "2,3,4,5,6",
});
List<RB_Order_ViewModel> sourceTargetList = new List<RB_Order_ViewModel>();
List<int> idList = new List<int>();
var sourceOrderIdList = Common.ConvertHelper.StringToList(string.Join(",", list.Select(x => x.SourceOrderId)));
......@@ -1865,6 +1874,12 @@ namespace Edu.Module.Course
}
foreach (var item in list)
{
item.GuestEduReceiptList = guestEduReceiptList?
.Where(qitem => qitem.BackClassGuestId == item.Id
|| qitem.StopClassGuestId == item.Id
|| qitem.OrderChangeGuestId == item.Id
|| qitem.TempinvitationGuestIds.Contains(item.Id.ToString())
)?.ToList() ?? new List<RB_Education_Receipt_ViewModel>();
if (item.SourceOrderId > 0)
{
item.SourceClassName = sourceTargetList?.Where(qitem => qitem.OrderId == item.SourceOrderId)?.FirstOrDefault()?.ClassName;
......
......@@ -435,12 +435,9 @@ namespace Edu.Module.Course
public List<RB_Order_Guest_Extend> GetAllStudentPage(int pageIndex, int pageSize, out long rowsCount, RB_Order_Guest_Extend demodel)
{
var orderstudentList = order_GuestRepository.GetAllStudentPage(pageIndex, pageSize, out rowsCount, demodel);
return orderstudentList;
}
/// <summary>
/// 获取签到状态记录
/// </summary>
......@@ -454,8 +451,6 @@ namespace Edu.Module.Course
return class_CheckRepository.GetClassCheckPageList(pageIndex, pageSize, out rowsCount, query);
}
/// <summary>
/// 获取学员事件记录分页列表
/// </summary>
......@@ -469,7 +464,6 @@ namespace Edu.Module.Course
return student_EventLogRepository.GetStudentEventLogPageList(pageIndex, pageSize, out rowsCount, query);
}
/// <summary>
///删除学员事件
/// </summary>
......@@ -478,16 +472,14 @@ namespace Edu.Module.Course
public bool DelStudentEventLog(int Id, int UpdateBy)
{
Dictionary<string, object> fileds = new Dictionary<string, object>()
{
{ nameof(RB_Student_EventLog_ViewModel.Status),1},
{ nameof(RB_Student_EventLog_ViewModel.UpdateBy),UpdateBy},
{ nameof(RB_Student_EventLog_ViewModel.UpdateTime),System.DateTime.Now},
};
{
{ nameof(RB_Student_EventLog_ViewModel.Status),1},
{ nameof(RB_Student_EventLog_ViewModel.UpdateBy),UpdateBy},
{ nameof(RB_Student_EventLog_ViewModel.UpdateTime),System.DateTime.Now},
};
return student_EventLogRepository.Update(fileds, new WhereHelper(nameof(RB_Student_EventLog_ViewModel.Id), Id));
}
/// <summary>
/// 新增/修改学员事件
/// </summary>
......@@ -512,23 +504,7 @@ namespace Edu.Module.Course
flag = student_EventLogRepository.Update(fileds, new WhereHelper(nameof(RB_Student_EventLog_ViewModel.Id), model.Id));
}
return flag;
}
/// <summary>
/// 获取学员事件记录列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="rowsCount"></param>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Student_EventLog_ViewModel> GetStudentEventLogList(RB_Student_EventLog_ViewModel query)
{
return student_EventLogRepository.GetStudentEventLogList(query);
}
#endregion
}
}
}
\ No newline at end of file
......@@ -492,11 +492,6 @@ namespace Edu.Module.EduTask
if (item.ReceiptType == Common.Enum.Finance.ReceiptTypeEnum.InvitationClass)
{
var tempModel = studentTempInvitationClassList.Where(qitem => qitem.Id == item.RelationId)?.FirstOrDefault();
//tempModel.ClassDate = planList.Where(x => x.ClassPlanId == tempModel.ClassPlanId).FirstOrDefault()?.ClassDate.ToString("yyyy-MM-dd") ?? "";
//tempModel.StartTime = timeList.Where(x => x.ClassTimeId == tempModel.ClassTimeId).FirstOrDefault()?.StartTime ?? "";
//tempModel.EndTime = timeList.Where(x => x.ClassTimeId == tempModel.ClassTimeId).FirstOrDefault()?.EndTime ?? "";
//tempModel.TimeHour = timeList.Where(x => x.ClassTimeId == tempModel.ClassTimeId).FirstOrDefault()?.TimeHour ?? 0;
tempModel.ClassPlanTimeList = new List<ClassPlanTime>();
foreach (var itemClassTimeIds in tempModel.ClassTimeIds.Split(","))
{
......@@ -1626,11 +1621,11 @@ namespace Edu.Module.EduTask
/// <summary>
/// 获取教务单据列表
/// </summary>
/// <param name="RelationIds"></param>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Education_Receipt_ViewModel> GetEducationReceiptList(string RelationIds)
public List<RB_Education_Receipt_ViewModel> GetEducationReceiptListModule(EducationReceiptQuery query)
{
return education_ReceiptRepository.GetEducationReceiptList(RelationIds);
return education_ReceiptRepository.GetEducationReceiptListRepository(query);
}
}
}
......@@ -153,7 +153,6 @@ WHERE 1=1
public List<RB_Education_Receipt_ViewModel> GetEducationReceiptListRepository(EducationReceiptQuery query)
{
var parameters = new DynamicParameters();
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT A.*,IFNULL(B.ClassName,'') AS ClassName,IFNULL(B.ClassNo,'') AS ClassNo,IFNULL(C.TeacherName,'') AS TeacherName
......@@ -211,6 +210,85 @@ WHERE 1=1
return Get<RB_Education_Receipt_ViewModel>(builder.ToString(), parameters).ToList();
}
/// <summary>
/// 获取教务单据列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Education_Receipt_ViewModel> GetEducationReceiptListExtRepository(EducationReceiptQuery query)
{
var parameters = new DynamicParameters();
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT A.*,IFNULL(B.ClassName,'') AS ClassName,IFNULL(B.ClassNo,'') AS ClassNo,IFNULL(C.TeacherName,'') AS TeacherName
,IFNULL(D.SName,'') AS SchoolName,IFNULL(E.CourseName,'') AS CourseName,IFNULL(backClass.GuestId,0) AS BackClassGuestId
,IFNULL(stopClass.OrderGuestId,0) AS StopClassGuestId,IFNULL(orderChange.OrderGuestId,0) AS OrderChangeGuestId,IFNULL(tempinvitation.OrderGuestIds,'') AS TempinvitationGuestIds
FROM RB_Education_Receipt AS A LEFT JOIN rb_class AS B ON A.ClassId=B.ClassId
LEFT JOIN rb_teacher AS C ON B.Teacher_Id=C.TId
LEFT JOIN rb_school AS D ON A.School_Id=D.SId
LEFT JOIN rb_course AS E ON B.CouseId=E.CourseId
LEFT JOIN rb_student_backclass AS backClass ON A.RelationId=backClass.BackId AND A.ReceiptType=2
LEFT JOIN rb_student_stopclass AS stopClass ON A.RelationId=stopClass.Id AND A.ReceiptType=3
LEFT JOIN rb_order_change AS orderChange ON A.RelationId=orderChange.Id AND A.ReceiptType IN(5,6)
LEFT JOIN rb_student_tempinvitation AS tempinvitation ON A.RelationId=tempinvitation.Id AND A.ReceiptType=4
WHERE 1=1
");
if (query != null)
{
if (query.Group_Id > 0)
{
builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_Education_Receipt_ViewModel.Group_Id), query.Group_Id);
}
if (!string.IsNullOrEmpty(query.QIds))
{
builder.AppendFormat(@" AND A.{0} IN ({1}) ", nameof(RB_Education_Receipt_ViewModel.Id), query.QIds);
}
if (query.RelationId > 0)
{
builder.AppendFormat(@" AND A.{0} IN ({1}) ", nameof(RB_Education_Receipt_ViewModel.RelationId), query.RelationId);
}
if (!string.IsNullOrEmpty(query.QRelationIds))
{
builder.AppendFormat(@" AND A.{0} IN ({1}) ", nameof(RB_Education_Receipt_ViewModel.RelationId), query.QRelationIds);
}
if (!string.IsNullOrEmpty(query.Title))
{
builder.AppendFormat(@" AND A.{0} LIKE @Title ", nameof(RB_Education_Receipt_ViewModel.Title));
parameters.Add("Title", "%" + query.Title.Trim() + "%");
}
if (!string.IsNullOrEmpty(query.StartTime))
{
builder.AppendFormat(@" AND A.{0}>='{1}' ", nameof(RB_Education_Receipt_ViewModel.CreateTime), query.StartTime);
}
if (!string.IsNullOrEmpty(query.EndTime))
{
builder.AppendFormat(@" AND A.{0}<='{1} 23:59:59' ", nameof(RB_Education_Receipt_ViewModel.CreateTime), query.EndTime);
}
if (query.ReceiptType > 0)
{
builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_Education_Receipt_ViewModel.ReceiptType), query.ReceiptType);
}
if (!string.IsNullOrEmpty(query.QReceiptTypes))
{
builder.AppendFormat(@" AND A.{0} IN({1}) ", nameof(RB_Education_Receipt_ViewModel.ReceiptType), query.QReceiptTypes);
}
if (query.VerifyStatus > -1)
{
builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_Education_Receipt_ViewModel.VerifyStatus), query.VerifyStatus);
}
if (!string.IsNullOrEmpty(query.QEffectiveDate))
{
builder.AppendFormat(@" AND A.{0}>='{1}' ", nameof(RB_Education_Receipt_ViewModel.EffectiveDate), query.QEffectiveDate);
}
if (!string.IsNullOrEmpty(query.QGuestIds))
{
builder.AppendFormat("AND (backClass.GuestId IN({0}) OR stopClass.OrderGuestId IN({0}) OR orderChange.OrderGuestId IN({0}) OR tempinvitation.OrderGuestIds IN({0}) ) ", query.QGuestIds);
}
}
return Get<RB_Education_Receipt_ViewModel>(builder.ToString(), parameters).ToList();
}
/// <summary>
/// 新增修改教务单据
/// </summary>
......@@ -568,27 +646,5 @@ WHERE 1=1
}
return result;
}
/// <summary>
/// 获取教务单据列表
/// </summary>
/// <param name="RelationIds"></param>
/// <returns></returns>
public List<RB_Education_Receipt_ViewModel> GetEducationReceiptList(string RelationIds)
{
var parameters = new DynamicParameters();
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@" SELECT A.* FROM RB_Education_Receipt AS A WHERE 1=1 ");
if (!string.IsNullOrEmpty(RelationIds))
{
builder.AppendFormat(@" AND A.{0} IN ({1}) ", nameof(RB_Education_Receipt_ViewModel.RelationId), RelationIds);
}
builder.AppendFormat(" ORDER BY A.{0} DESC ", nameof(RB_Education_Receipt_ViewModel.Id));
return Get<RB_Education_Receipt_ViewModel>(builder.ToString(), parameters).ToList();
}
}
}
......@@ -197,7 +197,6 @@ GROUP BY A.ClassId
return Get<GuestFinishMinute_ViewModel>(builder.ToString()).ToList();
}
/// <summary>
/// 获取班级签到列表
/// </summary>
......@@ -237,8 +236,6 @@ GROUP BY A.ClassId
{
builder.AppendFormat(" AND A.{0} in({1}) ", nameof(RB_Class_Check_ViewModel.ClassTimeId), query.Q_ClassTimeIds);
}
if (!string.IsNullOrWhiteSpace(query.StartDate))
{
builder.AppendFormat(" AND DATE_FORMAT(A.{0},'%Y-%m-%d')>=DATE_FORMAT('{1}','%Y-%m-%d') ", nameof(RB_Class_Check_ViewModel.ClassDate), query.StartDate);
......@@ -256,7 +253,6 @@ GROUP BY A.ClassId
builder.AppendFormat(" AND A.{0} in ({1}) ", nameof(RB_Class_Check_ViewModel.ClassTimeId), query.ClassTimeIds);
}
}
return Get<RB_Class_Check_ViewModel>(builder.ToString()).ToList();
}
......@@ -282,33 +278,6 @@ GROUP BY A.ClassId
return Get<RB_Class_Check_ViewModel>(sql).ToList();
}
/// <summary>
/// 获取学生的上课课时
/// </summary>
/// <param name="groupId"></param>
/// <param name="guestIds"></param>
/// <returns></returns>
public List<RB_Class_Check_ViewModel> GetClassStudentDeductionHoursList(int groupId, string guestIds)
{
string sql = $@"SELECT OrderGuestId, SUM(CurrentDeductionHours) as CurrentDeductionHours FROM rb_class_check where `Status`=0 and Group_Id ={groupId} and OrderGuestId in ({guestIds}) group by OrderGuestId";
return Get<RB_Class_Check_ViewModel>(sql).ToList();
}
/// <summary>
/// 获取学生的上课课时
/// </summary>
/// <param name="groupId"></param>
/// <param name="orderIds"></param>
/// <returns></returns>
public List<RB_Class_Check_ViewModel> GetClassStudentHoursListForOrder(int groupId, string orderIds)
{
string sql = $@"SELECT g.Id as OrderGuestId,g.OrderId,SUM(c.CurrentDeductionHours) CurrentDeductionHours FROM rb_order_guest g
left join rb_class_check c on g.Id = c.OrderGuestId
WHERE g.Group_Id ={groupId} and g.`Status`=0 and g.GuestState <>2 and c.`Status` =0 and g.OrderId in({orderIds})
group by g.Id;";
return Get<RB_Class_Check_ViewModel>(sql).ToList();
}
/// <summary>
/// 获取订单每月 消费课时
/// </summary>
......@@ -739,9 +708,6 @@ GROUP BY tt.ClassId,tt.OrderGuestId
/// <summary>
/// 获取时间范围内的班级
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="count"></param>
/// <param name="startTime"></param>
/// <param name="endTime"></param>
/// <param name="classId"></param>
......@@ -777,7 +743,6 @@ LEFT JOIN rb_class c on cc.ClassId = c.ClassId
#region 学生可补课时/缺勤次数,请假次数
#region
/// <summary>
/// 获取签到状态记录
/// </summary>
......@@ -825,6 +790,5 @@ WHERE 1=1 AND A.Status=0 {1} ", builderMakeUp.ToString(), builderWhere.ToString
}
#endregion
#endregion
}
}
......@@ -2,6 +2,7 @@
using Edu.Model.Entity.Sell;
using Edu.Model.ViewModel.Grade;
using Edu.Model.ViewModel.Sell;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
......@@ -157,7 +158,7 @@ WHERE 1=1 and A.Status=0 {where}";
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT A.* ,IFNULL(course.CourseName,'') AS CourseName,tOrder.CourseId,tOrder.OrderType,tOrder.StartClassHours
SELECT A.*,IFNULL(course.CourseName,'') AS CourseName,tOrder.CourseId,tOrder.OrderType,tOrder.StartClassHours
,IFNULL(tOrder.JoinType,0) AS JoinType,IFNULL(tOrder.TargetJoinType,0) AS TargetJoinType,tOrder.EffectTime
,tOrder.EffectStatus,tOrder.UpOrderId,sc.StopClassEffectTime,tOrder.SourceOrderId,tOrder.TargetOrderId
FROM RB_Order_Guest AS A LEFT JOIN RB_Order as tOrder ON A.OrderId=tOrder.OrderId
......@@ -204,36 +205,28 @@ WHERE 1=1 AND A.Status=0
/// <returns></returns>
public int GetOrderGuestNumRepository(RB_Order_Guest_ViewModel demodel)
{
string where = $@" 1=1 and Status=0";
string where = $@" 1=1 AND Status=0";
if (demodel.Group_Id > 0)
{
where += $@" and {nameof(RB_Order_Guest_ViewModel.Group_Id)} ={demodel.Group_Id}";
}
if (demodel.School_Id > 0)
{
where += $@" and {nameof(RB_Order_Guest_ViewModel.School_Id)} ={demodel.School_Id}";
where += $@" AND {nameof(RB_Order_Guest_ViewModel.Group_Id)} ={demodel.Group_Id}";
}
if (demodel.OrderId > 0)
{
where += $@" and {nameof(RB_Order_Guest_ViewModel.OrderId)} ={demodel.OrderId}";
where += $@" AND {nameof(RB_Order_Guest_ViewModel.OrderId)} ={demodel.OrderId}";
}
if (demodel.ClassId > 0)
{
where += $@" and {nameof(RB_Order_Guest_ViewModel.ClassId)} ={demodel.ClassId}";
where += $@" AND {nameof(RB_Order_Guest_ViewModel.ClassId)} ={demodel.ClassId}";
}
if (!string.IsNullOrEmpty(demodel.OrderIds))
{
where += $@" and {nameof(RB_Order_Guest_ViewModel.OrderId)} in({demodel.OrderIds})";
}
if (!string.IsNullOrEmpty(demodel.GuestName))
{
where += $@" and {nameof(RB_Order_Guest_ViewModel.GuestName)} like '%{demodel.GuestName}%'";
where += $@" AND {nameof(RB_Order_Guest_ViewModel.OrderId)} in({demodel.OrderIds})";
}
if (demodel.GuestState > 0)
{
where += $@" and {nameof(RB_Order_Guest_ViewModel.GuestState)} ={(int)demodel.GuestState}";
where += $@" AND {nameof(RB_Order_Guest_ViewModel.GuestState)} ={(int)demodel.GuestState}";
}
string sql = $@" select count(0) from RB_Order_Guest where {where}";
string sql = $@" SELECT COUNT(0) FROM RB_Order_Guest WHERE {where}";
var obj = ExecuteScalar(sql);
if (obj == null)
{
......@@ -661,21 +654,22 @@ WHERE {where}";
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT a.*,contract.ContractNo,contract.Id as ContractId,b.CourseId,IFNULL(C.CourseName,'') AS CourseName
,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
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
FROM RB_Order_Guest AS A LEFT JOIN rb_order AS B ON A.OrderId=B.OrderId
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_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
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_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)
{
......
......@@ -51,48 +51,5 @@ namespace Edu.Repository.User
builder.AppendFormat(" order by t.{0} desc ", nameof(RB_Student_EventLog_ViewModel.CreateTime));
return GetPage<RB_Student_EventLog_ViewModel>(pageIndex, pageSize, out rowsCount, builder.ToString(), parameters).ToList();
}
/// <summary>
/// 获取学员事件记录列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="rowsCount"></param>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Student_EventLog_ViewModel> GetStudentEventLogList(RB_Student_EventLog_ViewModel query)
{
var parameters = new DynamicParameters();
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@" SELECT t.* FROM RB_Student_EventLog AS t WHERE 1=1 ");
builder.AppendFormat(" AND t.{0}={1} ", nameof(RB_Student_EventLog_ViewModel.Status), (int)DateStateEnum.Normal);
if (query != null)
{
if (query.Group_Id > 0)
{
builder.AppendFormat(" AND t.{0}={1} ", nameof(RB_Student_EventLog_ViewModel.Group_Id), query.Group_Id);
}
if (query.School_Id > 0)
{
builder.AppendFormat(" AND t.{0}={1} ", nameof(RB_Student_EventLog_ViewModel.School_Id), query.School_Id);
}
if (query.StuId > 0)
{
builder.AppendFormat(" AND t.{0}={1} ", nameof(RB_Student_EventLog_ViewModel.StuId), query.StuId);
}
if (query.Id > 0)
{
builder.AppendFormat(" AND t.{0}={1} ", nameof(RB_Student_EventLog_ViewModel.Id), query.Id);
}
if (query.EventType > 0)
{
builder.AppendFormat(" AND t.{0}={1} ", nameof(RB_Student_EventLog_ViewModel.EventType), query.EventType);
}
}
return Get<RB_Student_EventLog_ViewModel>(builder.ToString(), parameters).ToList();
}
}
}
......@@ -4,6 +4,7 @@ using System.Linq;
using Edu.Cache.User;
using Edu.Common.API;
using Edu.Common.Enum.Course;
using Edu.Common.Enum.Finance;
using Edu.Common.Enum.Sale;
using Edu.Common.Plugin;
using Edu.Model.ViewModel.Course;
......@@ -1049,15 +1050,12 @@ namespace Edu.WebApi.Controllers.Course
{
x.Id,
x.GuestName,
x.GuestState,
x.OrderId,
x.GuestStateStr,
x.Profession,
x.Sex,
SexStr = x.Sex == 1 ? "男" : "女",
x.Age,
BirthDate = Common.ConvertHelper.FormatDate(x.BirthDate),
x.TotalHours,
x.Mobile,
x.Basics,
x.Education,
......@@ -1098,6 +1096,19 @@ namespace Edu.WebApi.Controllers.Course
x.ContractType,
x.ContractUrl,
x.ContractUrlList,
x.TotalHours,
x.ValidClassHours,
x.CompleteHours,
x.MakeUpHours,
SurplusHours=x.TotalHours-x.CompleteHours,
x.GuestState,
x.GuestStateStr,
GraduationTime = Common.ConvertHelper.FormatDate(x.GraduationTime),
BackClassList = x?.GuestEduReceiptList?.Where(qitem => qitem.ReceiptType == ReceiptTypeEnum.BackClass)?.ToList(),
StopClassList = x?.GuestEduReceiptList?.Where(qitem => qitem.ReceiptType == ReceiptTypeEnum.StopClass)?.ToList(),
InvitationClassList = x?.GuestEduReceiptList?.Where(qitem => qitem.ReceiptType == ReceiptTypeEnum.InvitationClass)?.ToList(),
OrderTransClassList = x?.GuestEduReceiptList?.Where(qitem => qitem.ReceiptType == ReceiptTypeEnum.OrderTransClass)?.ToList(),
OrderSplitClassList = x?.GuestEduReceiptList?.Where(qitem => qitem.ReceiptType == ReceiptTypeEnum.OrderSplitClass)?.ToList(),
});
return ApiResult.Success("", pageModel);
}
......
......@@ -377,10 +377,13 @@ namespace Edu.WebApi.Controllers.Course
item.EventlogNum,
item.GuestState,
item.GuestStateStr,
GraduationTime = Common.ConvertHelper.FormatDate(item.GraduationTime),
item.School_Id,
item.JoinType,
item.JoinTypeStr,
item.Student_Id
item.Student_Id,
item.CourseRate,
CourseRateName=item.CourseRate.ToName().Replace("课程",""),
});
}
pageModel.Count = rowsCount;
......
......@@ -93,7 +93,10 @@ namespace Edu.WebApi.Controllers.EduTask
var timeList = model.ClassTimeIds.Split(",");
var orderGuestList = model.OrderGuestIds.Split(",");
var receiptList = educationReceiptModule.GetEducationReceiptList(string.Join(",", studentTempIvvitationList.Select(x => x.Id)));
var receiptList = educationReceiptModule.GetEducationReceiptListModule(new EducationReceiptQuery()
{
QRelationIds = string.Join(",", studentTempIvvitationList.Select(x => x.Id))
});
foreach (var item in studentTempIvvitationList)
{
var receiptModel = receiptList.Where(x => x.RelationId == item.Id).FirstOrDefault();
......
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