Browse Source

知识点和认知层次数据返回结构调整

zhouj1203@hotmail.com 4 năm trước cách đây
mục cha
commit
f26735f978

+ 2 - 2
TEAMModelFunction/TriggerExam.cs

@@ -581,7 +581,7 @@ namespace TEAMModelFunction
                             ph.Add(phCount);
                             ph.Add(phCount);
                             pl.Add(plCount);
                             pl.Add(plCount);
                             double per = classResult.studentIds.Count > 0 ? Math.Round(score / classResult.studentIds.Count, 2) : 0;
                             double per = classResult.studentIds.Count > 0 ? Math.Round(score / classResult.studentIds.Count, 2) : 0;
-                            persent.Add(per / allScore);
+                            persent.Add(allScore > 0 ? per / allScore : 0);
                         }
                         }
                         classResult.phc = ph;
                         classResult.phc = ph;
                         classResult.plc = pl;
                         classResult.plc = pl;
@@ -673,7 +673,7 @@ namespace TEAMModelFunction
                             ph.Add(phCount);
                             ph.Add(phCount);
                             pl.Add(plCount);
                             pl.Add(plCount);
                             double per = classResult.studentIds.Count > 0 ? Math.Round(score / classResult.studentIds.Count, 2) : 0;
                             double per = classResult.studentIds.Count > 0 ? Math.Round(score / classResult.studentIds.Count, 2) : 0;
-                            persent.Add(per / allScore);
+                            persent.Add(allScore > 0 ? per / allScore : 0);
                         }
                         }
                         classResult.fphc = ph;
                         classResult.fphc = ph;
                         classResult.fplc = pl;
                         classResult.fplc = pl;

+ 17 - 9
TEAMModelOS/Controllers/Analysis/AnalysisController.cs

@@ -147,7 +147,7 @@ namespace TEAMModelOS.Controllers.Analysis
                 }
                 }
                 //获取本次评测所有班级作答结果
                 //获取本次评测所有班级作答结果
                 List<ExamClassResult> examClassResults = new List<ExamClassResult>();
                 List<ExamClassResult> examClassResults = new List<ExamClassResult>();
-                var queryClass = $"select c.id,c.name,c.subjectId,c.studentScores,c.studentIds,c.gradeId,c.info,c.standard from c where c.examId =  '{id}' and c.progress = true ";
+                var queryClass = $"select c.id,c.name,c.subjectId,c.studentScores,c.studentIds,c.gradeId,c.info,c.standard,c.krate,c.phc,c.plc,c.pc,c.frate,c.fphc,c.fplc,c.fpc from c where c.examId =  '{id}' and c.progress = true ";
                 await foreach (var item in client.GetContainer("TEAMModelOS", "Common").GetItemQueryIterator<ExamClassResult>(queryText: queryClass, requestOptions: new QueryRequestOptions() { PartitionKey = new PartitionKey($"ExamClassResult-{code}") }))
                 await foreach (var item in client.GetContainer("TEAMModelOS", "Common").GetItemQueryIterator<ExamClassResult>(queryText: queryClass, requestOptions: new QueryRequestOptions() { PartitionKey = new PartitionKey($"ExamClassResult-{code}") }))
                 {
                 {
                     examClassResults.Add(item);
                     examClassResults.Add(item);
@@ -460,6 +460,14 @@ namespace TEAMModelOS.Controllers.Analysis
                             fieldPoints.Add(stuCount > 0 ? Math.Round(s * 1.0 / stuCount, 2) : 0);
                             fieldPoints.Add(stuCount > 0 ? Math.Round(s * 1.0 / stuCount, 2) : 0);
                         });
                         });
                         double val = examClassResults.FirstOrDefault(c => c.subjectId == key && c.info.id == classId).standard;
                         double val = examClassResults.FirstOrDefault(c => c.subjectId == key && c.info.id == classId).standard;
+                        List<double> krate = examClassResults.FirstOrDefault(c => c.subjectId == key && c.info.id == classId).krate;
+                        List<int> phc = examClassResults.FirstOrDefault(c => c.subjectId == key && c.info.id == classId).phc;
+                        List<int> plc = examClassResults.FirstOrDefault(c => c.subjectId == key && c.info.id == classId).plc;
+                        List<int> pc = examClassResults.FirstOrDefault(c => c.subjectId == key && c.info.id == classId).pc;
+                        List<double> frate = examClassResults.FirstOrDefault(c => c.subjectId == key && c.info.id == classId).frate;
+                        List<int> fphc = examClassResults.FirstOrDefault(c => c.subjectId == key && c.info.id == classId).fphc;
+                        List<int> fplc = examClassResults.FirstOrDefault(c => c.subjectId == key && c.info.id == classId).fplc;
+                        List<int> fpc = examClassResults.FirstOrDefault(c => c.subjectId == key && c.info.id == classId).fpc;
                         classAys.subjects.Add(new AysSubject
                         classAys.subjects.Add(new AysSubject
                         {
                         {
                             point = tt,
                             point = tt,
@@ -469,14 +477,14 @@ namespace TEAMModelOS.Controllers.Analysis
                             passCount = passCount,
                             passCount = passCount,
                             average = average,
                             average = average,
                             standard = val,
                             standard = val,
-                            krate = examClassResults.FirstOrDefault(c => c.subjectId == key && c.info.id == classId).krate,
-                            phc = examClassResults.FirstOrDefault(c => c.subjectId == key && c.info.id == classId).phc,
-                            plc = examClassResults.FirstOrDefault(c => c.subjectId == key && c.info.id == classId).plc,
-                            pc = examClassResults.FirstOrDefault(c => c.subjectId == key && c.info.id == classId).pc,
-                            frate = examClassResults.FirstOrDefault(c => c.subjectId == key && c.info.id == classId).frate,
-                            fphc = examClassResults.FirstOrDefault(c => c.subjectId == key && c.info.id == classId).fphc,
-                            fplc = examClassResults.FirstOrDefault(c => c.subjectId == key && c.info.id == classId).fplc,
-                            fpc = examClassResults.FirstOrDefault(c => c.subjectId == key && c.info.id == classId).fpc,
+                            krate = krate,
+                            phc = phc,
+                            plc = plc,
+                            pc = pc,
+                            frate = frate,
+                            fphc = fphc,
+                            fplc = fplc,
+                            fpc = fpc,
                             sRate = paperScore[key] > 0 ? Math.Round(average / paperScore[key] * 100, 2) : 0,
                             sRate = paperScore[key] > 0 ? Math.Round(average / paperScore[key] * 100, 2) : 0,
                             name = info.subjects.Where(x => x.id == key).FirstOrDefault().name,
                             name = info.subjects.Where(x => x.id == key).FirstOrDefault().name,
                             item = classSubjectPaperDatas.Where(subd => subd.Key == key).First().Value.Where(cls => cls.Key == classId).First().Value
                             item = classSubjectPaperDatas.Where(subd => subd.Key == key).First().Value.Where(cls => cls.Key == classId).First().Value