Commit cdc5b24a authored by liudong1993's avatar liudong1993

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

parents fd6cf486 11e6d98c
using Edu.Common.Enum;
using System;
using System.Collections.Generic;
using System.Text;
using VT.FW.DB;
namespace Edu.Model.Entity.Exam
{
/// <summary>
/// 学员单词预习实体类
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_StuWords_Prep
{
/// <summary>
/// 预习主键编号
/// </summary>
public int Id { get; set; }
/// <summary>
/// 班级编号
/// </summary>
public int ClassId { get; set; }
/// <summary>
/// 课程编号
/// </summary>
public int CourseId { get; set; }
/// <summary>
/// Account表(Id字段)学员账号
/// </summary>
public int Stu_Account_Id { get; set; }
/// <summary>
/// 章节编号
/// </summary>
public int ChapterId { get; set; }
/// <summary>
/// 创建人
/// </summary>
public int CreateBy { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime CreateTime { get; set; }
/// <summary>
/// 学校Id
/// </summary>
public int School_Id { get; set; }
/// <summary>
/// 集团编号
/// </summary>
public int Group_Id { get; set; }
/// <summary>
/// 状态
/// </summary>
public DateStateEnum Status { get; set; }
/// <summary>
/// 学习单词数量
/// </summary>
public int StudyNum { get; set; }
/// <summary>
/// 单词总数
/// </summary>
public int TotalNum { get; set; }
/// <summary>
/// 得分
/// </summary>
public decimal Score { get; set; }
/// <summary>
/// 开始时间
/// </summary>
public DateTime? StartTime { get; set; }
/// <summary>
/// 结束时间
/// </summary>
public DateTime? EndTime { get; set; }
}
}
using Edu.Common.Enum;
using System;
using System.Collections.Generic;
using System.Text;
using VT.FW.DB;
namespace Edu.Model.Entity.Exam
{
/// <summary>
/// 学员单词复习实体类
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_StuWords_Review
{
/// <summary>
/// 复习主键编号
/// </summary>
public int Id { get; set; }
/// <summary>
/// 班级编号
/// </summary>
public int ClassId { get; set; }
/// <summary>
/// 课程编号
/// </summary>
public int CourseId { get; set; }
/// <summary>
/// Account表(Id字段)学员账号
/// </summary>
public int Stu_Account_Id { get; set; }
/// <summary>
/// 章节编号
/// </summary>
public int ChapterId { get; set; }
/// <summary>
/// 创建人
/// </summary>
public int CreateBy { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime CreateTime { get; set; }
/// <summary>
/// 学校Id
/// </summary>
public int School_Id { get; set; }
/// <summary>
/// 集团编号
/// </summary>
public int Group_Id { get; set; }
/// <summary>
/// 状态
/// </summary>
public DateStateEnum Status { get; set; }
/// <summary>
/// 复习单词数量
/// </summary>
public int ReviewNum { get; set; }
/// <summary>
/// 单词总数
/// </summary>
public int TotalNum { get; set; }
/// <summary>
/// 得分
/// </summary>
public decimal Score { get; set; }
/// <summary>
/// 开始时间
/// </summary>
public DateTime? StartTime { get; set; }
/// <summary>
/// 结束时间
/// </summary>
public DateTime? EndTime { get; set; }
}
}

using Edu.Model.Entity.Exam;
using System;
using System.Collections.Generic;
using System.Text;
namespace Edu.Model.ViewModel.Exam
{
/// <summary>
/// 学员单词预习扩展实体类
/// </summary>
public class RB_StuWords_Prep_Extend: RB_StuWords_Prep
{
/// <summary>
/// 学习分钟数
/// </summary>
public string StartMinutes
{
get
{
string str = "";
if (this.StartTime != null && this.EndTime != null)
{
str = Common.ConvertHelper.CalcMinutes(Convert.ToDateTime(this.StartTime), Convert.ToDateTime(this.EndTime)).ToString();
}
return str;
}
}
}
}
using Edu.Model.Entity.Exam;
using System;
using System.Collections.Generic;
using System.Text;
namespace Edu.Model.ViewModel.Exam
{
/// <summary>
/// 学员单词扩展复习实体类
/// </summary>
public class RB_StuWords_Review_Extend : RB_StuWords_Review
{
}
}
......@@ -4903,7 +4903,10 @@ namespace Edu.Module.Course
return new
{
NextWord = NextNum,
ReviewWord = ReviewNum
NextCourseNo,
ReviewWord = ReviewNum,
ReviewCourseNo,
CourseId= courseId
};
}
......
......@@ -5,10 +5,12 @@ using System.Collections.Generic;
using System.Text;
using System.Linq;
using Edu.Model.ViewModel.Question;
using Edu.Repository.Exam;
using Edu.Model.ViewModel.Exam;
using VT.FW.DB;
namespace Edu.Module.Exam
{
/// <summary>
/// 课程预习测试处理类
/// </summary>
......@@ -19,6 +21,16 @@ namespace Edu.Module.Exam
/// </summary>
private readonly RB_Course_WordsRepository course_WordsRepository = new RB_Course_WordsRepository();
/// <summary>
/// 学员单词学习仓储层对象
/// </summary>
private readonly RB_StuWords_PrepRepository stuWords_PrepRepository = new RB_StuWords_PrepRepository();
/// <summary>
/// 学员单词复习仓储层对象
/// </summary>
private readonly RB_StuWords_ReviewRepository stuWords_ReviewRepository = new RB_StuWords_ReviewRepository();
/// <summary>
/// 生成课程复习和预习单词
/// </summary>
......@@ -26,7 +38,7 @@ namespace Edu.Module.Exam
/// <param name="ChapterId"></param>
/// <param name="NextChapterId"></param>
/// <returns></returns>
public object CreateCourseExam(int CourseId, int ChapterId, int NextChapterId)
public object CreateCourseExamModule(int CourseId, int ChapterId, int NextChapterId)
{
object result = new object();
var list = course_WordsRepository.GetCourseWordsListRepository(new RB_Course_Words_Extend()
......@@ -40,41 +52,129 @@ namespace Edu.Module.Exam
List<object> reviewGroupList = new List<object>();
List<object> prepGroupList = new List<object>();
if (reviewList != null && reviewList.Count > 0)
{
for (var i = 0; i < reviewList.Count; i++)
{
var titleRandomNum= Common.ConvertHelper.CreateRandomNum();
var tempWords = reviewList[i];
//选择题
if (i % 2 == 0)
if (titleRandomNum % 2 == 0)
{
string title = "我是问题";
string wordType = tempWords.WordType;
string wordTone = tempWords.WordTone;
List<optionItem> options = new List<optionItem>();
int randNum = Common.ConvertHelper.CreateRandomNum();
var tempList = reviewList.Where(qitem => qitem.Id != tempWords.Id)?.Take(3)?.ToList();
if (tempList != null && tempList.Count > 2)
{
reviewGroupList.Add(CreateSingleModule(tempWords, tempList));
}
else
{
if (!string.IsNullOrEmpty(tempWords.ChineseMean) || !string.IsNullOrEmpty(tempWords.WordWrite))
{
reviewGroupList.Add(CreateFillInModule(tempWords));
}
}
}
//填空题
else
{
if (!string.IsNullOrEmpty(tempWords.ChineseMean) || !string.IsNullOrEmpty(tempWords.WordWrite))
{
reviewGroupList.Add(CreateFillInModule(tempWords));
}
}
}
}
if (prepList != null && prepList.Count > 0)
{
}
result = new
{
reviewGroupList,
prepGroupList,
};
return result;
}
/// <summary>
/// 创建填空题
/// </summary>
public object CreateFillInModule(RB_Course_Words_Extend item)
{
string title = "我是问题";
List<fillInItem> fillInItems = new List<fillInItem>();
int randNum = Common.ConvertHelper.CreateRandomNum();
//根据日语书写填写单词
if (randNum % 2 == 0)
{
if (!string.IsNullOrEmpty(item.WordWrite))
{
title = string.Format("根据日语书写【{0}】,填写单词.", item.WordWrite);
}
else
{
title = string.Format("根据中文意思【{0}】,填写单词.", item.ChineseMean);
}
}
else
{
if (!string.IsNullOrEmpty(item.ChineseMean))
{
title = string.Format("根据中文意思【{0}】,填写单词.", item.ChineseMean);
}
else
{
title = string.Format("根据日语书写【{0}】,填写单词.", item.WordWrite);
}
}
var fillinObj= new
{
QuestionTypeName = "填空题",
QuestionTypeId = 3,
QuestionTypeKey = "fill-in",
QuestionContent = "",
Answer = item.WordContent,
Title = title,
item.WordType,
item.WordContent,
item.WordTone,
item.WordWrite,
item.ChineseMean,
item.FileUrl,
};
return fillinObj;
}
/// <summary>
/// 创建单选题
/// </summary>
/// <returns></returns>
public object CreateSingleModule(RB_Course_Words_Extend item,List<RB_Course_Words_Extend> chooseList)
{
string title = "我是问题";
int randNum = Common.ConvertHelper.CreateRandomNum();
List<optionItem> options = new List<optionItem>();
switch (randNum)
{
//根据单词选择中文意思
case 0:
title = tempWords.WordContent;
title = string.Format("请选择【{0}】单词的正确中文意思.", item.WordContent);
options.Add(new optionItem()
{
Content = tempWords.ChineseMean,
Content = item.ChineseMean,
IsAnswer = true,
Name = "",
ShowName = ""
});
foreach (var item in tempList)
foreach (var cItem in chooseList)
{
options.Add(new optionItem()
{
Content = item.ChineseMean,
Content = cItem.ChineseMean,
IsAnswer = false,
Name = "",
ShowName = "",
......@@ -83,19 +183,19 @@ namespace Edu.Module.Exam
break;
//根据中文意思选择单词
case 1:
title = tempWords.ChineseMean;
title = string.Format("请选择【{0}】所对应的单词.", item.ChineseMean);
options.Add(new optionItem()
{
Content = tempWords.WordContent,
Content = item.WordContent,
IsAnswer = true,
Name = "",
ShowName = ""
});
foreach (var item in tempList)
foreach (var cItem in chooseList)
{
options.Add(new optionItem()
{
Content = item.WordContent,
Content = cItem.WordContent,
IsAnswer = false,
Name = "",
ShowName = "",
......@@ -104,19 +204,20 @@ namespace Edu.Module.Exam
break;
//根据日语书写选择中文意思
case 2:
title = tempWords.WordWrite;
title = item.WordWrite;
title = string.Format("请选择【{0}】所对应的单词.", item.WordWrite);
options.Add(new optionItem()
{
Content = tempWords.ChineseMean,
Content = item.WordContent,
IsAnswer = true,
Name = "",
ShowName = ""
});
foreach (var item in tempList)
foreach (var cItem in chooseList)
{
options.Add(new optionItem()
{
Content = item.ChineseMean,
Content = cItem.WordContent,
IsAnswer = false,
Name = "",
ShowName = "",
......@@ -125,19 +226,19 @@ namespace Edu.Module.Exam
break;
//根据中文意思选日语书写
case 3:
title = tempWords.ChineseMean;
title = string.Format("请选择【{0}】所对应日语书写.", item.ChineseMean);
options.Add(new optionItem()
{
Content = tempWords.WordWrite,
Content = item.WordWrite,
IsAnswer = true,
Name = "",
ShowName = ""
});
foreach (var item in tempList)
foreach (var cItem in chooseList)
{
options.Add(new optionItem()
{
Content = item.WordWrite,
Content = cItem.WordWrite,
IsAnswer = false,
Name = "",
ShowName = "",
......@@ -145,51 +246,227 @@ namespace Edu.Module.Exam
}
break;
}
options= options?.OrderBy(qitem => Guid.NewGuid())?.ToList();
options = options?.OrderBy(qitem => Guid.NewGuid())?.ToList();
string Answer = "";
for (var j = 1; j <= options.Count; j++)
{
options[j].Name = Common.Plugin.StringHelper.ReturnEnChar(j);
options[j].ShowName = Common.Plugin.StringHelper.ReturnEnChar(j);
options[j - 1].Name = Common.Plugin.StringHelper.ReturnEnChar(j);
options[j - 1].ShowName = Common.Plugin.StringHelper.ReturnEnChar(j);
if (options[j - 1].IsAnswer)
{
Answer = options[j - 1].Name;
options[j - 1].IsAnswer = false;
}
}
reviewGroupList.Add(new
var singleObj = new
{
QuestionTypeName = "单选题",
QuestionTypeId = 1,
QuestionTypeKey = "single",
QuestionContent = options,
Title = title
});
Answer = Answer,
Title = title,
item.WordType,
item.WordContent,
item.WordTone,
item.WordWrite,
item.ChineseMean,
item.FileUrl,
};
return singleObj;
}
//填空题
else
/// <summary>
/// 单词学习或复习
/// </summary>
/// <param name="CourseId">课程编号</param>
/// <param name="ChapterId">当前章节编号</param>
/// <param name="PrevChapterId">上一章节编号</param>
/// <returns></returns>
public object GetStudyCourseWords(int CourseId, int ChapterId, int PrevChapterId)
{
string title = "我是问题";
List<fillInItem> fillInItems = new List<fillInItem>();
List<object> list = new List<object>();
List<object> reviewList = new List<object>();
var dataList = course_WordsRepository.GetCourseWordsListRepository(new RB_Course_Words_Extend()
{
CourseId = CourseId,
QChapterIds = ChapterId+","+ PrevChapterId
});
if (dataList != null && dataList.Count > 0)
{
foreach (var item in dataList.Where(qitem=>qitem.ChapterId==ChapterId))
{
list.Add(new
{
item.Id,
item.CourseId,
item.ChapterId,
item.WordType,
item.WordContent,
item.WordTone,
item.WordWrite,
item.ChineseMean,
item.FileUrl
});
}
reviewGroupList.Add(new
foreach (var item in dataList.Where(qitem => qitem.ChapterId == PrevChapterId))
{
QuestionTypeName = "填空题",
QuestionTypeId = 3,
QuestionTypeKey = "fill-in",
QuestionContent = fillInItems,
Title = title
reviewList.Add(new
{
item.Id,
item.CourseId,
item.ChapterId,
item.WordType,
item.WordContent,
item.WordTone,
item.WordWrite,
item.ChineseMean,
item.FileUrl
});
}
}
return new
{
StudyList = list,
ReviewList = reviewList
};
}
if (prepList != null && prepList.Count > 0)
/// <summary>
/// 获取单词预习分页列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_StuWords_Prep_Extend> GetStuWordsPrepPageModule(int pageIndex, int pageSize, out long rowsCount, RB_StuWords_Prep_Extend query)
{
var list = stuWords_PrepRepository.GetStuWordsPrepPageRepository(pageIndex, pageSize, out rowsCount, query);
return list;
}
/// <summary>
/// 新增修改学员单词学习
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public bool SetStuWordsPrepModule(RB_StuWords_Prep_Extend model)
{
bool flag = false;
var wordsList = course_WordsRepository.GetCourseWordsListRepository(new RB_Course_Words_Extend()
{
CourseId = model.CourseId,
ChapterId = model.ChapterId
});
var oldModel = stuWords_PrepRepository.GetStuWordsPrepListRepository(new RB_StuWords_Prep_Extend()
{
Stu_Account_Id = model.Stu_Account_Id,
CourseId = model.CourseId,
ChapterId = model.ChapterId,
Group_Id = model.Group_Id
})?.FirstOrDefault();
model.Id = oldModel?.Id ?? 0;
if (model.Id > 0)
{
Dictionary<string, object> fileds = new Dictionary<string, object>()
{
{nameof(RB_StuWords_Prep_Extend.StudyNum),model.StudyNum },
};
fileds.Add(nameof(RB_StuWords_Prep_Extend.Score), GetScoreModule(model.StudyNum, (wordsList?.Count ?? 0)));
if (model.StudyNum == (wordsList?.Count ?? 0))
{
fileds.Add(nameof(RB_StuWords_Prep_Extend.EndTime), DateTime.Now);
}
result = new
flag = stuWords_PrepRepository.Update(fileds, new WhereHelper(nameof(RB_StuWords_Prep_Extend.Id),model.Id));
}
else
{
reviewGroupList,
prepGroupList,
model.StudyNum = 1;
model.TotalNum = wordsList?.Count() ?? 0;
model.Score = GetScoreModule(model.StudyNum, model.TotalNum);
model.StartTime = DateTime.Now;
var newId = stuWords_PrepRepository.Insert(model);
model.Id = newId;
flag = newId > 0;
}
return flag;
}
/// <summary>
/// 获取学习分数
/// </summary>
/// <param name="StartNum"></param>
/// <param name="TotalNum"></param>
/// <returns></returns>
public int GetScoreModule(int StartNum, int TotalNum)
{
int score = 0;
if (TotalNum > 0)
{
var progress= Convert.ToDecimal(StartNum) / Convert.ToDecimal(TotalNum) * 100;
if (progress > 0 && progress <= 33)
{
score = 1;
}
if (progress > 33 && progress < 70)
{
score = 2;
}
if (progress >= 70)
{
score = 3;
}
}
else
{
score = 1;
}
return score;
}
/// <summary>
/// 新增修改学员复习
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public bool SetStuWordsReviewModule(RB_StuWords_Review_Extend model)
{
bool flag = false;
var wordsList = course_WordsRepository.GetCourseWordsListRepository(new RB_Course_Words_Extend()
{
CourseId = model.CourseId,
ChapterId = model.ChapterId
});
var oldModel = stuWords_ReviewRepository.GetStuWordsReviewListRepository(new RB_StuWords_Review_Extend()
{
Stu_Account_Id = model.Stu_Account_Id,
CourseId = model.CourseId,
ChapterId = model.ChapterId,
Group_Id = model.Group_Id
})?.FirstOrDefault();
model.Id = oldModel?.Id ?? 0;
if (model.Id > 0)
{
Dictionary<string, object> fileds = new Dictionary<string, object>()
{
{nameof(RB_StuWords_Review_Extend.ReviewNum),model.ReviewNum },
};
return result;
if (model.ReviewNum == (wordsList?.Count ?? 0))
{
fileds.Add(nameof(RB_StuWords_Prep_Extend.EndTime), DateTime.Now);
}
flag = stuWords_ReviewRepository.Update(fileds, new WhereHelper(nameof(RB_StuWords_Review_Extend.Id), model.Id));
}
else
{
model.ReviewNum = 1;
model.TotalNum = wordsList?.Count() ?? 0;
model.StartTime = DateTime.Now;
var newId = stuWords_ReviewRepository.Insert(model);
model.Id = newId;
flag = newId > 0;
}
return flag;
}
}
}
......@@ -1242,7 +1242,7 @@ namespace Edu.Module.Exam
if (model.ExamEndTime < DateTime.Now)
{
fileds.Add(nameof(RB_Examination_Publish_ViewModel.ExamineStatus), (int)EduTaskRrocessStatus.Invalid);
fileds.Add(nameof(RB_Examination_Publish_ViewModel.PublishRemark), "考试时间超过当前时间,更新为作废");
fileds.Add(nameof(RB_Examination_Publish_ViewModel.PublishRemark), "考试时间超过当前时间,更新为作废");
flag = examination_PublishRepository.Update(fileds, new WhereHelper(nameof(RB_Examination_Publish_ViewModel.Id), model.Id));
return flag;
}
......
using Edu.Model.Entity.Exam;
using Edu.Model.ViewModel.Exam;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Edu.Repository.Exam
{
/// <summary>
/// 学员单词预习仓储层
/// </summary>
public class RB_StuWords_PrepRepository : BaseRepository<RB_StuWords_Prep>
{
/// <summary>
/// 获取单词预习列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_StuWords_Prep_Extend> GetStuWordsPrepListRepository(RB_StuWords_Prep_Extend query)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@" SELECT A.* FROM RB_StuWords_Prep AS A WHERE 1=1 ");
if (query != null)
{
if (query.Group_Id > 0)
{
builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_StuWords_Prep_Extend.Group_Id), query.Group_Id);
}
if (query.CourseId > 0)
{
builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_StuWords_Prep_Extend.CourseId), query.CourseId);
}
if (query.ChapterId > 0)
{
builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_StuWords_Prep_Extend.ChapterId), query.ChapterId);
}
if (query.Stu_Account_Id > 0)
{
builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_StuWords_Prep_Extend.Stu_Account_Id), query.Stu_Account_Id);
}
}
return Get<RB_StuWords_Prep_Extend>(builder.ToString()).ToList();
}
/// <summary>
/// 获取单词预习分页列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_StuWords_Prep_Extend> GetStuWordsPrepPageRepository(int pageIndex,int pageSize,out long rowsCount, RB_StuWords_Prep_Extend query)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@" SELECT A.* FROM RB_StuWords_Prep AS A WHERE 1=1 ");
if (query != null)
{
if (query.Group_Id > 0)
{
builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_StuWords_Prep_Extend.Group_Id), query.Group_Id);
}
if (query.CourseId > 0)
{
builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_StuWords_Prep_Extend.CourseId), query.CourseId);
}
if (query.ChapterId > 0)
{
builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_StuWords_Prep_Extend.ChapterId), query.ChapterId);
}
if (query.Stu_Account_Id > 0)
{
builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_StuWords_Prep_Extend.Stu_Account_Id), query.Stu_Account_Id);
}
}
return GetPage<RB_StuWords_Prep_Extend>(pageIndex, pageSize, out rowsCount, builder.ToString()).ToList();
}
}
}
using Edu.Model.Entity.Exam;
using Edu.Model.ViewModel.Exam;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Edu.Repository.Exam
{
/// <summary>
/// 学员单词复习仓储层
/// </summary>
public class RB_StuWords_ReviewRepository : BaseRepository<RB_StuWords_Review>
{
/// <summary>
/// 获取单词复习列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_StuWords_Review_Extend> GetStuWordsReviewListRepository(RB_StuWords_Review_Extend query)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@" SELECT A.* FROM RB_StuWords_Prep AS A WHERE 1=1 ");
if (query != null)
{
if (query.Group_Id > 0)
{
builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_StuWords_Review_Extend.Group_Id), query.Group_Id);
}
if (query.CourseId > 0)
{
builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_StuWords_Review_Extend.CourseId), query.CourseId);
}
if (query.ChapterId > 0)
{
builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_StuWords_Review_Extend.ChapterId), query.ChapterId);
}
if (query.Stu_Account_Id > 0)
{
builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_StuWords_Review_Extend.Stu_Account_Id), query.Stu_Account_Id);
}
}
return Get<RB_StuWords_Review_Extend>(builder.ToString()).ToList();
}
}
}
......@@ -278,6 +278,7 @@ WHERE 1=1
{
builder.AppendFormat(" AND t.StuId IN (SELECT StuId FROM rb_student_assist WHERE AssistId={0} AND `Status`=0) ", query.CreateBy);
}
//我下属的
if (query.BelongType == 4 )
{
if (query.CreateIds != null && query.CreateIds.Count > 0)
......@@ -285,7 +286,7 @@ WHERE 1=1
string createIds = string.Join(",", query.CreateIds);
if (!string.IsNullOrEmpty(createIds))
{
builder.AppendFormat(" AND t.{0} IN({1}) ", nameof(RB_Student_ViewModel.CreateBy), createIds);
builder.AppendFormat(" AND (t.{0} IN({1}) OR t.StuId IN (SELECT StuId FROM rb_student_assist WHERE AssistId IN({1}) AND `Status`=0)) ", nameof(RB_Student_ViewModel.CreateBy), createIds);
}
}
else
......
......@@ -307,11 +307,15 @@ namespace Edu.WebApi.Controllers.Applet
{
Words = classModule.GetIndexWords(studentModel.ClassId, studentModel.CourseId, appletUserInfo.Group_Id);
}
else {
else
{
Words = new
{
NextWord = 0,
ReviewWord = 0
ReviewWord = 0,
NextCourseNo=0,
ReviewCourseNo=0,
CourseId=0,
};
}
......
using Edu.Common.API;
using Edu.Common.Plugin;
using Edu.Model.ViewModel.Exam;
using Edu.Module.Exam;
using Edu.WebApi.Filter;
using Microsoft.AspNetCore.Cors;
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace Edu.WebApi.Controllers.Applet
{
[Route("api/[controller]/[action]")]
[ApiExceptionFilter]
[ApiController]
[EnableCors("AllowCors")]
public class AppletWordsController : AppletBaseController
{
private readonly CourseExamModule courseExamModule = new CourseExamModule();
/// <summary>
/// 获取今日学习单词列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetStudyWords()
{
var CourseId = base.ParmJObj.GetInt("CourseId");
var ChapterId = base.ParmJObj.GetInt("ChapterId");
var PrevChapterId = base.ParmJObj.GetInt("PrevChapterId");
var list = courseExamModule.GetStudyCourseWords(CourseId, ChapterId, PrevChapterId);
return ApiResult.Success(data: list);
}
/// <summary>
/// 新增修改学员学习
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult SetStuWordsPrep()
{
var model = new RB_StuWords_Prep_Extend()
{
Id = base.ParmJObj.GetInt("Id"),
ClassId = base.ParmJObj.GetInt("ClassId"),
CourseId = base.ParmJObj.GetInt("CourseId"),
Stu_Account_Id = base.ParmJObj.GetInt("Stu_Account_Id"),
ChapterId=base.ParmJObj.GetInt("ChapterId"),
StudyNum=base.ParmJObj.GetInt("StudyNum"),
};
model.CreateBy = base.AppletUserInfo.Id;
model.CreateTime = DateTime.Now;
model.School_Id = 0;
model.Group_Id = base.AppletUserInfo.Group_Id;
model.Status = Common.Enum.DateStateEnum.Normal;
bool flag = courseExamModule.SetStuWordsPrepModule(model);
return flag ? ApiResult.Success(data:model) : ApiResult.Failed();
}
/// <summary>
/// 新增修改学员复习
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult SetStuWordsReview()
{
var model = new RB_StuWords_Review_Extend()
{
Id = base.ParmJObj.GetInt("Id"),
ClassId = base.ParmJObj.GetInt("ClassId"),
CourseId = base.ParmJObj.GetInt("CourseId"),
Stu_Account_Id = base.ParmJObj.GetInt("Stu_Account_Id"),
ChapterId = base.ParmJObj.GetInt("ChapterId"),
ReviewNum = base.ParmJObj.GetInt("ReviewNum"),
};
model.CreateBy = base.AppletUserInfo.Id;
model.CreateTime = DateTime.Now;
model.School_Id = 0;
model.Group_Id = base.AppletUserInfo.Group_Id;
model.Status = Common.Enum.DateStateEnum.Normal;
bool flag = courseExamModule.SetStuWordsReviewModule(model);
return flag ? ApiResult.Success() : ApiResult.Failed();
}
/// <summary>
/// 生成学员单词测试
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult CreateCourseExam()
{
var CourseId = base.ParmJObj.GetInt("CourseId");
var ChapterId = base.ParmJObj.GetInt("ChapterId");
var NextChapterId = base.ParmJObj.GetInt("NextChapterId");
var obj = courseExamModule.CreateCourseExamModule(CourseId, ChapterId, NextChapterId);
return ApiResult.Success(data: obj);
}
}
}
......@@ -349,7 +349,7 @@ namespace Edu.WebApi.Controllers.Course
{
item.Id,
item.GuestName,
Mobile=item.StuTel,
Mobile=item.StuRealMobile,
item.ContractId,
item.ContractNo,
item.ClassId,
......
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