Commit 02218af8 authored by 吴春's avatar 吴春

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

parents 29fa24bb 76aca899
using Edu.Common.Plugin;
using System;
using System.Collections.Generic;
using System.Text;
namespace Edu.Common.Enum.Course
{
/// <summary>
/// 日志类型枚举
/// </summary>
public enum ClassLogTypeEnum
{
/// <summary>
/// 新增学员
/// </summary>
[EnumField("新增学员")]
AddStudent = 1,
}
}
......@@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
namespace Edu.Common
......@@ -187,5 +188,16 @@ namespace Edu.Common
}
return weekDay;
}
/// <summary>
/// 是否为时间型字符串
/// </summary>
/// <param name="source">时间字符串(15:00:00)</param>
/// <returns></returns>
public static bool IsTime(string StrSource)
{
return Regex.IsMatch(StrSource, @"^((20|21|22|23|[0-1]?\d):[0-5]?\d:[0-5]?\d)$");
}
}
}
\ No newline at end of file
......@@ -45,5 +45,10 @@ namespace Edu.Model.Entity.Course
/// 学校编号
/// </summary>
public int School_Id { get; set; }
/// <summary>
/// 教师编号
/// </summary>
public int TeacherId { get; set; }
}
}
\ No newline at end of file
......@@ -21,6 +21,11 @@ namespace Edu.Model.Entity.Course
/// </summary>
public int OrderId { get; set; }
/// <summary>
/// 班级id
/// </summary>
public int ClassId { get; set; }
/// <summary>
/// 客人名称
/// </summary>
......
......@@ -31,6 +31,11 @@ namespace Edu.Model.Entity.Course
/// </summary>
public string Content { get; set; }
/// <summary>
/// 创建人
/// </summary>
public int CreateBy { get; set; }
/// <summary>
/// 创建时间
/// </summary>
......
using System;
using System.Collections.Generic;
using System.Text;
using VT.FW.DB;
namespace Edu.Model.Entity.Course
{
/// <summary>
/// 班级阶梯价实体类
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_Order_StepPrice
{
/// <summary>
/// 主键编号
/// </summary>
public int Id { get; set; }
/// <summary>
/// 人数
/// </summary>
public int PersionNum { get; set; }
/// <summary>
/// 价格
/// </summary>
public decimal PersionPrice { get; set; }
/// <summary>
/// 订单编号
/// </summary>
public int OrderId { get; set; }
/// <summary>
/// 集团编号
/// </summary>
public int Group_Id { get; set; }
/// <summary>
/// 学校编号
/// </summary>
public int School_Id { get; set; }
}
}
using Edu.Common.Enum.Course;
using System;
using VT.FW.DB;
namespace Edu.Model.Entity.Log
{
/// <summary>
/// 班级日志实体类
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_Class_Log
{
/// <summary>
/// 日志编号
/// </summary>
public int CLogId { get; set; }
/// <summary>
/// 日志类型(1-新增学员)
/// </summary>
public ClassLogTypeEnum LogType { get; set; }
/// <summary>
/// 日志内容
/// </summary>
public string LogContent { get; set; }
/// <summary>
/// 班级编号
/// </summary>
public int ClassId { get; set; }
/// <summary>
/// 集团编号
/// </summary>
public int Group_Id { get; set; }
/// <summary>
/// 校区编号
/// </summary>
public int School_Id { get; set; }
/// <summary>
/// 创建人
/// </summary>
public int CreateBy { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime CreateTime { get; set; }
}
}
......@@ -47,5 +47,9 @@ namespace Edu.Model.Entity.Log
/// </summary>
public int Type { get => type; set => type = value; }
/// <summary>
/// 来源id
/// </summary>
public int SourceId { get; set; }
}
}
using Edu.Model.Entity.Log;
namespace Edu.Model.ViewModel.Course
{
/// <summary>
/// 班级日志视图实体类
/// </summary>
public class RB_Class_Log_ViewModel : RB_Class_Log
{
/// <summary>
/// 创建时间字符串
/// </summary>
public string CreateTimeStr { get { return Common.ConvertHelper.FormatTime(this.CreateTime); } }
/// <summary>
/// 创建人
/// </summary>
public string CreateByName { get; set; }
}
}
......@@ -17,5 +17,25 @@ namespace Edu.Model.ViewModel.Course
///班级计划上课日期的上课时间表
/// </summary>
public List<RB_Class_Time_ViewModel> PlanTimeList { get; set; }
/// <summary>
/// 查询月份
/// </summary>
public string QMonth { get; set; }
/// <summary>
/// 教室名称
/// </summary>
public string RoomName { get; set; }
/// <summary>
/// 讲师姓名
/// </summary>
public string TeacherName { get; set; }
/// <summary>
/// 周几
/// </summary>
public string WeekDay { get; set; }
}
}
......@@ -16,5 +16,10 @@ namespace Edu.Model.ViewModel.Course
/// 班级编号【查询使用,逗号分隔】
/// </summary>
public string QClassIds { get; set; }
/// <summary>
/// 上课时间【日期+开始时间】
/// </summary>
public string NewPlanDateTime { get; set; }
}
}
\ No newline at end of file
......@@ -54,6 +54,11 @@ namespace Edu.Model.ViewModel.Course
/// </summary>
public string TeacherHead { get; set; }
/// <summary>
/// 教室名称
/// </summary>
public string RoomName { get; set; }
/// <summary>
/// 报名学员数量
/// </summary>
......@@ -73,5 +78,42 @@ namespace Edu.Model.ViewModel.Course
/// 班级上课计划列表
/// </summary>
public List<RB_Class_Plan_ViewModel> ClassPlanList { get; set; }
/// <summary>
/// 班级上课计划时间
/// </summary>
public List<RB_Class_Time_ViewModel> ClassTimeList { get; set; }
/// <summary>
/// 开班开始时间
/// </summary>
public string StartTime { get; set; }
/// <summary>
/// 开班结束时间
/// </summary>
public string EndTime { get; set; }
/// <summary>
/// 查询可报名 1是
/// </summary>
public int Q_CanApply { get; set; }
/// 选中的周几/或日期数组
/// </summary>
public List<string> WeekDayList { get; set; }
/// <summary>
/// 默认上课时间
/// </summary>
public List<RB_Class_Time_ViewModel> DefaultPlanTimeList { get; set; }
/// <summary>
/// 月份
/// </summary>
public string QMonth { get; set; }
/// <summary>
/// 具体开课时间
/// </summary>
public string NewPlanDateTime { get; set; }
}
}
\ No newline at end of file
......@@ -9,6 +9,9 @@ namespace Edu.Model.ViewModel.Course
[Serializable]
public class RB_Order_Guest_ViewModel : Model.Entity.Course.RB_Order_Guest
{
/// <summary>
/// 订单ids
/// </summary>
public string OrderIds { get; set; }
}
}
\ No newline at end of file
using System;
using System.Collections.Generic;
namespace Edu.Model.ViewModel.Course
{
/// <summary>
/// 订单实体类
/// </summary>
[Serializable]
public class RB_Order_Remark_ViewModel : Model.Entity.Course.RB_Order_Remark
{
}
}
\ No newline at end of file
using Edu.Model.Entity.Course;
using System;
using System.Collections.Generic;
using System.Text;
namespace Edu.Model.ViewModel.Course
{
/// <summary>
/// 订单阶梯价实体类
/// </summary>
public class RB_Order_StepPrice_ViewModel : RB_Order_StepPrice
{
/// <summary>
/// 订单编号【查询使用】
/// </summary>
public string Q_OrderIds { get; set; }
}
}
\ No newline at end of file
......@@ -24,6 +24,16 @@ namespace Edu.Model.ViewModel.Course
/// </summary>
public string ClassName { get; set; }
/// <summary>
/// 客人名称
/// </summary>
public string GuestName { get; set; }
/// <summary>
/// 课程id
/// </summary>
public int CouseId { get; set; }
/// <summary>
/// 订单查询状态 1正常 2取消
/// </summary>
......@@ -33,5 +43,47 @@ namespace Edu.Model.ViewModel.Course
/// 排序
/// </summary>
public int Q_OrderBy { get; set; }
/// <summary>
/// 只看未收齐订单 1是
/// </summary>
public int Q_NotCollect { get; set; }
/// <summary>
/// 销售备注
/// </summary>
public List<RB_Order_Remark_ViewModel> SaleRemarkList { get; set; }
/// <summary>
/// 教务备注
/// </summary>
public List<RB_Order_Remark_ViewModel> TeacherRemarkList { get; set; }
/// <summary>
/// 校长备注
/// </summary>
public List<RB_Order_Remark_ViewModel> RectorRemarkList { get; set; }
/// <summary>
/// 经理备注
/// </summary>
public List<RB_Order_Remark_ViewModel> DirectorRemarkList { get; set; }
/// <summary>
/// 客人列表
/// </summary>
public List<RB_Order_Guest_ViewModel> GuestList { get; set; }
/// <summary>
/// 报名开始时间
/// </summary>
public string StartTime { get; set; }
/// <summary>
/// 报名结束时间
/// </summary>
public string EndTime { get; set; }
/// <summary>
/// 开班开始时间
/// </summary>
public string OPStartTime { get; set; }
/// <summary>
/// 开班结束时间
/// </summary>
public string OPEndTime { get; set; }
}
}
\ No newline at end of file
......@@ -34,7 +34,7 @@ namespace Edu.Model.ViewModel.User
public int IsCompany { get; set; }
/// <summary>
/// 数据类型(1-部门,2-员工)
/// 数据类型(1-部门,2-员工,3-岗位)
/// </summary>
public int DataType { get; set; }
......
This diff is collapsed.
......@@ -6,6 +6,7 @@
<ItemGroup>
<ProjectReference Include="..\Edu.Aop\Edu.Aop.csproj" />
<ProjectReference Include="..\Edu.Cache\Edu.Cache.csproj" />
<ProjectReference Include="..\Edu.Common\Edu.Common.csproj" />
<ProjectReference Include="..\Edu.Model\Edu.Model.csproj" />
<ProjectReference Include="..\Edu.Repository\Edu.Repository.csproj" />
......
This diff is collapsed.
......@@ -21,10 +21,11 @@ namespace Edu.Module.User
/// </summary>
private readonly RB_AccountRepository accountRepository = new RB_AccountRepository();
/// <summary>
/// 学校仓储层对象
/// 岗位仓储层对象
/// </summary>
private readonly RB_SchoolRepository schoolRepository = new RB_SchoolRepository();
private readonly RB_PostRepository postRepository = new RB_PostRepository();
/// <summary>
/// 获取部门分页列表
......@@ -132,19 +133,24 @@ namespace Edu.Module.User
/// 获取部门结构树
/// </summary>
/// <param name="query"></param>
/// <param name="query">是否查询员工</param>
/// <param name="isQueryEmployee">是否查询员工</param>
/// <param name="isQueryPost">是否岗位</param>
/// <returns></returns>
public List<DepartmentTree_ViewModel> GetDepartmentTreeModule(RB_Department_ViewModel query,bool isQueryEmployee=false)
public List<DepartmentTree_ViewModel> GetDepartmentTreeModule(RB_Department_ViewModel query,bool isQueryEmployee=false,bool isQueryPost=false)
{
//树形结构列表
List<DepartmentTree_ViewModel> list = new List<DepartmentTree_ViewModel>();
//所有的部门列表
var deptList = GetDepartmentListModule(query);
//员工列表
var empList = new List<Employee_ViewModel>();
//岗位列表
var postList = new List<RB_Post_ViewModel>();
if (deptList == null)
{
deptList = new List<RB_Department_ViewModel>();
}
//查询员工
if (isQueryEmployee)
{
empList = accountRepository.GetEmployeeListRepository(new Employee_ViewModel()
......@@ -153,6 +159,13 @@ namespace Edu.Module.User
School_Id = query.School_Id
});
}
if (isQueryPost)
{
postList= postRepository.GetPostListRepository(new RB_Post_ViewModel()
{
Group_Id = query.Group_Id,
});
}
if (deptList != null && deptList.Count > 0)
{
var firstList = new List<RB_Department_ViewModel>();
......@@ -200,7 +213,30 @@ namespace Edu.Module.User
}
}
#endregion
var childList = GetDeptTreeList(fItem.DeptId, deptList, empList: empList);
#region 添加岗位
if (isQueryPost)
{
var tempPostList = postList?.Where(qitem => qitem.RB_Dept_Id == fItem.DeptId)?.ToList();
if (tempPostList != null && tempPostList.Count > 0)
{
foreach (var pItem in tempPostList)
{
tModel.ChildList.Add(new DepartmentTree_ViewModel()
{
DeptId = pItem.PostId,
DeptName = pItem.PostName,
ParentId = 0,
ChildList = new List<DepartmentTree_ViewModel>(),
School_Id = fItem.School_Id,
DataType = 3,
});
}
}
}
#endregion
var childList = GetDeptTreeList(fItem.DeptId, deptList, empList: empList,postList:postList);
if (childList != null && childList.Count > 0)
{
tModel.ChildList.AddRange(childList);
......@@ -219,7 +255,7 @@ namespace Edu.Module.User
/// <param name="parentId">父节点编号</param>
/// <param name="sourceList">数据源列表</param>
/// <param name="empList">员工列表</param>
private List<DepartmentTree_ViewModel> GetDeptTreeList(int parentId, List<RB_Department_ViewModel> sourceList, List<Employee_ViewModel> empList=null)
private List<DepartmentTree_ViewModel> GetDeptTreeList(int parentId, List<RB_Department_ViewModel> sourceList, List<Employee_ViewModel> empList=null, List<RB_Post_ViewModel> postList=null)
{
List<DepartmentTree_ViewModel> treeList = new List<DepartmentTree_ViewModel>();
foreach (var item in sourceList.Where(qitem => qitem.ParentId == parentId))
......@@ -234,6 +270,7 @@ namespace Edu.Module.User
IsCompany = item.IsCompany,
DataType = 1,
};
#region 添加员工信息
if (empList != null && empList.Count > 0)
{
......@@ -255,7 +292,30 @@ namespace Edu.Module.User
}
}
#endregion
var childList= GetDeptTreeList(item.DeptId, sourceList);
#region 添加岗位
if (postList != null && postList.Count > 0)
{
var tempPostList = postList?.Where(qitem => qitem.RB_Dept_Id == item.DeptId)?.ToList();
if (tempPostList != null && tempPostList.Count > 0)
{
foreach (var pItem in tempPostList)
{
model.ChildList.Add(new DepartmentTree_ViewModel()
{
DeptId = pItem.PostId,
DeptName = pItem.PostName,
ParentId = 0,
ChildList = new List<DepartmentTree_ViewModel>(),
School_Id = item.School_Id,
DataType = 3,
});
}
}
}
#endregion
var childList = GetDeptTreeList(item.DeptId, sourceList, empList: empList, postList: postList);
if (childList != null && childList.Count > 0)
{
model.ChildList.AddRange(childList);
......
......@@ -226,33 +226,33 @@ namespace Edu.Module.User
var list = managerModule.GetManagerListModule(new RB_Manager_ViewModel { Group_Id = extModel.Group_Id, MTel = extModel.EmployeeTel });
if (extModel.AccountId == 0)
{
flag = list.Count() > 0 ? true : false;
flag = list.Count() > 0;
}
else
{
flag = list.Where(x => x.MId != extModel.AccountId).Count() > 0 ? true : false;
flag = list.Where(x => x.MId != extModel.AccountId).Count() > 0;
}
break;
case Common.Enum.User.AccountTypeEnum.Teacher:
var teacherList = teacherModule.GetTeacherListModule(new RB_Teacher_ViewModel { Group_Id = extModel.Group_Id, TeacherTel = extModel.EmployeeTel });
if (extModel.AccountId == 0)
{
flag = teacherList.Count() > 0 ? true : false;
flag = teacherList.Count() > 0;
}
else
{
flag = teacherList.Where(x => x.TId != extModel.AccountId).Count() > 0 ? true : false;
flag = teacherList.Where(x => x.TId != extModel.AccountId).Count() > 0;
}
break;
case Common.Enum.User.AccountTypeEnum.Assist:
var assistList = assistModule.GetAssistListModule(new RB_Assist_ViewModel { Group_Id = extModel.Group_Id, AssistTel = extModel.EmployeeTel });
if (extModel.AccountId == 0)
{
flag = assistList.Count() > 0 ? true : false;
flag = assistList.Count() > 0;
}
else
{
flag = assistList.Where(x => x.AId != extModel.AccountId).Count() > 0 ? true : false;
flag = assistList.Where(x => x.AId != extModel.AccountId).Count() > 0;
}
break;
}
......
......@@ -99,5 +99,80 @@ WHERE 1=1
}
return GetPage<RB_Class_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_Class_ViewModel> GetClassProductPageList(int pageIndex, int pageSize, out long rowsCount, RB_Class_ViewModel query)
{
var parameters = new DynamicParameters();
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT A.*,B.CourseName,D.TeacherName,IFNULL(D.TeacherHead,'') AS TeacherHead,E.SName AS SchoolName,R.RoomName,IFNULL(t.GuestNum,0) as OrderStudentCount
FROM rb_class AS A
LEFT JOIN rb_course AS B ON A.CouseId=B.CourseId
LEFT JOIN rb_teacher AS D ON A.Teacher_Id=D.TId
LEFT JOIN rb_class_room AS R ON A.ClassRoomId=R.RoomId
LEFT JOIN rb_school AS E ON A.School_Id=E.SId
left join (SELECT ClassId, SUM(GuestNum) AS GuestNum FROM rb_order WHERE OrderState in (1,2) GROUP BY ClassId)t on A.ClassId = t.ClassId
WHERE 1=1
");
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_ViewModel.Status), 0);
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_ViewModel.ClassStatus), (int)Common.Enum.Course.ClassStatusEnum.NonOpenClass);
if (query != null)
{
if (query.Group_Id > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_ViewModel.Group_Id), query.Group_Id);
}
if (query.School_Id > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_ViewModel.School_Id), query.School_Id);
}
if (query.CouseId > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_ViewModel.CouseId), query.CouseId);
}
if (query.Teacher_Id > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_ViewModel.Teacher_Id), query.Teacher_Id);
}
if (!string.IsNullOrWhiteSpace(query.ClassName))
{
builder.AppendFormat(" AND A.{0} LIKE @ClassName ", nameof(RB_Class_ViewModel.ClassName));
parameters.Add("ClassName", "%" + query.ClassName.Trim() + "%");
}
if (!string.IsNullOrWhiteSpace(query.CourseName))
{
builder.AppendFormat(" AND B.{0} LIKE @CourseName ", nameof(RB_Class_ViewModel.CourseName));
parameters.Add("CourseName", "%" + query.CourseName.Trim() + "%");
}
if (!string.IsNullOrWhiteSpace(query.TeacherName))
{
builder.AppendFormat(" AND D.{0} LIKE @TeacherName ", nameof(RB_Class_ViewModel.TeacherName));
parameters.Add("TeacherName", "%" + query.TeacherName.Trim() + "%");
}
if (!string.IsNullOrEmpty(query.StartTime))
{
builder.AppendFormat(" AND A.{0} >='{1}' ", nameof(RB_Class_ViewModel.OpenTime), query.StartTime);
}
if (!string.IsNullOrEmpty(query.EndTime))
{
builder.AppendFormat(" AND A.{0} <='{1} 23:59:59' ", nameof(RB_Class_ViewModel.OpenTime), query.EndTime);
}
if (query.Q_CanApply == 1)
{
builder.AppendFormat(" AND (IFNULL(A.ClassPersion,0)-IFNULL(t.GuestNum,0))>0 ");
}
}
return GetPage<RB_Class_ViewModel>(pageIndex, pageSize, out rowsCount, builder.ToString(), parameters).ToList();
}
}
}
using Edu.Model.Entity.Course;
using Edu.Common.Enum;
using Edu.Model.Entity.Course;
using Edu.Model.ViewModel.Course;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using VT.FW.DB;
namespace Edu.Repository.Course
{
......@@ -20,24 +22,45 @@ namespace Edu.Repository.Course
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT *
FROM RB_Class_Plan
SELECT A.*,IFNULL(B.RoomName,'') AS RoomName,IFNULL(T.TeacherName,'') AS TeacherName
FROM RB_Class_Plan AS A LEFT JOIN rb_class_room AS B ON A.ClassRoomId=B.RoomId
LEFT JOIN rb_teacher AS T ON A.TeacherId=T.TId
WHERE 1=1
");
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Plan_ViewModel.Status), (int)DateStateEnum.Normal);
if (query != null)
{
if (query.ClassId > 0)
{
builder.AppendFormat(" AND {0}={1} ", nameof(RB_Class_Plan_ViewModel.ClassId), query.ClassId);
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Plan_ViewModel.ClassId), query.ClassId);
}
if (!string.IsNullOrEmpty(query.QClassIds))
{
builder.AppendFormat(" AND {0} IN({1}) ", nameof(RB_Class_Plan_ViewModel.ClassId), query.QClassIds);
builder.AppendFormat(" AND A.{0} IN({1}) ", nameof(RB_Class_Plan_ViewModel.ClassId), query.QClassIds);
}
if (!string.IsNullOrEmpty(query.QMonth))
{
builder.AppendFormat(" AND DATE_FORMAT(A.{0},'%y/%m')= DATE_FORMAT('{1}','%y/%m') ", nameof(RB_Class_Plan_ViewModel.ClassDate), query.QMonth);
}
}
return Get<RB_Class_Plan_ViewModel>(builder.ToString()).ToList();
}
/// <summary>
/// 判断是否存在
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public bool CheckExistsRepository(RB_Class_Plan_ViewModel model)
{
List<WhereHelper> list = new List<WhereHelper>()
{
new WhereHelper (nameof(RB_Class_Plan_ViewModel.ClassId),model.ClassId),
new WhereHelper (nameof(RB_Class_Plan_ViewModel.ClassDate),model.ClassDate),
};
return base.Exists(list);
}
/// <summary>
/// 根据班级编号删除班级上课计划
/// </summary>
......@@ -47,5 +70,26 @@ WHERE 1=1
{
return base.DeleteOne(new VT.FW.DB.WhereHelper(nameof(RB_Class_Plan_ViewModel.ClassId), ClassId));
}
/// <summary>
/// 获取班级计划
/// </summary>
/// <param name="classIds"></param>
/// <returns></returns>
public List<RB_Class_Plan_ViewModel> GetClassPlanForProduct(string classIds)
{
string sql = $@"SELECT p.ClassId,DAYOFWEEK(p.ClassDate) as WeekDay FROM rb_class_plan p
INNER JOIN rb_class c on p.ClassId = c.ClassId
WHERE c.ClassStyle =1 AND p.`Status`=0 and p.ClassId in({classIds}) GROUP BY p.ClassId,DAYOFWEEK(p.ClassDate)";
string sql2 = $@"
SELECT p.ClassId,DAYOFMONTH(p.ClassDate) as WeekDay FROM rb_class_plan p
INNER JOIN rb_class c on p.ClassId = c.ClassId
WHERE c.ClassStyle =2 AND p.`Status`=0 and p.ClassId in({classIds}) GROUP BY p.ClassId,DAYOFMONTH(p.ClassDate)";
var list1 = Get<RB_Class_Plan_ViewModel>(sql).ToList();
var list2 = Get<RB_Class_Plan_ViewModel>(sql2).ToList();
list1.AddRange(list2);
return list1;
}
}
}
......@@ -56,5 +56,42 @@ WHERE 1=1
{
return base.DeleteOne(new VT.FW.DB.WhereHelper(nameof(RB_Class_Time_ViewModel.ClassId), ClassId));
}
/// <summary>
/// 获取班级上课时间
/// </summary>
/// <param name="classIds"></param>
/// <returns></returns>
public List<RB_Class_Time_ViewModel> GetClassTimeForProduct(string classIds) {
string sql = $@"SELECT t.ClassId,t.StartTime,t.EndTime FROM rb_class_time t
WHERE t.ClassId =1 GROUP BY t.ClassId,t.StartTime,t.EndTime";
return Get<RB_Class_Time_ViewModel>(sql).ToList();
}
/// <summary>
/// 获取班级上课时间
/// </summary>
/// <param name="classIds"></param>
/// <returns></returns>
public List<RB_Class_Time_ViewModel> GetClassTimeListRepository(string classIds)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT A.ClassId,DATE_FORMAT(MIN(A.NewPlanDateTime),'%Y-%m-%d %h:%i') AS NewPlanDateTime FROM
(
SELECT A.ClassPlanId,A.ClassId,A.ClassDate,A.`Status`,A.ClassRoomId,A.Group_Id,A.School_Id,A.TeacherId,B.ClassTimeId,B.StartTime,B.EndTime
,CONCAT( DATE_FORMAT(A.ClassDate,'%Y-%m-%d') ,' ',B.StartTime,':00') AS NewPlanDateTime
FROM rb_class_plan AS A INNER JOIN rb_class_time AS B ON A.ClassPlanId=B.ClassPlanId
) AS A
WHERE 1=1
");
if (!string.IsNullOrEmpty(classIds))
{
builder.AppendFormat(" AND A.ClassId IN({0}) ", classIds);
}
builder.AppendFormat(" GROUP BY A.ClassId ");
return Get<RB_Class_Time_ViewModel>(builder.ToString()).ToList();
}
}
}
using Edu.Common.Enum;
using Edu.Model.Entity.Course;
using Edu.Model.ViewModel.Course;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
......@@ -69,10 +70,10 @@ namespace Edu.Repository.Course
}
}
string orderBy = "";
string orderBy = " o.OrderId asc";
if (demodel.Q_OrderBy == 1)
{
orderBy = " o.Id asc";
orderBy = " o.OrderId asc";
}
else if (demodel.Q_OrderBy == 2)
{
......@@ -146,6 +147,38 @@ where {where} order by {orderBy}
where += $@" and o.{nameof(RB_Order_ViewModel.OrderState)} =3";
}
}
if (!string.IsNullOrEmpty(demodel.ClassName))
{
where += $@" and c.{nameof(RB_Class.ClassName)} like '%{demodel.ClassName}%'";
}
if (!string.IsNullOrEmpty(demodel.GuestName))
{
where += $@" o.OrderId in (select OrderId from rb_order_guest where Status =0 and GuestName like '%{demodel.GuestName}%')";
}
if (demodel.CouseId > 0)
{
where += $@" and c.{nameof(RB_Class.CouseId)} ={demodel.CouseId}";
}
if (!string.IsNullOrEmpty(demodel.StartTime))
{
where += $@" and o.{nameof(RB_Order_ViewModel.CreateTime)} >='{demodel.StartTime}'";
}
if (!string.IsNullOrEmpty(demodel.EndTime))
{
where += $@" and o.{nameof(RB_Order_ViewModel.CreateTime)} <='{demodel.EndTime} 23:59:59'";
}
if (!string.IsNullOrEmpty(demodel.OPStartTime))
{
where += $@" and c.{nameof(RB_Class.OpenTime)} >='{demodel.OPStartTime}'";
}
if (!string.IsNullOrEmpty(demodel.OPEndTime))
{
where += $@" and c.{nameof(RB_Class.OpenTime)} <='{demodel.OPEndTime} 23:59:59'";
}
if (demodel.Q_NotCollect == 1)
{
where += $@" and o.{nameof(RB_Order_ViewModel.PreferPrice)} > (o.{nameof(RB_Order_ViewModel.Income)} - o.{nameof(RB_Order_ViewModel.Refund)} + o.{nameof(RB_Order_ViewModel.DiscountMoney)}) ";
}
string orderBy = "";
if (demodel.Q_OrderBy == 1)
......@@ -165,5 +198,15 @@ where {where} order by {orderBy}
return GetPage<RB_Order_ViewModel>(pageIndex, pageSize, out rowsCount, sql).ToList();
}
/// <summary>
/// 获取班级报名人数
/// </summary>
/// <param name="classIds"></param>
/// <returns></returns>
public List<RB_Order_ViewModel> GetClassOrderPeopleNum(string classIds)
{
string sql = $@"SELECT ClassId, SUM(GuestNum) AS GuestNum FROM rb_order WHERE OrderState in (1,2) AND ClassId in ({classIds}) GROUP BY ClassId;";
return Get<RB_Order_ViewModel>(sql).ToList();
}
}
}
......@@ -34,6 +34,14 @@ namespace Edu.Repository.Course
{
where += $@" and {nameof(RB_Order_Guest_ViewModel.OrderId)} ={demodel.OrderId}";
}
if (demodel.ClassId > 0)
{
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}%'";
......@@ -56,7 +64,7 @@ namespace Edu.Repository.Course
/// <param name="demodel"></param>
/// <param name="orderIds"></param>
/// <returns></returns>
public List<RB_Order_Guest_ViewModel> GetClassPageListRepository(int pageIndex, int pageSize, out long rowsCount, RB_Order_Guest_ViewModel demodel)
public List<RB_Order_Guest_ViewModel> GetPageList(int pageIndex, int pageSize, out long rowsCount, RB_Order_Guest_ViewModel demodel)
{
string where = $@" 1=1 and Status=0";
if (demodel.Group_Id > 0)
......@@ -71,6 +79,10 @@ namespace Edu.Repository.Course
{
where += $@" and {nameof(RB_Order_Guest_ViewModel.OrderId)} ={demodel.OrderId}";
}
if (demodel.ClassId > 0)
{
where += $@" and {nameof(RB_Order_Guest_ViewModel.ClassId)} ={demodel.ClassId}";
}
if (!string.IsNullOrEmpty(demodel.GuestName))
{
where += $@" and {nameof(RB_Order_Guest_ViewModel.GuestName)} like '%{demodel.GuestName}%'";
......@@ -84,5 +96,54 @@ namespace Edu.Repository.Course
return GetPage<RB_Order_Guest_ViewModel>(pageIndex, pageSize, out rowsCount, sql).ToList();
}
/// <summary>
/// 获取客人数量
/// </summary>
/// <param name="demodel"></param>
/// <returns></returns>
public int GetGuestNum(RB_Order_Guest_ViewModel demodel)
{
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}";
}
if (demodel.OrderId > 0)
{
where += $@" and {nameof(RB_Order_Guest_ViewModel.OrderId)} ={demodel.OrderId}";
}
if (demodel.ClassId > 0)
{
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}%'";
}
if (demodel.GuestState > 0)
{
where += $@" and {nameof(RB_Order_Guest_ViewModel.GuestState)} ={demodel.GuestState}";
}
string sql = $@" select count(0) from RB_Order_Guest where {where}";
var obj = ExecuteScalar(sql);
if (obj == null)
{
return 0;
}
else
{
return int.Parse(obj.ToString());
}
}
}
}
......@@ -19,7 +19,7 @@ namespace Edu.Repository.Course
/// <param name="demodel"></param>
/// <param name="orderIds"></param>
/// <returns></returns>
public List<RB_Order_Remark> GetList(RB_Order_Remark demodel,string orderIds)
public List<RB_Order_Remark_ViewModel> GetList(RB_Order_Remark_ViewModel demodel,string orderIds)
{
string where = $@" 1=1";
......@@ -36,8 +36,8 @@ namespace Edu.Repository.Course
where += $@" and {nameof(RB_Order_Remark.Type)} ={demodel.Type}";
}
string sql = $@" select * from RB_Order_Remark where {where}";
return Get<RB_Order_Remark>(sql).ToList();
string sql = $@" select * from RB_Order_Remark where {where} order by Id desc";
return Get<RB_Order_Remark_ViewModel>(sql).ToList();
}
/// <summary>
......@@ -49,7 +49,7 @@ namespace Edu.Repository.Course
/// <param name="demodel"></param>
/// <param name="orderIds"></param>
/// <returns></returns>
public List<RB_Order_Remark> GetPageList(int pageIndex, int pageSize, out long rowsCount, RB_Order_Remark demodel, string orderIds)
public List<RB_Order_Remark_ViewModel> GetPageList(int pageIndex, int pageSize, out long rowsCount, RB_Order_Remark_ViewModel demodel, string orderIds)
{
string where = $@" 1=1";
......@@ -66,8 +66,8 @@ namespace Edu.Repository.Course
where += $@" and {nameof(RB_Order_Remark.Type)} ={demodel.Type}";
}
string sql = $@" select * from RB_Order_Remark where {where}";
return GetPage<RB_Order_Remark>(pageIndex, pageSize, out rowsCount, sql).ToList();
string sql = $@" select * from RB_Order_Remark where {where} order by Id desc";
return GetPage<RB_Order_Remark_ViewModel>(pageIndex, pageSize, out rowsCount, sql).ToList();
}
}
......
using Edu.Model.Entity.Course;
using Edu.Model.ViewModel.Course;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Edu.Repository.Course
{
/// <summary>
/// 订单阶梯价格仓储层
/// </summary>
public class RB_Order_StepPriceRepository : BaseRepository<RB_Order_StepPrice>
{
/// <summary>
/// 获取订单阶梯价格列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Order_StepPrice_ViewModel> GetList(RB_Order_StepPrice_ViewModel query)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT *
FROM RB_Order_StepPrice
WHERE 1=1
");
if (query != null)
{
if (query.OrderId>0)
{
builder.AppendFormat(" AND {0}={1} ", nameof(RB_Order_StepPrice_ViewModel.OrderId), query.OrderId);
}
if (!string.IsNullOrEmpty(query.Q_OrderIds))
{
builder.AppendFormat(" AND {0} IN ({1}) ", nameof(RB_Order_StepPrice_ViewModel.OrderId), query.Q_OrderIds);
}
}
return Get<RB_Order_StepPrice_ViewModel>(builder.ToString()).ToList();
}
}
}
using Edu.Common.Enum.Course;
using Edu.Model.Entity.Log;
using Edu.Model.ViewModel.Course;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Edu.Repository.Log
{
/// <summary>
/// 班级日志仓储层
/// </summary>
public class RB_Class_LogRepository : BaseRepository<RB_Class_Log>
{
/// <summary>
/// 获取班级日志分页列表
/// </summary>
/// <param name="pageIndex">当前页</param>
/// <param name="pageSize">每页显示条数</param>
/// <param name="rowsCount">总条数</param>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_Class_Log_ViewModel> GetClassLogPageListRepository(int pageIndex, int pageSize, out long rowsCount, RB_Class_Log_ViewModel query)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT *
FROM RB_Class_Log
WHERE 1=1
");
if (query != null)
{
if (query.Group_Id > 0)
{
builder.AppendFormat(" AND {0}={1} ", nameof(RB_Class_Log_ViewModel.Group_Id), query.Group_Id);
}
if (query.School_Id > 0)
{
builder.AppendFormat(" AND {0}={1} ", nameof(RB_Class_Log_ViewModel.School_Id), query.School_Id);
}
if (query.ClassId > 0)
{
builder.AppendFormat(" AND {0}={1} ", nameof(RB_Class_Log_ViewModel.ClassId), query.ClassId);
}
}
return GetPage<RB_Class_Log_ViewModel>(pageIndex, pageSize, out rowsCount, builder.ToString()).ToList();
}
/// <summary>
/// 新增班级日志
/// </summary>
/// <param name="logType">日志类型</param>
/// <param name="LogContent">日志内容</param>
/// <param name="ClassId">班级编号</param>
/// <param name="Group_Id">集团编号</param>
/// <param name="School_Id">校区编号</param>
/// <param name="CreateBy">创建人</param>
/// <returns></returns>
public bool AddClassLogRepository(ClassLogTypeEnum logType, string LogContent, int ClassId, int Group_Id, int School_Id, int CreateBy)
{
var model = new RB_Class_Log()
{
LogType = logType,
LogContent = LogContent,
ClassId = ClassId,
Group_Id = Group_Id,
School_Id = School_Id,
CreateBy = CreateBy
};
return base.Insert(model) > 0;
}
}
}
\ No newline at end of file
......@@ -41,5 +41,43 @@ WHERE 1=1
}
return Get<RB_User_ChangeLog_ViewModel>(builder.ToString()).ToList();
}
/// <summary>
/// 获取日志分页列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="count"></param>
/// <param name="demodel"></param>
/// <returns></returns>
public List<RB_User_ChangeLog_ViewModel> GetPageList(int pageIndex, int pageSize, out long count, RB_User_ChangeLog_ViewModel query) {
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"SELECT * FROM RB_User_ChangeLog WHERE 1=1 ");
if (query != null)
{
if (query.Group_Id > 0)
{
builder.AppendFormat($" AND {nameof(RB_User_ChangeLog_ViewModel.Group_Id)}={query.Group_Id} ");
}
if (query.School_Id > 0)
{
builder.AppendFormat($" AND {nameof(RB_User_ChangeLog_ViewModel.School_Id)}={query.School_Id} ");
}
if (query.CreateBy > 0)
{
builder.AppendFormat($" AND {nameof(RB_User_ChangeLog_ViewModel.CreateBy)}={query.CreateBy} ");
}
if (query.Type > 0)
{
builder.AppendFormat($" AND {nameof(RB_User_ChangeLog_ViewModel.Type)}={query.Type} ");
}
if (query.SourceId > 0)
{
builder.AppendFormat($" AND {nameof(RB_User_ChangeLog_ViewModel.SourceId)}={query.SourceId} ");
}
}
builder.AppendFormat($" order by Id desc");
return GetPage<RB_User_ChangeLog_ViewModel>(pageIndex, pageSize, out count, builder.ToString()).ToList();
}
}
}
\ No newline at end of file
......@@ -67,6 +67,7 @@ namespace Edu.WebApi.Controllers.Course
OpenTime = Common.ConvertHelper.FormatDate(item.OpenTime),
item.CompleteProgress,
ClassStatusStr = item.ClassStatus.ToName(),
item.NewPlanDateTime,
});
}
pageModel.Count = rowsCount;
......@@ -97,6 +98,7 @@ namespace Edu.WebApi.Controllers.Course
{
var extModel = new RB_Class_ViewModel()
{
ClassId=base.ParmJObj.GetInt("ClassId"),
CreateBy = UserInfo.Id,
CreateTime = DateTime.Now,
UpdateBy = UserInfo.Id,
......@@ -124,6 +126,65 @@ namespace Edu.WebApi.Controllers.Course
CompleteProgress=base.ParmJObj.GetInt("CompleteProgress"),
School_Id=base.ParmJObj.GetInt("School_Id"),
};
try
{
string ClassStepPriceListStr=base.ParmJObj.GetStringValue("ClassStepPriceList");
if (!string.IsNullOrEmpty(ClassStepPriceListStr))
{
extModel.ClassStepPriceList = Common.Plugin.JsonHelper.DeserializeObject<List<RB_Class_StepPrice_ViewModel>>(ClassStepPriceListStr);
}
}
catch(Exception ex)
{
Common.Plugin.LogHelper.Write(ex, "SetClass_ClassStepPriceList");
}
try
{
string WeekDayListStr = base.ParmJObj.GetStringValue("WeekDayList");
if (!string.IsNullOrEmpty(WeekDayListStr))
{
extModel.WeekDayList = Common.Plugin.JsonHelper.DeserializeObject<List<string>>(WeekDayListStr);
}
}
catch (Exception ex)
{
Common.Plugin.LogHelper.Write(ex, "SetClass_WeekDayList");
}
try
{
string DefaultPlanTimeListStr = base.ParmJObj.GetStringValue("DefaultPlanTimeList");
if (!string.IsNullOrEmpty(DefaultPlanTimeListStr))
{
extModel.DefaultPlanTimeList = Common.Plugin.JsonHelper.DeserializeObject<List<RB_Class_Time_ViewModel>>(DefaultPlanTimeListStr);
}
}
catch (Exception ex)
{
Common.Plugin.LogHelper.Write(ex, "SetClass_DefaultPlanTimeList");
}
if (extModel.DefaultPlanTimeList != null && extModel.DefaultPlanTimeList.Count > 0)
{
foreach (var item in extModel.DefaultPlanTimeList)
{
string message = "";
if (!Common.ConvertHelper.IsTime(item.StartTime + ":00"))
{
message = "【" + item.StartTime + "】格式不正确!(参考格式为 00:00)";
}
if (!Common.ConvertHelper.IsTime(item.EndTime + ":00"))
{
if (!string.IsNullOrEmpty(message))
{
message += ",";
}
message += "【" + item.EndTime + "】格式不正确!(参考格式为 00:00)";
}
if (!string.IsNullOrEmpty(message))
{
return ApiResult.ParamIsNull(message: message);
}
}
}
bool flag = classModule.SetClassModule(extModel);
return flag ? ApiResult.Success() : ApiResult.Failed();
}
......@@ -151,6 +212,104 @@ namespace Edu.WebApi.Controllers.Course
var flag = classModule.RemoveClassModule(ClassId);
return flag ? ApiResult.Success() : ApiResult.Failed();
}
#endregion
#region 上课计划
/// <summary>
/// 获取上课计划
/// </summary>
/// <returns></returns>
public ApiResult GetClassPlan()
{
var query = new RB_Class_ViewModel()
{
ClassId = base.ParmJObj.GetInt("ClassId"),
QMonth=base.ParmJObj.GetStringValue("QMonth"),
};
var data = classModule.GetClassPlanModule(query.ClassId, query.QMonth);
return ApiResult.Success(data: data);
}
/// <summary>
/// 删除上课计划
/// </summary>
/// <returns></returns>
public ApiResult RemoveClassPlan()
{
var ClassPlanId = base.ParmJObj.GetInt("ClassPlanId");
var flag = classModule.RemoveClassPlanModule(ClassPlanId);
return flag ? ApiResult.Success() : ApiResult.Failed();
}
/// <summary>
/// 新增修改班级计划
/// </summary>
/// <returns></returns>
public ApiResult SetClassPlan()
{
var extModel = new RB_Class_Plan_ViewModel()
{
ClassPlanId=base.ParmJObj.GetInt("ClassPlanId"),
ClassId=base.ParmJObj.GetInt("ClassId"),
ClassDate=base.ParmJObj.GetDateTime("ClassDate"),
Status= Common.Enum.DateStateEnum.Normal,
ClassRoomId=base.ParmJObj.GetInt("ClassRoomId"),
TeacherId=base.ParmJObj.GetInt("TeacherId"),
Group_Id=base.UserInfo.Group_Id,
};
extModel.School_Id = classModule.GetClassModule(extModel.ClassId)?.School_Id ?? 0;
try
{
extModel.PlanTimeList = Common.Plugin.JsonHelper.DeserializeObject<List<RB_Class_Time_ViewModel>>(base.ParmJObj.GetStringValue("PlanTimeList"));
}
catch (Exception ex)
{
Common.Plugin.LogHelper.Write(ex, "SetClassPlan_PlanTimeList");
}
if (extModel.PlanTimeList != null && extModel.PlanTimeList.Count > 0)
{
foreach (var item in extModel.PlanTimeList)
{
string message = "";
if (!Common.ConvertHelper.IsTime(item.StartTime + ":00"))
{
message = "【" + item.StartTime + "】格式不正确!(参考格式为 00:00)";
}
if (!Common.ConvertHelper.IsTime(item.EndTime + ":00"))
{
if (!string.IsNullOrEmpty(message))
{
message += ",";
}
message += "【" + item.EndTime + "】格式不正确!(参考格式为 00:00)";
}
if (!string.IsNullOrEmpty(message))
{
return ApiResult.ParamIsNull(message: message);
}
}
}
var flag = classModule.SetClassPlanModule(extModel);
return flag ? ApiResult.Success() : ApiResult.Failed();
}
#endregion
#region 学员列表
/// <summary>
/// 获取学员列表
/// </summary>
/// <returns></returns>
public ApiResult GetClassStudent()
{
var classId = base.ParmJObj.GetInt("ClassId");
var data = classModule.GetClassStudentListModule(classId);
return ApiResult.Success(data: data);
}
#endregion
#region 枚举相关列表
......
......@@ -988,6 +988,22 @@ namespace Edu.WebApi.Controllers.User
return ApiResult.Success(data: list);
}
/// <summary>
/// 获取部门岗位树形列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetDeptPostTree()
{
var query = new RB_Department_ViewModel()
{
Group_Id = base.UserInfo.Group_Id,
School_Id = base.ParmJObj.GetInt("School_Id")
};
var list = departmentModule.GetDepartmentTreeModule(query,isQueryPost:true);
return ApiResult.Success(data: list);
}
/// <summary>
/// 获取组织机构图
/// </summary>
......
......@@ -39,6 +39,7 @@ namespace Edu.WebApi
"http://localhost:8400",
"http://localhost:8081",
"http://localhost:8080",
"http://localhost:8181",
"http://localhost:8082",
"http://127.0.0.1:50512",
"http://127.0.0.1:20224",
......
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