Commit 8e1c50c7 authored by 罗超's avatar 罗超

Merge branch 'master' of http://gitlab.oytour.com/Kui2/education

parents 45f2b0e0 e21c893d
using System;
using VT.FW.DB;
namespace Edu.Model.Entity.Exam
{
/// <summary>
/// 试卷发布实体类
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_Examination_Publish
{
/// <summary>
/// 发布考试主键编号
/// </summary>
public int Id { get; set; }
/// <summary>
/// 试卷编号
/// </summary>
public int PaperId { get; set; }
/// <summary>
/// 发放类型(1-按班级发放,2-指定学生发放)
/// </summary>
public int PublishType { get; set; }
/// <summary>
/// 考试开始时间
/// </summary>
public DateTime ExamStartTime { get; set; }
/// <summary>
/// 考试结束时间
/// </summary>
public DateTime ExamEndTime { get; set; }
/// <summary>
/// 考试限时
/// </summary>
public int ExamTimes { get; set; }
/// <summary>
/// 限时提交(多少分钟内不允许提交)
/// </summary>
public int SubmitTimes { get; set; }
/// <summary>
/// 限时进入(多少分钟后不允许参加考试)
/// </summary>
public int EnterTimes { get; set; }
/// <summary>
/// 创建人
/// </summary>
public int CreateBy { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime CreateTime { get; set; }
/// <summary>
/// 集团编号
/// </summary>
public int Group_Id { get; set; }
/// <summary>
/// 学校编号
/// </summary>
public int School_Id { get; set; }
/// <summary>
/// 删除状态
/// </summary>
public int Status { get; set; }
/// <summary>
/// 题目乱序(1-是)
/// </summary>
public int IsQuestionRandom { get; set; }
/// <summary>
/// 选项乱序(1-是)
/// </summary>
public int IsOptionRandom { get; set; }
/// <summary>
/// 学生离开作答页面(1-是)
/// </summary>
public int IsLeaveAnswer { get; set; }
/// <summary>
/// 离开次数
/// </summary>
public int LeaveTimes { get; set; }
/// <summary>
/// 是否禁用多终端(1-是)
/// </summary>
public int IsDisableMultiTerminal { get; set; }
/// <summary>
/// 是否只允许(App、PC)考试(1-是)
/// </summary>
public int IsExamType { get; set; }
/// <summary>
/// 考试终端类型(1-App,2-PC)
/// </summary>
public int ExamTypeValue { get; set; }
/// <summary>
/// 考试须知
/// </summary>
public string ExamNotice { get; set; }
/// <summary>
/// 及格分数
/// </summary>
public decimal PassScore { get; set; }
/// <summary>
/// 考试到达截止时间后自动提交(1-是)
/// </summary>
public int IsAutoSubmit { get; set; }
/// <summary>
/// 填空类型的题目设为主观题(1-是)
/// </summary>
public int FillInIsSubject { get; set; }
/// <summary>
/// 填空题答案不区分大小写(1-是)
/// </summary>
public int FillInIsIgnore { get; set; }
/// <summary>
/// 多选题未选全给一半分(1-是)
/// </summary>
public int IsHalfScore { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Text;
namespace Edu.Model.ViewModel.Exam
{
/// <summary>
/// 试卷文件树形结构
/// </summary>
public class ExamFolderTreeModel
{
/// <summary>
/// 试卷编号
/// </summary>
public int PaperId { get; set; }
/// <summary>
/// 试卷名称
/// </summary>
public string PaperName { get; set; }
/// <summary>
/// 父节点编号
/// </summary>
public int ParentId { get; set; }
/// <summary>
/// 下级文件夹列表
/// </summary>
public List<ExamFolderTreeModel> ChildList { get; set; }
}
}
......@@ -21,5 +21,15 @@ namespace Edu.Model.ViewModel.Exam
/// 问题数量
/// </summary>
public int QuestionCount { get; set; }
/// <summary>
/// 试卷编号
/// </summary>
public string QPaperIds { get; set; }
/// <summary>
/// 是否查询文件夹
/// </summary>
public int IsQueryFolder { get; set; }
}
}
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_Publish_ViewModel : RB_Examination_Publish
{
}
}
......@@ -5,7 +5,6 @@ using System;
using System.Collections.Generic;
using VT.FW.DB;
using System.Linq;
using System.Text.RegularExpressions;
using Edu.Cache.User;
using Edu.Common.Plugin;
using Edu.Module.Question;
......@@ -49,6 +48,11 @@ namespace Edu.Module.Exam
/// </summary>
private readonly RB_QuestionRepository questionRepository = new RB_QuestionRepository();
/// <summary>
/// 考试发布仓储层对象
/// </summary>
private readonly RB_Examination_PublishRepository examination_PublishRepository = new RB_Examination_PublishRepository();
/// <summary>
/// 获取试卷分页列表
/// </summary>
......@@ -117,7 +121,7 @@ namespace Edu.Module.Exam
}
/// <summary>
/// 递归遍历所有章节
/// 递归遍历所有下级文件夹或试卷
/// </summary>
/// <param name="sourceList">源数据</param>
/// <param name="parentId">父节点编号</param>
......@@ -227,6 +231,7 @@ namespace Edu.Module.Exam
{
foreach (var dItem in gitem.DetailsList)
{
dItem.PaperId = model.PaperId;
if (dItem.Id > 0)
{
Dictionary<string, object> fileds = new Dictionary<string, object>()
......@@ -514,14 +519,214 @@ namespace Edu.Module.Exam
/// 根据分组删除分组和题目
/// </summary>
/// <param name="GId"></param>
/// <param name="QuestionTypeId">问题类型编号</param>
/// <returns></returns>
[TransactionCallHandler]
public bool RemoveExamnationGroupModule(int GId, int QuestionTypeId)
{
var flag = true;
if (GId > 0)
{
flag = examination_GroupRepository.DeleteOne(new WhereHelper(nameof(RB_Examination_Group_ViewModel.GId), GId));
}
if (flag && QuestionTypeId > 0)
{
flag = examination_DetailsRepository.DeleteOne(new WhereHelper(nameof(RB_Examination_Details_ViewModel.QuestionTypeId), QuestionTypeId));
}
return flag;
}
/// <summary>
/// 根据试卷编号删除试卷
/// </summary>
/// <param name="PaperId"></param>
/// <returns></returns>
[TransactionCallHandler]
public bool RemoveExamnationPaperModule(int PaperId)
{
var flag = true;
if (PaperId > 0)
{
flag = examination_PaperRepository.DeleteOne(new WhereHelper(nameof(RB_Examination_Paper_ViewModel.PaperId), PaperId));
}
if (flag)
{
flag = examination_GroupRepository.DeleteOne(new WhereHelper(nameof(RB_Examination_Group_ViewModel.PaperId), PaperId));
}
if (flag)
{
flag = examination_DetailsRepository.DeleteOne(new WhereHelper(nameof(RB_Examination_Details_ViewModel.PaperId), PaperId));
}
return flag;
}
/// <summary>
/// 根据试卷编号复制试卷
/// </summary>
/// <param name="PaperId"></param>
/// <returns></returns>
public bool RemoveExamnationGroupModule(int qu ,int GId)
[TransactionCallHandler]
public bool CopyExamnationPaperModule(int PaperId)
{
IList<WhereHelper> whereHelpers = new List<WhereHelper>();
var flag = true;
var model = GetExaminationPaperModule(PaperId);
if (model == null)
{
flag = false;
return flag;
}
model.PaperId = 0;
if (model.GroupList != null && model.GroupList.Count > 0)
{
foreach (var gItem in model.GroupList)
{
gItem.GId = 0;
gItem.PaperId = 0;
if (gItem.DetailsList != null && gItem.DetailsList.Count > 0)
{
foreach (var sItem in gItem.DetailsList)
{
sItem.Id = 0;
sItem.PaperId = 0;
}
}
}
}
flag = SetExaminationPaperModule(model);
return flag;
}
//examination_GroupRepository.Delete()
return false;
/// <summary>
/// 移动试卷
/// </summary>
/// <param name="PaperId">试卷编号</param>
/// <param name="ParentId">父节点编号</param>
/// <returns></returns>
public bool MoveExamnationPaperModule(int PaperId, int ParentId)
{
var flag = true;
Dictionary<string, object> fileds = new Dictionary<string, object>()
{
{nameof(RB_Examination_Paper_ViewModel.ParentId),ParentId}
};
flag = examination_PaperRepository.Update(fileds, new WhereHelper(nameof(RB_Examination_Paper_ViewModel.PaperId), PaperId));
return flag;
}
/// <summary>
/// 获取文件夹树形结构
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public object GetFolderTreeModule(RB_Examination_Paper_ViewModel query)
{
List<ExamFolderTreeModel> list = new List<ExamFolderTreeModel>();
var dataList = examination_PaperRepository.GetExaminationPaperListRepository(query);
if (dataList != null&&dataList.Count>0)
{
var rootList = dataList?.Where(qitem => qitem.ParentId == 0)?.ToList();
foreach (var rItem in rootList)
{
ExamFolderTreeModel fTreeModel = new ExamFolderTreeModel()
{
PaperId = rItem.PaperId,
ParentId = rItem.ParentId,
PaperName = rItem.PaperName,
ChildList = new List<ExamFolderTreeModel>()
};
fTreeModel.ChildList = GetFolderChild(dataList, rItem.PaperId);
list.Add(fTreeModel);
}
}
return list;
}
/// <summary>
/// 递归遍历所有下级文件夹
/// </summary>
/// <param name="sourceList">源数据</param>
/// <param name="parentId">父节点编号</param>
/// <returns></returns>
public List<ExamFolderTreeModel> GetFolderChild(List<RB_Examination_Paper_ViewModel> sourceList, int parentId)
{
List<ExamFolderTreeModel> resultList = new List<ExamFolderTreeModel>();
//获取下级节点
var subList = sourceList?.Where(qItem => qItem.ParentId == parentId).ToList();
//如果存在下级节点
if (subList != null && subList.Count > 0)
{
foreach (var childItem in subList)
{
var childModel = new ExamFolderTreeModel()
{
PaperId = childItem.PaperId,
ParentId = childItem.ParentId,
PaperName = childItem.PaperName,
ChildList = new List<ExamFolderTreeModel>()
};
childModel.ChildList.AddRange(GetFolderChild(sourceList, childItem.PaperId));
resultList.Add(childModel);
}
}
return resultList;
}
/// <summary>
/// 获取发布试卷分页列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="rowsCount"></param>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Examination_Publish_ViewModel> GetExaminationPublishPageModule(int pageIndex, int pageSize, out long rowsCount, RB_Examination_Publish_ViewModel query)
{
return examination_PublishRepository.GetExaminationPublishPageRepository(pageIndex, pageSize, out rowsCount, query);
}
/// <summary>
/// 新增修改考试发布
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public bool SetExaminationPublishModule(RB_Examination_Publish_ViewModel model)
{
bool flag = true;
if (model.Id > 0)
{
Dictionary<string, object> fileds = new Dictionary<string, object>()
{
{nameof(RB_Examination_Publish_ViewModel.PaperId), model.PaperId },
{nameof(RB_Examination_Publish_ViewModel.PublishType), model.PublishType },
{nameof(RB_Examination_Publish_ViewModel.ExamStartTime), model.ExamStartTime },
{nameof(RB_Examination_Publish_ViewModel.ExamEndTime), model.ExamEndTime },
{nameof(RB_Examination_Publish_ViewModel.ExamTimes), model.ExamTimes },
{nameof(RB_Examination_Publish_ViewModel.SubmitTimes), model.SubmitTimes },
{nameof(RB_Examination_Publish_ViewModel.EnterTimes), model.EnterTimes },
{nameof(RB_Examination_Publish_ViewModel.IsQuestionRandom), model.IsQuestionRandom },
{nameof(RB_Examination_Publish_ViewModel.IsOptionRandom), model.IsOptionRandom },
{nameof(RB_Examination_Publish_ViewModel.IsLeaveAnswer), model.IsLeaveAnswer },
{nameof(RB_Examination_Publish_ViewModel.LeaveTimes), model.LeaveTimes },
{nameof(RB_Examination_Publish_ViewModel.IsDisableMultiTerminal), model.IsDisableMultiTerminal },
{nameof(RB_Examination_Publish_ViewModel.IsExamType), model.IsExamType },
{nameof(RB_Examination_Publish_ViewModel.ExamTypeValue), model.ExamTypeValue },
{nameof(RB_Examination_Publish_ViewModel.ExamNotice), model.ExamNotice },
{nameof(RB_Examination_Publish_ViewModel.PassScore), model.PassScore },
{nameof(RB_Examination_Publish_ViewModel.IsAutoSubmit), model.IsAutoSubmit },
{nameof(RB_Examination_Publish_ViewModel.FillInIsSubject), model.FillInIsSubject },
{nameof(RB_Examination_Publish_ViewModel.FillInIsIgnore), model.FillInIsIgnore },
{nameof(RB_Examination_Publish_ViewModel.IsHalfScore), model.IsHalfScore },
};
flag = examination_PublishRepository.Update(fileds, new WhereHelper(nameof(RB_Examination_Publish_ViewModel.Id), model.Id));
}
else
{
var newId = examination_PublishRepository.Insert(model);
model.Id = newId;
flag = newId > 0;
}
return flag;
}
}
}
......@@ -43,11 +43,73 @@ WHERE 1=1
builder.AppendFormat(" AND A.{0} LIKE @PaperName ", nameof(RB_Examination_Paper_ViewModel.PaperName));
parameters.Add("PaperName", "%" + query.PaperName.Trim() + "%");
}
if (query.ParentId > 0)
{
builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_Examination_Paper_ViewModel.ParentId), query.ParentId);
}
if (query.PaperId > 0)
{
builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_Examination_Paper_ViewModel.PaperId), query.PaperId);
}
if (!string.IsNullOrEmpty(query.QPaperIds))
{
builder.AppendFormat(@" AND A.{0} IN({1}) ", nameof(RB_Examination_Paper_ViewModel.PaperId), query.QPaperIds);
}
}
builder.AppendFormat(" ORDER BY A.{0} DESC ", nameof(RB_Examination_Paper_ViewModel.PaperId));
return GetPage<RB_Examination_Paper_ViewModel>(pageIndex, pageSize, out rowsCount, builder.ToString(), parameters).ToList();
}
/// <summary>
/// 获取试卷列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Examination_Paper_ViewModel> GetExaminationPaperListRepository(RB_Examination_Paper_ViewModel query)
{
var parameters = new DynamicParameters();
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT A.*
FROM RB_Examination_Paper AS A
WHERE 1=1
");
builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_Examination_Paper_ViewModel.ParentId), 0);
if (query != null)
{
if (query.Group_Id > 0)
{
builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_Examination_Paper_ViewModel.Group_Id), query.Group_Id);
}
if (!string.IsNullOrEmpty(query.PaperName))
{
builder.AppendFormat(" AND A.{0} LIKE @PaperName ", nameof(RB_Examination_Paper_ViewModel.PaperName));
parameters.Add("PaperName", "%" + query.PaperName.Trim() + "%");
}
if (query.ParentId > 0)
{
builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_Examination_Paper_ViewModel.ParentId), query.ParentId);
}
if (query.PaperId > 0)
{
builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_Examination_Paper_ViewModel.PaperId), query.PaperId);
}
if (!string.IsNullOrEmpty(query.QPaperIds))
{
builder.AppendFormat(@" AND A.{0} IN({1}) ", nameof(RB_Examination_Paper_ViewModel.PaperId), query.QPaperIds);
}
//查询文件夹
if (query.IsQueryFolder == 1)
{
builder.AppendFormat(@" AND A.{0}=1 ", nameof(RB_Examination_Paper_ViewModel.PaperType));
}
}
builder.AppendFormat(" ORDER BY A.{0} DESC ", nameof(RB_Examination_Paper_ViewModel.PaperId));
return Get<RB_Examination_Paper_ViewModel>(builder.ToString(), parameters).ToList();
}
/// <summary>
/// 获取试卷所有下级列表
/// </summary>
......
using Edu.Model.Entity.Exam;
using Edu.Model.ViewModel.Exam;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Edu.Repository.Exam
{
/// <summary>
/// 试卷发布仓储层
/// </summary>
public class RB_Examination_PublishRepository : BaseRepository<RB_Examination_Publish>
{
/// <summary>
/// 获取发布试卷分页列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="rowsCount"></param>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Examination_Publish_ViewModel> GetExaminationPublishPageRepository(int pageIndex, int pageSize, out long rowsCount, RB_Examination_Publish_ViewModel query)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT A.*
FROM RB_Examination_Publish AS A
WHERE 1=1
");
if (query != null)
{
if (query.Group_Id > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Examination_Publish_ViewModel.Group_Id), query.Group_Id);
}
}
return GetPage<RB_Examination_Publish_ViewModel>(pageIndex, pageSize, out rowsCount, builder.ToString()).ToList();
}
}
}
......@@ -208,6 +208,7 @@ namespace Edu.WebApi.Controllers.Course
item.QuestionId,
item.CourseId,
Title = newTitle,
SourceTitle=item.Title,
item.QuestionTypeId,
item.QuestionTypeKey,
QuestionTypeName = item.QuestionTypeKey != "single-number" ? item.QuestionTypeName : "选择题",
......
using Edu.Cache.User;
using Edu.Common.API;
using Edu.Common.API;
using Edu.Common.Enum.Course;
using Edu.Common.Enum.Question;
using Edu.Common.Plugin;
......@@ -11,8 +10,6 @@ using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace Edu.WebApi.Controllers.Exam
{
......@@ -41,6 +38,9 @@ namespace Edu.WebApi.Controllers.Exam
var query = new RB_Examination_Paper_ViewModel()
{
PaperName = base.ParmJObj.GetStringValue("PaperName"),
PaperId = base.ParmJObj.GetInt("PaperId"),
ParentId = base.ParmJObj.GetInt("ParentId"),
QPaperIds = base.ParmJObj.GetStringValue("QPaperIds")
};
query.Group_Id = base.UserInfo.Group_Id;
List<object> result = new List<object>();
......@@ -78,14 +78,14 @@ namespace Edu.WebApi.Controllers.Exam
PaperId = base.ParmJObj.GetInt("PaperId"),
PaperName = base.ParmJObj.GetStringValue("PaperName"),
QuestionBandIds = base.ParmJObj.GetStringValue("QuestionBandIds"),
DifficultyType=(DifficultyTypeEnum)base.ParmJObj.GetInt("DifficultyType"),
DifficultyType = (DifficultyTypeEnum)base.ParmJObj.GetInt("DifficultyType"),
CreateBy = UserInfo.Id,
CreateTime = DateTime.Now,
Group_Id = base.UserInfo.Group_Id,
GenerateType=base.ParmJObj.GetInt("GenerateType"),
CreateNum=base.ParmJObj.GetInt("CreateNum"),
PaperType=base.ParmJObj.GetInt("PaperType"),
ParentId=base.ParmJObj.GetInt("ParentId"),
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");
......@@ -105,7 +105,7 @@ namespace Edu.WebApi.Controllers.Exam
GroupName = jobj.GetStringValue("GroupName"),
QuestionTypeId = jobj.GetInt("QuestionTypeId"),
QuestionTypeKey = jobj.GetStringValue("QuestionTypeKey"),
GSortNum= gSortNum,
GSortNum = gSortNum,
DetailsList = new List<RB_Examination_Details_ViewModel>(),
};
gSortNum++;
......@@ -168,14 +168,14 @@ namespace Edu.WebApi.Controllers.Exam
TemplateName = base.ParmJObj.GetStringValue("TemplateName"),
TemplateScore = base.ParmJObj.GetDecimal("TemplateScore"),
TemplateNum = base.ParmJObj.GetInt("TemplateNum"),
TemplateDifficultyType=(DifficultyTypeEnum)base.ParmJObj.GetInt("DifficultyType"),
TemplateBankIds=base.ParmJObj.GetStringValue("TemplateBankIds"),
TemplateDifficultyType = (DifficultyTypeEnum)base.ParmJObj.GetInt("DifficultyType"),
TemplateBankIds = base.ParmJObj.GetStringValue("TemplateBankIds"),
CreateBy = UserInfo.Id,
CreateTime = DateTime.Now,
Group_Id = base.UserInfo.Group_Id,
School_Id=base.UserInfo.School_Id,
Status= Common.Enum.DateStateEnum.Normal,
IsSaveTemplate=base.ParmJObj.GetBoolValue("IsSaveTemplate"),
School_Id = base.UserInfo.School_Id,
Status = Common.Enum.DateStateEnum.Normal,
IsSaveTemplate = base.ParmJObj.GetBoolValue("IsSaveTemplate"),
};
string TemplateData = base.ParmJObj.GetStringValue("TemplateData");
if (!string.IsNullOrEmpty(TemplateData))
......@@ -229,7 +229,7 @@ namespace Edu.WebApi.Controllers.Exam
{
tempStr += "、" + string.Format("{0}:{1}", tItem.DifficultyType.ToName(), tItem.ChooseNum);
}
QuestionStructure+= ";" + string.Format("{0}:{1}", sItem.QuestionTypeName, tempStr.TrimStart('、'));
QuestionStructure += ";" + string.Format("{0}:{1}", sItem.QuestionTypeName, tempStr.TrimStart('、'));
}
}
}
......@@ -241,10 +241,10 @@ namespace Edu.WebApi.Controllers.Exam
item.TemplateScore,
item.TemplateNum,
item.TemplateDifficultyType,
TemplateDifficultyTypeName= item.TemplateDifficultyType.ToName(),
TemplateData= templist,
TemplateDifficultyTypeName = item.TemplateDifficultyType.ToName(),
TemplateData = templist,
item.TemplateBankIds,
QuestionStructure= QuestionStructure.TrimStart(';')
QuestionStructure = QuestionStructure.TrimStart(';')
});
}
pageModel.Count = rowsCount;
......@@ -252,12 +252,12 @@ namespace Edu.WebApi.Controllers.Exam
return ApiResult.Success(data: pageModel);
}
/// <summary>
/// 新增修改文件夹
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult SetPaperFolder()
{
var extModel = new RB_Examination_Paper_ViewModel()
......@@ -277,8 +277,7 @@ namespace Edu.WebApi.Controllers.Exam
bool flag = paperModule.SetExaminationPaperFolderModule(extModel);
return flag ? ApiResult.Success(data: extModel) : ApiResult.Failed();
}
/// <summary>
/// 根据编号获取试卷信息
......@@ -294,15 +293,147 @@ namespace Edu.WebApi.Controllers.Exam
/// <summary>
/// 根据编号删除试卷题目
/// 根据试卷详情编号删除
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult DeletePaperDetails()
{
var Id = base.ParmJObj.GetInt("Id");
var flag = paperModule.RemoveExaminationDetailsModule(Id);
return flag ? ApiResult.Success() : ApiResult.Failed();
}
/// <summary>
/// 根据试卷分组编号删除
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult DeletePaperGroup()
{
var GId = base.ParmJObj.GetInt("GId");
var QuestionTypeId = base.ParmJObj.GetInt("QuestionTypeId");
var flag = paperModule.RemoveExamnationGroupModule(GId, QuestionTypeId);
return flag ? ApiResult.Success() : ApiResult.Failed();
}
/// <summary>
/// 根据试卷编号删除试卷
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult DeletePaper()
{
var PaperId = base.ParmJObj.GetInt("PaperId");
var flag = paperModule.RemoveExamnationPaperModule(PaperId);
return flag ? ApiResult.Success() : ApiResult.Failed();
}
/// <summary>
/// 根据试卷编号复制试卷
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult DeletePaperQuestion()
public ApiResult CopyPaper()
{
var PaperId = base.ParmJObj.GetInt("PaperId");
var model = paperModule.RemoveExaminationDetailsModule(PaperId);
return ApiResult.Success(data: model);
var flag = paperModule.CopyExamnationPaperModule(PaperId);
return flag ? ApiResult.Success() : ApiResult.Failed();
}
/// <summary>
/// 移动试卷或文件夹
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult MovePaper()
{
var PaperId = base.ParmJObj.GetInt("PaperId");
var ParentId = base.ParmJObj.GetInt("ParentId");
var flag = paperModule.MoveExamnationPaperModule(PaperId, ParentId);
return flag ? ApiResult.Success() : ApiResult.Failed();
}
/// <summary>
/// 获取文件夹树形结构
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetFolderTree()
{
var extModel = new RB_Examination_Paper_ViewModel()
{
CreateBy = UserInfo.Id,
Group_Id = base.UserInfo.Group_Id,
ParentId = base.ParmJObj.GetInt("ParentId"),
IsQueryFolder=1,
};
var obj = paperModule.GetFolderTreeModule(extModel);
return ApiResult.Success(data: obj);
}
/// <summary>
/// 发布考试
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult PublishExam()
{
var model = new RB_Examination_Publish_ViewModel()
{
Id = base.ParmJObj.GetInt("Id"),
PaperId = base.ParmJObj.GetInt("PaperId"),
PublishType = base.ParmJObj.GetInt("PublishType"),
ExamStartTime = base.ParmJObj.GetDateTime("ExamStartTime"),
ExamEndTime = base.ParmJObj.GetDateTime("ExamEndTime"),
ExamTimes = base.ParmJObj.GetInt("ExamTimes"),
SubmitTimes = base.ParmJObj.GetInt("SubmitTimes"),
EnterTimes = base.ParmJObj.GetInt("EnterTimes"),
IsQuestionRandom = base.ParmJObj.GetInt("IsQuestionRandom"),
IsOptionRandom = base.ParmJObj.GetInt("IsOptionRandom"),
IsLeaveAnswer = base.ParmJObj.GetInt("IsLeaveAnswer"),
LeaveTimes = base.ParmJObj.GetInt("LeaveTimes"),
IsDisableMultiTerminal = base.ParmJObj.GetInt("IsDisableMultiTerminal"),
IsExamType = base.ParmJObj.GetInt("IsExamType"),
ExamTypeValue = base.ParmJObj.GetInt("ExamTypeValue"),
ExamNotice = base.ParmJObj.GetStringValue("ExamNotice"),
PassScore = base.ParmJObj.GetDecimal("PassScore"),
IsAutoSubmit = base.ParmJObj.GetInt("IsAutoSubmit"),
FillInIsSubject = base.ParmJObj.GetInt("FillInIsSubject"),
FillInIsIgnore = base.ParmJObj.GetInt("FillInIsIgnore"),
IsHalfScore = base.ParmJObj.GetInt("IsHalfScore"),
};
model.CreateBy = base.UserInfo.Id;
model.CreateTime = DateTime.Now;
model.Group_Id = base.UserInfo.Group_Id;
model.School_Id = base.UserInfo.School_Id;
model.Status = 0;
var flag = paperModule.SetExaminationPublishModule(model);
return flag ? ApiResult.Success() : ApiResult.Failed();
}
/// <summary>
/// 获取发布考试分页列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetPublishExamPage()
{
var pageModel = Common.Plugin.JsonHelper.DeserializeObject<ResultPageModel>(RequestParm.Msg.ToString());
var query = new RB_Examination_Publish_ViewModel()
{
PaperId = base.ParmJObj.GetInt("PaperId"),
};
query.Group_Id = base.UserInfo.Group_Id;
List<object> result = new List<object>();
var list = paperModule.GetExaminationPublishPageModule(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, query);
foreach (var item in list)
{
result.Add(item);
}
pageModel.Count = rowsCount;
pageModel.PageData = result;
return ApiResult.Success(data: pageModel);
}
}
}
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