优化 导入考试信息功能
This commit is contained in:
parent
7d5f8984df
commit
8463f7ec86
|
|
@ -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<ImportExamInfoError> dataList;
|
||||
using var stream = new MemoryStream();
|
||||
{
|
||||
await fl.CopyToAsync(stream);
|
||||
dataList = stream.Query<ImportExamInfoError>()
|
||||
.Where(s => !string.IsNullOrEmpty(s.Student));
|
||||
}
|
||||
if (exam == null ) Oh.ModelError("为传入有效的数据");
|
||||
var dataList = await accessor.ParsingExcelAsync<ImportExamInfoError>();
|
||||
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)
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue