Commit c04d9a6b authored by 黄奎's avatar 黄奎

页面修改

parent 314c4621
...@@ -98,7 +98,7 @@ namespace Edu.Module.Course ...@@ -98,7 +98,7 @@ namespace Edu.Module.Course
/// <summary> /// <summary>
/// 学员单据处理类 /// 学员单据处理类
/// </summary> /// </summary>
private StudentBillModule studentBillModule = new StudentBillModule(); private readonly StudentBillModule studentBillModule = new StudentBillModule();
/// <summary> /// <summary>
/// 获取学员信息 /// 获取学员信息
......
...@@ -615,7 +615,7 @@ namespace Edu.Module.Exam ...@@ -615,7 +615,7 @@ namespace Edu.Module.Exam
{ {
Id = 0, Id = 0,
Title = "组卷审批", Title = "组卷审批",
ReceiptType = Common.Enum.Finance.ReceiptTypeEnum.ZuJuan, ReceiptType =ReceiptTypeEnum.ZuJuan,
RelationId = model.PaperId, RelationId = model.PaperId,
ClassId = 0, ClassId = 0,
Group_Id = model.Group_Id, Group_Id = model.Group_Id,
...@@ -635,130 +635,6 @@ namespace Edu.Module.Exam ...@@ -635,130 +635,6 @@ namespace Edu.Module.Exam
return flag; return flag;
} }
/// <summary>
/// App小程序获取试卷详情
/// </summary>
/// <param name="PaperId"></param>
/// <param name="GuestId"></param>
/// <param name="PublishId"></param>
/// <returns></returns>
public object AppGetExamPaperInfoModule(object PaperId, bool isShowAnswer = true, int GuestId = 0, int PublishId = 0)
{
var examPublish = GetExaminationPublishModule(PublishId);
var extModel = GetExaminationPaperModule(PaperId);
var paperObj = new object();
if (extModel != null && extModel.PaperId > 0)
{
List<RB_Examination_StudentDetails_ViewModel> studentDetailsList = new List<RB_Examination_StudentDetails_ViewModel>();
if (GuestId > 0 && PublishId > 0)
{
studentDetailsList = examination_StudentDetailsRepository.GetExaminationStudentListRepository(new RB_Examination_StudentDetails_ViewModel { PaperId = extModel.PaperId, PublishId = PublishId, GuestId = GuestId });
}
List<object> paperTypeList = new List<object>();
if (extModel.GroupList != null && extModel.GroupList.Count > 0)
{
foreach (var gItem in extModel.GroupList)
{
List<object> questionList = new List<object>();
//学生答题详问题列表
if (studentDetailsList != null && studentDetailsList.Count>0)
{
}
else if (gItem.DetailsList != null && gItem.DetailsList.Count > 0)
{
var tempDetailsList = new List<RB_Examination_Details_ViewModel>();
//题目乱序
if (examPublish.IsQuestionRandom == 1)
{
tempDetailsList = gItem.DetailsList.OrderBy(qitem => Guid.NewGuid()).ToList();
}
else
{
tempDetailsList = gItem.DetailsList;
}
List<RB_Examination_StudentDetails_ViewModel> tempStudentList = new List<RB_Examination_StudentDetails_ViewModel>();
foreach (var sItem in tempDetailsList)
{
sItem.QuestionContentObj = analysisQuestion.ParsingQuestion(sItem.QuestionTypeKey, sItem.QuestionContent, isNoAnswer: true,isOptionRandom: examPublish.IsOptionRandom);
RB_Examination_StudentDetails_ViewModel stuDetailsModel = new RB_Examination_StudentDetails_ViewModel()
{
Id=0,
PublishId=PublishId,
PaperId=extModel.PaperId,
DetailsId=sItem.Id,
GuestId=GuestId,
CreateTime=DateTime.Now,
Status=0,
StundetAnswer="",
StundetScore=0,
IsMarking=0,
StudentContent=Common.Plugin.JsonHelper.Serialize(sItem.QuestionContentObj)
};
//examination_StudentDetailsRepository.Insert(stuDetailsModel);
var qObj = new
{
sItem.Id,
sItem.PaperId,
sItem.Title,
sItem.ShowTitle,
sItem.QuestionContentObj,
sItem.QuestionTypeId,
sItem.QuestionTypeKey,
sItem.DifficultyType,
sItem.Score,
Answer = "",
StundetAnswer = "",
AnswerParse ="",
StundetScore = 0,
};
questionList.Add(qObj);
}
}
paperTypeList.Add(new
{
gItem.GroupName,
gItem.GScore,
DetailsList= questionList
});
}
}
paperObj = new
{
extModel.PaperId,
extModel.PaperName,
GroupList = paperTypeList,
};
}
examPublish.GuestId = GuestId;
extModel.GuestId = GuestId;
return new
{
Publish = new
{
examPublish.PicList,
examPublish.GuestId,
ExamStartTime = Common.ConvertHelper.FormatTime(examPublish.ExamStartTime),
ExamEndTime = Common.ConvertHelper.FormatTime(examPublish.ExamEndTime),
examPublish.ExamTimes,
examPublish.SubmitTimes,
examPublish.EnterTimes,
examPublish.IsQuestionRandom,
examPublish.IsOptionRandom,
examPublish.IsLeaveAnswer,
examPublish.LeaveTimes,
examPublish.IsDisableMultiTerminal,
examPublish.IsExamType,
examPublish.ExamTypeValue,
examPublish.ExamNotice,
examPublish.IsAutoSubmit
},
Paper = paperObj
};
}
/// <summary> /// <summary>
/// 根据试卷编号获取试卷实体 /// 根据试卷编号获取试卷实体
/// </summary> /// </summary>
...@@ -1234,7 +1110,7 @@ namespace Edu.Module.Exam ...@@ -1234,7 +1110,7 @@ namespace Edu.Module.Exam
{ {
Id = 0, Id = 0,
Title = "考试申请", Title = "考试申请",
ReceiptType = Common.Enum.Finance.ReceiptTypeEnum.ExamApply, ReceiptType = ReceiptTypeEnum.ExamApply,
RelationId = model.Id, RelationId = model.Id,
ClassId = 0, ClassId = 0,
Group_Id = model.Group_Id, Group_Id = model.Group_Id,
...@@ -1252,16 +1128,6 @@ namespace Edu.Module.Exam ...@@ -1252,16 +1128,6 @@ namespace Edu.Module.Exam
} }
#region 考试配置 #region 考试配置
/// <summary>
/// 获取配置列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Examination_Configure_ViewModel> GetExaminationConfigureListRepository(RB_Examination_Configure_ViewModel query)
{
return examination_ConfigureRepository.GetExaminationConfigureListRepository(query);
}
/// <summary> /// <summary>
/// 获取考试配置实体 /// 获取考试配置实体
/// </summary> /// </summary>
...@@ -1353,34 +1219,184 @@ namespace Edu.Module.Exam ...@@ -1353,34 +1219,184 @@ namespace Edu.Module.Exam
{ {
return examination_StudentRepository.GetExaminationStudentPageRepository(pageIndex, pageSize, out rowsCount, query); return examination_StudentRepository.GetExaminationStudentPageRepository(pageIndex, pageSize, out rowsCount, query);
} }
/// <summary> /// <summary>
/// 新增/修改试卷 /// App小程序获取试卷详情
/// </summary>
/// <param name="PaperId"></param>
/// <param name="GuestId"></param>
/// <param name="PublishId"></param>
/// <returns></returns>
public object AppGetExamPaperInfoModule(object PaperId, bool isShowAnswer = false, int GuestId = 0, int PublishId = 0)
{
var examPublish = GetExaminationPublishModule(PublishId);
var extModel = GetExaminationPaperModule(PaperId);
var paperObj = new object();
if (extModel != null && extModel.PaperId > 0)
{
List<RB_Examination_StudentDetails_ViewModel> studentDetailsList = new List<RB_Examination_StudentDetails_ViewModel>();
if (GuestId > 0 && PublishId > 0)
{
studentDetailsList = examination_StudentDetailsRepository.GetExaminationStudentListRepository(new RB_Examination_StudentDetails_ViewModel { PaperId = extModel.PaperId, PublishId = PublishId, GuestId = GuestId });
}
List<object> paperTypeList = new List<object>();
if (extModel.GroupList != null && extModel.GroupList.Count > 0)
{
foreach (var gItem in extModel.GroupList)
{
List<object> questionList = new List<object>();
//学生答题详问题列表
if (studentDetailsList != null && studentDetailsList.Count > 0)
{
foreach (var sItem in gItem.DetailsList)
{
var tempModel = studentDetailsList.Where(qitem => qitem.DetailsId == sItem.Id)?.FirstOrDefault();
var QuestionContentObj = analysisQuestion.ParsingQuestion(sItem.QuestionTypeKey, tempModel.StudentContent);
var qObj = new
{
PaperDetailsId= sItem.Id,//试卷问题编号
StundetDetailsId = tempModel.Id,//考生答题编号
sItem.PaperId,
sItem.Title,
sItem.ShowTitle,
QuestionContentObj,
sItem.QuestionTypeId,
sItem.QuestionTypeKey,
sItem.DifficultyType,
sItem.Score,
Answer =tempModel.StundetAnswer,
tempModel.StundetAnswer,
AnswerParse = "",
StundetScore = 0,
};
questionList.Add(qObj);
}
}
else if (gItem.DetailsList != null && gItem.DetailsList.Count > 0)
{
var tempDetailsList = new List<RB_Examination_Details_ViewModel>();
//题目乱序
if (examPublish.IsQuestionRandom == 1)
{
tempDetailsList = gItem.DetailsList.OrderBy(qitem => Guid.NewGuid()).ToList();
}
else
{
tempDetailsList = gItem.DetailsList;
}
List<RB_Examination_StudentDetails_ViewModel> tempStudentList = new List<RB_Examination_StudentDetails_ViewModel>();
foreach (var sItem in tempDetailsList)
{
sItem.QuestionContentObj = analysisQuestion.ParsingQuestion(sItem.QuestionTypeKey, sItem.QuestionContent, isNoAnswer: true, isOptionRandom: examPublish.IsOptionRandom);
var qObj = new
{
PaperDetailsId=sItem.Id,//试卷问题编号
StundetDetailsId=0,//考生答题编号
sItem.PaperId,
sItem.Title,
sItem.ShowTitle,
sItem.QuestionContentObj,
sItem.QuestionTypeId,
sItem.QuestionTypeKey,
sItem.DifficultyType,
sItem.Score,
Answer = "",
StundetAnswer = "",
AnswerParse = "",
StundetScore = 0,
};
questionList.Add(qObj);
}
}
paperTypeList.Add(new
{
gItem.GId,
gItem.GroupName,
gItem.GScore,
DetailsList = questionList
});
}
}
paperObj = new
{
extModel.PaperId,
extModel.PaperName,
GuestId,
PublishId = examPublish.Id,
GroupList = paperTypeList,
};
}
examPublish.GuestId = GuestId;
extModel.GuestId = GuestId;
return new
{
Publish = new
{
examPublish.PicList,
examPublish.GuestId,
ExamStartTime = Common.ConvertHelper.FormatTime(examPublish.ExamStartTime),
ExamEndTime = Common.ConvertHelper.FormatTime(examPublish.ExamEndTime),
examPublish.ExamTimes,
examPublish.SubmitTimes,
examPublish.EnterTimes,
examPublish.IsQuestionRandom,
examPublish.IsOptionRandom,
examPublish.IsLeaveAnswer,
examPublish.LeaveTimes,
examPublish.IsDisableMultiTerminal,
examPublish.IsExamType,
examPublish.ExamTypeValue,
examPublish.ExamNotice,
examPublish.IsAutoSubmit
},
Paper = paperObj
};
}
/// <summary>
/// 学员提交考试
/// </summary> /// </summary>
/// <param name="model"></param> /// <param name="model"></param>
/// <returns></returns> /// <returns></returns>
[TransactionCallHandler] [TransactionCallHandler]
public virtual bool SetStudentPaperDetails(List<RB_Examination_StudentDetails_ViewModel> list, RB_Examination_Student_ViewModel studentModel) public virtual bool SetStuExamPaperDetailsModule(int PublishId, int GuestId,int PaperId,List<RB_Examination_Details_ViewModel> list)
{ {
bool flag = false; bool flag = false;
var modelPublish = GetExaminationPublishModule(PublishId);
var studentModel = modelPublish.StudentList.Where(x => x.GuestId == GuestId).FirstOrDefault();
studentModel.ExamEndTime = System.DateTime.Now;
if (list != null && list.Any()) if (list != null && list.Any())
{ {
foreach (var gitem in list) foreach (var item in list)
{ {
if (gitem.Id > 0) analysisQuestion.CheckQuestion(item.QuestionTypeKey, item.QuestionContent, item.Answer, out string newAnswer);
RB_Examination_StudentDetails_ViewModel model = new RB_Examination_StudentDetails_ViewModel()
{
Id = item.StundetDetailsId,
PublishId = PublishId,
PaperId = PaperId,
DetailsId = item.Id,
GuestId = GuestId,
CreateTime = DateTime.Now,
Status = DateStateEnum.Normal,
StundetAnswer = newAnswer,
StundetScore = 0,
IsMarking = 0,
StudentContent = item.QuestionContent,
};
if (model.Id > 0)
{ {
Dictionary<string, object> fileds = new Dictionary<string, object>() Dictionary<string, object> stuFileds = new Dictionary<string, object>()
{ {
{nameof(RB_Examination_StudentDetails_ViewModel.StundetAnswer),gitem.StundetAnswer }, {nameof(RB_Examination_StudentDetails_ViewModel.StundetAnswer),model.StundetAnswer },
{nameof(RB_Examination_StudentDetails_ViewModel.StundetScore),gitem.StundetScore }, {nameof(RB_Examination_StudentDetails_ViewModel.StudentContent),model.StudentContent },
{nameof(RB_Examination_StudentDetails_ViewModel.IsMarking),gitem.IsMarking }
}; };
flag = examination_StudentDetailsRepository.Update(fileds, new WhereHelper(nameof(RB_Examination_StudentDetails_ViewModel.Id), gitem.Id)); flag = examination_StudentDetailsRepository.Update(stuFileds, new WhereHelper(nameof(RB_Examination_StudentDetails_ViewModel.Id), model.Id));
} }
else else
{ {
var newGroupId = examination_StudentDetailsRepository.Insert(gitem); flag = examination_StudentDetailsRepository.Insert(model) > 0;
gitem.Id = newGroupId;
flag = newGroupId > 0;
} }
} }
if (flag)//试卷提交成功,更新考试最后时间 if (flag)//试卷提交成功,更新考试最后时间
...@@ -1395,8 +1411,6 @@ namespace Edu.Module.Exam ...@@ -1395,8 +1411,6 @@ namespace Edu.Module.Exam
return flag; return flag;
} }
#endregion #endregion
/// <summary> /// <summary>
......
...@@ -558,56 +558,26 @@ namespace Edu.WebApi.Controllers.Applet ...@@ -558,56 +558,26 @@ namespace Edu.WebApi.Controllers.Applet
return ApiResult.Success(data: data); return ApiResult.Success(data: data);
} }
/// <summary> /// <summary>
/// 学生提交答卷 /// 学生提交答卷
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
public ApiResult GetSetStudentPaperDetails() public ApiResult StuSubmitExamPaper()
{ {
List<RB_Examination_StudentDetails_ViewModel> stuDetailsList = new List<RB_Examination_StudentDetails_ViewModel>(); var PublishId = base.ParmJObj.GetInt("PublishId");
var Id = base.ParmJObj.GetInt("PublishId");
var GuestId = base.ParmJObj.GetInt("GuestId", 0); var GuestId = base.ParmJObj.GetInt("GuestId", 0);
var modelPublish = paperModule.GetExaminationPublishModule(Id); var PaperId = base.ParmJObj.GetInt("PaperId");
var studentModel = modelPublish.StudentList.Where(x => x.GuestId == GuestId).FirstOrDefault(); List<RB_Examination_Details_ViewModel> paperDetailsList = new List<RB_Examination_Details_ViewModel>();
studentModel.ExamEndTime = System.DateTime.Now;
var extModel = new RB_Examination_Paper_ViewModel()
{
PaperId = base.ParmJObj.GetInt("PaperId"),
PaperName = base.ParmJObj.GetStringValue("PaperName"),
QuestionBandIds = base.ParmJObj.GetStringValue("QuestionBandIds"),
DifficultyType = (DifficultyTypeEnum)base.ParmJObj.GetInt("DifficultyType"),
Group_Id = base.ParmJObj.GetInt("Group_Id"),
GenerateType = base.ParmJObj.GetInt("GenerateType"),
CreateNum = base.ParmJObj.GetInt("CreateNum"),
PaperType = base.ParmJObj.GetInt("PaperType"),
ParentId = base.ParmJObj.GetInt("ParentId"),
};
extModel.GroupList = new List<RB_Examination_Group_ViewModel>();
string groups = base.ParmJObj.GetStringValue("GroupList"); string groups = base.ParmJObj.GetStringValue("GroupList");
if (!string.IsNullOrEmpty(groups)) if (!string.IsNullOrEmpty(groups))
{ {
JArray jarray = JArray.Parse(groups); JArray jarray = JArray.Parse(groups);
if (jarray != null && jarray.Count > 0) if (jarray != null && jarray.Count > 0)
{ {
int gSortNum = 0;
foreach (var jItem in jarray) foreach (var jItem in jarray)
{ {
JObject jobj = JObject.Parse(jItem.ToString()); JObject jobj = JObject.Parse(jItem.ToString());
RB_Examination_Group_ViewModel gModel = new RB_Examination_Group_ViewModel()
{
GId = jobj.GetInt("GId"),
PaperId = jobj.GetInt("PaperId"),
GroupName = jobj.GetStringValue("GroupName"),
QuestionTypeId = jobj.GetInt("QuestionTypeId"),
QuestionTypeKey = jobj.GetStringValue("QuestionTypeKey"),
GSortNum = gSortNum,
GScore = jobj.GetDecimal("GScore"),
DetailsList = new List<RB_Examination_Details_ViewModel>(),
};
gSortNum++;
string details = jobj.GetStringValue("DetailsList"); string details = jobj.GetStringValue("DetailsList");
if (!string.IsNullOrEmpty(details)) if (!string.IsNullOrEmpty(details))
{ {
...@@ -618,12 +588,12 @@ namespace Edu.WebApi.Controllers.Applet ...@@ -618,12 +588,12 @@ namespace Edu.WebApi.Controllers.Applet
JObject sObj = JObject.Parse(sItem.ToString()); JObject sObj = JObject.Parse(sItem.ToString());
var detailModel = new RB_Examination_Details_ViewModel() var detailModel = new RB_Examination_Details_ViewModel()
{ {
Id = sObj.GetInt("Id"), Id = sObj.GetInt("PaperDetailsId"),
PaperId = sObj.GetInt("PaperId"), PaperId = sObj.GetInt("PaperId"),
BankId = sObj.GetInt("BankId"), BankId = sObj.GetInt("BankId"),
QuestionId = sObj.GetInt("QuestionId"), QuestionId = sObj.GetInt("QuestionId"),
Title = sObj.GetStringValue("Title"), Title = sObj.GetStringValue("Title"),
QuestionContent = sObj.GetStringValue("QuestionContent"), QuestionContent = sObj.GetStringValue("QuestionContentObj"),
DifficultyType = (DifficultyTypeEnum)sObj.GetInt("DifficultyType"), DifficultyType = (DifficultyTypeEnum)sObj.GetInt("DifficultyType"),
AnswerParse = sObj.GetStringValue("AnswerParse"), AnswerParse = sObj.GetStringValue("AnswerParse"),
QuestionTypeId = sObj.GetInt("QuestionTypeId"), QuestionTypeId = sObj.GetInt("QuestionTypeId"),
...@@ -637,33 +607,15 @@ namespace Edu.WebApi.Controllers.Applet ...@@ -637,33 +607,15 @@ namespace Edu.WebApi.Controllers.Applet
IsMutex = sObj.GetInt("IsMutex"), IsMutex = sObj.GetInt("IsMutex"),
StundetDetailsId = sObj.GetInt("StundetDetailsId"), StundetDetailsId = sObj.GetInt("StundetDetailsId"),
LevelType = (LevelTypeEnum)sObj.GetInt("LevelType"), LevelType = (LevelTypeEnum)sObj.GetInt("LevelType"),
StundetScore = sObj.GetDecimal("StundetScore"), Answer=sObj.GetStringValue("Answer"),
};
dSortNum++;
var studentDetailsModel = new RB_Examination_StudentDetails_ViewModel()
{
Id = detailModel.StundetDetailsId,
PaperId = detailModel.PaperId,
PublishId = base.ParmJObj.GetInt("PublishId"),
DetailsId = detailModel.Id,
GuestId = GuestId,
CreateTime = System.DateTime.Now,
Status = Common.Enum.DateStateEnum.Normal,
StundetAnswer = detailModel.StundetAnswer,
StundetScore = detailModel.StundetScore,
IsMarking = 0
}; };
stuDetailsList.Add(studentDetailsModel); paperDetailsList.Add(detailModel);
gModel.DetailsList.Add(detailModel);
} }
} }
extModel.GroupList.Add(gModel);
} }
} }
} }
var result = paperModule.SetStudentPaperDetails(stuDetailsList, studentModel); var result = paperModule.SetStuExamPaperDetailsModule(PublishId, GuestId,PaperId, paperDetailsList);
return result ? ApiResult.Success("提交试卷成功") : ApiResult.Failed("提交试卷失败"); return result ? ApiResult.Success("提交试卷成功") : ApiResult.Failed("提交试卷失败");
} }
#endregion #endregion
......
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