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
}
/// <summary>
/// 我的退课单据切换条件
/// 教务单据切换枚举
/// </summary>
public enum BackClassConditionEnum
public enum EduReceiptConditionEnum
{
/// <summary>
///我发起的
......
......@@ -31,49 +31,14 @@ namespace Edu.Model.ViewModel.Course
/// </summary>
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>
public string CourseName { get; set; }
/// <summary>
/// 查询条件
/// </summary>
public BackClassConditionEnum? Conditon { get; set; }
/// <summary>
/// 是否是特殊节点审核(1-是)
/// 退课编号
/// </summary>
public int SpecialNode { get; set; }
public string QBackIds { get; set; }
}
}
......@@ -38,5 +38,10 @@ namespace Edu.Model.ViewModel.Duty
/// 是否查看所有人访客
/// </summary>
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.Text;
......@@ -19,6 +20,11 @@ namespace Edu.Model.ViewModel.EduTask
/// </summary>
public string Title { get; set; }
/// <summary>
/// 单据切换类型
/// </summary>
public EduReceiptConditionEnum? Conditon { get; set; }
/// <summary>
/// 单据类型
/// </summary>
......
......@@ -83,19 +83,7 @@ namespace Edu.Module.Course
/// </summary>
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>
......
......@@ -6,6 +6,7 @@
<ItemGroup>
<ProjectReference Include="..\Edu.Aop\Edu.Aop.csproj" />
<ProjectReference Include="..\Edu.Cache\Edu.Cache.csproj" />
<ProjectReference Include="..\Edu.Repository\Edu.Repository.csproj" />
</ItemGroup>
......
......@@ -14,25 +14,17 @@ namespace Edu.Repository.Course
public class RB_Student_BackClassRepository : BaseRepository<RB_Student_BackClass>
{
/// <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> 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();
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(@"
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
LEFT JOIN rb_school AS C ON A.SchoolId=C.SId
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
AS T ON A.TeacherId=T.Id
LEFT JOIN rb_order AS E ON A.OrderId=E.OrderId
LEFT JOIN rb_course AS F ON D.CouseId=F.CourseId
WHERE 1=1 ", isSpecNode);
WHERE 1=1 ");
if (query != null)
{
if (query.Group_Id > 0)
{
builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_Student_BackClass_ViewModel.Group_Id), query.Group_Id);
}
if (!string.IsNullOrEmpty(query.ClassName))
{
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)
if (!string.IsNullOrEmpty(query.QBackIds))
{
switch (query.Conditon)
{
//待我审批
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(@" AND A.{0} IN({1}) ", nameof(RB_Student_BackClass_ViewModel.BackId), query.QBackIds);
}
}
builder.AppendFormat(" ORDER BY A.CreateTime DESC ");
return GetPage<RB_Student_BackClass_ViewModel>(pageIndex, pageSize, out rowsCount, builder.ToString()).ToList();
return Get<RB_Student_BackClass_ViewModel>(builder.ToString()).ToList();
}
/// <summary>
......
......@@ -54,6 +54,10 @@ WHERE 1=1
{
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();
}
......
......@@ -62,7 +62,7 @@ namespace Edu.Repository.EduTask
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT A.*
FROM RB_Education_Receipt
FROM RB_Education_Receipt AS A
WHERE 1=1
");
if (query != null)
......@@ -76,7 +76,42 @@ WHERE 1=1
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 (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();
}
......@@ -97,8 +132,11 @@ WHERE 1=1
if (model.ReceiptType == Common.Enum.Finance.ReceiptTypeEnum.BackClass)
{
flowModel = flowRepository.GetFlowRepository(Common.Config.BackClassFlowId);
message = "未配置退课流程!";
return false;
if (flowModel == null)
{
message = "未配置退课流程!";
return false;
}
}
int index = 0;
......
......@@ -40,59 +40,59 @@ namespace Edu.WebApi.Controllers.Course
var query = new RB_Student_BackClass_ViewModel()
{
ClassName = base.ParmJObj.GetStringValue("ClassName"),
QStartTime=base.ParmJObj.GetStringValue("QStartTime"),
QEndTime=base.ParmJObj.GetStringValue("QEndTime"),
//QStartTime=base.ParmJObj.GetStringValue("QStartTime"),
//QEndTime=base.ParmJObj.GetStringValue("QEndTime"),
AuditStatus=(BackClassAuditStatusEnum)base.ParmJObj.GetInt("AuditStatus"),
};
query.CreateBy = base.UserInfo.Id;
var Conditon = base.ParmJObj.GetInt("Conditon");
if (Conditon > 0)
{
query.Conditon = (BackClassConditionEnum)Conditon;
}
query.Group_Id = base.UserInfo.Group_Id;
List<object> result = new List<object>();
var list = studentBillModule.GetStudentBackClassPageListModule(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, query);
foreach (var item in list)
{
if (item.CreateBy > 0)
{
item.CreateByName = UserReidsCache.GetUserLoginInfo(item.CreateBy)?.AccountName ?? "";
}
if (item.EnterID > 0)
{
item.EnterName = UserReidsCache.GetUserLoginInfo(item.EnterID)?.AccountName ?? "";
}
result.Add(new
{
item.BackId,
item.BackNum,
item.GuestId,
item.GuestName,
item.SchoolId,
item.SchoolName,
item.ClassId,
item.ClassName,
item.TeacherId,
item.TeacherName,
item.FinishHours,
item.BackMoney,
item.CreateTimeStr,
item.CreateByName,
item.AuditStatus,
item.EnterID,
item.EnterName,
item.CourseName,
item.ApplyReason,
item.OrderId,
AuditStatusName=item.AuditStatus.ToName(),
item.SpecialNode,
item.RealityBackMoney,
item.FinanceId,
});
}
pageModel.Count = rowsCount;
pageModel.PageData = result;
//var Conditon = base.ParmJObj.GetInt("Conditon");
//if (Conditon > 0)
//{
// query.Conditon = (BackClassConditionEnum)Conditon;
//}
//query.Group_Id = base.UserInfo.Group_Id;
//List<object> result = new List<object>();
//var list = studentBillModule.GetStudentBackClassPageListModule(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, query);
//foreach (var item in list)
//{
// if (item.CreateBy > 0)
// {
// item.CreateByName = UserReidsCache.GetUserLoginInfo(item.CreateBy)?.AccountName ?? "";
// }
// if (item.EnterID > 0)
// {
// item.EnterName = UserReidsCache.GetUserLoginInfo(item.EnterID)?.AccountName ?? "";
// }
// result.Add(new
// {
// item.BackId,
// item.BackNum,
// item.GuestId,
// item.GuestName,
// item.SchoolId,
// item.SchoolName,
// item.ClassId,
// item.ClassName,
// item.TeacherId,
// item.TeacherName,
// item.FinishHours,
// item.BackMoney,
// item.CreateTimeStr,
// item.CreateByName,
// item.AuditStatus,
// item.EnterID,
// item.EnterName,
// item.CourseName,
// item.ApplyReason,
// item.OrderId,
// AuditStatusName=item.AuditStatus.ToName(),
// item.SpecialNode,
// item.RealityBackMoney,
// item.FinanceId,
// });
//}
//pageModel.Count = rowsCount;
//pageModel.PageData = result;
return ApiResult.Success(data: pageModel);
}
......@@ -117,7 +117,7 @@ namespace Edu.WebApi.Controllers.Course
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 ApiResult.Failed();
......
......@@ -501,7 +501,8 @@ namespace Edu.WebApi.Controllers.Duty
{
PlanId = base.ParmJObj.GetInt("PlanId"),
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)
{
......
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.Module.EduTask;
using Edu.WebApi.Filter;
......@@ -36,15 +39,41 @@ namespace Edu.WebApi.Controllers.EduTask
var query = new EducationReceiptQuery()
{
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);
pageModel.PageData = list;
pageModel.Count = rowsCount;
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