Commit b08793cd authored by 黄奎's avatar 黄奎

页面修改

parent 98c1e4b0
......@@ -286,8 +286,16 @@ namespace Edu.Common
/// <returns></returns>
public static int CalcMinutes(DateTime start, DateTime end)
{
int minutes = Convert.ToInt32((end - start).TotalSeconds);
minutes /= 60;
int minutes = 0;
try
{
minutes = Convert.ToInt32((end - start).TotalSeconds);
minutes /= 60;
}
catch
{
}
return minutes;
}
......
......@@ -66,5 +66,20 @@ namespace Edu.Model.Entity.Exam
/// 是否作答错误(1-是)
/// </summary>
public int IsWrong { get; set; }
/// <summary>
/// 学生答案
/// </summary>
public string StudentAnswer { get; set; }
/// <summary>
/// 学生得分
/// </summary>
public decimal Score { get; set; }
/// <summary>
/// 学生得分
/// </summary>
public decimal StudentScore { get; set; }
}
}
......@@ -10,5 +10,24 @@ namespace Edu.Model.ViewModel.Exam
/// </summary>
public class RB_Student_Practice_Extend : RB_Student_Practice
{
/// <summary>
/// 错题数量
/// </summary>
public int WrongCount { get; set; }
/// <summary>
/// 开始编号
/// </summary>
public int StartId { get; set; }
/// <summary>
/// 是否只查询错题
/// </summary>
public int IsQueryWrong { get; set; }
/// <summary>
/// 分类编号
/// </summary>
public string QCategoryIds { get; set; }
}
}
This diff is collapsed.
......@@ -38,5 +38,19 @@ WHERE 1=1
}
return Get<RB_Student_ExamDetails_Extend>(builder.ToString()).ToList();
}
/// <summary>
/// 批量提交考试
/// </summary>
/// <param name="list"></param>
/// <returns></returns>
public bool BatchStudentExamDetailsRepository(List<RB_Student_ExamDetails_Extend> list)
{
StringBuilder builder = new StringBuilder();
builder.Append("INSERT INTO RB_Student_ExamDetails (ExamId,QuestionId,Title,QuestionContent,QuestionTypeId,QuestionTypeKey,Answer,AnswerParse,IsAnswer,IsWrong,StudentAnswer,Score,StudentScore) ");
builder.Append(" VALUES(@ExamId,@QuestionId,@Title,@QuestionContent,@QuestionTypeId,@QuestionTypeKey,@Answer,@AnswerParse,@IsAnswer,@IsWrong,@StudentAnswer,@Score,@StudentScore) ");
return base.Execute(builder.ToString(), list) > 0;
}
}
}
......@@ -77,8 +77,45 @@ WHERE 1=1
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Student_Practice_Extend.LevelType), (int)query.LevelType);
}
if (query.IsQueryWrong == 1)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Student_Practice_Extend.IsWrong), 1);
}
if (!string.IsNullOrEmpty(query.QCategoryIds))
{
builder.AppendFormat(" AND A.{0} IN({1}) ", nameof(RB_Student_Practice_Extend.Category), query.QCategoryIds);
}
}
return GetPage<RB_Student_Practice_Extend>(pageIndex, pageSize, out rowsCount, builder.ToString()).ToList();
}
/// <summary>
/// 获取学员练习错题统计
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Student_Practice_Extend> GetStudentPracticeWrongStaticRepository(RB_Student_Practice_Extend query)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT Category,COUNT(1) AS WrongCount
FROM rb_student_practice
WHERE 1=1
");
builder.AppendFormat(" AND IsWrong=1 ");
if (query != null)
{
if (query.StudentId > 0)
{
builder.AppendFormat(" AND {0}={1} ", nameof(RB_Student_Practice_Extend.StudentId), query.StudentId);
}
if (query.LevelType > 0)
{
builder.AppendFormat(" AND {0}={1} ", nameof(RB_Student_Practice_Extend.LevelType), (int)query.LevelType);
}
}
builder.AppendFormat(" GROUP BY Category ");
return Get<RB_Student_Practice_Extend>(builder.ToString()).ToList();
}
}
}
......@@ -1140,7 +1140,6 @@ namespace Edu.WebApi.Controllers.Exam
Id = base.ParmJObj.GetInt("Id"),
BankId = base.ParmJObj.GetInt("BankId"),
StudentId = base.ParmJObj.GetInt("StudentId"),
StartTime = base.ParmJObj.GetDateTime("StartTime"),
CreateTime = DateTime.Now,
GroupId = base.ParmJObj.GetInt("GroupId")
};
......@@ -1191,6 +1190,8 @@ namespace Edu.WebApi.Controllers.Exam
AnswerParse=sObj.GetStringValue("AnswerParse"),
IsAnswer=sObj.GetInt("IsAnswer"),
IsWrong=sObj.GetInt("IsWrong"),
StudentAnswer=sObj.GetStringValue("StudentAnswer"),
Score=sObj.GetDecimal("Score"),
};
model.ExamDetailsList.Add(sModel);
}
......@@ -1200,6 +1201,42 @@ namespace Edu.WebApi.Controllers.Exam
return flag ? ApiResult.Success() : ApiResult.Failed();
}
/// <summary>
/// 获取错题练习统计
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetPracticeWrongStatic()
{
var query = new RB_Student_Practice_Extend()
{
StudentId= base.ParmJObj.GetInt("StudentId"),
LevelType= (LevelTypeEnum)base.ParmJObj.GetInt("LevelType"),
};
var obj = courseExamModule.GetPracticeWrongStaticModule(query);
return ApiResult.Success(data: obj);
}
/// <summary>
/// 获取错题分页列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetPracticeWrongPage()
{
var pageModel = JsonHelper.DeserializeObject<ResultPageModel>(RequestParm.Msg.ToString());
var query = new RB_Student_Practice_Extend()
{
StudentId = base.ParmJObj.GetInt("StudentId"),
LevelType = (LevelTypeEnum)base.ParmJObj.GetInt("LevelType"),
StartId=base.ParmJObj.GetInt("StartId"),
};
query.IsQueryWrong = 1;
var list = courseExamModule.GetPracticeWrongPageModule(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, query);
pageModel.Count = rowsCount;
pageModel.PageData = list;
return ApiResult.Success(data: pageModel);
}
#endregion
}
}
\ No newline at end of file
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