Commit ebe850a1 authored by 黄奎's avatar 黄奎

新增实体类

parent b776b5e2
...@@ -122,5 +122,10 @@ namespace Edu.Model.Entity.Exam ...@@ -122,5 +122,10 @@ namespace Edu.Model.Entity.Exam
/// 考级程度 /// 考级程度
/// </summary> /// </summary>
public LevelTypeEnum? LevelType { get; set; } public LevelTypeEnum? LevelType { get; set; }
/// <summary>
/// 题目分数
/// </summary>
public decimal Score { get; set; }
} }
} }
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_Examination_Group
{
/// <summary>
/// 试卷分组编号
/// </summary>
public int GId { get; set; }
/// <summary>
/// 试卷编号
/// </summary>
public int PaperId { get; set; }
/// <summary>
/// 分组名称
/// </summary>
public string GroupName { get; set; }
/// <summary>
/// 问题类型编号
/// </summary>
public int QuestionTypeId { get; set; }
/// <summary>
/// 问题类型Key
/// </summary>
public string QuestionTypeKey { get; set; }
/// <summary>
/// 排序
/// </summary>
public int GSortNum { get; set; }
}
}
using System; using Edu.Common.Enum.Question;
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Text; using System.Text;
using VT.FW.DB; using VT.FW.DB;
...@@ -27,6 +28,11 @@ namespace Edu.Model.Entity.Exam ...@@ -27,6 +28,11 @@ namespace Edu.Model.Entity.Exam
/// </summary> /// </summary>
public string QuestionBandIds { get; set; } public string QuestionBandIds { get; set; }
/// <summary>
/// 难易程度(1-易,2-中,3-难)
/// </summary>
public DifficultyTypeEnum DifficultyType { get; set; }
/// <summary> /// <summary>
/// 创建时间 /// 创建时间
/// </summary> /// </summary>
......
using Edu.Model.Entity.Exam;
using System;
using System.Collections.Generic;
using System.Text;
namespace Edu.Model.ViewModel.Exam
{
/// <summary>
/// 试卷题目分组视图实体类
/// </summary>
public class RB_Examination_Group_ViewModel: RB_Examination_Group
{
/// <summary>
/// 试卷分组题目列表
/// </summary>
public List<RB_Examination_Details_ViewModel> DetailsList { get; set; }
/// <summary>
/// 试卷编号【查询使用】
/// </summary>
public string QPaperIds { get; set; }
}
}
...@@ -21,8 +21,8 @@ namespace Edu.Model.ViewModel.Exam ...@@ -21,8 +21,8 @@ namespace Edu.Model.ViewModel.Exam
public string CreateTimeStr { get { return Common.ConvertHelper.FormatDate(this.CreateTime); } } public string CreateTimeStr { get { return Common.ConvertHelper.FormatDate(this.CreateTime); } }
/// <summary> /// <summary>
/// 试卷问题列表 /// 试卷题目分组列表
/// </summary> /// </summary>
public List<RB_Examination_Details_ViewModel> DetailsList { get; set; } public List<RB_Examination_Group_ViewModel> GroupList { get; set; }
} }
} }
...@@ -4,6 +4,7 @@ using Edu.Repository.Exam; ...@@ -4,6 +4,7 @@ using Edu.Repository.Exam;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using VT.FW.DB; using VT.FW.DB;
using System.Linq;
namespace Edu.Module.Exam namespace Edu.Module.Exam
{ {
...@@ -22,6 +23,11 @@ namespace Edu.Module.Exam ...@@ -22,6 +23,11 @@ namespace Edu.Module.Exam
/// </summary> /// </summary>
private readonly RB_Examination_PaperRepository examination_PaperRepository = new RB_Examination_PaperRepository(); private readonly RB_Examination_PaperRepository examination_PaperRepository = new RB_Examination_PaperRepository();
/// <summary>
/// 试卷分组仓储层对象
/// </summary>
private readonly RB_Examination_GroupRepository examination_GroupRepository = new RB_Examination_GroupRepository();
/// <summary> /// <summary>
/// 获取试卷分页列表 /// 获取试卷分页列表
/// </summary> /// </summary>
...@@ -35,6 +41,16 @@ namespace Edu.Module.Exam ...@@ -35,6 +41,16 @@ namespace Edu.Module.Exam
return examination_PaperRepository.GetExaminationPaperPageRepository(pageIndex, pageSize, out rowsCount, query); return examination_PaperRepository.GetExaminationPaperPageRepository(pageIndex, pageSize, out rowsCount, query);
} }
/// <summary>
/// 获取试卷题目列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Examination_Group_ViewModel> GetExaminationGroupListModule(RB_Examination_Group_ViewModel query)
{
return examination_GroupRepository.GetExaminationGroupListRepository(query);
}
/// <summary> /// <summary>
/// 获取试卷题目列表 /// 获取试卷题目列表
/// </summary> /// </summary>
...@@ -45,6 +61,8 @@ namespace Edu.Module.Exam ...@@ -45,6 +61,8 @@ namespace Edu.Module.Exam
return examination_DetailsRepository.GetExaminationDetailsListRepository(query); return examination_DetailsRepository.GetExaminationDetailsListRepository(query);
} }
/// <summary> /// <summary>
/// 新增/修改试卷 /// 新增/修改试卷
/// </summary> /// </summary>
...@@ -58,7 +76,8 @@ namespace Edu.Module.Exam ...@@ -58,7 +76,8 @@ namespace Edu.Module.Exam
{ {
Dictionary<string, object> fileds = new Dictionary<string, object>() Dictionary<string, object> fileds = new Dictionary<string, object>()
{ {
{nameof(RB_Examination_Paper_ViewModel.PaperName),model.PaperName } {nameof(RB_Examination_Paper_ViewModel.PaperName),model.PaperName },
{nameof(RB_Examination_Paper_ViewModel.DifficultyType),model.DifficultyType },
}; };
flag = examination_PaperRepository.Update(fileds, new WhereHelper(nameof(RB_Examination_Paper_ViewModel.PaperId), model.PaperId)); flag = examination_PaperRepository.Update(fileds, new WhereHelper(nameof(RB_Examination_Paper_ViewModel.PaperId), model.PaperId));
} }
...@@ -68,43 +87,68 @@ namespace Edu.Module.Exam ...@@ -68,43 +87,68 @@ namespace Edu.Module.Exam
model.PaperId = newPaperId; model.PaperId = newPaperId;
flag = newPaperId > 0; flag = newPaperId > 0;
} }
if (model.DetailsList != null && model.DetailsList.Count > 0) if (model.GroupList != null && model.GroupList.Count > 0)
{ {
foreach (var item in model.DetailsList) foreach (var gitem in model.GroupList)
{ {
item.PaperId = model.PaperId; gitem.PaperId = model.PaperId;
if (flag) if (flag)
{ {
if (item.Id > 0) if (gitem.GId > 0)
{ {
Dictionary<string, object> fileds = new Dictionary<string, object>() Dictionary<string, object> fileds = new Dictionary<string, object>()
{ {
{nameof(RB_Examination_Details_ViewModel.PaperId),item.PaperId }, {nameof(RB_Examination_Group_ViewModel.PaperId),gitem.PaperId },
{nameof(RB_Examination_Details_ViewModel.BankId),item.BankId }, {nameof(RB_Examination_Group_ViewModel.GroupName),gitem.GroupName },
{nameof(RB_Examination_Details_ViewModel.QuestionId),item.QuestionId }, {nameof(RB_Examination_Group_ViewModel.QuestionTypeId),gitem.QuestionTypeId },
{nameof(RB_Examination_Details_ViewModel.Title),item.Title }, {nameof(RB_Examination_Group_ViewModel.QuestionTypeKey),gitem.QuestionTypeKey },
{nameof(RB_Examination_Details_ViewModel.QuestionContent),item.QuestionContent }, {nameof(RB_Examination_Group_ViewModel.GSortNum),gitem.GSortNum },
{nameof(RB_Examination_Details_ViewModel.DifficultyType),item.DifficultyType },
{nameof(RB_Examination_Details_ViewModel.AnswerParse),item.AnswerParse },
{nameof(RB_Examination_Details_ViewModel.QuestionTypeId),item.QuestionTypeId },
{nameof(RB_Examination_Details_ViewModel.QuestionTypeKey),item.QuestionTypeKey },
{nameof(RB_Examination_Details_ViewModel.Knowledge),item.Knowledge },
{nameof(RB_Examination_Details_ViewModel.UpdateBy),item.UpdateBy },
{nameof(RB_Examination_Details_ViewModel.UpdateTime),item.UpdateTime },
{nameof(RB_Examination_Details_ViewModel.IsUpdateJobExam),item.IsUpdateJobExam },
{nameof(RB_Examination_Details_ViewModel.SortNum),item.SortNum },
{nameof(RB_Examination_Details_ViewModel.Answer),item.Answer },
{nameof(RB_Examination_Details_ViewModel.IsMutex),item.IsMutex },
{nameof(RB_Examination_Details_ViewModel.Category),item.Category },
{nameof(RB_Examination_Details_ViewModel.LevelType),item.LevelType },
}; };
flag = examination_DetailsRepository.Update(fileds, new WhereHelper(nameof(RB_Examination_Details_ViewModel.Id), item.Id)); flag = examination_GroupRepository.Update(fileds, new WhereHelper(nameof(RB_Examination_Group_ViewModel.GId), gitem.GId));
} }
else else
{ {
var newId = examination_DetailsRepository.Insert(item); var newGroupId = examination_GroupRepository.Insert(gitem);
item.Id = newId; gitem.GId = newGroupId;
flag = newId > 0; flag = newGroupId > 0;
}
}
if (flag && gitem.DetailsList != null && gitem.DetailsList.Count > 0)
{
foreach (var dItem in gitem.DetailsList)
{
if (dItem.Id > 0)
{
Dictionary<string, object> fileds = new Dictionary<string, object>()
{
{nameof(RB_Examination_Details_ViewModel.PaperId),dItem.PaperId },
{nameof(RB_Examination_Details_ViewModel.BankId),dItem.BankId },
{nameof(RB_Examination_Details_ViewModel.QuestionId),dItem.QuestionId },
{nameof(RB_Examination_Details_ViewModel.Title),dItem.Title },
{nameof(RB_Examination_Details_ViewModel.QuestionContent),dItem.QuestionContent },
{nameof(RB_Examination_Details_ViewModel.DifficultyType),dItem.DifficultyType },
{nameof(RB_Examination_Details_ViewModel.AnswerParse),dItem.AnswerParse },
{nameof(RB_Examination_Details_ViewModel.QuestionTypeId),dItem.QuestionTypeId },
{nameof(RB_Examination_Details_ViewModel.QuestionTypeKey),dItem.QuestionTypeKey },
{nameof(RB_Examination_Details_ViewModel.Knowledge),dItem.Knowledge },
{nameof(RB_Examination_Details_ViewModel.UpdateBy),dItem.UpdateBy },
{nameof(RB_Examination_Details_ViewModel.UpdateTime),dItem.UpdateTime },
{nameof(RB_Examination_Details_ViewModel.IsUpdateJobExam),dItem.IsUpdateJobExam },
{nameof(RB_Examination_Details_ViewModel.SortNum),dItem.SortNum },
{nameof(RB_Examination_Details_ViewModel.Answer),dItem.Answer },
{nameof(RB_Examination_Details_ViewModel.IsMutex),dItem.IsMutex },
{nameof(RB_Examination_Details_ViewModel.Category),dItem.Category },
{nameof(RB_Examination_Details_ViewModel.LevelType),dItem.LevelType },
{nameof(RB_Examination_Details_ViewModel.Score),dItem.Score },
};
flag = examination_DetailsRepository.Update(fileds, new WhereHelper(nameof(RB_Examination_Details_ViewModel.Id), dItem.Id));
}
else
{
var newDetailsId = examination_DetailsRepository.Insert(dItem);
dItem.Id = newDetailsId;
flag = newDetailsId > 0;
}
} }
} }
} }
...@@ -122,12 +166,33 @@ namespace Edu.Module.Exam ...@@ -122,12 +166,33 @@ namespace Edu.Module.Exam
var extModel = examination_PaperRepository.GetEntity<RB_Examination_Paper_ViewModel>(PaperId); var extModel = examination_PaperRepository.GetEntity<RB_Examination_Paper_ViewModel>(PaperId);
if (extModel != null&& extModel.PaperId>0) if (extModel != null&& extModel.PaperId>0)
{ {
extModel.DetailsList = GetExaminationDetailsListModule(new RB_Examination_Details_ViewModel() extModel.GroupList = GetExaminationGroupListModule(new RB_Examination_Group_ViewModel()
{
PaperId = extModel.PaperId
});
var detailsList = GetExaminationDetailsListModule(new RB_Examination_Details_ViewModel()
{ {
PaperId = extModel.PaperId PaperId = extModel.PaperId
}); });
if (extModel.GroupList != null && extModel.GroupList.Count > 0 && detailsList!=null && detailsList.Count>0)
{
foreach (var gItem in extModel.GroupList)
{
gItem.DetailsList = detailsList?.Where(qitem => qitem.QuestionTypeId == gItem.QuestionTypeId)?.ToList() ?? new List<RB_Examination_Details_ViewModel>();
}
}
} }
return extModel; return extModel;
} }
/// <summary>
/// 根据编号删除试卷题目
/// </summary>
/// <param name="Id"></param>
/// <returns></returns>
public bool RemoveExaminationDetailsModule(int Id)
{
return examination_DetailsRepository.Delete(Id) > 0;
}
} }
} }
...@@ -40,5 +40,6 @@ WHERE 1=1 ...@@ -40,5 +40,6 @@ WHERE 1=1
} }
return Get<RB_Examination_Details_ViewModel>(builder.ToString()).ToList(); return Get<RB_Examination_Details_ViewModel>(builder.ToString()).ToList();
} }
} }
} }
using Edu.Model.Entity.Exam;
using Edu.Model.ViewModel.Exam;
using System;
using System.Collections.Generic;
using System.Text;
using System.Linq;
namespace Edu.Repository.Exam
{
/// <summary>
/// 试卷题目分组仓储层
/// </summary>
public class RB_Examination_GroupRepository : BaseRepository<RB_Examination_Group>
{
/// <summary>
/// 获取试卷题目列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Examination_Group_ViewModel> GetExaminationGroupListRepository(RB_Examination_Group_ViewModel query)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT A.*
FROM RB_Examination_Group AS A
WHERE 1=1
");
if (query != null)
{
if (query.PaperId > 0)
{
builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_Examination_Group_ViewModel.PaperId), query.PaperId);
}
if (!string.IsNullOrEmpty(query.QPaperIds))
{
builder.AppendFormat(@" AND A.{0} IN({1}) ", nameof(RB_Examination_Group_ViewModel.PaperId), query.QPaperIds);
}
}
return Get<RB_Examination_Group_ViewModel>(builder.ToString()).ToList();
}
}
}
...@@ -27,7 +27,7 @@ namespace Edu.Repository.Exam ...@@ -27,7 +27,7 @@ namespace Edu.Repository.Exam
StringBuilder builder = new StringBuilder(); StringBuilder builder = new StringBuilder();
builder.AppendFormat(@" builder.AppendFormat(@"
SELECT A.* SELECT A.*
FROM RB_Examination_Paper FROM RB_Examination_Paper AS A
WHERE 1=1 WHERE 1=1
"); ");
if (query != null) if (query != null)
......
...@@ -76,45 +76,72 @@ namespace Edu.WebApi.Controllers.Exam ...@@ -76,45 +76,72 @@ namespace Edu.WebApi.Controllers.Exam
PaperId = base.ParmJObj.GetInt("PaperId"), PaperId = base.ParmJObj.GetInt("PaperId"),
PaperName = base.ParmJObj.GetStringValue("PaperName"), PaperName = base.ParmJObj.GetStringValue("PaperName"),
QuestionBandIds = base.ParmJObj.GetStringValue("QuestionBandIds"), QuestionBandIds = base.ParmJObj.GetStringValue("QuestionBandIds"),
DifficultyType=(DifficultyTypeEnum)base.ParmJObj.GetInt("DifficultyType"),
CreateBy = UserInfo.Id, CreateBy = UserInfo.Id,
CreateTime = DateTime.Now, CreateTime = DateTime.Now,
Group_Id = base.UserInfo.Group_Id, Group_Id = base.UserInfo.Group_Id,
}; };
extModel.DetailsList = new List<RB_Examination_Details_ViewModel>(); extModel.GroupList = new List<RB_Examination_Group_ViewModel>();
string details = base.ParmJObj.GetStringValue("DetailsList"); string groups = base.ParmJObj.GetStringValue("GroupList");
if (!string.IsNullOrEmpty(details)) if (!string.IsNullOrEmpty(groups))
{ {
JArray jarray = JArray.Parse(details); 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());
extModel.DetailsList.Add(new RB_Examination_Details_ViewModel() RB_Examination_Group_ViewModel gModel = new RB_Examination_Group_ViewModel()
{ {
Id = jobj.GetInt("Id"), GId = jobj.GetInt("GId"),
PaperId = jobj.GetInt("PaperId"), PaperId = jobj.GetInt("PaperId"),
BankId = jobj.GetInt("BankId"), GroupName = jobj.GetStringValue("GroupName"),
QuestionId = jobj.GetInt("QuestionId"),
Title = jobj.GetStringValue("Title"),
QuestionContent = jobj.GetStringValue("QuestionContent"),
DifficultyType = (DifficultyTypeEnum)jobj.GetInt("DifficultyType"),
AnswerParse = jobj.GetStringValue("AnswerParse"),
QuestionTypeId = jobj.GetInt("QuestionTypeId"), QuestionTypeId = jobj.GetInt("QuestionTypeId"),
QuestionTypeKey = jobj.GetStringValue("QuestionTypeKey"), QuestionTypeKey = jobj.GetStringValue("QuestionTypeKey"),
Knowledge = jobj.GetStringValue("Knowledge"), GSortNum= gSortNum,
CreateBy = base.UserInfo.Id, DetailsList = new List<RB_Examination_Details_ViewModel>(),
CreateTime = DateTime.Now, };
UpdateBy = base.UserInfo.Id, gSortNum++;
UpdateTime = DateTime.Now, string details = jobj.GetStringValue("DetailsList");
IsUpdateJobExam = base.ParmJObj.GetInt("IsUpdateJobExam"), if (!string.IsNullOrEmpty(details))
Status = Common.Enum.DateStateEnum.Normal, {
SortNum = base.ParmJObj.GetInt("SortNum"), JArray subArray = JArray.Parse(details);
Answer = base.ParmJObj.GetStringValue("Answer"), int dSortNum = 0;
IsMutex = base.ParmJObj.GetInt("IsMutex"), foreach (var sItem in subArray)
Category = (QuestionCategoryEnum)base.ParmJObj.GetInt("Category"), {
LevelType = (LevelTypeEnum)base.ParmJObj.GetInt("LevelType"), JObject sObj = JObject.Parse(sItem.ToString());
}); var detailModel = new RB_Examination_Details_ViewModel()
{
Id = sObj.GetInt("Id"),
PaperId = sObj.GetInt("PaperId"),
BankId = sObj.GetInt("BankId"),
QuestionId = sObj.GetInt("QuestionId"),
Title = sObj.GetStringValue("Title"),
QuestionContent = sObj.GetStringValue("QuestionContent"),
DifficultyType = (DifficultyTypeEnum)sObj.GetInt("DifficultyType"),
AnswerParse = sObj.GetStringValue("AnswerParse"),
QuestionTypeId = sObj.GetInt("QuestionTypeId"),
QuestionTypeKey = sObj.GetStringValue("QuestionTypeKey"),
Knowledge = sObj.GetStringValue("Knowledge"),
CreateBy = base.UserInfo.Id,
CreateTime = DateTime.Now,
UpdateBy = base.UserInfo.Id,
UpdateTime = DateTime.Now,
IsUpdateJobExam = sObj.GetInt("IsUpdateJobExam"),
Status = Common.Enum.DateStateEnum.Normal,
SortNum = dSortNum,
Answer = sObj.GetStringValue("Answer"),
IsMutex = sObj.GetInt("IsMutex"),
Category = (QuestionCategoryEnum)sObj.GetInt("Category"),
LevelType = (LevelTypeEnum)sObj.GetInt("LevelType"),
Score = sObj.GetDecimal("Score"),
};
dSortNum++;
gModel.DetailsList.Add(detailModel);
}
}
extModel.GroupList.Add(gModel);
} }
} }
} }
...@@ -133,5 +160,18 @@ namespace Edu.WebApi.Controllers.Exam ...@@ -133,5 +160,18 @@ namespace Edu.WebApi.Controllers.Exam
var model = paperModule.GetExaminationPaperModule(PaperId); var model = paperModule.GetExaminationPaperModule(PaperId);
return ApiResult.Success(data: model); return ApiResult.Success(data: model);
} }
/// <summary>
/// 根据编号删除试卷题目
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult DeletePaperQuestion()
{
var PaperId = base.ParmJObj.GetInt("PaperId");
var model = paperModule.RemoveExaminationDetailsModule(PaperId);
return ApiResult.Success(data: model);
}
} }
} }
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