Commit 2b10185c authored by 黄奎's avatar 黄奎

页面修改

parent 5853037f
using Edu.Common.Enum.Question;
using Edu.Common.Enum.Course;
using Edu.Common.Enum.Question;
using System;
using System.Collections.Generic;
using System.Text;
......@@ -36,7 +37,7 @@ namespace Edu.Model.ViewModel.Exam
public string QuestionDesc { get; set; }
/// <summary>
/// 选择类型(1-题库随机,2-题库难易程度)
/// 选择类型(1-题库随机,2-题库难易程度,3-题库按照分类选题)
/// </summary>
public int ChooseType { get; set; }
......@@ -49,6 +50,11 @@ namespace Edu.Model.ViewModel.Exam
/// 难易程度选题【ChooseType=2时使用】
/// </summary>
public List<DifficultyTypeItem> ChooseList { get; set; }
/// <summary>
/// 题目分类列表
/// </summary>
public List<CategoryItem> CategoryList { get; set; }
}
/// <summary>
......@@ -66,4 +72,26 @@ namespace Edu.Model.ViewModel.Exam
/// </summary>
public int ChooseNum { get; set; }
}
/// <summary>
/// 题型分类
/// </summary>
public class CategoryItem
{
/// <summary>
/// 题型分类
/// </summary>
public QuestionCategoryEnum Category { get; set; }
/// <summary>
/// 选择题目数
/// </summary>
public int ChooseNum { get; set; }
/// <summary>
/// 难易程度选题【ChooseType=2时使用】
/// </summary>
public List<DifficultyTypeItem> ChooseList { get; set; }
}
}
......@@ -75,5 +75,10 @@ namespace Edu.Model.ViewModel.Exam
/// 学员考试表编号
/// </summary>
public int Exam_Student_Id { get; set; }
/// <summary>
/// 账号编号
/// </summary>
public string QAccountIds { get; set; }
}
}
......@@ -475,6 +475,17 @@ namespace Edu.Module.Exam
}
}
}
else if (item.ChooseType == 3)
{
foreach (var subItem in item.CategoryList)
{
var tempList = tempQuestioinList?.Where(qitem => qitem.Category == subItem.Category)?.OrderBy(qitem => Guid.NewGuid())?.Take(subItem.ChooseNum)?.ToList();
if (tempList != null && tempList.Count > 0)
{
subTempQuestionList.AddRange(tempList);
}
}
}
var groupModel = new RB_Examination_Group_ViewModel()
{
GId = 0,
......
......@@ -165,6 +165,7 @@ namespace Edu.Module.Question
DifficultyTypeCount = qitem.QuestionCount,
ChooseNum = 0
});
var obj = new
{
item.QuestionTypeId,
......@@ -183,6 +184,79 @@ namespace Edu.Module.Question
return list;
}
/// <summary>
/// 根据题库编号获取题库题型分类列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<object> GetQuestionCategoryList_V2Module(RB_Question_ViewModel query)
{
List<object> list = new List<object>();
var dataList = questionRepository.GetQuestionStaticsListRepository(query);
if (dataList != null && dataList.Count > 0)
{
var questionTypeList = GetQuestionTypeListModule(new RB_Question_Type_ViewModel());
var groupList = dataList.GroupBy(qitem => new { qitem.QuestionTypeId, }).Select(qitem => new
{
qitem.Key.QuestionTypeId
});
foreach (var item in groupList)
{
var qType = questionTypeList?.Where(qitem => qitem.QId == item.QuestionTypeId)?.FirstOrDefault();
var diffTypeList = dataList.Where(qitem => qitem.QuestionTypeId == item.QuestionTypeId)
.GroupBy(qitem => new { qitem.QuestionTypeId,qitem.DifficultyType})
.Select(qitem => new
{
qitem.Key.DifficultyType,
DifficultyTypeName = qitem.Key.DifficultyType.ToName(),
DifficultyTypeCount = qitem.Sum(c=>c.QuestionCount),
ChooseNum = 0
});
var categoryList = dataList.Where(qitem => qitem.QuestionTypeId == item.QuestionTypeId).GroupBy(qitem => new { qitem.Category }).Select(qitem => new { qitem.Key.Category });
List<object> resultCategoryList = new List<object>();
foreach (var subItem in categoryList)
{
var tempCategoryList = dataList.Where(qitem => qitem.QuestionTypeId == item.QuestionTypeId && qitem.Category == subItem.Category)?.ToList();
if (tempCategoryList != null && tempCategoryList.Count > 0)
{
var cObj = new
{
subItem.Category,
CategoryName = subItem.Category.ToName(),
QuestionTypeNum = tempCategoryList.Sum(qitem=>qitem.QuestionCount),
ChooseNum = 0,
ChooseList= tempCategoryList?.Select(qitem => new
{
qitem.DifficultyType,
DifficultyTypeName = qitem.DifficultyType.ToName(),
DifficultyTypeCount = qitem.QuestionCount,
ChooseNum = 0
})
};
resultCategoryList.Add(cObj);
}
}
var obj = new
{
item.QuestionTypeId,
QuestionTypeKey = qType?.Key,
QuestionTypeName = qType?.Name,
QuestionScore = 0,
QuestionDesc = "",
ChooseType = 1,
ChooseNum = 0,
QuestionTypeNum = dataList.Where(qitem => qitem.QuestionTypeId == item.QuestionTypeId).Sum(qitem => qitem.QuestionCount),
CategoryList= resultCategoryList,
ChooseList = diffTypeList,
};
list.Add(obj);
}
}
return list;
}
/// <summary>
/// 新增修改题目
/// </summary>
......
......@@ -104,10 +104,11 @@ WHERE 1=1
var parameters = new DynamicParameters();
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT A.*,IFNULL(B.PaperName,'') AS PaperName,c.ExamStatus,C.Id AS Exam_Student_Id
FROM RB_Examination_Publish AS A INNER JOIN rb_examination_paper AS B ON A.PaperId=B.PaperId
INNER JOIN rb_examination_student as c on c.PublishId=a.Id
WHERE 1=1 and a.ExamineStatus=2 and b.ExamineStatus=2
SELECT A.ExamStartTime,A.ExamineStatus,A.Id,A.PublishPic, C.PaperId,IFNULL(B.PaperName,'') AS PaperName,c.ExamStatus,C.Id AS Exam_Student_Id,C.GuestId
FROM rb_examination_student AS C INNER JOIN RB_Examination_Publish AS A ON C.PublishId=A.Id
INNER JOIN rb_examination_paper AS B ON C.PaperId=B.PaperId
LEFT JOIN rb_student_orderguest AS D ON C.GuestId=D.Id
WHERE 1=1 and a.ExamineStatus=2 and b.ExamineStatus=2
");
if (query != null)
{
......@@ -119,6 +120,10 @@ WHERE 1=1 and a.ExamineStatus=2 and b.ExamineStatus=2
{
builder.AppendFormat(" AND c.{0}={1} ", nameof(RB_Examination_Publish_ViewModel.GuestId), query.GuestId);
}
if (!string.IsNullOrEmpty(query.QAccountIds))
{
builder.AppendFormat(" AND D.Account_Id IN({0}) ", query.QAccountIds);
}
if (!string.IsNullOrEmpty(query.PaperName))
{
builder.AppendFormat(" AND B.{0} LIKE @PaperName ", nameof(RB_Examination_Publish_ViewModel.PaperName));
......
......@@ -57,7 +57,7 @@ WHERE 1=1
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT QuestionTypeId,DifficultyType,Count(QuestionId) AS QuestionCount
SELECT QuestionTypeId,DifficultyType,Category,Count(QuestionId) AS QuestionCount
FROM RB_Question
WHERE 1=1
");
......@@ -79,7 +79,7 @@ WHERE 1=1
{
builder.AppendFormat(" AND {0} IN({1}) ", nameof(RB_Question_ViewModel.QuestionTypeId), query.Q_QuestionTypeIds);
}
builder.AppendFormat(" GROUP BY QuestionTypeId,DifficultyType ");
builder.AppendFormat(" GROUP BY QuestionTypeId,DifficultyType,Category ");
return Get<RB_Question_ViewModel>(builder.ToString()).ToList();
}
}
......
......@@ -103,7 +103,8 @@ namespace Edu.WebApi.Controllers.Applet
List<Model.ViewModel.Exam.RB_Examination_Publish_ViewModel> examinationPublishList = new List<Model.ViewModel.Exam.RB_Examination_Publish_ViewModel>();
if (studentModel != null && studentModel.GuestId > 0)
{
examinationPublishList = paperModule.GetGuestExaminationPublishPage(1, 5, out long rowsCount, new Model.ViewModel.Exam.RB_Examination_Publish_ViewModel { GuestId = studentModel.GuestId, Group_Id = studentModel.Group_Id });
examinationPublishList = paperModule.GetGuestExaminationPublishPage(1, 5, out long rowsCount,
new RB_Examination_Publish_ViewModel { QAccountIds= appletUserInfo.Id.ToString(), Group_Id = studentModel.Group_Id });
if (examinationPublishList == null)
{
examinationPublishList = new List<Model.ViewModel.Exam.RB_Examination_Publish_ViewModel>();
......@@ -170,6 +171,7 @@ namespace Edu.WebApi.Controllers.Applet
x.Id,
x.PaperName,
x.PicList,
x.GuestId,
ExamStartTime = x.ExamStartTime.ToString("yyyy-MM-dd HH:mm:ss"),
x.ExamStatus,
x.ExamStatusStr
......
......@@ -178,8 +178,6 @@ namespace Edu.WebApi.Controllers.APP
}
/// <summary>
/// 根据手机号码一键登录
/// </summary>
......@@ -189,7 +187,6 @@ namespace Edu.WebApi.Controllers.APP
[AllowAnonymous]
public ApiResult LoginByAccount()
{
JObject jobj = JObject.Parse(RequestParm.Msg.ToString());
string account = jobj.GetStringValue("Account");
string UnionId = jobj.GetStringValue("UnionId");
......@@ -287,8 +284,6 @@ namespace Edu.WebApi.Controllers.APP
}
}
#region 小程序获取手机号码
/// <summary>
/// 获取手机号码
......
......@@ -257,7 +257,7 @@ namespace Edu.WebApi.Controllers.Course
BankId = base.ParmJObj.GetInt("BankId"),
QBankIds = base.ParmJObj.GetStringValue("QBankIds"),
};
var data = questionModule.GetQuestionCategoryListModule(query);
var data = questionModule.GetQuestionCategoryList_V2Module(query);
return ApiResult.Success(data: data);
}
......
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