新增 导入考试考试时成绩重复录入判定

This commit is contained in:
小肥羊 2025-08-26 10:34:22 +08:00
parent bbfb9c9f85
commit 3e622926cf
1 changed files with 11 additions and 0 deletions

View File

@ -84,6 +84,11 @@ namespace Learn.Archives.API.Controllers
var errorExcelInfo = new List<ImportExamInfoError>(); var errorExcelInfo = new List<ImportExamInfoError>();
var insertUserInfo = new List<ExamUserInfo>(); var insertUserInfo = new List<ExamUserInfo>();
var insertClassInfo = new List<ExamClassInfo>(); var insertClassInfo = new List<ExamClassInfo>();
var oldUidAr = await examUserInfoService.AsQueryable()
.Where(s => s.ExamId == exam.Id)
.Select(s=>s.UserId)
.ToArrayAsync();
var oldUidHash = oldUidAr.ToHashSet();
var db = schoolService.Context; var db = schoolService.Context;
SqlSugarExpand.SetDbAop(db); SqlSugarExpand.SetDbAop(db);
foreach (var schoolArr in dataList.GroupBy(s => s.School)) foreach (var schoolArr in dataList.GroupBy(s => s.School))
@ -135,6 +140,12 @@ namespace Learn.Archives.API.Controllers
return null; return null;
} }
var uid = userDic[name]; var uid = userDic[name];
if(oldUidHash!=null &&oldUidHash.Contains((long)uid))
{
s.Error = "此学生已经在考试中已经录入过成绩";
errorExcelInfo.Add(s);
return null;
}
return new ExamUserInfo() return new ExamUserInfo()
{ {
ExamId = exam.Id, ExamId = exam.Id,