Commit e34d7a8a authored by 吴春's avatar 吴春

提交代码

parent 09f0e315
......@@ -149,5 +149,10 @@ namespace Edu.Model.Entity.Exam
/// 审核人
/// </summary>
public int Reviewer { get; set; }
/// <summary>
/// 封面图片
/// </summary>
public string PublishPic { get; set; }
}
}
......@@ -71,5 +71,10 @@ namespace Edu.Model.Entity.Exam
/// 状态
/// </summary>
public int Status { get; set; }
/// <summary>
/// 考试状态,0-没考,1-已考
/// </summary>
public int ExamStatus { get; set; }
}
}
......@@ -34,5 +34,20 @@ namespace Edu.Model.ViewModel.Exam
/// 查询id
/// </summary>
public string QPublishIds { get; set; }
/// <summary>
/// 学生id
/// </summary>
public int GuestId { get; set; }
/// <summary>
/// 考试状态,0-没考,1-已考(查询条件的时候,1-未开始,2-已开始,3-已缺考,4-已完成)
/// </summary>
public int ExamStatus { get; set; }
/// <summary>
/// 考试状态
/// </summary>
public string ExamStatusStr { get; set; }
}
}
......@@ -115,5 +115,10 @@ namespace Edu.Model.ViewModel.User
/// 剩余课时
/// </summary>
public int SurplusHours { get; set; }
/// <summary>
/// 学生id(rb_order_guest的id)
/// </summary>
public int GuestId { get; set; }
}
}
\ No newline at end of file
......@@ -1406,7 +1406,7 @@ namespace Edu.Module.EduTask
{
{nameof(RB_Examination_Paper_ViewModel.ExamineStatus),(int)EduTaskRrocessStatus.AuditThrough}
};
flag = education_ReceiptRepository.Update(fileds, new WhereHelper(nameof(RB_Examination_Paper_ViewModel.PaperId), receiptModel.RelationId));
flag = examination_PaperRepository.Update(fileds, new WhereHelper(nameof(RB_Examination_Paper_ViewModel.PaperId), receiptModel.RelationId));
}
if (auditModel.AuditStatus == 3)
......@@ -1415,7 +1415,7 @@ namespace Edu.Module.EduTask
{
{nameof(RB_Examination_Paper_ViewModel.ExamineStatus),(int)EduTaskRrocessStatus.Rejected}
};
flag = education_ReceiptRepository.Update(fileds, new WhereHelper(nameof(RB_Examination_Paper_ViewModel.PaperId), receiptModel.RelationId));
flag = examination_PaperRepository.Update(fileds, new WhereHelper(nameof(RB_Examination_Paper_ViewModel.PaperId), receiptModel.RelationId));
}
}
......@@ -1425,18 +1425,18 @@ namespace Edu.Module.EduTask
{
Dictionary<string, object> fileds = new Dictionary<string, object>()
{
{nameof(RB_Examination_Paper_ViewModel.ExamineStatus),(int)EduTaskRrocessStatus.AuditThrough}
{nameof(RB_Examination_Publish_ViewModel.ExamineStatus),(int)EduTaskRrocessStatus.AuditThrough}
};
flag = examination_PublishRepository.Update(fileds, new WhereHelper(nameof(RB_Examination_Paper_ViewModel.PaperId), receiptModel.RelationId));
flag = examination_PublishRepository.Update(fileds, new WhereHelper(nameof(RB_Examination_Publish_ViewModel.Id), receiptModel.RelationId));
}
if (auditModel.AuditStatus == 3)
{
Dictionary<string, object> fileds = new Dictionary<string, object>()
{
{nameof(RB_Examination_Paper_ViewModel.ExamineStatus),(int)EduTaskRrocessStatus.Rejected}
{nameof(RB_Examination_Publish_ViewModel.ExamineStatus),(int)EduTaskRrocessStatus.Rejected}
};
flag = examination_PublishRepository.Update(fileds, new WhereHelper(nameof(RB_Examination_Paper_ViewModel.PaperId), receiptModel.RelationId));
flag = examination_PublishRepository.Update(fileds, new WhereHelper(nameof(RB_Examination_Publish_ViewModel.Id), receiptModel.RelationId));
}
}
......
......@@ -541,7 +541,7 @@ namespace Edu.Module.Exam
{
foreach (var gItem in extModel.GroupList)
{
gItem.DetailsList = detailsList?.Where(qitem => qitem.QuestionTypeId == gItem.QuestionTypeId)?.OrderBy(qitem=>qitem.SortNum)?.ToList() ?? new List<RB_Examination_Details_ViewModel>();
gItem.DetailsList = detailsList?.Where(qitem => qitem.QuestionTypeId == gItem.QuestionTypeId)?.OrderBy(qitem => qitem.SortNum)?.ToList() ?? new List<RB_Examination_Details_ViewModel>();
if (gItem.DetailsList != null && gItem.DetailsList.Count > 0)
{
gItem.GScore = gItem?.DetailsList?.Sum(qitem => qitem.Score) ?? 0;
......@@ -923,6 +923,20 @@ namespace Edu.Module.Exam
return flag;
}
/// <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> GetGuestExaminationPublishPage(int pageIndex, int pageSize, out long rowsCount, RB_Examination_Publish_ViewModel query)
{
return examination_PublishRepository.GetGuestExaminationPublishPage(pageIndex, pageSize, out rowsCount, query);
}
#region 考试配置
/// <summary>
/// 获取配置列表
......
......@@ -79,5 +79,64 @@ WHERE 1=1
return Get<RB_Examination_Publish_ViewModel>(builder.ToString(), parameters).ToList();
}
/// <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> GetGuestExaminationPublishPage(int pageIndex, int pageSize, out long rowsCount, RB_Examination_Publish_ViewModel query)
{
var parameters = new DynamicParameters();
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT A.*,IFNULL(B.PaperName,'') AS PaperName,c.ExamStatus
FROM RB_Examination_Publish AS A LEFT JOIN rb_examination_paper AS B ON A.PaperId=B.PaperId
LEFT JOIN rb_examination_student as c on c.PublishId=a.Id
WHERE 1=1 and a.ExamineStatus=2 and b.ExamineStatus=2
");
if (query != null)
{
if (query.Group_Id > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Examination_Publish_ViewModel.Group_Id), query.Group_Id);
}
if (query.GuestId > 0)
{
builder.AppendFormat(" AND c.{0}={1} ", nameof(RB_Examination_Publish_ViewModel.GuestId), query.GuestId);
}
if (!string.IsNullOrEmpty(query.PaperName))
{
builder.AppendFormat(" AND B.{0} LIKE @PaperName ", nameof(RB_Examination_Publish_ViewModel.PaperName));
parameters.Add("PaperName", "%" + query.PaperName.Trim() + "%");
}
if (query.ExamStatus > 0)
{
if (query.ExamStatus == 1)
{
builder.AppendFormat(" AND a.{0} > '{1}' ", nameof(RB_Examination_Publish_ViewModel.ExamStartTime), DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
}
else if (query.ExamStatus == 2)
{
builder.AppendFormat(" AND a.{0} < '{1}' and a.{2} > '{1}' ", nameof(RB_Examination_Publish_ViewModel.ExamStartTime), DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), nameof(RB_Examination_Publish_ViewModel.ExamEndTime));
}
else if (query.ExamStatus == 3)
{
builder.AppendFormat(" AND a.{0} > '{1}' and c.{2}=0 ", nameof(RB_Examination_Publish_ViewModel.ExamEndTime), DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), nameof(RB_Examination_Publish_ViewModel.ExamStatus));
}
else if (query.ExamStatus == 4)
{
builder.AppendFormat(" AND a.{0} > '{1}' and c.{2}=1 ", nameof(RB_Examination_Publish_ViewModel.ExamEndTime), DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), nameof(RB_Examination_Publish_ViewModel.ExamStatus));
}
}
}
builder.AppendFormat(" order by a.{0} desc ", nameof(RB_Examination_Publish_ViewModel.ExamStartTime));
return GetPage<RB_Examination_Publish_ViewModel>(pageIndex, pageSize, out rowsCount, builder.ToString()).ToList();
}
}
}
......@@ -164,7 +164,7 @@ where b.`Status`=0 and b.ClassStatus in(1,2) and a.status=0 and a.Account_Id={
{
var parameters = new DynamicParameters();
StringBuilder builder = new StringBuilder();
builder.AppendFormat($@"SELECT s.*,o.OrderState,cou.CourseName,cou.CourseId,c.ClassName,c.ClassId,c.ClassStatus,sch.SName,sch.SId,t.TeacherName,o.EnterID,(og.TotalHours-og.CompleteHours) as SurplusHours from rb_student as s LEFT JOIN rb_student_orderguest as sog on s.StuId=sog.Student_Id
builder.AppendFormat($@"SELECT s.*,sog.GuestId,o.OrderState,cou.CourseName,cou.CourseId,c.ClassName,c.ClassId,c.ClassStatus,sch.SName,sch.SId,t.TeacherName,o.EnterID,(og.TotalHours-og.CompleteHours) as SurplusHours from rb_student as s LEFT JOIN rb_student_orderguest as sog on s.StuId=sog.Student_Id
LEFT JOIN rb_order_guest as og on og.Id=sog.GuestId
LEFT JOIN rb_order as o on og.OrderId=o.OrderId
LEFT JOIN rb_course as cou on o.CourseId=cou.CourseId
......
......@@ -57,6 +57,11 @@ namespace Edu.WebApi.Controllers.Applet
/// </summary>
private readonly EducationReceiptModule educationReceiptModule = AOP.AOPHelper.CreateAOPObject<EducationReceiptModule>();
/// <summary>
/// 试卷处理类对象
/// </summary>
private readonly Module.Exam.PaperModule paperModule = AOP.AOPHelper.CreateAOPObject<Module.Exam.PaperModule>();
#region 小程序首页
/// <summary>
/// 小程序首页
......@@ -102,6 +107,45 @@ namespace Edu.WebApi.Controllers.Applet
{
classModel = new Model.ViewModel.Grade.RB_Class_Time_Extend();
}
#region 我的试卷
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 });
if (examinationPublishList == null)
{
examinationPublishList = new List<Model.ViewModel.Exam.RB_Examination_Publish_ViewModel>();
}
else
{
foreach (var item in examinationPublishList)
{
if (item.ExamStartTime > System.DateTime.Now)
{
item.ExamStatusStr = "未开始";
}
else if (item.ExamEndTime > System.DateTime.Now)
{
if (item.ExamStatus == 0)
{
item.ExamStatusStr = "缺考";
}
else if (item.ExamStatus == 1)
{
item.ExamStatusStr = "完成";
}
}
else if (item.ExamStartTime < System.DateTime.Now && item.ExamEndTime > System.DateTime.Now)
{
item.ExamStatusStr = "已开始";
}
}
}
}
#endregion
var result = new
{
studentModel.SName,//学区
......@@ -111,6 +155,7 @@ namespace Edu.WebApi.Controllers.Applet
studentModel.ClassId,
studentModel.ClassName,
studentModel.CourseId,
studentModel.GuestId,
EnterPhone = Cache.User.UserReidsCache.GetUserLoginInfo(studentModel.EnterID).UserMobile,
ContractNum = (((contractList != null && contractList.Any()) ? contractList.Count() : 0) + ((backClassList != null && backClassList.Any()) ? backClassList.Count() : 0)),//合同数
ClassPlan = new //我的课表最新一个数据
......@@ -121,7 +166,8 @@ namespace Edu.WebApi.Controllers.Applet
TeacherName = classModel.TeacherName,
TimeStatusStr = classModel.ClassStatus,
}
},
paperList = examinationPublishList.Select(x => new { x.PaperId, x.Id, x.PaperName, x.PublishPic, ExamStartTime = x.ExamStartTime.ToString("yyyy-MM-dd HH:mm:ss"), x.ExamStatus, x.ExamStatusStr })
};
return ApiResult.Success("", result);
......@@ -450,5 +496,66 @@ namespace Edu.WebApi.Controllers.Applet
return flag ? ApiResult.Success() : ApiResult.Failed();
}
#endregion
#region 我的考卷列表
/// <summary>
/// 获取考卷列表分页列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetGuestExaminationPublishPage()
{
var pageModel = Common.Plugin.JsonHelper.DeserializeObject<ResultPageModel>(RequestParm.Msg.ToString());
var query = new Model.ViewModel.Exam.RB_Examination_Publish_ViewModel()
{
Group_Id = base.AppletUserInfo.Group_Id,
ExamStatus = base.ParmJObj.GetInt("ExamStatus", 0),
GuestId = base.ParmJObj.GetInt("GuestId", 0),
};
var list = paperModule.GetGuestExaminationPublishPage(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, query);
foreach (var item in list)
{
if (item.ExamStartTime > System.DateTime.Now)
{
item.ExamStatusStr = "未开始";
}
else if (item.ExamEndTime > System.DateTime.Now)
{
if (item.ExamStatus == 0)
{
item.ExamStatusStr = "缺考";
}
else if (item.ExamStatus == 1)
{
item.ExamStatusStr = "完成";
}
}
else if (item.ExamStartTime < System.DateTime.Now && item.ExamEndTime > System.DateTime.Now)
{
item.ExamStatusStr = "已开始";
}
}
pageModel.PageData = list.Select(x => new { x.PaperId, x.Id, x.PaperName, x.PublishPic, ExamStartTime= x.ExamStartTime.ToString("yyyy-MM-dd HH:mm:ss"), x.ExamStatus, x.ExamStatusStr });
pageModel.Count = rowsCount;
return ApiResult.Success(data: pageModel);
}
/// <summary>
/// 根据编号获取试卷信息
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetPaperDetails()
{
var PaperId = base.ParmJObj.GetInt("PaperId");
var Id = base.ParmJObj.GetInt("Id");
var modelPublish = paperModule.GetExaminationPublishModule(Id);
var modelPaper = paperModule.GetExaminationPaperModule(PaperId);
return ApiResult.Success(data: new{ Publish= modelPublish, Paper = modelPaper });
}
#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