Commit 1ab733be authored by liudong1993's avatar liudong1993

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

parents 82fbb887 40b1fd63
...@@ -33,9 +33,9 @@ namespace Edu.Common.Enum.Course ...@@ -33,9 +33,9 @@ namespace Edu.Common.Enum.Course
} }
/// <summary> /// <summary>
/// 我的退课单据切换条件 /// 教务单据切换枚举
/// </summary> /// </summary>
public enum BackClassConditionEnum public enum EduReceiptConditionEnum
{ {
/// <summary> /// <summary>
///我发起的 ///我发起的
......
...@@ -31,49 +31,14 @@ namespace Edu.Model.ViewModel.Course ...@@ -31,49 +31,14 @@ namespace Edu.Model.ViewModel.Course
/// </summary> /// </summary>
public string TeacherName { get; set; } public string TeacherName { get; set; }
/// <summary>
/// 申请开始时间
/// </summary>
public string QStartTime { get; set; }
/// <summary>
/// 申请结束时间
/// </summary>
public string QEndTime { get; set; }
/// <summary>
/// 申请人
/// </summary>
public string CreateByName { get; set; }
/// <summary>
/// 申请时间
/// </summary>
public string CreateTimeStr { get { return Common.ConvertHelper.FormatTime(this.CreateTime); } }
/// <summary>
/// 业务员
/// </summary>
public int EnterID { get; set; }
/// <summary>
/// 业务员姓名
/// </summary>
public string EnterName { get; set; }
/// <summary> /// <summary>
/// 课程名称 /// 课程名称
/// </summary> /// </summary>
public string CourseName { get; set; } public string CourseName { get; set; }
/// <summary> /// <summary>
/// 查询条件 /// 退课编号
/// </summary>
public BackClassConditionEnum? Conditon { get; set; }
/// <summary>
/// 是否是特殊节点审核(1-是)
/// </summary> /// </summary>
public int SpecialNode { get; set; } public string QBackIds { get; set; }
} }
} }
...@@ -38,5 +38,10 @@ namespace Edu.Model.ViewModel.Duty ...@@ -38,5 +38,10 @@ namespace Edu.Model.ViewModel.Duty
/// 是否查看所有人访客 /// 是否查看所有人访客
/// </summary> /// </summary>
public int IsQueryAll { get; set; } public int IsQueryAll { get; set; }
/// <summary>
/// 预约班级编号
/// </summary>
public string QReserveClassIds { get; set; }
} }
} }
using System; using Edu.Common.Enum.Course;
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Text; using System.Text;
...@@ -19,6 +20,11 @@ namespace Edu.Model.ViewModel.EduTask ...@@ -19,6 +20,11 @@ namespace Edu.Model.ViewModel.EduTask
/// </summary> /// </summary>
public string Title { get; set; } public string Title { get; set; }
/// <summary>
/// 单据切换类型
/// </summary>
public EduReceiptConditionEnum? Conditon { get; set; }
/// <summary> /// <summary>
/// 单据类型 /// 单据类型
/// </summary> /// </summary>
......
...@@ -83,19 +83,7 @@ namespace Edu.Module.Course ...@@ -83,19 +83,7 @@ namespace Edu.Module.Course
/// </summary> /// </summary>
private readonly RB_Course_PreferentialRepository course_PreferentialRepository = new RB_Course_PreferentialRepository(); private readonly RB_Course_PreferentialRepository course_PreferentialRepository = new RB_Course_PreferentialRepository();
/// <summary>
/// 获取学员退课单据分页列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="rowsCount"></param>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Student_BackClass_ViewModel> GetStudentBackClassPageListModule(int pageIndex, int pageSize, out long rowsCount, RB_Student_BackClass_ViewModel query)
{
return student_BackClassRepository.GetStudentBackClassPageListRepository(pageIndex, pageSize, out rowsCount, query);
}
/// <summary> /// <summary>
/// 计算学员退课金额 /// 计算学员退课金额
/// </summary> /// </summary>
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\Edu.Aop\Edu.Aop.csproj" /> <ProjectReference Include="..\Edu.Aop\Edu.Aop.csproj" />
<ProjectReference Include="..\Edu.Cache\Edu.Cache.csproj" />
<ProjectReference Include="..\Edu.Repository\Edu.Repository.csproj" /> <ProjectReference Include="..\Edu.Repository\Edu.Repository.csproj" />
</ItemGroup> </ItemGroup>
......
...@@ -14,25 +14,17 @@ namespace Edu.Repository.Course ...@@ -14,25 +14,17 @@ namespace Edu.Repository.Course
public class RB_Student_BackClassRepository : BaseRepository<RB_Student_BackClass> public class RB_Student_BackClassRepository : BaseRepository<RB_Student_BackClass>
{ {
/// <summary> /// <summary>
/// 获取学员退课单据分页列表 /// 获取学员退课单据列表
/// </summary> /// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="rowsCount"></param>
/// <param name="query"></param> /// <param name="query"></param>
/// <returns></returns> /// <returns></returns>
public List<RB_Student_BackClass_ViewModel> GetStudentBackClassPageListRepository(int pageIndex, int pageSize, out long rowsCount, RB_Student_BackClass_ViewModel query) public List<RB_Student_BackClass_ViewModel> GetStudentBackClassListRepository(RB_Student_BackClass_ViewModel query)
{ {
var parameters = new DynamicParameters(); var parameters = new DynamicParameters();
StringBuilder builder = new StringBuilder(); StringBuilder builder = new StringBuilder();
string isSpecNode = "";
if (query.Conditon == Common.Enum.Course.BackClassConditionEnum.WaitAgree)
{
//isSpecNode = string.Format(",IFNULL((SELECT SpecialNode FROM rb_student_backrelevance WHERE Id IN(SELECT BackrelevanceId FROM rb_student_backrecord WHERE ConditionId=A.BackId AND AuditStatus=1 AND AuditEmId={0})),0) AS SpecialNode ", query.CreateBy);
}
builder.AppendFormat(@" builder.AppendFormat(@"
SELECT A.*,IFNULL(B.GuestName,'') AS GuestName,IFNULL(C.SName,'') AS SchoolName,IFNULL(D.ClassName,'') AS ClassName,IFNULL(T.TeacherName,'') AS TeacherName SELECT A.*,IFNULL(B.GuestName,'') AS GuestName,IFNULL(C.SName,'') AS SchoolName,IFNULL(D.ClassName,'') AS ClassName,IFNULL(T.TeacherName,'') AS TeacherName
,IFNULL(E.EnterID,0) AS EnterID,IFNULL(F.CourseName,'') AS CourseName {0} ,IFNULL(E.EnterID,0) AS EnterID,IFNULL(F.CourseName,'') AS CourseName
FROM RB_Student_BackClass AS A LEFT JOIN rb_order_guest AS B ON A.GuestId=B.Id FROM RB_Student_BackClass AS A LEFT JOIN rb_order_guest AS B ON A.GuestId=B.Id
LEFT JOIN rb_school AS C ON A.SchoolId=C.SId LEFT JOIN rb_school AS C ON A.SchoolId=C.SId
LEFT JOIN rb_class AS D ON A.ClassId=D.ClassId LEFT JOIN rb_class AS D ON A.ClassId=D.ClassId
...@@ -40,56 +32,19 @@ FROM RB_Student_BackClass AS A LEFT JOIN rb_order_guest AS B ON A.GuestId=B.Id ...@@ -40,56 +32,19 @@ FROM RB_Student_BackClass AS A LEFT JOIN rb_order_guest AS B ON A.GuestId=B.Id
AS T ON A.TeacherId=T.Id AS T ON A.TeacherId=T.Id
LEFT JOIN rb_order AS E ON A.OrderId=E.OrderId LEFT JOIN rb_order AS E ON A.OrderId=E.OrderId
LEFT JOIN rb_course AS F ON D.CouseId=F.CourseId LEFT JOIN rb_course AS F ON D.CouseId=F.CourseId
WHERE 1=1 ", isSpecNode); WHERE 1=1 ");
if (query != null) if (query != null)
{ {
if (query.Group_Id > 0) if (query.Group_Id > 0)
{ {
builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_Student_BackClass_ViewModel.Group_Id), query.Group_Id); builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_Student_BackClass_ViewModel.Group_Id), query.Group_Id);
} }
if (!string.IsNullOrEmpty(query.ClassName)) if (!string.IsNullOrEmpty(query.QBackIds))
{
builder.AppendFormat(@" AND (B.{0} LIKE @ClassName OR D.{1} @ClassName OR T.{2} LIKE @ClassName) ",
nameof(RB_Student_BackClass_ViewModel.GuestName), nameof(RB_Student_BackClass_ViewModel.ClassName), nameof(RB_Student_BackClass_ViewModel.TeacherName));
parameters.Add("ClassName", "%" + query.ClassName.Trim() + "%");
}
if (query.AuditStatus > 0)
{
builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_Student_BackClass_ViewModel.AuditStatus), (int)query.AuditStatus);
}
if (!string.IsNullOrEmpty(query.QStartTime))
{
builder.AppendFormat(@" AND A.{0}>='{1}' ", nameof(RB_Student_BackClass_ViewModel.CreateTime), query.QStartTime);
}
if (!string.IsNullOrEmpty(query.QEndTime))
{
builder.AppendFormat(@" AND A.{0}<='{1} 23:59:59' ", nameof(RB_Student_BackClass_ViewModel.CreateTime), query.QEndTime);
}
if (query.Conditon != null && query.Conditon>0)
{ {
switch (query.Conditon) builder.AppendFormat(@" AND A.{0} IN({1}) ", nameof(RB_Student_BackClass_ViewModel.BackId), query.QBackIds);
{
//待我审批
case Common.Enum.Course.BackClassConditionEnum.WaitAgree:
builder.AppendFormat(" AND EXISTS (SELECT 1 FROM rb_student_backrecord WHERE ConditionId=A.BackId AND AuditStatus=1 AND AuditEmId={0}) ", query.CreateBy);
break;
//已审批的
case Common.Enum.Course.BackClassConditionEnum.Agree:
builder.AppendFormat(" AND EXISTS (SELECT 1 FROM rb_student_backrecord WHERE ConditionId=A.BackId AND AuditStatus IN(2,5) AND AuditEmId={0}) ", query.CreateBy);
break;
//我发起的
case Common.Enum.Course.BackClassConditionEnum.Launch:
builder.AppendFormat(" AND A.CreateBy={0} ", query.CreateBy);
break;
//抄送给我的
case Common.Enum.Course.BackClassConditionEnum.CarbonCopy:
builder.AppendFormat(" AND FIND_IN_SET({0},A.RecipientIds) ", query.CreateBy);
break;
}
} }
} }
builder.AppendFormat(" ORDER BY A.CreateTime DESC "); return Get<RB_Student_BackClass_ViewModel>(builder.ToString()).ToList();
return GetPage<RB_Student_BackClass_ViewModel>(pageIndex, pageSize, out rowsCount, builder.ToString()).ToList();
} }
/// <summary> /// <summary>
......
...@@ -54,6 +54,10 @@ WHERE 1=1 ...@@ -54,6 +54,10 @@ WHERE 1=1
{ {
builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_Visitor_ViewModel.CreateBy), query.CreateBy); builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_Visitor_ViewModel.CreateBy), query.CreateBy);
} }
if(!string.IsNullOrEmpty(query.QReserveClassIds))
{
builder.AppendFormat(@" AND A.Id IN(SELECT Visitor_Id FROM rb_visitor_reserve WHERE ReserveClassId IN({1}) )",query.QReserveClassIds);
}
} }
return GetPage<RB_Visitor_ViewModel>(pageIndex, pageSize, out rowsCount, builder.ToString(), parameters).ToList(); return GetPage<RB_Visitor_ViewModel>(pageIndex, pageSize, out rowsCount, builder.ToString(), parameters).ToList();
} }
......
...@@ -62,7 +62,7 @@ namespace Edu.Repository.EduTask ...@@ -62,7 +62,7 @@ namespace Edu.Repository.EduTask
StringBuilder builder = new StringBuilder(); StringBuilder builder = new StringBuilder();
builder.AppendFormat(@" builder.AppendFormat(@"
SELECT A.* SELECT A.*
FROM RB_Education_Receipt FROM RB_Education_Receipt AS A
WHERE 1=1 WHERE 1=1
"); ");
if (query != null) if (query != null)
...@@ -76,7 +76,42 @@ WHERE 1=1 ...@@ -76,7 +76,42 @@ WHERE 1=1
builder.AppendFormat(@" AND A.{0} LIKE @Title ", nameof(RB_Education_Receipt_ViewModel.Title)); builder.AppendFormat(@" AND A.{0} LIKE @Title ", nameof(RB_Education_Receipt_ViewModel.Title));
parameters.Add("Title", "%" + query.Title.Trim() + "%"); 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 (query.Conditon != null && query.Conditon > 0)
{
switch (query.Conditon)
{
//待我审批
case Common.Enum.Course.EduReceiptConditionEnum.WaitAgree:
builder.AppendFormat(" AND EXISTS (SELECT 1 FROM rb_education_record WHERE ConditionId=A.Id AND AuditStatus=1 AND AuditEmId={0}) ", query.CreateBy);
break;
//已审批的
case Common.Enum.Course.EduReceiptConditionEnum.Agree:
builder.AppendFormat(" AND EXISTS (SELECT 1 FROM rb_education_record WHERE ConditionId=A.Id AND AuditStatus IN(2,5) AND AuditEmId={0}) ", query.CreateBy);
break;
//我发起的
case Common.Enum.Course.EduReceiptConditionEnum.Launch:
builder.AppendFormat(" AND A.CreateBy={0} ", query.CreateBy);
break;
//抄送给我的
case Common.Enum.Course.EduReceiptConditionEnum.CarbonCopy:
builder.AppendFormat(" AND FIND_IN_SET({0},A.RecipientIds) ", query.CreateBy);
break;
}
}
} }
builder.AppendFormat(" ORDER BY A.{0} DESC ", nameof(RB_Education_Receipt_ViewModel.Id));
return GetPage<RB_Education_Receipt_ViewModel>(pageIndex, pageSize, out rowsCount, builder.ToString(), parameters).ToList(); return GetPage<RB_Education_Receipt_ViewModel>(pageIndex, pageSize, out rowsCount, builder.ToString(), parameters).ToList();
} }
...@@ -97,8 +132,11 @@ WHERE 1=1 ...@@ -97,8 +132,11 @@ WHERE 1=1
if (model.ReceiptType == Common.Enum.Finance.ReceiptTypeEnum.BackClass) if (model.ReceiptType == Common.Enum.Finance.ReceiptTypeEnum.BackClass)
{ {
flowModel = flowRepository.GetFlowRepository(Common.Config.BackClassFlowId); flowModel = flowRepository.GetFlowRepository(Common.Config.BackClassFlowId);
message = "未配置退课流程!"; if (flowModel == null)
return false; {
message = "未配置退课流程!";
return false;
}
} }
int index = 0; int index = 0;
......
...@@ -40,59 +40,59 @@ namespace Edu.WebApi.Controllers.Course ...@@ -40,59 +40,59 @@ namespace Edu.WebApi.Controllers.Course
var query = new RB_Student_BackClass_ViewModel() var query = new RB_Student_BackClass_ViewModel()
{ {
ClassName = base.ParmJObj.GetStringValue("ClassName"), ClassName = base.ParmJObj.GetStringValue("ClassName"),
QStartTime=base.ParmJObj.GetStringValue("QStartTime"), //QStartTime=base.ParmJObj.GetStringValue("QStartTime"),
QEndTime=base.ParmJObj.GetStringValue("QEndTime"), //QEndTime=base.ParmJObj.GetStringValue("QEndTime"),
AuditStatus=(BackClassAuditStatusEnum)base.ParmJObj.GetInt("AuditStatus"), AuditStatus=(BackClassAuditStatusEnum)base.ParmJObj.GetInt("AuditStatus"),
}; };
query.CreateBy = base.UserInfo.Id; query.CreateBy = base.UserInfo.Id;
var Conditon = base.ParmJObj.GetInt("Conditon"); //var Conditon = base.ParmJObj.GetInt("Conditon");
if (Conditon > 0) //if (Conditon > 0)
{ //{
query.Conditon = (BackClassConditionEnum)Conditon; // query.Conditon = (BackClassConditionEnum)Conditon;
} //}
query.Group_Id = base.UserInfo.Group_Id; //query.Group_Id = base.UserInfo.Group_Id;
List<object> result = new List<object>(); //List<object> result = new List<object>();
var list = studentBillModule.GetStudentBackClassPageListModule(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, query); //var list = studentBillModule.GetStudentBackClassPageListModule(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, query);
foreach (var item in list) //foreach (var item in list)
{ //{
if (item.CreateBy > 0) // if (item.CreateBy > 0)
{ // {
item.CreateByName = UserReidsCache.GetUserLoginInfo(item.CreateBy)?.AccountName ?? ""; // item.CreateByName = UserReidsCache.GetUserLoginInfo(item.CreateBy)?.AccountName ?? "";
} // }
if (item.EnterID > 0) // if (item.EnterID > 0)
{ // {
item.EnterName = UserReidsCache.GetUserLoginInfo(item.EnterID)?.AccountName ?? ""; // item.EnterName = UserReidsCache.GetUserLoginInfo(item.EnterID)?.AccountName ?? "";
} // }
result.Add(new // result.Add(new
{ // {
item.BackId, // item.BackId,
item.BackNum, // item.BackNum,
item.GuestId, // item.GuestId,
item.GuestName, // item.GuestName,
item.SchoolId, // item.SchoolId,
item.SchoolName, // item.SchoolName,
item.ClassId, // item.ClassId,
item.ClassName, // item.ClassName,
item.TeacherId, // item.TeacherId,
item.TeacherName, // item.TeacherName,
item.FinishHours, // item.FinishHours,
item.BackMoney, // item.BackMoney,
item.CreateTimeStr, // item.CreateTimeStr,
item.CreateByName, // item.CreateByName,
item.AuditStatus, // item.AuditStatus,
item.EnterID, // item.EnterID,
item.EnterName, // item.EnterName,
item.CourseName, // item.CourseName,
item.ApplyReason, // item.ApplyReason,
item.OrderId, // item.OrderId,
AuditStatusName=item.AuditStatus.ToName(), // AuditStatusName=item.AuditStatus.ToName(),
item.SpecialNode, // item.SpecialNode,
item.RealityBackMoney, // item.RealityBackMoney,
item.FinanceId, // item.FinanceId,
}); // });
} //}
pageModel.Count = rowsCount; //pageModel.Count = rowsCount;
pageModel.PageData = result; //pageModel.PageData = result;
return ApiResult.Success(data: pageModel); return ApiResult.Success(data: pageModel);
} }
...@@ -117,7 +117,7 @@ namespace Edu.WebApi.Controllers.Course ...@@ -117,7 +117,7 @@ namespace Edu.WebApi.Controllers.Course
string RecipientIds = base.ParmJObj.GetStringValue("RecipientIds"); string RecipientIds = base.ParmJObj.GetStringValue("RecipientIds");
//var flag = studentBillModule.SetBackBillAduitModule(BackId, AuditStatus, Description, base.UserInfo, out string message, SpecialNode: SpecialNode, BackMoney: BackMoney, RecipientIds: RecipientIds); // var flag = studentBillModule.SetBackBillAduitModule(BackId, AuditStatus, Description, base.UserInfo, out string message, SpecialNode: SpecialNode, BackMoney: BackMoney, RecipientIds: RecipientIds);
//return flag ? ApiResult.Success(message: message) : ApiResult.Failed(message: message); //return flag ? ApiResult.Success(message: message) : ApiResult.Failed(message: message);
return ApiResult.Failed(); return ApiResult.Failed();
......
...@@ -501,7 +501,8 @@ namespace Edu.WebApi.Controllers.Duty ...@@ -501,7 +501,8 @@ namespace Edu.WebApi.Controllers.Duty
{ {
PlanId = base.ParmJObj.GetInt("PlanId"), PlanId = base.ParmJObj.GetInt("PlanId"),
KeyWords = base.ParmJObj.GetStringValue("KeyWords"), KeyWords = base.ParmJObj.GetStringValue("KeyWords"),
IsQueryAll=base.ParmJObj.GetInt("IsQueryAll"),//1-查看全部 IsQueryAll = base.ParmJObj.GetInt("IsQueryAll"),//1-查看全部
QReserveClassIds = base.ParmJObj.GetStringValue("QReserveClassIds"),
}; };
if (query.IsQueryAll != 1) if (query.IsQueryAll != 1)
{ {
......
using Edu.Common.API; using Edu.Common.API;
using Edu.Common.Enum.Course;
using Edu.Common.Enum.Finance;
using Edu.Common.Plugin;
using Edu.Model.ViewModel.EduTask; using Edu.Model.ViewModel.EduTask;
using Edu.Module.EduTask; using Edu.Module.EduTask;
using Edu.WebApi.Filter; using Edu.WebApi.Filter;
...@@ -36,15 +39,41 @@ namespace Edu.WebApi.Controllers.EduTask ...@@ -36,15 +39,41 @@ namespace Edu.WebApi.Controllers.EduTask
var query = new EducationReceiptQuery() var query = new EducationReceiptQuery()
{ {
Group_Id = base.UserInfo.Group_Id, Group_Id = base.UserInfo.Group_Id,
StartTime = base.ParmJObj.GetStringValue("StartTime"),
EndTime = base.ParmJObj.GetStringValue("EndTime"),
Conditon = (EduReceiptConditionEnum)base.ParmJObj.GetInt("Conditon"),
ReceiptType = base.ParmJObj.GetInt("ReceiptType"),
Title = base.ParmJObj.GetStringValue("Title"),
}; };
query.CreateBy = base.UserInfo.Id;
var list = educationReceiptModule.GetEducationReceiptPageModule(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, query); var list = educationReceiptModule.GetEducationReceiptPageModule(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, query);
pageModel.PageData = list; pageModel.PageData = list;
pageModel.Count = rowsCount; pageModel.Count = rowsCount;
return ApiResult.Success(data: pageModel); return ApiResult.Success(data: pageModel);
} }
/// <summary>
/// 获取教务单据类型
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetEduReceiptInfo()
{
var Id = base.ParmJObj.GetInt("Id");
var Info = educationReceiptModule.GetEducationReceiptInfoModule(Id);
return ApiResult.Success(data: Info);
}
/// <summary>
/// 获取单据类型
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetEducationReceiptType()
{
var list = Common.Plugin.EnumHelper.EnumToList(typeof(ReceiptTypeEnum));
return ApiResult.Success(data: list);
}
} }
......
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