dev #6
|
|
@ -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 &&
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue