Commit 67f4aab5 authored by 黄奎's avatar 黄奎

页面修改

parent a43cf045
......@@ -21,5 +21,11 @@ namespace Edu.Common.Enum.Exam
/// </summary>
[EnumField("未考试")]
NotFinishTest = 2,
/// <summary>
/// 已阅卷
/// </summary>
[EnumField("已阅卷")]
FinishScoring = 3,
}
}
......@@ -87,5 +87,10 @@ namespace Edu.Model.Entity.Exam
/// 总得分
/// </summary>
public decimal TotalScore { get; set; }
/// <summary>
/// 学员评语
/// </summary>
public string StuComment { get; set; }
}
}
......@@ -35,6 +35,11 @@ namespace Edu.Model.ViewModel.Exam
/// 学生答案
/// </summary>
public string StundetAnswer { get; set; }
/// <summary>
/// 学员得分
/// </summary>
public decimal StundetScore { get; set; }
/// <summary>
/// 学生答案详情id(关联RB_Examination_StudentDetails表中的Id)
......
......@@ -1408,7 +1408,11 @@ namespace Edu.Module.Exam
/// <summary>
/// 学员提交考试
/// </summary>
/// <param name="model"></param>
/// <param name="PublishId">发布考试编号</param>
/// <param name="GuestId">学员编号</param>
/// <param name="PaperId">试卷编号</param>
/// <param name="UserGroupId">集团编号</param>
/// <param name="list">学生题目数据</param>
/// <returns></returns>
[TransactionCallHandler]
public virtual bool SetStuExamPaperDetailsModule(int PublishId, int GuestId,int PaperId,int UserGroupId,List<RB_Examination_Details_ViewModel> list)
......@@ -1474,7 +1478,62 @@ namespace Edu.Module.Exam
//自动阅卷
if (config.IsOpenAutoMarking == 1)
{
AutoReviewPaperModule(modelPublish.IsHalfScore, list, stuList);
AutoReviewPaperModule(modelPublish.IsHalfScore, PaperId, stuList);
}
}
return flag;
}
/// <summary>
/// 老师阅卷
/// </summary>
/// <param name="PublishId">发布考试编号</param>
/// <param name="GuestId">学员编号</param>
/// <param name="PaperId">试卷编号</param>
/// <param name="StuComment">老师评语</param>
/// <param name="list">学生题目数据</param>
/// <returns></returns>
[TransactionCallHandler]
public virtual bool SetTeacherScoringModule(int PublishId, int GuestId, int PaperId,string StuComment, List<RB_Examination_Details_ViewModel> list)
{
bool flag = false;
if (list != null && list.Any())
{
decimal totalScore = 0;
foreach (var item in list)
{
totalScore += item.StundetScore;
RB_Examination_StudentDetails_ViewModel model = new RB_Examination_StudentDetails_ViewModel()
{
Id = item.StundetDetailsId,
StundetScore=item.StundetScore,
};
if (model.Id > 0)
{
Dictionary<string, object> stuFileds = new Dictionary<string, object>()
{
{nameof(RB_Examination_StudentDetails_ViewModel.StundetScore),model.StundetScore },
{nameof(RB_Examination_StudentDetails_ViewModel.IsMarking),1 },
};
flag = examination_StudentDetailsRepository.Update(stuFileds, new WhereHelper(nameof(RB_Examination_StudentDetails_ViewModel.Id), model.Id));
}
}
if (flag)//试卷提交成功,更新考试最后时间
{
Dictionary<string, object> fileds = new Dictionary<string, object>()
{
{nameof(RB_Examination_Student_ViewModel.ExamEndTime), DateTime.Now},
{nameof(RB_Examination_Student_ViewModel.ExamStatus ), ExamTestStatusEnum.FinishScoring},
{nameof(RB_Examination_Student_ViewModel.StuComment ), StuComment},
{nameof(RB_Examination_Student_ViewModel.TotalScore ), totalScore},
};
List<WhereHelper> wheres = new List<WhereHelper>()
{
new WhereHelper(nameof(RB_Examination_Student_ViewModel.PaperId),PaperId),
new WhereHelper(nameof(RB_Examination_Student_ViewModel.PublishId),PublishId),
new WhereHelper(nameof(RB_Examination_Student_ViewModel.GuestId),GuestId),
};
flag = examination_StudentRepository.Update(fileds, wheres);
}
}
return flag;
......
......@@ -22,13 +22,17 @@ namespace Edu.Module.Exam
/// <summary>
/// 自动阅卷方法
/// </summary>
/// <param name="IsHalfScore">多选题未选全给一半分</param>
/// <param name="PaperId">试卷编号</param>
/// <param name="PublishId">发布编号</param>
/// <param name="GuestId">学员编号</param>
/// <param name="stuList">学员答题列表</param>
/// <returns></returns>
public bool AutoReviewPaperModule(int IsHalfScore, List<RB_Examination_Details_ViewModel> questionList, List<RB_Examination_StudentDetails_ViewModel> stuList)
public bool AutoReviewPaperModule(int IsHalfScore, int PaperId, List<RB_Examination_StudentDetails_ViewModel> stuList)
{
bool flag = false;
List<RB_Examination_Details_ViewModel> questionList = examination_DetailsRepository.GetExaminationDetailsListRepository(new RB_Examination_Details_ViewModel()
{
QPaperIds = PaperId.ToString()
});
List<RB_Examination_StudentDetails_ViewModel> answerList = new List<RB_Examination_StudentDetails_ViewModel>();
if (questionList != null && questionList.Count > 0)
{
......@@ -44,16 +48,16 @@ namespace Edu.Module.Exam
answerList.Add(new RB_Examination_StudentDetails_ViewModel()
{
Id = answerModel.Id,
StundetScore = (sItem.Answer == answerModel.StundetAnswer)?sItem.Score:0
StundetScore = (sItem.Answer == answerModel.StundetAnswer) ? sItem.Score : 0
});
break;
//多选题
case "multiple":
answerList.Add(new RB_Examination_StudentDetails_ViewModel()
{
Id = answerModel.Id,
StundetScore = ((sItem.Answer == answerModel.StundetAnswer))?sItem.Score:0
StundetScore = (sItem.Answer == answerModel.StundetAnswer) ? sItem.Score : 0
});
break;
//填空题
......@@ -65,7 +69,7 @@ namespace Edu.Module.Exam
answerList.Add(new RB_Examination_StudentDetails_ViewModel()
{
Id = answerModel.Id,
StundetScore =(sItem.Answer == answerModel.StundetAnswer)? sItem.Score:0
StundetScore = (sItem.Answer == answerModel.StundetAnswer) ? sItem.Score : 0
});
break;
//简答题
......@@ -97,7 +101,7 @@ namespace Edu.Module.Exam
answerList.Add(new RB_Examination_StudentDetails_ViewModel()
{
Id = answerModel.Id,
StundetScore =(sItem.Answer == answerModel.StundetAnswer)? sItem.Score:0
StundetScore = (sItem.Answer == answerModel.StundetAnswer) ? sItem.Score : 0
});
break;
//排序题
......@@ -105,7 +109,7 @@ namespace Edu.Module.Exam
answerList.Add(new RB_Examination_StudentDetails_ViewModel()
{
Id = answerModel.Id,
StundetScore =(sItem.Answer == answerModel.StundetAnswer)? sItem.Score:0
StundetScore = (sItem.Answer == answerModel.StundetAnswer) ? sItem.Score : 0
});
break;
//完型填空
......@@ -137,7 +141,7 @@ namespace Edu.Module.Exam
answerList.Add(new RB_Examination_StudentDetails_ViewModel()
{
Id = answerModel.Id,
StundetScore = ((sItem.Answer == answerModel.StundetAnswer))?sItem.Score:0
StundetScore = (sItem.Answer == answerModel.StundetAnswer) ? sItem.Score : 0
});
break;
}
......
......@@ -634,6 +634,7 @@ namespace Edu.WebApi.Controllers.Applet
var result = paperModule.SetStuExamPaperDetailsModule(PublishId, GuestId,PaperId, Group_Id, paperDetailsList);
return result ? ApiResult.Success("提交试卷成功") : ApiResult.Failed("提交试卷失败");
}
#endregion
}
}
......@@ -822,5 +822,49 @@ namespace Edu.WebApi.Controllers.Exam
return ApiResult.Success(data: pageModel);
}
#endregion
/// <summary>
/// 老师阅卷提交分数
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult SetTeacherScoring()
{
var PublishId = base.ParmJObj.GetInt("PublishId");
var GuestId = base.ParmJObj.GetInt("GuestId", 0);
var PaperId = base.ParmJObj.GetInt("PaperId");
//学生评语
string StuComment = base.ParmJObj.GetStringValue("StuComment");
List<RB_Examination_Details_ViewModel> paperDetailsList = new List<RB_Examination_Details_ViewModel>();
string groups = base.ParmJObj.GetStringValue("GroupList");
if (!string.IsNullOrEmpty(groups))
{
JArray jarray = JArray.Parse(groups);
if (jarray != null && jarray.Count > 0)
{
foreach (var jItem in jarray)
{
JObject jobj = JObject.Parse(jItem.ToString());
string details = jobj.GetStringValue("DetailsList");
if (!string.IsNullOrEmpty(details))
{
JArray subArray = JArray.Parse(details);
foreach (var sItem in subArray)
{
JObject sObj = JObject.Parse(sItem.ToString());
var detailModel = new RB_Examination_Details_ViewModel()
{
Id = sObj.GetInt("PaperDetailsId"),
StundetScore=sObj.GetDecimal("StundetScore"),
};
paperDetailsList.Add(detailModel);
}
}
}
}
}
var result = paperModule.SetTeacherScoringModule(PublishId, GuestId, PaperId, StuComment, paperDetailsList);
return result ? ApiResult.Success("阅卷成功!") : ApiResult.Failed("阅卷失败!");
}
}
}
\ 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