dev #9
|
|
@ -79,7 +79,6 @@ namespace Learn.Archives.API.Controllers
|
||||||
if (dataList == null || dataList.Count() == 0)
|
if (dataList == null || dataList.Count() == 0)
|
||||||
Oh.ModelError("导入失败:无有效数据");
|
Oh.ModelError("导入失败:无有效数据");
|
||||||
|
|
||||||
//todo
|
|
||||||
//处理数据
|
//处理数据
|
||||||
var errorExcelInfo = new List<ImportExamInfoError>();
|
var errorExcelInfo = new List<ImportExamInfoError>();
|
||||||
var insertUserInfo = new List<ExamUserInfo>();
|
var insertUserInfo = new List<ExamUserInfo>();
|
||||||
|
|
@ -97,6 +96,8 @@ namespace Learn.Archives.API.Controllers
|
||||||
if (school == null) Oh.ModelError($"导入失败:学校 [{schoolArr.Key}] 未找到!");
|
if (school == null) Oh.ModelError($"导入失败:学校 [{schoolArr.Key}] 未找到!");
|
||||||
var gradeInfo = GradeHelper.GetStudentGradeBaseByGrade(schoolArr.First().Grade);
|
var gradeInfo = GradeHelper.GetStudentGradeBaseByGrade(schoolArr.First().Grade);
|
||||||
if (gradeInfo == null) Oh.ModelError($"导入失败:学校 [{schoolArr.Key}] 年级[{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 &&
|
var classArr = await db.Queryable<Classes>().Where(c => c.SchoolId == school.Id &&
|
||||||
c.GradeLevel == gradeInfo.GradeLevel &&
|
c.GradeLevel == gradeInfo.GradeLevel &&
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
using Aliyun.OSS;
|
using Aliyun.OSS;
|
||||||
|
using Dm;
|
||||||
using Learn.Archives.API.Controllers.Dto;
|
using Learn.Archives.API.Controllers.Dto;
|
||||||
using Learn.Archives.API.Expand;
|
using Learn.Archives.API.Expand;
|
||||||
using Learn.Archives.Core.Common;
|
using Learn.Archives.Core.Common;
|
||||||
|
|
@ -138,9 +139,19 @@ namespace Learn.Archives.API.Controllers
|
||||||
if (dataList == null || dataList.Count() == 0)
|
if (dataList == null || dataList.Count() == 0)
|
||||||
Oh.ModelError("导入失败:无有效数据");
|
Oh.ModelError("导入失败:无有效数据");
|
||||||
var insertInfo = new List<Student>();
|
var insertInfo = new List<Student>();
|
||||||
|
var impError = new List<TeacherInfoImportError>();
|
||||||
var userCenterImp = new List<UserExcelExportData>();
|
var userCenterImp = new List<UserExcelExportData>();
|
||||||
foreach (var s in dataList)
|
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()
|
userCenterImp.Add(new UserExcelExportData()
|
||||||
{
|
{
|
||||||
UserType = s.UserType,
|
UserType = s.UserType,
|
||||||
|
|
@ -148,7 +159,7 @@ namespace Learn.Archives.API.Controllers
|
||||||
Subject = s.Subject,
|
Subject = s.Subject,
|
||||||
ExamNo = s.ExamNo,
|
ExamNo = s.ExamNo,
|
||||||
School = s.School,
|
School = s.School,
|
||||||
Grade = s.Grade,
|
Grade = gStr,
|
||||||
Class = s.Class,
|
Class = s.Class,
|
||||||
ClassType = s.ClassType,
|
ClassType = s.ClassType,
|
||||||
Phone = s.Phone,
|
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);
|
var importRes = await _userCenterService.CallAPI_ImportJsonData(_httpContextAccessor.HttpContext, userCenterImp);
|
||||||
|
|
||||||
|
|
@ -196,9 +210,18 @@ namespace Learn.Archives.API.Controllers
|
||||||
if (dataList == null || dataList.Count() == 0)
|
if (dataList == null || dataList.Count() == 0)
|
||||||
Oh.ModelError("导入失败:无有效数据");
|
Oh.ModelError("导入失败:无有效数据");
|
||||||
var insertInfo = new List<Student>();
|
var insertInfo = new List<Student>();
|
||||||
|
var impError = new List<StudentInfoImportError>();
|
||||||
var userCenterImp = new List<UserExcelExportData>();
|
var userCenterImp = new List<UserExcelExportData>();
|
||||||
foreach (var s in dataList)
|
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()
|
insertInfo.Add(new Student()
|
||||||
{
|
{
|
||||||
AmountRelief = decimal.TryParse(s.AmountRelief,out decimal v)?v:0,
|
AmountRelief = decimal.TryParse(s.AmountRelief,out decimal v)?v:0,
|
||||||
|
|
@ -217,7 +240,7 @@ namespace Learn.Archives.API.Controllers
|
||||||
UserType = "学生",
|
UserType = "学生",
|
||||||
Account = s.Id.ToString(),
|
Account = s.Id.ToString(),
|
||||||
School = s.School,
|
School = s.School,
|
||||||
Grade = s.Grade,
|
Grade = gStr,
|
||||||
Class = s.Class,
|
Class = s.Class,
|
||||||
ClassType = s.ClassType??ClassTypeEnum.云校班.ToString(),
|
ClassType = s.ClassType??ClassTypeEnum.云校班.ToString(),
|
||||||
ExamNo = s.Id.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);
|
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>
|
/// <param name="setOrgEntityFilter">配置 学校数据 sql过滤 <para>默认true</para></param>
|
||||||
public static void SetDbAop(ISqlSugarClient db)
|
public static void SetDbAop(ISqlSugarClient db)
|
||||||
{
|
{
|
||||||
if (db.Ado.CommandTimeOut == 61)
|
//if (db.Ado.CommandTimeOut == 61)
|
||||||
{
|
//{
|
||||||
return;
|
// return;
|
||||||
}
|
//}
|
||||||
var config = db.CurrentConnectionConfig;
|
var config = db.CurrentConnectionConfig;
|
||||||
//设置超时时间
|
//设置超时时间
|
||||||
db.Ado.CommandTimeOut = 61;
|
//db.Ado.CommandTimeOut = 61;
|
||||||
#if DEBUG
|
#if DEBUG
|
||||||
// 打印SQL语句
|
// 打印SQL语句
|
||||||
db.Aop.OnLogExecuting = (sql, pars) =>
|
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)
|
if (!AppCommon.Config.DB.UpdateTable)
|
||||||
{
|
{
|
||||||
Console.WriteLine($"【1】初始化主库表 跳过....");
|
Console.WriteLine($"【1】初始化主库表 跳过....");
|
||||||
//ShowSQL = true;
|
ShowSQL = true;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Console.WriteLine($"【1】初始化主库表 执行中....");
|
Console.WriteLine($"【1】初始化主库表 执行中....");
|
||||||
var entityTypes = AppCommon.DbMatserType;
|
var entityTypes = AppCommon.DbMatserType;
|
||||||
Console.WriteLine($"【1】数量{entityTypes.Count()} ....");
|
Console.WriteLine($"【1】数量{entityTypes.Count()} ....");
|
||||||
if (!entityTypes.Any()) return;
|
if (!entityTypes.Any()) { ShowSQL = true; return; };
|
||||||
var i = 0;
|
var i = 0;
|
||||||
var totalCount = entityTypes.Count().ToString().Length;
|
var totalCount = entityTypes.Count().ToString().Length;
|
||||||
foreach (var t in entityTypes)
|
foreach (var t in entityTypes)
|
||||||
|
|
|
||||||
|
|
@ -20,10 +20,12 @@ namespace Learn.Archives.Core.Common
|
||||||
public void SwitchConnection()
|
public void SwitchConnection()
|
||||||
{
|
{
|
||||||
var t = typeof(T);
|
var t = typeof(T);
|
||||||
if (AppCommon.DbMatserType.Contains(t))
|
ISqlSugarClient d;
|
||||||
base.Context = DbScoped.SugarScope;
|
if (AppCommon.UserCenterType.Contains(t))
|
||||||
else if (AppCommon.UserCenterType.Contains(t))
|
d = DbScoped.SugarScope.GetConnectionScope(1001);
|
||||||
base.Context = DbScoped.SugarScope.GetConnectionScope(1001);
|
else
|
||||||
|
d = DbScoped.SugarScope;
|
||||||
|
base.Context = d;
|
||||||
SqlSugarExpand.SetDbAop(base.Context);
|
SqlSugarExpand.SetDbAop(base.Context);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue