|
@@ -107,7 +107,7 @@ namespace TEAMModelOS.FunctionV4
|
|
|
//处理科目信息
|
|
|
List<string> sub = new List<string>();
|
|
|
School sc = new();
|
|
|
- if (!string.IsNullOrEmpty(info.school)) {
|
|
|
+ if (!string.IsNullOrEmpty(info.school) && !info.school.Equals("SYSTEM_NO_SCHOOL")) {
|
|
|
sc = await client.GetContainer(Constant.TEAMModelOS, "School").ReadItemAsync<School>(info.school, new Azure.Cosmos.PartitionKey("Base"));
|
|
|
}
|
|
|
|
|
@@ -453,51 +453,56 @@ namespace TEAMModelOS.FunctionV4
|
|
|
};
|
|
|
var period = sc.period.Where(x => x.id.Equals(info.period.id)).FirstOrDefault();
|
|
|
//获取学期信息
|
|
|
- var (currSemester, studyYear, date, nextSemester) = SchoolService.GetSemester(period, info.startTime);
|
|
|
- //获取学生信息
|
|
|
- (List<RMember> rmembers, List<RGroupList> groups) = await GroupListService.GetMemberByListids(_coreAPIHttpService, client, _dingDing, info.classes, info.school);
|
|
|
- foreach (var member in rmembers) {
|
|
|
- if (info.lostStu.Contains(member.id)) {
|
|
|
- continue;
|
|
|
- }
|
|
|
- PortraitStudent student = new()
|
|
|
- {
|
|
|
- studentId = member.id,
|
|
|
- name = member.name,
|
|
|
- classId = member.classId
|
|
|
- };
|
|
|
- SemesterData semesterData = new()
|
|
|
+ if (null != period) {
|
|
|
+ var (currSemester, studyYear, date, nextSemester) = SchoolService.GetSemester(period, info.startTime);
|
|
|
+ //获取学生信息
|
|
|
+ (List<RMember> rmembers, List<RGroupList> groups) = await GroupListService.GetMemberByListids(_coreAPIHttpService, client, _dingDing, info.classes, info.school);
|
|
|
+ foreach (var member in rmembers)
|
|
|
{
|
|
|
- examName = info.name,
|
|
|
- examId = info.id,
|
|
|
- examDate = info.startTime,
|
|
|
- examType = info.examType?.name,
|
|
|
- year = info.year,
|
|
|
- semesterId = currSemester.id,
|
|
|
- totalScore = info.papers.SelectMany(x => x.point).Sum(),
|
|
|
- sumScore = examClassResults.SelectMany(x => x.sum).Sum(),
|
|
|
- excellenceRate = 0,
|
|
|
- passRate = 0,
|
|
|
- };
|
|
|
- int index = 0;
|
|
|
- foreach (var sj in info.subjects) {
|
|
|
- ItemScore item = new()
|
|
|
+ if (info.lostStu.Contains(member.id))
|
|
|
+ {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ PortraitStudent student = new()
|
|
|
{
|
|
|
- name = sj.name,
|
|
|
- score = examClassResults.Where(x => x.subjectId.Equals(sj.id)).FirstOrDefault().sum.Sum(),
|
|
|
- time = info.startTime,
|
|
|
- totalScore = info.papers[index].point.Sum(),
|
|
|
- type = sj.id
|
|
|
+ studentId = member.id,
|
|
|
+ name = member.name,
|
|
|
+ classId = member.classId
|
|
|
};
|
|
|
- index++;
|
|
|
- semesterData.itemScore.Add(item);
|
|
|
- }
|
|
|
- student.semesterData.Add(semesterData);
|
|
|
+ SemesterData semesterData = new()
|
|
|
+ {
|
|
|
+ examName = info.name,
|
|
|
+ examId = info.id,
|
|
|
+ examDate = info.startTime,
|
|
|
+ examType = info.examType?.name,
|
|
|
+ year = info.year,
|
|
|
+ semesterId = currSemester.id,
|
|
|
+ totalScore = info.papers.SelectMany(x => x.point).Sum(),
|
|
|
+ sumScore = examClassResults.SelectMany(x => x.sum).Sum(),
|
|
|
+ excellenceRate = 0,
|
|
|
+ passRate = 0,
|
|
|
+ };
|
|
|
+ int index = 0;
|
|
|
+ foreach (var sj in info.subjects)
|
|
|
+ {
|
|
|
+ ItemScore item = new()
|
|
|
+ {
|
|
|
+ name = sj.name,
|
|
|
+ score = examClassResults.Where(x => x.subjectId.Equals(sj.id)).FirstOrDefault().sum.Sum(),
|
|
|
+ time = info.startTime,
|
|
|
+ totalScore = info.papers[index].point.Sum(),
|
|
|
+ type = sj.id
|
|
|
+ };
|
|
|
+ index++;
|
|
|
+ semesterData.itemScore.Add(item);
|
|
|
+ }
|
|
|
+ student.semesterData.Add(semesterData);
|
|
|
|
|
|
- portrait.students.Add(student);
|
|
|
- }
|
|
|
- string location = $"{Environment.GetEnvironmentVariable("Option:Location")}";
|
|
|
- var (status, json) = await _httpTrigger.RequestHttpTrigger(portrait.ToJson(), location, "upsert-student-portrait");
|
|
|
+ portrait.students.Add(student);
|
|
|
+ }
|
|
|
+ string location = $"{Environment.GetEnvironmentVariable("Option:Location")}";
|
|
|
+ var (status, json) = await _httpTrigger.RequestHttpTrigger(portrait.ToJson(), location, "upsert-student-portrait");
|
|
|
+ }
|
|
|
//PortraitStudent student = new();
|
|
|
//处理试卷活动结束统计账户信息
|
|
|
List<FMember> idList = await GroupListService.GetFinishMemberInfo(_coreAPIHttpService, client, _dingDing, info.school, info.classes, info.stuLists, null);
|