Commit 1cfbcff5 authored by 黄奎's avatar 黄奎

新增实体类

parent e0b1fe2b
using Edu.Common.Enum.Course;
using Edu.Common.Enum.Question;
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_Student_Practice
{
/// <summary>
/// 主键编号
/// </summary>
public int Id { get; set; }
/// <summary>
/// 学员编号
/// </summary>
public int StudentId { get; set; }
/// <summary>
/// 分类
/// </summary>
public QuestionCategoryEnum Category { get; set; }
/// <summary>
/// 考级程度(N1,N2...)
/// </summary>
public LevelTypeEnum LevelType { get; set; }
/// <summary>
/// 问题编号
/// </summary>
public int QuestionId { get; set; }
/// <summary>
/// 问题名称(题干)
/// </summary>
public string Title { get; set; }
/// <summary>
/// 问题内容
/// </summary>
public string QuestionContent { get; set; }
/// <summary>
/// 问题类型编号
/// </summary>
public int? QuestionTypeId { get; set; }
/// <summary>
/// 问题类型Key
/// </summary>
public string QuestionTypeKey { get; set; }
/// <summary>
/// 问题答案
/// </summary>
public string Answer { get; set; }
/// <summary>
/// 答案解析
/// </summary>
public string AnswerParse { get; set; }
/// <summary>
/// 是否作答(1-是)
/// </summary>
public int IsAnswer { get; set; }
/// <summary>
/// 是否作答错误(1-是)
/// </summary>
public int IsWrong { 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_Student_Practice_Extend : RB_Student_Practice
{
}
}
This diff is collapsed.
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_Student_PracticeRepository : BaseRepository<RB_Student_Practice>
{
/// <summary>
/// 获取学生练习列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Student_Practice_Extend> GetStudentPracticeListRepository(RB_Student_Practice_Extend query)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT A.*
FROM RB_Student_Practice AS A
WHERE 1=1
");
if (query != null)
{
if (query.StudentId > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Student_Practice_Extend.StudentId), query.StudentId);
}
if (query.Category > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Student_Practice_Extend.Category), query.Category);
}
if (query.LevelType > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Student_Practice_Extend.LevelType), (int)query.LevelType);
}
}
return Get<RB_Student_Practice_Extend>(builder.ToString()).ToList();
}
/// <summary>
/// 获取学员练习分页列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="rowsCount"></param>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Student_Practice_Extend> GetStudentPracticePageRepository(int pageIndex, int pageSize, out long rowsCount, RB_Student_Practice_Extend query)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT A.*
FROM RB_Student_Practice AS A
WHERE 1=1
");
if (query != null)
{
if (query.StudentId > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Student_Practice_Extend.StudentId), query.StudentId);
}
if (query.Category > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Student_Practice_Extend.Category), query.Category);
}
if (query.LevelType > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Student_Practice_Extend.LevelType), (int)query.LevelType);
}
}
return GetPage<RB_Student_Practice_Extend>(pageIndex, pageSize, out rowsCount, builder.ToString()).ToList();
}
}
}
......@@ -92,6 +92,47 @@ WHERE 1=1 AND B.Status=0 AND A.Status=0
}
}
/// <summary>
/// 问题分类统计
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Question_ViewModel> GetQuestionCategoryListRepository(RB_Question_ViewModel query)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT A.Category,Count(A.QuestionId) AS QuestionCount
FROM RB_Question AS A INNER JOIN rb_question_bank AS B ON A.BankId=B.BankId
WHERE 1=1 AND B.Status=0 AND A.Status=0
");
if (query == null)
{
return new List<RB_Question_ViewModel>();
}
else
{
if (!string.IsNullOrEmpty(query.QBankIds))
{
builder.AppendFormat(" AND A.{0} IN({1}) ", nameof(RB_Question_ViewModel.BankId), query.QBankIds);
}
if (query.CourseId > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Question_ViewModel.CourseId), query.CourseId);
}
if (!string.IsNullOrEmpty(query.Q_QuestionTypeIds))
{
builder.AppendFormat(" AND A.{0} IN({1}) ", nameof(RB_Question_ViewModel.QuestionTypeId), query.Q_QuestionTypeIds);
}
if (query.BankType > 0)
{
builder.AppendFormat(" AND B.{0}={1} ", nameof(RB_Question_ViewModel.BankType), (int)query.BankType);
}
builder.AppendFormat(" GROUP BY A.Category ");
return Get<RB_Question_ViewModel>(builder.ToString()).ToList();
}
}
/// <summary>
/// 获取问题分页列表
/// </summary>
......
......@@ -65,9 +65,9 @@ namespace Edu.WebApi.Controllers.Exam
ParentId = base.ParmJObj.GetInt("ParentId"),
QPaperIds = base.ParmJObj.GetStringValue("QPaperIds"),
QStartTime = base.ParmJObj.GetStringValue("QStartTime"),
QEndTime=base.ParmJObj.GetStringValue("QEndTime"),
QExamineStatus=-1,
QCreateBy=base.ParmJObj.GetInt("QCreateBy"),
QEndTime = base.ParmJObj.GetStringValue("QEndTime"),
QExamineStatus = -1,
QCreateBy = base.ParmJObj.GetInt("QCreateBy"),
};
if (!string.IsNullOrEmpty(base.ParmJObj.GetStringValue("QExamineStatus")))
{
......@@ -141,8 +141,8 @@ namespace Edu.WebApi.Controllers.Exam
PaperType = base.ParmJObj.GetInt("PaperType"),
ParentId = base.ParmJObj.GetInt("ParentId"),
IsOpen = base.ParmJObj.GetInt("IsOpen"),
GroupType=(ExamGroupTypeEnum)base.ParmJObj.GetInt("GroupType"),
PaperScore=base.ParmJObj.GetDecimal("PaperScore"),
GroupType = (ExamGroupTypeEnum)base.ParmJObj.GetInt("GroupType"),
PaperScore = base.ParmJObj.GetDecimal("PaperScore"),
};
if (string.IsNullOrEmpty(extModel.PaperName))
{
......@@ -167,7 +167,7 @@ namespace Edu.WebApi.Controllers.Exam
GSortNum = gSortNum,
GScore = jobj.GetDecimal("GScore"),
DetailsList = new List<RB_Examination_Details_ViewModel>(),
GroupType=extModel.GroupType,
GroupType = extModel.GroupType,
};
if (extModel.GroupType == ExamGroupTypeEnum.QuestionType)
{
......@@ -263,7 +263,7 @@ namespace Edu.WebApi.Controllers.Exam
IsSaveTemplate = base.ParmJObj.GetBoolValue("IsSaveTemplate"),
ParentId = base.ParmJObj.GetInt("ParentId"),
IsOpen = base.ParmJObj.GetInt("IsOpen"),
GroupType=(ExamGroupTypeEnum)base.ParmJObj.GetInt("GroupType"),
GroupType = (ExamGroupTypeEnum)base.ParmJObj.GetInt("GroupType"),
};
string TemplateData = base.ParmJObj.GetStringValue("TemplateData");
if (!string.IsNullOrEmpty(TemplateData))
......@@ -335,7 +335,7 @@ namespace Edu.WebApi.Controllers.Exam
item.TemplateBankIds,
QuestionStructure = QuestionStructure.TrimStart(';'),
item.GroupType,
GroupTypeName=item.GroupType.ToName(),
GroupTypeName = item.GroupType.ToName(),
});
}
pageModel.Count = rowsCount;
......@@ -529,7 +529,7 @@ namespace Edu.WebApi.Controllers.Exam
FillInIsSubject = base.ParmJObj.GetInt("FillInIsSubject"),
FillInIsIgnore = base.ParmJObj.GetInt("FillInIsIgnore"),
IsHalfScore = base.ParmJObj.GetInt("IsHalfScore"),
PublishPic=base.ParmJObj.GetStringValue("PublishPic"),
PublishPic = base.ParmJObj.GetStringValue("PublishPic"),
};
var studentStr = base.ParmJObj.GetStringValue("StudentList");
if (!string.IsNullOrEmpty(studentStr))
......@@ -552,7 +552,7 @@ namespace Edu.WebApi.Controllers.Exam
{
return ApiResult.ParamIsNull("考试开始时间不能大于结束时间!");
}
model.CreateBy = base.UserInfo.Id;
model.CreateTime = DateTime.Now;
model.Group_Id = base.UserInfo.Group_Id;
......@@ -586,10 +586,10 @@ namespace Edu.WebApi.Controllers.Exam
{
PaperId = base.ParmJObj.GetInt("PaperId"),
PaperName = base.ParmJObj.GetStringValue("PaperName"),
IsQueryAll=base.ParmJObj.GetInt("IsQueryAll"),
QTestStatus=base.ParmJObj.GetInt("QTestStatus"),
QStartTime=base.ParmJObj.GetStringValue("QStartTime"),
QEndTime=base.ParmJObj.GetStringValue("QEndTime"),
IsQueryAll = base.ParmJObj.GetInt("IsQueryAll"),
QTestStatus = base.ParmJObj.GetInt("QTestStatus"),
QStartTime = base.ParmJObj.GetStringValue("QStartTime"),
QEndTime = base.ParmJObj.GetStringValue("QEndTime"),
};
if (query.IsQueryAll != 1)
{
......@@ -893,7 +893,7 @@ namespace Edu.WebApi.Controllers.Exam
CreateByName = UserReidsCache.GetUserLoginInfo(item.CreateBy)?.AccountName ?? "",
item.ExamStatus,
ExamStatusName = item.ExamStatus.ToName(),
ExamStartTime= Common.ConvertHelper.FormatTime(item.ExamStartTime),
ExamStartTime = Common.ConvertHelper.FormatTime(item.ExamStartTime),
ExamEndTime = Common.ConvertHelper.FormatTime(item.ExamEndTime),
PaperStartTime = Common.ConvertHelper.FormatTime(item.PaperStartTime),
PaperEndTime = Common.ConvertHelper.FormatTime(item.PaperEndTime),
......@@ -936,7 +936,7 @@ namespace Edu.WebApi.Controllers.Exam
{
JObject sObj = JObject.Parse(sItem.ToString());
var qKey = sObj.GetStringValue("QuestionTypeKey");
string answer= sObj.GetStringValue("AnswerList");
string answer = sObj.GetStringValue("AnswerList");
List<SubAnswerItem> subList = new List<SubAnswerItem>();
if (qKey == "reading-comprehensio" || qKey == "listening" || qKey == "cloze")
{
......@@ -945,13 +945,13 @@ namespace Edu.WebApi.Controllers.Exam
subList = Common.Plugin.JsonHelper.DeserializeObject<List<SubAnswerItem>>(answer);
}
}
var detailModel = new RB_Examination_Details_ViewModel()
{
Id = sObj.GetInt("PaperDetailsId"),
StundetDetailsId = sObj.GetInt("StundetDetailsId"),
StudentScore = sObj.GetDecimal("StudentScore"),
SubList= subList,
SubList = subList,
};
paperDetailsList.Add(detailModel);
}
......@@ -963,6 +963,20 @@ namespace Edu.WebApi.Controllers.Exam
return result ? ApiResult.Success("阅卷成功!") : ApiResult.Failed("阅卷失败!");
}
/// <summary>
/// 获取题目类型统计
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetAppQuestionStaticModule()
{
var query = new RB_Question_ViewModel()
{
BankType = (BankTypeEnum)base.ParmJObj.GetInt("BankType"),
};
var obj = courseExamModule.GetAppQuestionStaticModule(query);
return ApiResult.Success(data: obj);
}
/// <summary>
/// 甲小鹤小程序获取题库单词训练
......@@ -1034,7 +1048,43 @@ namespace Edu.WebApi.Controllers.Exam
BankType = (BankTypeEnum)base.ParmJObj.GetInt("BankType"),
QCategoryId = string.Format("{0}", (int)QuestionCategoryEnum.ReadingChoose),
};
var list = courseExamModule.GetAppQuestionCategoryListModule(pageModel.PageIndex,pageModel.PageSize,out long rowsCount, query);
var list = courseExamModule.GetAppQuestionCategoryListModule(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, query);
pageModel.Count = rowsCount;
pageModel.PageData = list;
return ApiResult.Success(data: pageModel);
}
/// <summary>
/// 获取考级题库分页列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetAppBankPage()
{
var pageModel = JsonHelper.DeserializeObject<ResultPageModel>(RequestParm.Msg.ToString());
var query = new RB_Question_Bank_ViewModel()
{
BankType = (BankTypeEnum)base.ParmJObj.GetInt("BankType"),
};
var list = courseExamModule.GetAppBankPageModule(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, query);
pageModel.Count = rowsCount;
pageModel.PageData = list;
return ApiResult.Success(data: pageModel);
}
/// <summary>
/// 获取考级题库详情分页列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetAppBankDetails()
{
var pageModel = JsonHelper.DeserializeObject<ResultPageModel>(RequestParm.Msg.ToString());
var query = new RB_Question_ViewModel()
{
BankId = base.ParmJObj.GetInt("BankId"),
};
var list = courseExamModule.GetAppBankDetailsPageModule(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, query);
pageModel.Count = rowsCount;
pageModel.PageData = list;
return ApiResult.Success(data: pageModel);
......
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