dev #9

Merged
hy merged 11 commits from dev into master 2025-08-26 20:11:08 +08:00
4 changed files with 44 additions and 20 deletions
Showing only changes of commit b28931ce0f - Show all commits

View File

@ -79,7 +79,6 @@ namespace Learn.Archives.API.Controllers
if (dataList == null || dataList.Count() == 0)
Oh.ModelError("导入失败:无有效数据");
//todo
//处理数据
var errorExcelInfo = new List<ImportExamInfoError>();
var insertUserInfo = new List<ExamUserInfo>();
@ -97,6 +96,8 @@ namespace Learn.Archives.API.Controllers
if (school == null) Oh.ModelError($"导入失败:学校 [{schoolArr.Key}] 未找到!");
var gradeInfo = GradeHelper.GetStudentGradeBaseByGrade(schoolArr.First().Grade);
if (gradeInfo == null) Oh.ModelError($"导入失败:学校 [{schoolArr.Key}] 年级[{schoolArr.First().Grade}]不符合规范!");
if(exam.Level != GradeHelper.GetGrade(gradeInfo.GradeLevel,gradeInfo.GradeYear).ToEnum<GradeEnum>())
Oh.ModelError($"导入失败:导入年级[{schoolArr.First().Grade}] 与 考试年级不匹配!");
//学校下的所属班级
var classArr = await db.Queryable<Classes>().Where(c => c.SchoolId == school.Id &&
c.GradeLevel == gradeInfo.GradeLevel &&

View File

@ -1,4 +1,5 @@
using Aliyun.OSS;
using Dm;
using Learn.Archives.API.Controllers.Dto;
using Learn.Archives.API.Expand;
using Learn.Archives.Core.Common;
@ -138,9 +139,19 @@ namespace Learn.Archives.API.Controllers
if (dataList == null || dataList.Count() == 0)
Oh.ModelError("导入失败:无有效数据");
var insertInfo = new List<Student>();
var impError = new List<TeacherInfoImportError>();
var userCenterImp = new List<UserExcelExportData>();
foreach (var s in dataList)
{
var ginfo = GradeHelper.GetStudentGradeBaseByGrade(s.Grade);
var gStr = GradeHelper.GetGrade(ginfo.GradeLevel, ginfo.GradeYear);
if (gStr.ToEnum<GradeEnum>() == null) //无效的传入年级
{
s.ErrorMsg = "无效的年级 例如[初一/初2028] [年级范围应当是当前有效的就读年级]";
impError.Add(s);
continue;
}
userCenterImp.Add(new UserExcelExportData()
{
UserType = s.UserType,
@ -148,7 +159,7 @@ namespace Learn.Archives.API.Controllers
Subject = s.Subject,
ExamNo = s.ExamNo,
School = s.School,
Grade = s.Grade,
Grade = gStr,
Class = s.Class,
ClassType = s.ClassType,
Phone = s.Phone,
@ -157,6 +168,9 @@ namespace Learn.Archives.API.Controllers
});
}
//如果有错误数据则返回excel
if (impError.Count() != 0)
return File(impError.ExportExcel(), "application/ms-excel", $"导入错误的老师{DateTime.Now.ToString("MMddHHmm")}.xlsx");
//调用 用户中心 导入接口
var importRes = await _userCenterService.CallAPI_ImportJsonData(_httpContextAccessor.HttpContext, userCenterImp);
@ -196,9 +210,18 @@ namespace Learn.Archives.API.Controllers
if (dataList == null || dataList.Count() == 0)
Oh.ModelError("导入失败:无有效数据");
var insertInfo = new List<Student>();
var impError = new List<StudentInfoImportError>();
var userCenterImp = new List<UserExcelExportData>();
foreach (var s in dataList)
{
var ginfo = GradeHelper.GetStudentGradeBaseByGrade(s.Grade);
var gStr = GradeHelper.GetGrade(ginfo.GradeLevel, ginfo.GradeYear);
if (gStr.ToEnum<GradeEnum>() == null) //无效的传入年级
{
s.ErrorMsg = "无效的年级 例如[初一/初2028] [年级范围应当是当前有效的就读年级]";
impError.Add(s);
continue;
}
insertInfo.Add(new Student()
{
AmountRelief = decimal.TryParse(s.AmountRelief,out decimal v)?v:0,
@ -217,7 +240,7 @@ namespace Learn.Archives.API.Controllers
UserType = "学生",
Account = s.Id.ToString(),
School = s.School,
Grade = s.Grade,
Grade = gStr,
Class = s.Class,
ClassType = s.ClassType??ClassTypeEnum..ToString(),
ExamNo = s.Id.ToString(),
@ -227,6 +250,9 @@ namespace Learn.Archives.API.Controllers
});
}
//如果有错误数据则返回excel
if (impError.Count() != 0)
return File(impError.ExportExcel(), "application/ms-excel", $"导入错误学生{DateTime.Now.ToString("MMddHHmm")}.xlsx");
//调用 用户中心 导入接口
var importRes = await _userCenterService.CallAPI_ImportJsonData(_httpContextAccessor.HttpContext, userCenterImp);

View File

@ -64,13 +64,13 @@ namespace Learn.Archives.Core.Common.Expand
/// <param name="setOrgEntityFilter">配置 学校数据 sql过滤 <para>默认true</para></param>
public static void SetDbAop(ISqlSugarClient db)
{
if (db.Ado.CommandTimeOut == 61)
{
return;
}
//if (db.Ado.CommandTimeOut == 61)
//{
// return;
//}
var config = db.CurrentConnectionConfig;
//设置超时时间
db.Ado.CommandTimeOut = 61;
//db.Ado.CommandTimeOut = 61;
#if DEBUG
// 打印SQL语句
db.Aop.OnLogExecuting = (sql, pars) =>
@ -105,11 +105,6 @@ namespace Learn.Archives.Core.Common.Expand
}
};
// 超管时排除各种过滤器
//if (App.User?.FindFirst(ClaimEnum.Role)?.Value == "1")
//return;
// 配置用户机构(数据范围)过滤器
//SetOrgEntityFilter(db);
}
@ -161,13 +156,13 @@ namespace Learn.Archives.Core.Common.Expand
if (!AppCommon.Config.DB.UpdateTable)
{
Console.WriteLine($"【1】初始化主库表 跳过....");
//ShowSQL = true;
ShowSQL = true;
return;
}
Console.WriteLine($"【1】初始化主库表 执行中....");
var entityTypes = AppCommon.DbMatserType;
Console.WriteLine($"【1】数量{entityTypes.Count()} ....");
if (!entityTypes.Any()) return;
if (!entityTypes.Any()) { ShowSQL = true; return; };
var i = 0;
var totalCount = entityTypes.Count().ToString().Length;
foreach (var t in entityTypes)

View File

@ -20,10 +20,12 @@ namespace Learn.Archives.Core.Common
public void SwitchConnection()
{
var t = typeof(T);
if (AppCommon.DbMatserType.Contains(t))
base.Context = DbScoped.SugarScope;
else if (AppCommon.UserCenterType.Contains(t))
base.Context = DbScoped.SugarScope.GetConnectionScope(1001);
ISqlSugarClient d;
if (AppCommon.UserCenterType.Contains(t))
d = DbScoped.SugarScope.GetConnectionScope(1001);
else
d = DbScoped.SugarScope;
base.Context = d;
SqlSugarExpand.SetDbAop(base.Context);
}
}