diff --git a/Learn.Archives.API/Controllers/Dto/ExamClassInfoDto.cs b/Learn.Archives.API/Controllers/Dto/ExamClassInfoDto.cs
index 8745436..a6b065e 100644
--- a/Learn.Archives.API/Controllers/Dto/ExamClassInfoDto.cs
+++ b/Learn.Archives.API/Controllers/Dto/ExamClassInfoDto.cs
@@ -17,7 +17,7 @@ namespace Learn.Archives.API.Controllers.Dto
///
/// 导入的错误结果
///
- public class ImportExamInfoError: ImportExamInfo
+ public class ImportExamInfoError : ImportExamInfo
{
///
/// 学校
@@ -25,10 +25,10 @@ namespace Learn.Archives.API.Controllers.Dto
[ExcelColumnName("错误信息")]
public string? Error { get; set; }
}
- ///
- /// 导入考试成绩
- ///
- public class ImportExamInfo
+ ///
+ /// 导入考试成绩
+ ///
+ public class ImportExamInfo
{
///
/// 学校
@@ -117,6 +117,12 @@ namespace Learn.Archives.API.Controllers.Dto
///
[ExcelColumnName("赋分后总分")]
public decimal 赋分后总分 { get; set; }
+
+ ///
+ /// 总分资源校排名
+ ///
+ [ExcelColumn(Name="赋分总分资源校排名",Width =20)]
+ public int 资源校排名 { get; set; }
}
public class RestartEntryDto
diff --git a/Learn.Archives.API/Controllers/ExamClassInfoController.cs b/Learn.Archives.API/Controllers/ExamClassInfoController.cs
index ed75abf..33632fe 100644
--- a/Learn.Archives.API/Controllers/ExamClassInfoController.cs
+++ b/Learn.Archives.API/Controllers/ExamClassInfoController.cs
@@ -84,6 +84,11 @@ namespace Learn.Archives.API.Controllers
var errorExcelInfo = new List();
var insertUserInfo = new List();
var insertClassInfo = new List();
+ var oldUidAr = await examUserInfoService.AsQueryable()
+ .Where(s => s.ExamId == exam.Id)
+ .Select(s=>s.UserId)
+ .ToArrayAsync();
+ var oldUidHash = oldUidAr.ToHashSet();
var db = schoolService.Context;
SqlSugarExpand.SetDbAop(db);
foreach (var schoolArr in dataList.GroupBy(s => s.School))
@@ -135,6 +140,12 @@ namespace Learn.Archives.API.Controllers
return null;
}
var uid = userDic[name];
+ if(oldUidHash!=null &&oldUidHash.Contains((long)uid))
+ {
+ s.Error = "此学生已经在考试中已经录入过成绩";
+ errorExcelInfo.Add(s);
+ return null;
+ }
return new ExamUserInfo()
{
ExamId = exam.Id,
@@ -149,7 +160,7 @@ namespace Learn.Archives.API.Controllers
Type = exam.Type,
SubjectDic = sub,
AssignScore = s.赋分后总分,
- AssignRanking = 0,
+ AssignRanking = s.资源校排名,
};
}).ToList();
insertUserInfo.AddRange(userList);
@@ -196,14 +207,15 @@ namespace Learn.Archives.API.Controllers
eCInfo.Average = avgTotal / eCInfo.PeopleCount;
//计算上线率
eCInfo.OnLineRate = (decimal)eCInfo.OnLineCount / (decimal)eCInfo.PeopleCount;
- //处理学生班级排名
- var i = 0;
- foreach (var item in classUserArr.OrderByDescending(s => s.AssignScore)
- .GroupBy(s => s.AssignScore))
- {
- foreach (var u in item)
- u.AssignRanking =++ i;
- }
+ //不计算 直接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;
+ //}
}
};
diff --git a/Learn.Archives.API/Controllers/ExamUserInfoController.cs b/Learn.Archives.API/Controllers/ExamUserInfoController.cs
index d113338..8b0754e 100644
--- a/Learn.Archives.API/Controllers/ExamUserInfoController.cs
+++ b/Learn.Archives.API/Controllers/ExamUserInfoController.cs
@@ -2,11 +2,13 @@
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
{
@@ -22,5 +24,29 @@ namespace Learn.Archives.API.Controllers
this.baseService = baseService;
this.userInfo = userInfo;
}
+ public override Task 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);
+ }
}
}
diff --git a/Learn.Archives.API/Controllers/StudentController.cs b/Learn.Archives.API/Controllers/StudentController.cs
index 60a9b1f..f09e55c 100644
--- a/Learn.Archives.API/Controllers/StudentController.cs
+++ b/Learn.Archives.API/Controllers/StudentController.cs
@@ -210,6 +210,7 @@ namespace Learn.Archives.API.Controllers
ReliefApplication=s.ReliefApplication?.Contains("已申请")??false,
ReliefSubTime = s.ReliefSubTime,
ReliefType =s.ReliefType,
+ StudentType =s.StudentType.ToEnum(),
});
userCenterImp.Add(new UserExcelExportData()
{
@@ -269,8 +270,9 @@ namespace Learn.Archives.API.Controllers
ClassType = "必填:可选值\r\n[云校班 海豚智学班 蓝鲸智库班 中职班 其他 雅思班 点阵笔班级 移动校园班级 智学班 ...]",
Status = "选填 可选值\r\n[就读,退出]",
AmountRelief ="选填: 为0则视为 '未申请减免'",
- ReliefType ="选填: 1.建卡贫困户\r\n2.低保户\r\n3.教师子女 \r\n4.孤儿\r\n5.艺体生\r\n6.残疾学生\r\n7.领导特殊承诺减免\r\n8.领导同意的特殊贫困减免",
+ ReliefType ="选填: 建卡贫困户\r\n低保户\r\n教师子女 \r\n孤儿\r\n艺体生\r\n残疾学生\r\n领导特殊承诺减免\r\n领导同意的特殊贫困减免",
ReliefApplication ="选填: [已申请, 未申请]",
+ StudentType = "选填: 可选值:\r\n复读生\r\n艺术生\r\n春招生\r\n领导承诺批准全免\r\n资源班\r\n国际班\r\n合同制收费学校\r\n渠道商家属\r\n新开班但领导承诺第一学期不收费",
Phone="选填",
Remark="选填",
} };
diff --git a/Learn.Archives.Core/Model/Dto/SchoolBusinessDto.cs b/Learn.Archives.Core/Model/Dto/SchoolBusinessDto.cs
index aecc8d9..374f7fc 100644
--- a/Learn.Archives.Core/Model/Dto/SchoolBusinessDto.cs
+++ b/Learn.Archives.Core/Model/Dto/SchoolBusinessDto.cs
@@ -50,6 +50,10 @@ namespace Learn.Archives.Core.Model.Dto
/// 执行时间
///
public DateTime? ExecutionTime { get; set; }
+ ///
+ /// 操作人 [后台自动赋值提交人名称]
+ ///
+ public string? Operator { get; set; }
public string? ExecutionTimeStr => ExecutionTime?.ToString("yyyy-MM-dd");
diff --git a/Learn.Archives.Core/Model/Dto/UserCenterServiceDto.cs b/Learn.Archives.Core/Model/Dto/UserCenterServiceDto.cs
index 9f85394..8cbf78c 100644
--- a/Learn.Archives.Core/Model/Dto/UserCenterServiceDto.cs
+++ b/Learn.Archives.Core/Model/Dto/UserCenterServiceDto.cs
@@ -162,6 +162,12 @@ namespace Learn.Archives.Core.Model.Dto
+
+ ///
+ /// 学生类型
+ ///
+ [ExcelColumn(Name = "学生类型", Width = 20)]
+ public string StudentType { get; set; }
///
/// 学生状态[就读/退出]
///
diff --git a/Learn.Archives.Core/Model/Enum/StudentTypeEnum.cs b/Learn.Archives.Core/Model/Enum/StudentTypeEnum.cs
new file mode 100644
index 0000000..5796f7b
--- /dev/null
+++ b/Learn.Archives.Core/Model/Enum/StudentTypeEnum.cs
@@ -0,0 +1,24 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Learn.Archives.Core.Model.Enum
+{
+ ///
+ /// 学生类型
+ ///
+ public enum StudentTypeEnum
+ {
+ 复读生 = 1,
+ 艺术生 = 10,
+ 春招生 = 20,
+ 领导承诺批准全免 = 30,
+ 资源班 = 40,
+ 国际班 = 50,
+ 合同制收费学校 = 60,
+ 渠道商家属 = 70,
+ 新开班但领导承诺第一学期不收费 = 80,
+ }
+}
diff --git a/Learn.Archives.Core/Model/Student.cs b/Learn.Archives.Core/Model/Student.cs
index 81c5618..08ba783 100644
--- a/Learn.Archives.Core/Model/Student.cs
+++ b/Learn.Archives.Core/Model/Student.cs
@@ -36,6 +36,12 @@ namespace Learn.Archives.Core.Model
///
[SugarColumn(IsNullable = true, Length = 20)]
public string? ReliefType { get; set; }
+
+ ///
+ /// 学生类型
+ ///
+ [SugarColumn(IsNullable = true)]
+ public StudentTypeEnum? StudentType { get; set; }
///
/// 减免申请时间
///