Bläddra i källkod

得分率调整,处理立即结束报错的问题

zhouj1203@hotmail.com 4 år sedan
förälder
incheckning
b8c94e5fe6

+ 1 - 0
TEAMModelOS/Controllers/Analysis/AnalysisController.cs

@@ -568,6 +568,7 @@ namespace TEAMModelOS.Controllers.Analysis
                             //处理阵列的索引1的班级名称
                             data[1] = stu.className;
                             sc.scatter = data;
+                            data[3] = sc.sRate.ToString();
                             //sc.sRate = double.Parse(data[3]);
                         });
                     });

+ 24 - 0
TEAMModelOS/Controllers/Common/ExamController.cs

@@ -1251,6 +1251,30 @@ namespace TEAMModelOS.Controllers
                 var client = _azureCosmos.GetCosmosClient();
                 ExamInfo info = await client.GetContainer("TEAMModelOS", "Common").ReadItemAsync<ExamInfo>(id.ToString(), new PartitionKey($"Exam-{code}"));
                 info.progress = "finish";
+                info.endTime = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(); 
+                List<ExamClassResult> classResults = new();
+                if (info.scope.Equals("school"))
+                {
+
+                    await foreach (var item in client.GetContainer("TEAMModelOS", "Common").GetItemQueryIterator<ExamClassResult>(
+                    queryText: $"select value(c) from c where c.examId = '{id}'",
+                    requestOptions: new QueryRequestOptions() { PartitionKey = new PartitionKey($"ExamClassResult-{info.school}") }))
+                    {
+                        classResults.Add(item);
+                    }
+                }
+                else {
+                    await foreach (var item in client.GetContainer("TEAMModelOS", "Common").GetItemQueryIterator<ExamClassResult>(
+                        queryText: $"select value(c) from c where c.examId = '{id}'",
+                        requestOptions: new QueryRequestOptions() { PartitionKey = new PartitionKey($"ExamClassResult-{info.creatorId}") }))
+                    {
+                        classResults.Add(item);
+                    }
+                }
+                foreach (ExamClassResult examClass in classResults) {
+                    examClass.progress = true;
+                    await client.GetContainer("TEAMModelOS", "Common").ReplaceItemAsync(examClass, examClass.id, new PartitionKey($"{examClass.code}"));
+                }
                 info = await client.GetContainer("TEAMModelOS", "Common").ReplaceItemAsync(info, info.id, new PartitionKey($"Exam-{code}"));
                 return Ok(info);
             }