dev #43
|
|
@ -57,18 +57,8 @@ namespace Learn.Archives.API.Controllers
|
||||||
{
|
{
|
||||||
|
|
||||||
var exam = await examService.GetByIdAsync(dto.eId);
|
var exam = await examService.GetByIdAsync(dto.eId);
|
||||||
var fl = dto.File!=null? dto .File: accessor.HttpContext?.Request.Form.Files[0];
|
if (exam == null ) Oh.ModelError("为传入有效的数据");
|
||||||
if (exam == null || fl == null) Oh.ModelError("为传入有效的数据");
|
var dataList = await accessor.ParsingExcelAsync<ImportExamInfoError>();
|
||||||
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 (dataList == null || dataList.Count() == 0)
|
if (dataList == null || dataList.Count() == 0)
|
||||||
Oh.ModelError("导入失败:无有效数据");
|
Oh.ModelError("导入失败:无有效数据");
|
||||||
|
|
||||||
|
|
@ -353,7 +343,7 @@ namespace Learn.Archives.API.Controllers
|
||||||
c.GraduationYear == exam.GradeYear && !c.DeleteState)
|
c.GraduationYear == exam.GradeYear && !c.DeleteState)
|
||||||
.ToArrayAsync();
|
.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);
|
var classInfo = classArr.FirstOrDefault(s => s.Id == classUserArr.Key);
|
||||||
if (classInfo is null)
|
if (classInfo is null)
|
||||||
|
|
|
||||||
|
|
@ -416,7 +416,7 @@ namespace Learn.Archives.API.Controllers
|
||||||
var u = new Student()
|
var u = new Student()
|
||||||
{
|
{
|
||||||
UserCenterId = uid,
|
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,
|
ReliefApplication = row.ReliefApplication?.Contains("已申请") ?? false,
|
||||||
ReliefType = row.ReliefType,
|
ReliefType = row.ReliefType,
|
||||||
ReliefSubTime = row.ReliefSubTime,
|
ReliefSubTime = row.ReliefSubTime,
|
||||||
|
|
@ -453,6 +453,16 @@ namespace Learn.Archives.API.Controllers
|
||||||
|
|
||||||
if (updateArr.Count > 0)
|
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)
|
await baseService.AsUpdateable(updateArr)
|
||||||
.UpdateColumns(s => new
|
.UpdateColumns(s => new
|
||||||
{
|
{
|
||||||
|
|
@ -484,9 +494,6 @@ namespace Learn.Archives.API.Controllers
|
||||||
.IgnoreColumns(ignoreAllNullColumns: true, ignoreAllDefaultValue: true)
|
.IgnoreColumns(ignoreAllNullColumns: true, ignoreAllDefaultValue: true)
|
||||||
.WhereColumns(it => new { it.Id })
|
.WhereColumns(it => new { it.Id })
|
||||||
.ExecuteCommandAsync();
|
.ExecuteCommandAsync();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Oh.Error("需要测试");
|
Oh.Error("需要测试");
|
||||||
return Ok();
|
return Ok();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue