|
@@ -1555,15 +1555,29 @@ namespace TEAMModelOS.Controllers
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ List<dynamic> objs = new List<dynamic>();
|
|
foreach (SDK.Models.Cosmos.Common.Scoring ss in attr)
|
|
foreach (SDK.Models.Cosmos.Common.Scoring ss in attr)
|
|
{
|
|
{
|
|
|
|
+ //var obj = new { stuId = ss.stuId, examId = ss.examId, subjectId = ss.subjectId, };
|
|
//ss.items.Add(ss.items.Where(x => x.scores.))
|
|
//ss.items.Add(ss.items.Where(x => x.scores.))
|
|
|
|
+ List<double> sc = new List<double>();
|
|
foreach (Item item in ss.items)
|
|
foreach (Item item in ss.items)
|
|
{
|
|
{
|
|
- item.scores = item.scores.Where(x => x.tmdId.Equals(tId.GetString())).ToList();
|
|
|
|
|
|
+ List<double> scc = item.scores.Where(x => x.tmdId.Equals(tId.GetString())).Select(c => c.sc).ToList();
|
|
|
|
+ if (scc.Count > 0)
|
|
|
|
+ {
|
|
|
|
+ sc.Add(scc.FirstOrDefault());
|
|
|
|
+ }
|
|
|
|
+ else {
|
|
|
|
+ sc.Add(-1);
|
|
|
|
+ }
|
|
|
|
+ //sc.Add(item.scores.Where(x => x.tmdId.Equals(tId.GetString())).Select(c => c.sc).FirstOrDefault());
|
|
|
|
+ //item.scores = item.scores.Where(x => x.tmdId.Equals(tId.GetString())).ToList();
|
|
}
|
|
}
|
|
|
|
+ var obj = new { ss.stuId, ss.examId, ss.subjectId, item = sc, ss.blob, ss.tIds, ss.marks, ss.scores, ss.model, ss.mode };
|
|
|
|
+ objs.Add(obj);
|
|
}
|
|
}
|
|
- return Ok(new { attr, paper = info.papers[index].blob });
|
|
|
|
|
|
+ return Ok(new { objs, paper = info.papers[index].blob });
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
catch (Exception ex)
|
|
{
|
|
{
|
|
@@ -1681,14 +1695,29 @@ namespace TEAMModelOS.Controllers
|
|
}
|
|
}
|
|
await redisClient.HashSetAsync($"Exam:Scoring:{id}-{subjectId}", stuId.ToString(), new { info = tmds, ans = blob, score = sc }.ToJsonString());*/
|
|
await redisClient.HashSetAsync($"Exam:Scoring:{id}-{subjectId}", stuId.ToString(), new { info = tmds, ans = blob, score = sc }.ToJsonString());*/
|
|
//var its = value.Where(x => x.items.s)
|
|
//var its = value.Where(x => x.items.s)
|
|
|
|
+ List<dynamic> objs = new List<dynamic>();
|
|
List<SDK.Models.Cosmos.Common.Scoring> val = new List<SDK.Models.Cosmos.Common.Scoring>();
|
|
List<SDK.Models.Cosmos.Common.Scoring> val = new List<SDK.Models.Cosmos.Common.Scoring>();
|
|
- foreach (SDK.Models.Cosmos.Common.Scoring ss in value) {
|
|
|
|
- //ss.items.Add(ss.items.Where(x => x.scores.))
|
|
|
|
- foreach (Item item in ss.items) {
|
|
|
|
- item.scores = item.scores.Where(x => x.tmdId.Equals(tId.GetString())).ToList();
|
|
|
|
|
|
+ foreach (SDK.Models.Cosmos.Common.Scoring ss in value)
|
|
|
|
+ {
|
|
|
|
+ List<double> sc = new List<double>();
|
|
|
|
+ foreach (Item item in ss.items)
|
|
|
|
+ {
|
|
|
|
+ List<double> scc = item.scores.Where(x => x.tmdId.Equals(tId.GetString())).Select(c => c.sc).ToList();
|
|
|
|
+ if (scc.Count > 0)
|
|
|
|
+ {
|
|
|
|
+ sc.Add(scc.FirstOrDefault());
|
|
|
|
+ }
|
|
|
|
+ else
|
|
|
|
+ {
|
|
|
|
+ sc.Add(-1);
|
|
|
|
+ }
|
|
|
|
+ //sc.Add(item.scores.Where(x => x.tmdId.Equals(tId.GetString())).Select(c => c.sc).FirstOrDefault());
|
|
|
|
+ //item.scores = item.scores.Where(x => x.tmdId.Equals(tId.GetString())).ToList();
|
|
}
|
|
}
|
|
|
|
+ var obj = new { ss.stuId, ss.examId, ss.subjectId, item = sc, ss.blob, ss.tIds, ss.marks, ss.scores, ss.model, ss.mode };
|
|
|
|
+ objs.Add(obj);
|
|
}
|
|
}
|
|
- return Ok(value);
|
|
|
|
|
|
+ return Ok(objs);
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|
|
@@ -1740,12 +1769,28 @@ namespace TEAMModelOS.Controllers
|
|
}*/
|
|
}*/
|
|
//选取后,缓存池相应的减少,以便于分配给其他的老师
|
|
//选取后,缓存池相应的减少,以便于分配给其他的老师
|
|
//await redisClient.HashSetAsync($"Exam:Scoring:{id}-{subjectId}", sId.ToString(), new { info = tmds, ans = blob, score = sc }.ToJsonString());
|
|
//await redisClient.HashSetAsync($"Exam:Scoring:{id}-{subjectId}", sId.ToString(), new { info = tmds, ans = blob, score = sc }.ToJsonString());
|
|
- //ss.items.Add(ss.items.Where(x => x.scores.))
|
|
|
|
- foreach (Item its in item.items)
|
|
|
|
|
|
+ //ss.items.Add(ss.items.Where(x => x.scores.))
|
|
|
|
+ /*foreach (Item its in item.items)
|
|
|
|
+ {
|
|
|
|
+ its.scores = its.scores.Where(x => x.tmdId.Equals(tId.GetString())).ToList();
|
|
|
|
+ }*/
|
|
|
|
+ List<double> sc = new List<double>();
|
|
|
|
+ foreach (Item its in item.items)
|
|
|
|
+ {
|
|
|
|
+ List<double> scc = its.scores.Where(x => x.tmdId.Equals(tId.GetString())).Select(c => c.sc).ToList();
|
|
|
|
+ if (scc.Count > 0)
|
|
|
|
+ {
|
|
|
|
+ sc.Add(scc.FirstOrDefault());
|
|
|
|
+ }
|
|
|
|
+ else
|
|
{
|
|
{
|
|
- its.scores = its.scores.Where(x => x.tmdId.Equals(tId.GetString())).ToList();
|
|
|
|
|
|
+ sc.Add(-1);
|
|
}
|
|
}
|
|
- return Ok(item);
|
|
|
|
|
|
+ //sc.Add(item.scores.Where(x => x.tmdId.Equals(tId.GetString())).Select(c => c.sc).FirstOrDefault());
|
|
|
|
+ //item.scores = item.scores.Where(x => x.tmdId.Equals(tId.GetString())).ToList();
|
|
|
|
+ }
|
|
|
|
+ var obj = new { item.stuId, item.examId, item.subjectId, item = sc, item.blob, item.tIds, item.marks, item.scores, item.model, item.mode };
|
|
|
|
+ return Ok(obj);
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|
|
@@ -1909,7 +1954,7 @@ namespace TEAMModelOS.Controllers
|
|
foreach (int number in nos)
|
|
foreach (int number in nos)
|
|
{
|
|
{
|
|
List<Info> items = scoring.items[number].scores.Where(x => x.tmdId.Equals(tId.GetString())).ToList();
|
|
List<Info> items = scoring.items[number].scores.Where(x => x.tmdId.Equals(tId.GetString())).ToList();
|
|
-
|
|
|
|
|
|
+
|
|
if (items.Count > 0)
|
|
if (items.Count > 0)
|
|
{
|
|
{
|
|
foreach (Info info in items)
|
|
foreach (Info info in items)
|
|
@@ -1917,13 +1962,14 @@ namespace TEAMModelOS.Controllers
|
|
info.sc = ssc[number];
|
|
info.sc = ssc[number];
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- else {
|
|
|
|
|
|
+ else
|
|
|
|
+ {
|
|
Info info = new();
|
|
Info info = new();
|
|
info.sc = ssc[number];
|
|
info.sc = ssc[number];
|
|
info.tmdId = tId.GetString();
|
|
info.tmdId = tId.GetString();
|
|
info.index = number;
|
|
info.index = number;
|
|
scoring.items[number].scores.Add(info);
|
|
scoring.items[number].scores.Add(info);
|
|
- }
|
|
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
else
|
|
@@ -2012,7 +2058,8 @@ namespace TEAMModelOS.Controllers
|
|
[ProducesDefaultResponseType]
|
|
[ProducesDefaultResponseType]
|
|
//[AuthToken(Roles = "Student")]
|
|
//[AuthToken(Roles = "Student")]
|
|
[HttpPost("analysis-scoring")]
|
|
[HttpPost("analysis-scoring")]
|
|
- public async Task<IActionResult> Analysis(JsonElement requert) {
|
|
|
|
|
|
+ public async Task<IActionResult> Analysis(JsonElement requert)
|
|
|
|
+ {
|
|
return null;
|
|
return null;
|
|
}
|
|
}
|
|
}
|
|
}
|