Commit c4828a86 authored by 吴春's avatar 吴春

解决冲突

parents fbd802d6 d405723b
...@@ -45,6 +45,31 @@ namespace Edu.Model.Entity.Exam ...@@ -45,6 +45,31 @@ namespace Edu.Model.Entity.Exam
/// <summary> /// <summary>
/// 课程编号 /// 课程编号
/// </summary> /// </summary>
public int? CourseId { get; set; } public int CourseId { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime CreateTime { get; set; }
/// <summary>
/// 创建人
/// </summary>
public int CreateBy { get; set; }
/// <summary>
/// 集团编号
/// </summary>
public int Group_Id { get; set; }
/// <summary>
/// 校区编号
/// </summary>
public int School_Id { get; set; }
/// <summary>
/// 状态
/// </summary>
public int Status { get; set; }
} }
} }
...@@ -10,6 +10,19 @@ namespace Edu.Model.ViewModel.Exam ...@@ -10,6 +10,19 @@ namespace Edu.Model.ViewModel.Exam
/// </summary> /// </summary>
public class RB_Examination_Publish_ViewModel : RB_Examination_Publish public class RB_Examination_Publish_ViewModel : RB_Examination_Publish
{ {
/// <summary>
/// 考试学员列表
/// </summary>
public List<RB_Examination_Student_ViewModel> StudentList { get; set; }
/// <summary>
/// 试卷名称
/// </summary>
public string PaperName { get; set; }
/// <summary>
/// 考生人数
/// </summary>
public int StudentCount { get; set; }
} }
} }
...@@ -10,6 +10,14 @@ namespace Edu.Model.ViewModel.Exam ...@@ -10,6 +10,14 @@ namespace Edu.Model.ViewModel.Exam
/// </summary> /// </summary>
public class RB_Examination_Student_ViewModel : RB_Examination_Student public class RB_Examination_Student_ViewModel : RB_Examination_Student
{ {
/// <summary>
/// 试卷发布编号
/// </summary>
public string QPublishIds { get; set; }
/// <summary>
/// 学员名称
/// </summary>
public string GuestName { get; set; }
} }
} }
\ No newline at end of file
...@@ -167,7 +167,7 @@ namespace Edu.Module.Course ...@@ -167,7 +167,7 @@ namespace Edu.Module.Course
/// 日志仓储对象 /// 日志仓储对象
/// </summary> /// </summary>
private readonly RB_User_ChangeLogRepository user_ChangeLogRepository = new RB_User_ChangeLogRepository(); private readonly RB_User_ChangeLogRepository user_ChangeLogRepository = new RB_User_ChangeLogRepository();
/// <summary> /// <summary>
/// 商品规格 /// 商品规格
/// </summary> /// </summary>
...@@ -1007,6 +1007,53 @@ namespace Edu.Module.Course ...@@ -1007,6 +1007,53 @@ namespace Edu.Module.Course
return flag; return flag;
} }
/// <summary>
/// 获取班级学员树形结构
/// </summary>
/// <returns></returns>
public List<object> GetClassStudentTreeModule(RB_Order_Guest_ViewModel query)
{
List<object> list = new List<object>();
var dataList = order_GuestRepository.GetOrderGuestListRepository(query).Where(qitem => qitem.GuestState != 2 || qitem.GuestState != 5).ToList();
if (dataList != null && dataList.Count > 0)
{
var groupList= dataList?.GroupBy(qitem => new { qitem.ClassName, qitem.ClassId, qitem.ClassNo })?.Select(qitem => new { qitem.Key.ClassId, qitem.Key.ClassName, qitem.Key.ClassNo });
if (groupList != null && groupList.Count() > 0)
{
int Index = 1;
foreach (var item in groupList)
{
var subList = dataList?.Where(qitem => qitem.ClassId == item.ClassId)?.ToList();
if (subList != null && subList.Count > 0)
{
var obj = new
{
ClassId= item.ClassId,
Name = item.ClassName + "(" + item.ClassNo + ")",
OrderId = 0,
GuestId = 100000+Index,
CourseId = 0,
IsCheck = false,
SubList = subList?.Select(qitem => new
{
qitem.ClassId,
Name = qitem.GuestName,
qitem.OrderId,
GuestId = qitem.Id,
qitem.CourseId,
IsCheck = false,
})
};
list.Add(obj);
}
Index++;
}
}
}
return list;
}
/// <summary> /// <summary>
/// 更新班级完成进度 /// 更新班级完成进度
/// </summary> /// </summary>
...@@ -2790,7 +2837,7 @@ namespace Edu.Module.Course ...@@ -2790,7 +2837,7 @@ namespace Edu.Module.Course
/// <param name="model"></param> /// <param name="model"></param>
/// <returns></returns> /// <returns></returns>
[TransactionCallHandler] [TransactionCallHandler]
public bool SetClassLessPlan(Class_LessonPlan_ViewModel model,UserInfo user) public bool SetClassLessPlan(Class_LessonPlan_ViewModel model, UserInfo user)
{ {
bool flag = false; bool flag = false;
if (model.LessonPlanList != null && model.LessonPlanList.Any()) if (model.LessonPlanList != null && model.LessonPlanList.Any())
...@@ -2853,7 +2900,8 @@ namespace Edu.Module.Course ...@@ -2853,7 +2900,8 @@ namespace Edu.Module.Course
var notifyObjs = accountRepository.GetWorkUserIdByDictRepository("Push_TeachPreparing"); var notifyObjs = accountRepository.GetWorkUserIdByDictRepository("Push_TeachPreparing");
if (notifyObjs != null && notifyObjs.Any()) if (notifyObjs != null && notifyObjs.Any())
{ {
notifyObjs.ForEach(x => { notifyObjs.ForEach(x =>
{
var content = $"<font color='info'>修改备课通知</font> 有老师对备课内容进行了修改调整\n>**概要信息** \n>备课老师:<font color='comment'>{user.AccountName}</font>\n>备课标题:<font color='comment'>{item.LessonPlan}(第{item.CourseNum}课)</font>\n>目标班级:<font color='comment'>{classInfo.ClassName}</font> \n>上课日期:<font color='warning'>{item.ClassDate.Value.ToString("yyyy年MM月dd日")}</font>\n>请点击:[查看备课内容]({Config.ErpUrl}/autologin?loginId={x.Id}&target={recipientPath})"; var content = $"<font color='info'>修改备课通知</font> 有老师对备课内容进行了修改调整\n>**概要信息** \n>备课老师:<font color='comment'>{user.AccountName}</font>\n>备课标题:<font color='comment'>{item.LessonPlan}(第{item.CourseNum}课)</font>\n>目标班级:<font color='comment'>{classInfo.ClassName}</font> \n>上课日期:<font color='warning'>{item.ClassDate.Value.ToString("yyyy年MM月dd日")}</font>\n>请点击:[查看备课内容]({Config.ErpUrl}/autologin?loginId={x.Id}&target={recipientPath})";
PushWorkChatHelper.PushToWorkChat(content, x.WorkUserId, "修改备课通知"); PushWorkChatHelper.PushToWorkChat(content, x.WorkUserId, "修改备课通知");
}); });
...@@ -2872,7 +2920,8 @@ namespace Edu.Module.Course ...@@ -2872,7 +2920,8 @@ namespace Edu.Module.Course
var notifyObjs = accountRepository.GetWorkUserIdByDictRepository("Push_TeachPreparing"); var notifyObjs = accountRepository.GetWorkUserIdByDictRepository("Push_TeachPreparing");
if (notifyObjs != null && notifyObjs.Any()) if (notifyObjs != null && notifyObjs.Any())
{ {
notifyObjs.ForEach(x => { notifyObjs.ForEach(x =>
{
var content = $"<font color='info'>备课通知</font> 有老师完成了备课工作\n>**概要信息** \n>备课老师:<font color='comment'>{user.AccountName}</font>\n>备课标题:<font color='comment'>{item.LessonPlan}(第{item.CourseNum}课)</font>\n>目标班级:<font color='comment'>{classInfo.ClassName}</font> \n>上课日期:<font color='warning'>{item.ClassDate.Value.ToString("yyyy年MM月dd日")}</font>\n>请点击:[查看备课内容]({Config.ErpUrl}/autologin?loginId={x.Id}&target={recipientPath})"; var content = $"<font color='info'>备课通知</font> 有老师完成了备课工作\n>**概要信息** \n>备课老师:<font color='comment'>{user.AccountName}</font>\n>备课标题:<font color='comment'>{item.LessonPlan}(第{item.CourseNum}课)</font>\n>目标班级:<font color='comment'>{classInfo.ClassName}</font> \n>上课日期:<font color='warning'>{item.ClassDate.Value.ToString("yyyy年MM月dd日")}</font>\n>请点击:[查看备课内容]({Config.ErpUrl}/autologin?loginId={x.Id}&target={recipientPath})";
PushWorkChatHelper.PushToWorkChat(content, x.WorkUserId, "新增备课通知"); PushWorkChatHelper.PushToWorkChat(content, x.WorkUserId, "新增备课通知");
}); });
...@@ -2926,7 +2975,7 @@ namespace Edu.Module.Course ...@@ -2926,7 +2975,7 @@ namespace Edu.Module.Course
/// <param name="model"></param> /// <param name="model"></param>
/// <returns></returns> /// <returns></returns>
[TransactionCallHandler] [TransactionCallHandler]
public virtual bool UpdateClassLessPlan(Class_LessonPlan_ViewModel model,UserInfo user) public virtual bool UpdateClassLessPlan(Class_LessonPlan_ViewModel model, UserInfo user)
{ {
bool flag = true; bool flag = true;
if (model.LessonPlanList != null && model.LessonPlanList.Any()) if (model.LessonPlanList != null && model.LessonPlanList.Any())
...@@ -2945,7 +2994,7 @@ namespace Edu.Module.Course ...@@ -2945,7 +2994,7 @@ namespace Edu.Module.Course
} }
} }
} }
} }
return flag; return flag;
...@@ -2958,7 +3007,7 @@ namespace Edu.Module.Course ...@@ -2958,7 +3007,7 @@ namespace Edu.Module.Course
/// <param name="model"></param> /// <param name="model"></param>
/// <returns></returns> /// <returns></returns>
[TransactionCallHandler] [TransactionCallHandler]
public virtual bool GetUpdateClassLessPlanSummary(Class_LessonPlan_ViewModel model,UserInfo user) public virtual bool GetUpdateClassLessPlanSummary(Class_LessonPlan_ViewModel model, UserInfo user)
{ {
bool flag = true; bool flag = true;
if (model.LessonPlanList != null && model.LessonPlanList.Any()) if (model.LessonPlanList != null && model.LessonPlanList.Any())
...@@ -2982,7 +3031,8 @@ namespace Edu.Module.Course ...@@ -2982,7 +3031,8 @@ namespace Edu.Module.Course
var notifyObjs = accountRepository.GetWorkUserIdByDictRepository("Push_TeachPreparing"); var notifyObjs = accountRepository.GetWorkUserIdByDictRepository("Push_TeachPreparing");
if (notifyObjs != null && notifyObjs.Any()) if (notifyObjs != null && notifyObjs.Any())
{ {
notifyObjs.ForEach(x => { notifyObjs.ForEach(x =>
{
var content = $"<font color='info'>课后反馈通知</font> 有老师完成了课后反馈工作\n>**概要信息** \n>反馈老师:<font color='comment'>{user.AccountName}</font>\n>备课标题:<font color='comment'>{item.LessonPlan}(第{item.CourseNum}课)</font>\n>目标班级:<font color='comment'>{classInfo.ClassName}</font> \n>上课日期:<font color='warning'>{item.ClassDate.Value.ToString("yyyy年MM月dd日")}</font>\n>请点击:[查看反馈内容]({Config.ErpUrl}/autologin?loginId={x.Id}&target={recipientPath})"; var content = $"<font color='info'>课后反馈通知</font> 有老师完成了课后反馈工作\n>**概要信息** \n>反馈老师:<font color='comment'>{user.AccountName}</font>\n>备课标题:<font color='comment'>{item.LessonPlan}(第{item.CourseNum}课)</font>\n>目标班级:<font color='comment'>{classInfo.ClassName}</font> \n>上课日期:<font color='warning'>{item.ClassDate.Value.ToString("yyyy年MM月dd日")}</font>\n>请点击:[查看反馈内容]({Config.ErpUrl}/autologin?loginId={x.Id}&target={recipientPath})";
PushWorkChatHelper.PushToWorkChat(content, x.WorkUserId, "课后反馈通知"); PushWorkChatHelper.PushToWorkChat(content, x.WorkUserId, "课后反馈通知");
}); });
...@@ -3905,9 +3955,6 @@ namespace Edu.Module.Course ...@@ -3905,9 +3955,6 @@ namespace Edu.Module.Course
} }
/// <summary> /// <summary>
/// 教师-我的排课 /// 教师-我的排课
/// </summary> /// </summary>
...@@ -4177,15 +4224,18 @@ namespace Edu.Module.Course ...@@ -4177,15 +4224,18 @@ namespace Edu.Module.Course
model.ClassLetterNum = CNum + 1; model.ClassLetterNum = CNum + 1;
} }
#endregion #endregion
Dictionary<string, object> keyValues = new Dictionary<string, object>() { Dictionary<string, object> keyValues = new Dictionary<string, object>()
{
{ nameof(RB_Class_ViewModel.ClassNo),model.ClassNo}, { nameof(RB_Class_ViewModel.ClassNo),model.ClassNo},
{ nameof(RB_Class_ViewModel.ClassLetterNum),model.ClassLetterNum}, { nameof(RB_Class_ViewModel.ClassLetterNum),model.ClassLetterNum},
}; };
List<WhereHelper> wheres = new List<WhereHelper>() { List<WhereHelper> wheres = new List<WhereHelper>()
new WhereHelper(){ {
new WhereHelper()
{
FiledName=nameof(RB_Class_ViewModel.ClassId), FiledName=nameof(RB_Class_ViewModel.ClassId),
FiledValue=model.ClassId, FiledValue=model.ClassId,
OperatorEnum=OperatorEnum.Equal OperatorEnum=OperatorEnum.Equal
} }
}; };
classRepository.Update(keyValues, wheres); classRepository.Update(keyValues, wheres);
...@@ -4271,9 +4321,7 @@ namespace Edu.Module.Course ...@@ -4271,9 +4321,7 @@ namespace Edu.Module.Course
public List<RB_Order_Guest_ViewModel> GetTeacherStudentPage(int pageIndex, int pageSize, out long rowsCount, RB_Order_Guest_ViewModel demodel) public List<RB_Order_Guest_ViewModel> GetTeacherStudentPage(int pageIndex, int pageSize, out long rowsCount, RB_Order_Guest_ViewModel demodel)
{ {
var orderstudentList = order_GuestRepository.GetTeacherStudentPage(pageIndex, pageSize, out rowsCount, demodel); var orderstudentList = order_GuestRepository.GetTeacherStudentPage(pageIndex, pageSize, out rowsCount, demodel);
return orderstudentList; return orderstudentList;
} }
/// <summary> /// <summary>
...@@ -4284,17 +4332,11 @@ namespace Edu.Module.Course ...@@ -4284,17 +4332,11 @@ namespace Edu.Module.Course
public List<RB_Order_Guest_ViewModel> GetNotClassStudentList(RB_Order_Guest_ViewModel demodel) public List<RB_Order_Guest_ViewModel> GetNotClassStudentList(RB_Order_Guest_ViewModel demodel)
{ {
var orderstudentList = order_GuestRepository.GetNotClassStudentList(demodel); var orderstudentList = order_GuestRepository.GetNotClassStudentList(demodel);
return orderstudentList; return orderstudentList;
} }
#endregion #endregion
#region 财务轧账 #region 财务轧账
/// <summary> /// <summary>
/// 验证是否可以修改签到数据 /// 验证是否可以修改签到数据
...@@ -4318,7 +4360,6 @@ namespace Edu.Module.Course ...@@ -4318,7 +4360,6 @@ namespace Edu.Module.Course
#endregion #endregion
#region 临时上课邀请学生 #region 临时上课邀请学生
/// <summary> /// <summary>
/// 获取列表 /// 获取列表
...@@ -4332,8 +4373,6 @@ namespace Edu.Module.Course ...@@ -4332,8 +4373,6 @@ namespace Edu.Module.Course
#endregion #endregion
#region 甲鹤小程序商品信息 #region 甲鹤小程序商品信息
/// <summary> /// <summary>
/// 同步班级到甲鹤小程序 /// 同步班级到甲鹤小程序
...@@ -4502,12 +4541,6 @@ namespace Edu.Module.Course ...@@ -4502,12 +4541,6 @@ namespace Edu.Module.Course
} }
return flag; return flag;
} }
#endregion #endregion
#region 学生小程序获取我的课表 #region 学生小程序获取我的课表
...@@ -4551,7 +4584,7 @@ namespace Edu.Module.Course ...@@ -4551,7 +4584,7 @@ namespace Edu.Module.Course
Group_Id = model.Group_Id Group_Id = model.Group_Id
}); });
foreach (var item in planList.OrderBy(x => x.ClassDate)) foreach (var item in planList.OrderBy(x => x.ClassDate))
{ {
item.PlanTimeList = new List<RB_Class_Time_ViewModel>(); item.PlanTimeList = new List<RB_Class_Time_ViewModel>();
...@@ -4573,7 +4606,7 @@ namespace Edu.Module.Course ...@@ -4573,7 +4606,7 @@ namespace Edu.Module.Course
Id = sItem.Id, Id = sItem.Id,
GuestName = sItem.GuestName, GuestName = sItem.GuestName,
IsCheck = 0, IsCheck = 0,
StudentId= sItem.StudentId StudentId = sItem.StudentId
}); });
} }
...@@ -4599,7 +4632,7 @@ namespace Edu.Module.Course ...@@ -4599,7 +4632,7 @@ namespace Edu.Module.Course
/// <returns></returns> /// <returns></returns>
public List<RB_Class_Plan_ViewModel> GetStundentScheduleList(RB_Class_ViewModel model) public List<RB_Class_Plan_ViewModel> GetStundentScheduleList(RB_Class_ViewModel model)
{ {
var planList = class_PlanRepository.GetClassPlanStatisticalRepository(new RB_Class_Plan_ViewModel() { School_Id = model.School_Id, ClassId = model.ClassId, Group_Id = model.Group_Id, StartTime = model.StartTime, EndTime = model.EndTime }); var planList = class_PlanRepository.GetClassPlanStatisticalRepository(new RB_Class_Plan_ViewModel() { School_Id = model.School_Id, ClassId = model.ClassId, Group_Id = model.Group_Id, StartTime = model.StartTime, EndTime = model.EndTime });
return planList; return planList;
......
...@@ -144,6 +144,7 @@ namespace Edu.Module.Course ...@@ -144,6 +144,7 @@ namespace Edu.Module.Course
/// 商品规格价格 /// 商品规格价格
/// </summary> /// </summary>
private readonly Repository.Mall.RB_Goods_SpecificationPriceRepository goods_SpecificationPriceRepository = new Repository.Mall.RB_Goods_SpecificationPriceRepository(); private readonly Repository.Mall.RB_Goods_SpecificationPriceRepository goods_SpecificationPriceRepository = new Repository.Mall.RB_Goods_SpecificationPriceRepository();
#region 课程管理 #region 课程管理
public List<RB_Course_ViewModel> GetAllCourseChapterCountModule(int groupId, int courseId) public List<RB_Course_ViewModel> GetAllCourseChapterCountModule(int groupId, int courseId)
...@@ -377,6 +378,7 @@ namespace Edu.Module.Course ...@@ -377,6 +378,7 @@ namespace Edu.Module.Course
} }
} }
#endregion #endregion
return flag; return flag;
} }
......
...@@ -58,6 +58,10 @@ namespace Edu.Module.Exam ...@@ -58,6 +58,10 @@ namespace Edu.Module.Exam
/// </summary> /// </summary>
private readonly RB_Examination_ConfigureRepository examination_ConfigureRepository = new RB_Examination_ConfigureRepository(); private readonly RB_Examination_ConfigureRepository examination_ConfigureRepository = new RB_Examination_ConfigureRepository();
/// 试卷考试学员仓储层对象
/// </summary>
private readonly RB_Examination_StudentRepository examination_StudentRepository = new RB_Examination_StudentRepository();
/// <summary> /// <summary>
/// 获取试卷分页列表 /// 获取试卷分页列表
/// </summary> /// </summary>
...@@ -687,7 +691,24 @@ namespace Edu.Module.Exam ...@@ -687,7 +691,24 @@ namespace Edu.Module.Exam
/// <returns></returns> /// <returns></returns>
public List<RB_Examination_Publish_ViewModel> GetExaminationPublishPageModule(int pageIndex, int pageSize, out long rowsCount, RB_Examination_Publish_ViewModel query) public List<RB_Examination_Publish_ViewModel> GetExaminationPublishPageModule(int pageIndex, int pageSize, out long rowsCount, RB_Examination_Publish_ViewModel query)
{ {
return examination_PublishRepository.GetExaminationPublishPageRepository(pageIndex, pageSize, out rowsCount, query); var list= examination_PublishRepository.GetExaminationPublishPageRepository(pageIndex, pageSize, out rowsCount, query);
if (list != null && list.Count > 0)
{
string ids = string.Join(",", list.Select(qitem => qitem.Id));
List<RB_Examination_Student_ViewModel> stuList = new List<RB_Examination_Student_ViewModel>();
if (!string.IsNullOrEmpty(ids))
{
stuList= examination_StudentRepository.GetExaminationStudentListRepository(new RB_Examination_Student_ViewModel()
{
QPublishIds = ids
});
}
foreach (var item in list)
{
item.StudentCount = stuList?.Where(qitem => qitem.PublishId == item.Id)?.Count()??0;
}
}
return list;
} }
/// <summary> /// <summary>
...@@ -731,6 +752,59 @@ namespace Edu.Module.Exam ...@@ -731,6 +752,59 @@ namespace Edu.Module.Exam
model.Id = newId; model.Id = newId;
flag = newId > 0; flag = newId > 0;
} }
var oldStudentList = examination_StudentRepository.GetExaminationStudentListRepository(new RB_Examination_Student_ViewModel() { PublishId = model.Id });
//以前没有学员【直接新增】
if (oldStudentList == null || (oldStudentList != null && oldStudentList.Count == 0))
{
if (model.StudentList != null && model.StudentList.Count > 0)
{
foreach (var item in model.StudentList)
{
item.CreateBy = model.CreateBy;
item.CreateTime = DateTime.Now;
item.PublishId = model.Id;
item.PaperId = model.PaperId;
item.Group_Id = model.Group_Id;
item.School_Id = model.School_Id;
examination_StudentRepository.Insert(item);
}
}
}
else//以前有学员
{
//现在没有学员了【直接删除以前的学员】
if (model.StudentList == null || (model.StudentList != null && model.StudentList.Count == 0))
{
examination_StudentRepository.DeleteOne(new WhereHelper(nameof(RB_Examination_Student_ViewModel.PublishId), model.Id));
}
//找出差异的数据
var deleteList = oldStudentList.Where(qitem => !model.StudentList.Any(oldItem => qitem.Id == oldItem.Id)).ToList();
foreach (var dItem in deleteList)
{
if (dItem.Id > 0)
{
examination_StudentRepository.DeleteOne(new WhereHelper(nameof(RB_Examination_Student_ViewModel.Id), dItem.Id));
}
}
foreach (var dItem in model.StudentList)
{
dItem.CreateBy = model.CreateBy;
dItem.CreateTime = DateTime.Now;
dItem.PublishId = model.Id;
dItem.PaperId = model.PaperId;
dItem.Group_Id = model.Group_Id;
dItem.School_Id = model.School_Id;
if (dItem.Id == 0)
{
examination_StudentRepository.Insert(dItem);
}
else
{
examination_StudentRepository.Update(dItem);
}
}
}
return flag; return flag;
} }
...@@ -786,5 +860,26 @@ namespace Edu.Module.Exam ...@@ -786,5 +860,26 @@ namespace Edu.Module.Exam
return flag; return flag;
} }
#endregion #endregion
/// <summary>
/// 根据编号获取考试发布详情
/// </summary>
/// <param name="Id"></param>
/// <returns></returns>
public RB_Examination_Publish_ViewModel GetExaminationPublishModule(object Id)
{
var extModel = examination_PublishRepository.GetEntity<RB_Examination_Publish_ViewModel>(Id);
if (extModel == null)
{
extModel = new RB_Examination_Publish_ViewModel();
}
if (extModel != null&&extModel.Id>0)
{
extModel.StudentList = examination_StudentRepository.GetExaminationStudentListRepository(new RB_Examination_Student_ViewModel()
{
PublishId = extModel.Id
});
}
return extModel;
}
} }
} }
...@@ -4,6 +4,7 @@ using System; ...@@ -4,6 +4,7 @@ using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using VT.FW.DB.Dapper;
namespace Edu.Repository.Exam namespace Edu.Repository.Exam
{ {
...@@ -22,10 +23,11 @@ namespace Edu.Repository.Exam ...@@ -22,10 +23,11 @@ namespace Edu.Repository.Exam
/// <returns></returns> /// <returns></returns>
public List<RB_Examination_Publish_ViewModel> GetExaminationPublishPageRepository(int pageIndex, int pageSize, out long rowsCount, RB_Examination_Publish_ViewModel query) public List<RB_Examination_Publish_ViewModel> GetExaminationPublishPageRepository(int pageIndex, int pageSize, out long rowsCount, RB_Examination_Publish_ViewModel query)
{ {
var parameters = new DynamicParameters();
StringBuilder builder = new StringBuilder(); StringBuilder builder = new StringBuilder();
builder.AppendFormat(@" builder.AppendFormat(@"
SELECT A.* SELECT A.*,IFNULL(B.PaperName,'') AS PaperName
FROM RB_Examination_Publish AS A FROM RB_Examination_Publish AS A LEFT JOIN rb_examination_paper AS B ON A.PaperId=B.PaperId
WHERE 1=1 WHERE 1=1
"); ");
if (query != null) if (query != null)
...@@ -34,6 +36,11 @@ WHERE 1=1 ...@@ -34,6 +36,11 @@ WHERE 1=1
{ {
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Examination_Publish_ViewModel.Group_Id), query.Group_Id); builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Examination_Publish_ViewModel.Group_Id), query.Group_Id);
} }
if (!string.IsNullOrEmpty(query.PaperName))
{
builder.AppendFormat(" AND B.{0} LIKE @PaperName ", nameof(RB_Examination_Publish_ViewModel.PaperName));
parameters.Add("PaperName", "%" + query.PaperName.Trim() + "%");
}
} }
return GetPage<RB_Examination_Publish_ViewModel>(pageIndex, pageSize, out rowsCount, builder.ToString()).ToList(); return GetPage<RB_Examination_Publish_ViewModel>(pageIndex, pageSize, out rowsCount, builder.ToString()).ToList();
} }
......
using Edu.Model.Entity.Exam; using Edu.Model.Entity.Exam;
using Edu.Model.ViewModel.Exam;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq;
using System.Text; using System.Text;
namespace Edu.Repository.Exam namespace Edu.Repository.Exam
...@@ -10,6 +12,65 @@ namespace Edu.Repository.Exam ...@@ -10,6 +12,65 @@ namespace Edu.Repository.Exam
/// </summary> /// </summary>
public class RB_Examination_StudentRepository:BaseRepository<RB_Examination_Student> public class RB_Examination_StudentRepository:BaseRepository<RB_Examination_Student>
{ {
/// <summary>
/// 获取考试学生分页列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="rowsCount"></param>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Examination_Student_ViewModel> GetExaminationStudentPageRepository(int pageIndex, int pageSize, out long rowsCount, RB_Examination_Student_ViewModel query)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT A.*,IFNULL(B.GuestName,'') AS GuestName
FROM RB_Examination_Student AS A LEFT JOIN rb_order_guest AS B ON A.GuestId=B.Id
WHERE 1=1
");
if (query != null)
{
if (query.Group_Id > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Examination_Student_ViewModel.Group_Id), query.Group_Id);
}
if (query.PublishId > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Examination_Student_ViewModel.PublishId), query.PublishId);
}
}
return GetPage<RB_Examination_Student_ViewModel>(pageIndex, pageSize, out rowsCount, builder.ToString()).ToList();
}
/// <summary>
/// 获取考试学生列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Examination_Student_ViewModel> GetExaminationStudentListRepository(RB_Examination_Student_ViewModel query)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT A.*,IFNULL(B.GuestName,'') AS GuestName
FROM RB_Examination_Student AS A LEFT JOIN rb_order_guest AS B ON A.GuestId=B.Id
WHERE 1=1
");
if (query != null)
{
if (query.Group_Id > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Examination_Student_ViewModel.Group_Id), query.Group_Id);
}
if (query.PublishId > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Examination_Student_ViewModel.PublishId), query.PublishId);
}
if (!string.IsNullOrEmpty(query.QPublishIds))
{
builder.AppendFormat(" AND A.{0} IN({1}) ", nameof(RB_Examination_Student_ViewModel.PublishId), query.QPublishIds);
}
}
return Get<RB_Examination_Student_ViewModel>(builder.ToString()).ToList();
}
} }
} }
\ No newline at end of file
...@@ -4,6 +4,7 @@ using Edu.Model.ViewModel.Sell; ...@@ -4,6 +4,7 @@ using Edu.Model.ViewModel.Sell;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using VT.FW.DB.Dapper;
namespace Edu.Repository.Sell namespace Edu.Repository.Sell
{ {
...@@ -65,10 +66,10 @@ namespace Edu.Repository.Sell ...@@ -65,10 +66,10 @@ namespace Edu.Repository.Sell
/// 获取列表 /// 获取列表
/// </summary> /// </summary>
/// <param name="demodel"></param> /// <param name="demodel"></param>
/// <param name="orderIds"></param>
/// <returns></returns> /// <returns></returns>
public List<RB_Order_Guest_ViewModel> GetCommonOrderGuestListRepository(RB_Order_Guest_ViewModel demodel) public List<RB_Order_Guest_ViewModel> GetCommonOrderGuestListRepository(RB_Order_Guest_ViewModel demodel)
{ {
var parameters = new DynamicParameters();
string where = ""; string where = "";
if (demodel.Group_Id > 0) if (demodel.Group_Id > 0)
{ {
...@@ -100,7 +101,18 @@ namespace Edu.Repository.Sell ...@@ -100,7 +101,18 @@ namespace Edu.Repository.Sell
} }
if (!string.IsNullOrEmpty(demodel.GuestName)) if (!string.IsNullOrEmpty(demodel.GuestName))
{ {
where += $@" and A.{nameof(RB_Order_Guest_ViewModel.GuestName)} like '%{demodel.GuestName}%'"; where += $@" and A.{nameof(RB_Order_Guest_ViewModel.GuestName)} LIKE @GuestName ";
parameters.Add("GuestName", "%" + demodel.GuestName.Trim() + "%");
}
if (!string.IsNullOrEmpty(demodel.ClassName))
{
where += $@" and cs.{nameof(RB_Order_Guest_ViewModel.ClassName)} LIKE @ClassName ";
parameters.Add("ClassName", "%" + demodel.ClassName.Trim() + "%");
}
if (!string.IsNullOrEmpty(demodel.ClassNo))
{
where += $@" and cs.{nameof(RB_Order_Guest_ViewModel.ClassNo)} LIKE @ClassNo ";
parameters.Add("ClassNo", "%" + demodel.ClassNo.Trim() + "%");
} }
if (demodel.GuestState > 0) if (demodel.GuestState > 0)
{ {
...@@ -112,16 +124,17 @@ namespace Edu.Repository.Sell ...@@ -112,16 +124,17 @@ namespace Edu.Repository.Sell
} }
string sql = $@" string sql = $@"
SELECT sog.Student_Id as StudentId,A.*,IFNULL(B.JoinType,0) AS JoinType,IFNULL(B.TargetJoinType,0) AS TargetJoinType,IFNULL(B.StartClassHours,0) AS StartClassHours SELECT sog.Student_Id as StudentId,A.*,cs.ClassName,cs.ClassNo,IFNULL(B.JoinType,0) AS JoinType,IFNULL(B.TargetJoinType,0) AS TargetJoinType,IFNULL(B.StartClassHours,0) AS StartClassHours
,IFNULL(C.CourseName,'') AS CourseName,B.EffectStatus,B.EffectTime,B.UpOrderId,B.OrderType,B.CourseId,B.IsRenewOrder,B.RenewOrderId,B.EnterID ,IFNULL(C.CourseName,'') AS CourseName,B.EffectStatus,B.EffectTime,B.UpOrderId,B.OrderType,B.CourseId,B.IsRenewOrder,B.RenewOrderId,B.EnterID
,sc.StopClassEffectTime,B.SourceOrderId,B.TargetOrderId,IFNULL(D.FirstClassHours,0)+IFNULL(D.SecondClassHours,0)+IFNULL(D.ThirdClassHours,0) AS ContractTotalHours ,sc.StopClassEffectTime,B.SourceOrderId,B.TargetOrderId,IFNULL(D.FirstClassHours,0)+IFNULL(D.SecondClassHours,0)+IFNULL(D.ThirdClassHours,0) AS ContractTotalHours
FROM RB_Order_Guest AS A LEFT JOIN rb_order AS B ON A.OrderId=B.OrderId FROM RB_Order_Guest AS A LEFT JOIN rb_order AS B ON A.OrderId=B.OrderId
LEFT JOIN rb_student_orderguest as sog on sog.GuestId=a.Id LEFT JOIN rb_class AS cs ON B.ClassId=cs.ClassId
LEFT JOIN rb_student_orderguest as sog on sog.GuestId=a.Id
LEFT JOIN rb_course AS C ON (B.CourseId=C.CourseId AND B.CourseId>0 AND B.OrderType=1) LEFT JOIN rb_course AS C ON (B.CourseId=C.CourseId AND B.CourseId>0 AND B.OrderType=1)
LEFT JOIN (SELECT OrderGuestId,MAX(TakeEffectTime) as StopClassEffectTime from rb_student_stopclass where IsAuditThrough=1 GROUP BY OrderGuestId) as sc on sc.OrderGuestId=a.Id LEFT JOIN (SELECT OrderGuestId,MAX(TakeEffectTime) as StopClassEffectTime from rb_student_stopclass where IsAuditThrough=1 GROUP BY OrderGuestId) as sc on sc.OrderGuestId=a.Id
LEFT JOIN rb_education_contract AS D ON A.OrderId=D.OrderId AND A.Id=D.GuestId AND D.IsSystemUse=1 LEFT JOIN rb_education_contract AS D ON A.OrderId=D.OrderId AND A.Id=D.GuestId AND D.IsSystemUse=1
WHERE 1=1 and A.Status=0 {where}"; WHERE 1=1 and A.Status=0 {where}";
return Get<RB_Order_Guest_ViewModel>(sql).ToList(); return Get<RB_Order_Guest_ViewModel>(sql, parameters).ToList();
} }
...@@ -226,8 +239,6 @@ WHERE 1=1 AND A.Status=0 ...@@ -226,8 +239,6 @@ WHERE 1=1 AND A.Status=0
} }
} }
/// <summary> /// <summary>
/// 获取列表 /// 获取列表
/// </summary> /// </summary>
...@@ -359,11 +370,7 @@ WHERE 1=1 and A.Status=0 and class.Status=0 and b.OrderState<>3 ...@@ -359,11 +370,7 @@ WHERE 1=1 and A.Status=0 and class.Status=0 and b.OrderState<>3
/// <summary> /// <summary>
/// 获取分页列表 /// 获取分页列表
/// </summary> /// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="rowsCount"></param>
/// <param name="demodel"></param> /// <param name="demodel"></param>
/// <param name="orderIds"></param>
/// <returns></returns> /// <returns></returns>
public List<RB_Order_Guest_ViewModel> GetStopingStudentPage(RB_Order_Guest_ViewModel demodel) public List<RB_Order_Guest_ViewModel> GetStopingStudentPage(RB_Order_Guest_ViewModel demodel)
{ {
......
...@@ -1272,6 +1272,24 @@ namespace Edu.WebApi.Controllers.Course ...@@ -1272,6 +1272,24 @@ namespace Edu.WebApi.Controllers.Course
return result ? ApiResult.Success() : ApiResult.Failed("签到失败"); return result ? ApiResult.Success() : ApiResult.Failed("签到失败");
} }
/// <summary>
/// 获取班级学生树形列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetClassStudentTree()
{
var query = new RB_Order_Guest_ViewModel()
{
GuestName = base.ParmJObj.GetStringValue("GuestName"),
ClassName = base.ParmJObj.GetStringValue("ClassName"),
ClassNo = ParmJObj.GetStringValue("ClassNo"),
};
query.Group_Id = base.UserInfo.Group_Id;
var obj = classModule.GetClassStudentTreeModule(query);
return ApiResult.Success(data: obj);
}
/// <summary> /// <summary>
/// 签到 /// 签到
/// </summary> /// </summary>
......
using Edu.Common.API; using Edu.Cache.User;
using Edu.Common.API;
using Edu.Common.Enum.Course; using Edu.Common.Enum.Course;
using Edu.Common.Enum.Question; using Edu.Common.Enum.Question;
using Edu.Common.Plugin; using Edu.Common.Plugin;
...@@ -403,6 +404,11 @@ namespace Edu.WebApi.Controllers.Exam ...@@ -403,6 +404,11 @@ namespace Edu.WebApi.Controllers.Exam
FillInIsIgnore = base.ParmJObj.GetInt("FillInIsIgnore"), FillInIsIgnore = base.ParmJObj.GetInt("FillInIsIgnore"),
IsHalfScore = base.ParmJObj.GetInt("IsHalfScore"), IsHalfScore = base.ParmJObj.GetInt("IsHalfScore"),
}; };
var studentStr = base.ParmJObj.GetStringValue("StudentList");
if (!string.IsNullOrEmpty(studentStr))
{
model.StudentList = Common.Plugin.JsonHelper.DeserializeObject<List<RB_Examination_Student_ViewModel>>(studentStr);
}
model.CreateBy = base.UserInfo.Id; model.CreateBy = base.UserInfo.Id;
model.CreateTime = DateTime.Now; model.CreateTime = DateTime.Now;
model.Group_Id = base.UserInfo.Group_Id; model.Group_Id = base.UserInfo.Group_Id;
...@@ -412,6 +418,18 @@ namespace Edu.WebApi.Controllers.Exam ...@@ -412,6 +418,18 @@ namespace Edu.WebApi.Controllers.Exam
return flag ? ApiResult.Success() : ApiResult.Failed(); return flag ? ApiResult.Success() : ApiResult.Failed();
} }
/// <summary>
/// 根据编号获取考试发布详情
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetExamPublish()
{
var Id = base.ParmJObj.GetInt("Id");
var model = paperModule.GetExaminationPublishModule(Id);
return ApiResult.Success(data: model);
}
/// <summary> /// <summary>
/// 获取发布考试分页列表 /// 获取发布考试分页列表
/// </summary> /// </summary>
...@@ -423,13 +441,25 @@ namespace Edu.WebApi.Controllers.Exam ...@@ -423,13 +441,25 @@ namespace Edu.WebApi.Controllers.Exam
var query = new RB_Examination_Publish_ViewModel() var query = new RB_Examination_Publish_ViewModel()
{ {
PaperId = base.ParmJObj.GetInt("PaperId"), PaperId = base.ParmJObj.GetInt("PaperId"),
PaperName = base.ParmJObj.GetStringValue("PaperName"),
}; };
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 = paperModule.GetExaminationPublishPageModule(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, query); var list = paperModule.GetExaminationPublishPageModule(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, query);
foreach (var item in list) foreach (var item in list)
{ {
result.Add(item); var obj = new
{
item.Id,
item.PaperId,
item.PaperName,
CreateByName = UserReidsCache.GetUserLoginInfo(item.CreateBy)?.AccountName ?? "",
StartTime = Common.ConvertHelper.FormatTime(item.ExamStartTime),
EndTime = Common.ConvertHelper.FormatTime(item.ExamEndTime),
item.ExamTimes,
item.StudentCount,
};
result.Add(obj);
} }
pageModel.Count = rowsCount; pageModel.Count = rowsCount;
pageModel.PageData = result; pageModel.PageData = result;
......
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