From 8463f7ec86367831c54d77f61bbad61cef2084ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E8=82=A5=E7=BE=8A?= <1048382248@qq.com> Date: Thu, 27 Nov 2025 12:30:38 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=20=E5=AF=BC=E5=85=A5?= =?UTF-8?q?=E8=80=83=E8=AF=95=E4=BF=A1=E6=81=AF=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/ExamClassInfoController.cs | 16 +++------------- .../Controllers/StudentController.cs | 15 +++++++++++---- 2 files changed, 14 insertions(+), 17 deletions(-) diff --git a/Learn.Archives.API/Controllers/ExamClassInfoController.cs b/Learn.Archives.API/Controllers/ExamClassInfoController.cs index 7de18c1..4c488aa 100644 --- a/Learn.Archives.API/Controllers/ExamClassInfoController.cs +++ b/Learn.Archives.API/Controllers/ExamClassInfoController.cs @@ -57,18 +57,8 @@ namespace Learn.Archives.API.Controllers { var exam = await examService.GetByIdAsync(dto.eId); - var fl = dto.File!=null? dto .File: accessor.HttpContext?.Request.Form.Files[0]; - if (exam == null || fl == null) Oh.ModelError("为传入有效的数据"); - if (!Path.GetExtension(fl.FileName).Equals(".xlsx", StringComparison.OrdinalIgnoreCase)) - Oh.ModelError("请选择导入文件为.xlsx的后缀名!"); - //分析excel - IEnumerable dataList; - using var stream = new MemoryStream(); - { - await fl.CopyToAsync(stream); - dataList = stream.Query() - .Where(s => !string.IsNullOrEmpty(s.Student)); - } + if (exam == null ) Oh.ModelError("为传入有效的数据"); + var dataList = await accessor.ParsingExcelAsync(); if (dataList == null || dataList.Count() == 0) Oh.ModelError("导入失败:无有效数据"); @@ -353,7 +343,7 @@ namespace Learn.Archives.API.Controllers c.GraduationYear == exam.GradeYear && !c.DeleteState) .ToArrayAsync(); - foreach (var classUserArr in userInfoArr.Where(s=>s.SchoolId == school.Id).GroupBy(s => s.ClassId)) + foreach (var classUserArr in schoolArr.GroupBy(s => s.ClassId)) { var classInfo = classArr.FirstOrDefault(s => s.Id == classUserArr.Key); if (classInfo is null) diff --git a/Learn.Archives.API/Controllers/StudentController.cs b/Learn.Archives.API/Controllers/StudentController.cs index 78ecd97..cf57187 100644 --- a/Learn.Archives.API/Controllers/StudentController.cs +++ b/Learn.Archives.API/Controllers/StudentController.cs @@ -416,7 +416,7 @@ namespace Learn.Archives.API.Controllers var u = new Student() { UserCenterId = uid, - AmountRelief = decimal.TryParse(row.AmountRelief, out var v) ? v : 0, + AmountRelief = decimal.TryParse(row.AmountRelief, out var v) ? v : null, ReliefApplication = row.ReliefApplication?.Contains("已申请") ?? false, ReliefType = row.ReliefType, ReliefSubTime = row.ReliefSubTime, @@ -453,6 +453,16 @@ namespace Learn.Archives.API.Controllers if (updateArr.Count > 0) { + updateArr = updateArr.Where(s => + new object[] { s.AmountRelief, + s.ReliefType, + s.ReliefSubTime, + s.StudentType, + s.Status, + s.JoinTime, + s.ExitTime, + s.Remark}.Any(x => !(x == default || x == null))).ToList(); + // 测试IgnoreColumns是否真实有效 await baseService.AsUpdateable(updateArr) .UpdateColumns(s => new { @@ -484,9 +494,6 @@ namespace Learn.Archives.API.Controllers .IgnoreColumns(ignoreAllNullColumns: true, ignoreAllDefaultValue: true) .WhereColumns(it => new { it.Id }) .ExecuteCommandAsync(); - - - Oh.Error("需要测试"); return Ok(); }