修复 导入学生时的无效用户被收集

This commit is contained in:
小肥羊 2025-08-26 10:03:26 +08:00
parent 96b481ef9b
commit bbfb9c9f85
2 changed files with 5 additions and 1 deletions

View File

@ -1,6 +1,7 @@
using Learn.Archives.API.Controllers.Dto;
using Learn.Archives.API.Expand;
using Learn.Archives.Core.Common;
using Learn.Archives.Core.Common.Expand;
using Learn.Archives.Core.Model;
using Learn.Archives.Core.Model.Dto;
using Microsoft.AspNetCore.Authorization;
@ -84,6 +85,7 @@ namespace Learn.Archives.API.Controllers
var insertUserInfo = new List<ExamUserInfo>();
var insertClassInfo = new List<ExamClassInfo>();
var db = schoolService.Context;
SqlSugarExpand.SetDbAop(db);
foreach (var schoolArr in dataList.GroupBy(s => s.School))
{
var school = await schoolService.GetFirstAsync(s => s.Name == schoolArr.Key);
@ -94,6 +96,7 @@ namespace Learn.Archives.API.Controllers
var classArr = await db.Queryable<Classes>().Where(c => c.SchoolId == school.Id &&
c.GradeLevel == gradeInfo.GradeLevel &&
c.GraduationYear == gradeInfo.GradeYear && !c.DeleteState).ToArrayAsync();
var userDic = await db.Queryable<School>()
.LeftJoin<Classes>((s, c) => c.SchoolId == s.Id)
.LeftJoin<Position>((s, c, p) => p.ClassId == c.Id)
@ -103,6 +106,7 @@ namespace Learn.Archives.API.Controllers
s.Id == school.Id &&
c.GradeLevel == gradeInfo.GradeLevel &&
c.GraduationYear == gradeInfo.GradeYear &&
u.UserType == UserTypeEnum..GetHashCode() &&
s.Enable && p.Enable && pr.Enable &&
!p.DeleteState && !c.DeleteState && !u.DeleteState && !s.DeleteState)
.Select((s, c, p, pr, u) => new

View File

@ -103,7 +103,7 @@ namespace Learn.Archives.API.Controllers
item.AmountRelief = ex.AmountRelief;
item.ReliefApplication = ex.ReliefApplication;
item.Remark = ex.Remark;
item.ReliefType = ex.ReliefType.ToString();
item.ReliefType = ex?.ReliefType?.ToString();
item.ReliefSubTime = ex.ReliefSubTime?.ToString("yyyy-MM-dd") ?? string.Empty;
}