dev #6
|
|
@ -7,11 +7,13 @@ using Learn.Archives.Core.Model.Dto;
|
|||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using MiniExcelLibs;
|
||||
using System.Buffers.Text;
|
||||
using System.Diagnostics;
|
||||
using System.Security.Claims;
|
||||
using UserCenter.Model;
|
||||
using UserCenter.Model.Common;
|
||||
using UserCenter.Model.Enum;
|
||||
using static System.Net.Mime.MediaTypeNames;
|
||||
|
||||
namespace Learn.Archives.API.Controllers
|
||||
{
|
||||
|
|
@ -79,7 +81,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>();
|
||||
|
|
@ -90,13 +91,14 @@ namespace Learn.Archives.API.Controllers
|
|||
.ToArrayAsync();
|
||||
var oldUidHash = oldUidAr.ToHashSet();
|
||||
var db = schoolService.Context;
|
||||
SqlSugarExpand.SetDbAop(db);
|
||||
foreach (var schoolArr in dataList.GroupBy(s => s.School))
|
||||
{
|
||||
var school = await schoolService.GetFirstAsync(s => s.Name == schoolArr.Key);
|
||||
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.GradeLevel != gradeInfo.GradeLevel || exam.GradeYear != gradeInfo.GradeYear)
|
||||
Oh.ModelError($"导入失败:导入年级[{schoolArr.First().Grade}] 与 考试年级不匹配!");
|
||||
//学校下的所属班级
|
||||
var classArr = await db.Queryable<Classes>().Where(c => c.SchoolId == school.Id &&
|
||||
c.GradeLevel == gradeInfo.GradeLevel &&
|
||||
|
|
@ -164,9 +166,46 @@ namespace Learn.Archives.API.Controllers
|
|||
};
|
||||
}).ToList();
|
||||
insertUserInfo.AddRange(userList);
|
||||
|
||||
insertUserInfo = insertUserInfo.Where(s => s != null).ToList();
|
||||
foreach (var classUserArr in insertUserInfo.GroupBy(s => s.ClassId))
|
||||
};
|
||||
|
||||
if (errorExcelInfo.Count != 0)
|
||||
return File(errorExcelInfo.ExportExcel(), "application/ms-excel", $"错误考试信息{DateTime.Now.ToString("MMddHHmm")}.xlsx");
|
||||
|
||||
//写入数据库
|
||||
await examUserInfoService.AsInsertable(insertUserInfo).ExecuteCommandAsync();
|
||||
|
||||
await CalculatingTestResults(exam,examUserInfoService,schoolService);
|
||||
|
||||
return Ok();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 计算考试成绩
|
||||
/// </summary>
|
||||
/// <param name="exam"></param>
|
||||
/// <param name="examUserInfoService"></param>
|
||||
/// <param name="schoolService"></param>
|
||||
/// <returns></returns>
|
||||
[NonAction]
|
||||
public static async Task CalculatingTestResults(Exam exam, Repository<ExamUserInfo> eUService, Repository<School> sService)
|
||||
{
|
||||
var userInfoArr = await eUService.AsQueryable()
|
||||
.Where(s => s.ExamId == exam.Id)
|
||||
.ToArrayAsync();
|
||||
|
||||
var insertTotalClassInfo = new List<ExamClassInfo>();
|
||||
var db = sService.Context;
|
||||
foreach (var schoolArr in userInfoArr.GroupBy(s => s.SchoolId))
|
||||
{
|
||||
|
||||
var insertClassInfo = new List<ExamClassInfo>();
|
||||
var school = await sService.GetFirstAsync(s => s.Id == schoolArr.Key);
|
||||
var classArr = await db.Queryable<Classes>().Where(c => c.SchoolId == school.Id &&
|
||||
c.GradeLevel == exam.GradeLevel &&
|
||||
c.GraduationYear == exam.GradeYear && !c.DeleteState).ToArrayAsync();
|
||||
|
||||
foreach (var classUserArr in userInfoArr.GroupBy(s => s.ClassId))
|
||||
{
|
||||
var classInfo = classArr.First(s => s.Id == classUserArr.Key);
|
||||
var eCInfo = new ExamClassInfo()
|
||||
|
|
@ -181,9 +220,7 @@ namespace Learn.Archives.API.Controllers
|
|||
GradeYear = classInfo.GraduationYear,
|
||||
PeopleCount = classUserArr.Count(),
|
||||
MinScore = int.MaxValue,
|
||||
EntryPersonId = userInfo.Id,
|
||||
BaseSchoolScore = exam.BaseSchoolScore,
|
||||
EntryPerson = userInfo.Name,
|
||||
TestPaperType = exam.TestPaperType,
|
||||
Type = exam.Type,
|
||||
Average1 = exam.BaseSchoolScore,
|
||||
|
|
@ -194,12 +231,12 @@ namespace Learn.Archives.API.Controllers
|
|||
{
|
||||
var v = eUserInfo.AssignScore;
|
||||
//上线人数
|
||||
if (v>=exam.ScoreLine)
|
||||
eCInfo.OnLineCount ++;
|
||||
if (v >= exam.ScoreLine)
|
||||
eCInfo.OnLineCount++;
|
||||
//最大小分
|
||||
if (v < eCInfo.MinScore)
|
||||
eCInfo.MinScore = v;
|
||||
else if(v > eCInfo.MaxScore)
|
||||
else if (v > eCInfo.MaxScore)
|
||||
eCInfo.MaxScore = v;
|
||||
avgTotal += v;//追加得分
|
||||
}
|
||||
|
|
@ -207,23 +244,14 @@ namespace Learn.Archives.API.Controllers
|
|||
eCInfo.Average = avgTotal / eCInfo.PeopleCount;
|
||||
//计算上线率
|
||||
eCInfo.OnLineRate = (decimal)eCInfo.OnLineCount / (decimal)eCInfo.PeopleCount;
|
||||
//不计算 直接Excel导入
|
||||
////处理学生班级排名
|
||||
//var i = 0;
|
||||
//foreach (var item in classUserArr.OrderByDescending(s => s.AssignScore)
|
||||
// .GroupBy(s => s.AssignScore))
|
||||
//{
|
||||
// foreach (var u in item)
|
||||
// u.AssignRanking =++ i;
|
||||
//}
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
insertTotalClassInfo.AddRange(insertClassInfo);
|
||||
}
|
||||
|
||||
{ //计算年级上线率排名
|
||||
var i = 0;
|
||||
foreach (var item in insertClassInfo.OrderByDescending(s => s.OnLineRate)
|
||||
foreach (var item in insertTotalClassInfo.OrderByDescending(s => s.OnLineRate)
|
||||
.GroupBy(s => s.OnLineRate))
|
||||
{
|
||||
foreach (var u in item)
|
||||
|
|
@ -232,25 +260,21 @@ namespace Learn.Archives.API.Controllers
|
|||
|
||||
//计算年级平均分排名
|
||||
i = 0;
|
||||
foreach (var item in insertClassInfo.OrderByDescending(s => s.Average)
|
||||
foreach (var item in insertTotalClassInfo.OrderByDescending(s => s.Average)
|
||||
.GroupBy(s => s.Average))
|
||||
{
|
||||
foreach (var u in item)
|
||||
u.AverageRank = ++i;
|
||||
}
|
||||
}
|
||||
if (errorExcelInfo.Count != 0)
|
||||
return File(errorExcelInfo.ExportExcel(), "application/ms-excel", $"错误考试信息{DateTime.Now.ToString("MMddHHmm")}.xlsx");
|
||||
|
||||
//写入数据库
|
||||
var baseDB = baseService.Context;
|
||||
var baseDB = eUService.Context;
|
||||
baseDB.Ado.BeginTran();
|
||||
try
|
||||
{
|
||||
await baseDB.Insertable(insertUserInfo).ExecuteCommandAsync();
|
||||
await baseDB.Insertable(insertClassInfo).ExecuteCommandAsync();
|
||||
await baseDB.Deleteable<ExamClassInfo>().Where(s=>s.ExamId==exam.Id).ExecuteCommandAsync();
|
||||
await baseDB.Insertable(insertTotalClassInfo).ExecuteCommandAsync();
|
||||
baseDB.Ado.CommitTran();
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
|
@ -258,7 +282,6 @@ namespace Learn.Archives.API.Controllers
|
|||
Oh.ModelError($"导入失败:写入数据时候出现了异常 [{ex.Message}] !");
|
||||
}
|
||||
|
||||
return Ok();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
|
|||
|
|
@ -3,11 +3,13 @@ using Learn.Archives.API.Controllers.Dto;
|
|||
using Learn.Archives.API.Expand;
|
||||
using Learn.Archives.Core.Common;
|
||||
using Learn.Archives.Core.Model;
|
||||
using Learn.Archives.Core.Model.Dto;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using System.Diagnostics;
|
||||
using System.Security.Claims;
|
||||
using UserCenter.Model;
|
||||
using UserCenter.Model.Common;
|
||||
|
||||
namespace Learn.Archives.API.Controllers
|
||||
{
|
||||
|
|
@ -17,17 +19,59 @@ namespace Learn.Archives.API.Controllers
|
|||
public class ExamController : BackController<Exam>
|
||||
{
|
||||
readonly Repository<Exam> baseService;
|
||||
readonly Repository<School> schoolService;
|
||||
readonly Repository<ExamClassInfo> examClassInfoService;
|
||||
readonly Repository<ExamUserInfo> examUserInfoService;
|
||||
readonly LiveUserInfo userInfo;
|
||||
public ExamController(Repository<Exam> baseService, LiveUserInfo userInfo, Repository<ExamClassInfo> examClassInfoService, Repository<ExamUserInfo> examUserInfoService) : base(baseService)
|
||||
public ExamController(Repository<Exam> baseService, LiveUserInfo userInfo,
|
||||
Repository<ExamClassInfo> examClassInfoService, Repository<ExamUserInfo> examUserInfoService,
|
||||
Repository<School> schoolService) : base(baseService)
|
||||
{
|
||||
this.baseService = baseService;
|
||||
this.userInfo = userInfo;
|
||||
this.examClassInfoService = examClassInfoService;
|
||||
this.examUserInfoService = examUserInfoService;
|
||||
this.schoolService = schoolService;
|
||||
}
|
||||
public override Task<dynamic> PageList([FromBody] QueryRequestBase model)
|
||||
{
|
||||
var c = model.Conditions.FirstOrDefault(s => s.FieldName == "Grade");
|
||||
if (c != null)
|
||||
{
|
||||
var gInfo = GradeHelper.GetStudentGradeBaseByGrade(c.FieldValue);
|
||||
if (gInfo != null)
|
||||
{
|
||||
model.Conditions = model.Conditions.Where(s => s != c).ToList();
|
||||
model.Conditions.Add(new SqlSugar.ConditionalModel()
|
||||
{
|
||||
FieldName = "GradeLevel",
|
||||
FieldValue = gInfo.GradeLevel,
|
||||
});
|
||||
model.Conditions.Add(new SqlSugar.ConditionalModel()
|
||||
{
|
||||
FieldName = "GradeYear",
|
||||
FieldValue = gInfo.GradeYear.ToString(),
|
||||
CSharpTypeName = "int"
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
return base.PageList(model);
|
||||
}
|
||||
public override async Task<bool> Edit([FromBody] Exam model)
|
||||
{
|
||||
|
||||
if (!string.IsNullOrEmpty(model._grade))
|
||||
{
|
||||
var g = GradeHelper.GetStudentGradeBaseByGrade(model._grade);
|
||||
model.GradeLevel = g.GradeLevel;
|
||||
model.GradeYear = g.GradeYear;
|
||||
}
|
||||
var res =await base.Edit(model);
|
||||
if (res)
|
||||
await ExamClassInfoController.CalculatingTestResults(model, examUserInfoService, schoolService);
|
||||
return res ;
|
||||
}
|
||||
public override async Task<bool> Del([FromBody] params long[] ids)
|
||||
{
|
||||
if (ids.Length > 1)
|
||||
|
|
|
|||
|
|
@ -165,6 +165,12 @@ namespace Learn.Archives.API.Controllers
|
|||
var adminArr = await adminService.AsQueryable()
|
||||
.Where(s => adminNameArr.Contains(s.Name))
|
||||
.Select(s => s.Name).ToArrayAsync();
|
||||
if (adminArr == null || adminArr.Length!= adminNameArr.Length)
|
||||
{
|
||||
imp.Error = $"赴校人员未能完全识别成功";
|
||||
errorExcelInfo.Add(imp);
|
||||
continue;
|
||||
}
|
||||
var qStr = new Dictionary<FeedbackQuestionTypeEnum, (string Questions, string Solutions)>()
|
||||
{
|
||||
{FeedbackQuestionTypeEnum.学校领导班子,(imp.Q学校领导班子,imp.P学校领导班子) },
|
||||
|
|
@ -255,8 +261,6 @@ namespace Learn.Archives.API.Controllers
|
|||
};
|
||||
business.SolutionEnd = business.SolutionRecord.EndRecordTime != null;
|
||||
insertInfo.Add(business);
|
||||
|
||||
|
||||
};
|
||||
if (errorExcelInfo.Count != 0)
|
||||
return File(errorExcelInfo.ExportExcel(), "application/ms-excel"
|
||||
|
|
@ -292,7 +296,15 @@ namespace Learn.Archives.API.Controllers
|
|||
|
||||
|
||||
//todo完善数据转换
|
||||
var resultList = new List<SchoolBusinessImport>() { new SchoolBusinessImport() { } };
|
||||
var resultList = new List<SchoolBusinessImport>() { new SchoolBusinessImport()
|
||||
{
|
||||
School="必填 与系统对应",
|
||||
Grade="必填 : 初一/高一/初2025",
|
||||
IsDiscussion="是/否",
|
||||
IsClassMeeting="是/否",
|
||||
Remark="备注",
|
||||
Users="必填: 例 用户1,用户2 与系统中用户名称对应"
|
||||
} };
|
||||
return File(resultList.ExportExcel(), "application/ms-excel", "导入赴校信息模板.xlsx");
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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,11 +168,14 @@ 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 errorExcelInfo = importRes.ErrorExcelExport.Select(s => s.Adapt<StudentInfoImportError>());
|
||||
var errorExcelInfo = importRes.ErrorExcelExport.Select(s => s.Adapt<TeacherInfoImportError>());
|
||||
//如果有错误数据则返回excel
|
||||
if (errorExcelInfo.Count() != 0)
|
||||
return File(errorExcelInfo.ExportExcel(), "application/ms-excel", $"导入错误的老师{DateTime.Now.ToString("MMddHHmm")}.xlsx");
|
||||
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,15 @@
|
|||
FROM mcr.microsoft.com/dotnet/sdk:8.0 AS publish
|
||||
WORKDIR /src
|
||||
COPY . .
|
||||
WORKDIR "/src/Learn.Archives.API"
|
||||
ENV NUGET_XMLDOC_MODE none
|
||||
RUN dotnet nuget add source --name marking https://gitea.23544.com/api/packages/marking/nuget/index.json
|
||||
RUN dotnet publish "Learn.Archives.API.csproj" -c Release -o /app
|
||||
|
||||
FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS final
|
||||
WORKDIR /app
|
||||
COPY --from=publish /app .
|
||||
ENV ASPNETCORE_ENVIRONMENT=Production
|
||||
ENV TZ=Asia/Shanghai
|
||||
EXPOSE 8080
|
||||
ENTRYPOINT ["dotnet", "Learn.Archives.API.dll"]
|
||||
|
|
@ -6,11 +6,11 @@
|
|||
}
|
||||
},
|
||||
"Redis": {
|
||||
"ConnectionString": "redis-external.23544.com:16379,password=poiuyt)(*&^%,defaultDatabase=3"
|
||||
"ConnectionString": "r-2vc07uq6kgm580hxeu.redis.cn-chengdu.rds.aliyuncs.com:6379,password=r-2vc07uq6kgm580hxeu:JyFQa8MeZ4ndxVbdhUc6,defaultDatabase=3"
|
||||
},
|
||||
"DB": {
|
||||
//"ConnectionString": "AllowLoadLocalInfile=true;Server=10.255.255.3;Port=3306;Database=learn.videoanalysis;User ID=marking;Password=qwe123!@#;CharSet=utf8mb4;pooling=true;SslMode=None",
|
||||
"ConnectionString": "AllowLoadLocalInfile=true;Server=rm-2vc20nd3d11g0oh6g2o.rwlb.cn-chengdu.rds.aliyuncs.com;User ID=marking;Password=poiuytPOIUYT098765)(*&^%;Port=3306;Database=learn.videoanalysis;CharSet=utf8mb4;pooling=true;SslMode=None",
|
||||
"ConnectionString": "AllowLoadLocalInfile=true;Server=rm-2vc20nd3d11g0oh6g2o.rwlb.cn-chengdu.rds.aliyuncs.com;User ID=marking;Password=poiuytPOIUYT098765)(*&^%;Port=3306;Database=learn.archives;CharSet=utf8mb4;pooling=true;SslMode=None",
|
||||
|
||||
"SqlType": "MySql",
|
||||
"UpdateTable": false
|
||||
},
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ using System.ComponentModel.DataAnnotations;
|
|||
using System.Net;
|
||||
using System.Text.Json;
|
||||
using UserCenter.Model;
|
||||
using UserCenter.Model.Common;
|
||||
using UserCenter.Model.Enum;
|
||||
using UserCenter.Model.Interface;
|
||||
|
||||
|
|
@ -24,8 +25,27 @@ namespace Learn.Archives.Core.Model
|
|||
/// <summary>
|
||||
/// 年级
|
||||
/// </summary>
|
||||
[SugarColumn(Length = 12)]
|
||||
public GradeEnum Level { get; set; }
|
||||
[SugarColumn(Length = 2)]
|
||||
public string? GradeLevel { get; set; }
|
||||
/// <summary>
|
||||
/// 毕业届
|
||||
/// </summary>
|
||||
[SugarColumn(Length = 2)]
|
||||
public int GradeYear { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// dto 处理的grade
|
||||
/// </summary>
|
||||
public string? _grade;
|
||||
/// <summary>
|
||||
/// 年级
|
||||
/// </summary>
|
||||
[SugarColumn(IsIgnore = true)]
|
||||
public string Grade
|
||||
{
|
||||
get => GradeHelper.GetGrade(GradeLevel, GradeYear);
|
||||
set => _grade = value;
|
||||
}
|
||||
/// <summary>
|
||||
/// 试卷类型
|
||||
/// </summary>
|
||||
|
|
|
|||
|
|
@ -61,6 +61,7 @@ namespace Learn.Archives.Core.Model
|
|||
|
||||
[SugarColumn(IsIgnore = true)]
|
||||
public string Grade => GradeHelper.GetGrade(GradeLevel, GradeYear);
|
||||
|
||||
/// <summary>
|
||||
/// 年级
|
||||
/// </summary>
|
||||
|
|
@ -119,15 +120,6 @@ namespace Learn.Archives.Core.Model
|
|||
public decimal BaseSchoolScore { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 录入人Id
|
||||
/// </summary>
|
||||
public long EntryPersonId { get; set; }
|
||||
/// <summary>
|
||||
/// 录入人名称
|
||||
/// </summary>
|
||||
public string EntryPerson { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 创建时间
|
||||
/// </summary>
|
||||
|
|
|
|||
Loading…
Reference in New Issue