Commit 3449bf12 authored by liudong1993's avatar liudong1993

1

parent 6d0347e0
......@@ -15,6 +15,8 @@ namespace EduSpider.IServices
{
string ImportExcelForStuExamScore(string path_server,int courseId, string examName, int userId);
List<RB_Exam_Extend> GetExamPageList(int pageIndex, int pageSize, out long count, RB_Exam_Extend demodel);
object GetExamStuScoreInfo(int examId, int stuId);
object GetExamStuScoreInfo(int examId, int stuId, int stuUId);
List<RB_Exam_Score_Extend> GetExamStuList(RB_Exam_Score_Extend demodel);
string DelExamInfo(int examId, int baseUserId);
}
}
......@@ -43,5 +43,15 @@ namespace EduSpider.Model.Entity
/// 创建时间
/// </summary>
public DateTime CreateTime { get; set; }
/// <summary>
/// 更新人
/// </summary>
public int UpdateBy { get; set; }
/// <summary>
/// 更新时间
/// </summary>
public DateTime UpdateTime { get; set; }
}
}
......@@ -45,7 +45,7 @@ LEFT JOIN (
SELECT e.ExamId,COUNT(0) as StuNum,SUM(e.TScore) as TScore FROM rb_exam_score e GROUP BY e.ExamId
) es on e.ExamId = es.ExamId
where {where} order by e.EcamId desc";
return GetPage<RB_Exam_Extend>(pageIndex, pageSize, out count, sql).ToList();
return GetPage<RB_Exam_Extend>(pageIndex, pageSize, out count, sql, parameters).ToList();
}
}
}
......@@ -6,6 +6,7 @@ using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using VTX.FW.DB.Dapper;
namespace EduSpider.Repository
{
......@@ -16,6 +17,7 @@ namespace EduSpider.Repository
{
public List<RB_Exam_Score_Extend> GetList(RB_Exam_Score_Extend dmodel)
{
var parameters = new DynamicParameters();
string where = " 1=1";
if (dmodel.ExamId > 0)
{
......@@ -25,8 +27,17 @@ namespace EduSpider.Repository
{
where += $" and {nameof(RB_Exam_Score_Extend.StuId)} ={dmodel.StuId}";
}
if (dmodel.StuUId > 0)
{
where += $" and {nameof(RB_Exam_Score_Extend.StuUId)} ={dmodel.StuUId}";
}
if (!string.IsNullOrEmpty(dmodel.StuName))
{
where += $" and {nameof(RB_Exam_Score_Extend.StuName)} like @StuName";
parameters.Add("StuName", "%" + dmodel.StuName.Trim() + "%");
}
string sql = $"select * from RB_Exam_Score where {where}";
return Get<RB_Exam_Score_Extend>(sql).ToList();
return Get<RB_Exam_Score_Extend>(sql, parameters).ToList();
}
}
}
......@@ -10,6 +10,7 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
using VTX.FW.Attr;
using VTX.FW.DB;
using VTX.FW.Helper;
namespace EduSpider.Services
......@@ -58,14 +59,30 @@ namespace EduSpider.Services
return examRepository.GetExamPageList(pageIndex, pageSize, out count, demodel);
}
/// <summary>
/// 获取考试学生列表
/// </summary>
/// <param name="demodel"></param>
/// <returns></returns>
public List<RB_Exam_Score_Extend> GetExamStuList(RB_Exam_Score_Extend demodel)
{
return exam_ScoreRepository.GetList(demodel);
}
/// <summary>
/// 获取学生考试详情
/// </summary>
/// <param name="examId"></param>
/// <param name="stuId"></param>
/// <param name="stuUId"></param>
/// <returns></returns>
public object GetExamStuScoreInfo(int examId, int stuId)
public object GetExamStuScoreInfo(int examId, int stuId, int stuUId)
{
if (stuUId > 0) {
var accountModel = accountRepository.GetAccountList(new RB_Account_Extend() { Id = stuUId, AccountType = Utility.Enum.AccountTypeEnum.Student }).FirstOrDefault();
if (accountModel == null) { return ""; }
stuId = accountModel.AccountId;
}
var stuModel = studentRepository.GetEntity(stuId);
if (stuModel == null) { return ""; }
var examModel = examRepository.GetEntity(examId);
......@@ -128,6 +145,29 @@ namespace EduSpider.Services
};
}
/// <summary>
/// 删除考试
/// </summary>
/// <param name="examId"></param>
/// <param name="baseUserId"></param>
/// <returns></returns>
public string DelExamInfo(int examId, int baseUserId)
{
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
{ nameof(RB_Exam_Extend.Status), 1},
{ nameof(RB_Exam_Extend.UpdateBy), baseUserId},
{ nameof(RB_Exam_Extend.UpdateTime), DateTime.Now},
};
List<WhereHelper> wheres = new List<WhereHelper>() {
new WhereHelper(){
FiledName = nameof(RB_Exam_Extend.ExamId),
FiledValue = examId,
OperatorEnum =OperatorEnum.Equal
}
};
bool flag = examRepository.Update(keyValues, wheres);
return flag ? "" : "出错了,请联系管理员";
}
/// <summary>
/// 导入考试成绩
......
......@@ -52,8 +52,25 @@ namespace EduSpider.WebApi.Controllers
/// <returns></returns>
[HttpPost]
public ApiResult GetExamStuList() {
return ApiResult.Success();
RB_Exam_Score_Extend demodel = JsonHelper.Deserialize<RB_Exam_Score_Extend>(RequestParm.Msg.ToString());
if (demodel.ExamId <= 0)
{
return ApiResult.ParamIsNull();
}
var list = examService.GetExamStuList(demodel);
return ApiResult.Success("", list.Select(x => new
{
x.Id,
x.ExamId,
x.StuId,
x.StuUId,
x.StuName,
x.TScore,
x.ExamScore,
ScoreRate = Math.Round(x.TScore / x.ExamScore, 2, MidpointRounding.AwayFromZero),
x.Rank,
x.RankRate
}));
}
/// <summary>
......@@ -64,14 +81,42 @@ namespace EduSpider.WebApi.Controllers
public ApiResult GetExamStuScoreInfo() {
int ExamId = ReqParameters.GetInt("ExamId");//考试ID
int StuId = ReqParameters.GetInt("StuId");//学生id
int StuUId = ReqParameters.GetInt("StuUId");//学生Uid
if (ExamId <= 0 || StuId <= 0) {
if (ExamId <= 0 || StuId <= 0 || StuUId <= 0)
{
return ApiResult.ParamIsNull();
}
var robj = examService.GetExamStuScoreInfo(ExamId, StuId);
var robj = examService.GetExamStuScoreInfo(ExamId, StuId, StuUId);
return ApiResult.Success("", robj);
}
/// <summary>
/// 删除考试
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult DelExamInfo() {
int ExamId = ReqParameters.GetInt("ExamId");//考试ID
if (ExamId <= 0)
{
return ApiResult.ParamIsNull("请传递考试ID");
}
if (UserInfo.AccountType != Utility.Enum.AccountTypeEnum.Teacher)
{
return ApiResult.ParamIsNull("非老师账户,无法操作");
}
string rmsg = examService.DelExamInfo(ExamId, base.BaseUserId);
if (rmsg == "")
{
return ApiResult.Success();
}
else {
return ApiResult.Failed(rmsg);
}
}
}
}
......@@ -78,7 +78,7 @@ namespace EduSpider.WebApi.Controllers
string dateStr = DateTime.Now.ToString("yyyyMMdd");
string tempPath = basepath + "upfile\\temporary\\" + dateStr + "\\";
string path_server = tempPath + path;
string httpPath = "/upfile/temporary/" + dateStr + "/" + path;
//string httpPath = "/upfile/temporary/" + dateStr + "/" + path;
if (!Directory.Exists(tempPath))
{
Directory.CreateDirectory(tempPath);
......@@ -92,6 +92,14 @@ namespace EduSpider.WebApi.Controllers
string rmsg = examService.ImportExcelForStuExamScore(path_server, CourseId, ExamName, UserId);
if (rmsg == "")
{
try
{
System.IO.File.Delete(path_server);//删除原文件
}
catch (Exception)
{
LogHelper.WriteError("UploadStuExamScore", "删除原文件失败");
}
return ApiResult.Success();
}
else
......
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