|
@@ -1598,7 +1598,7 @@ namespace TEAMModelOS.Controllers
|
|
|
{
|
|
|
recs.Add(scoring);
|
|
|
}
|
|
|
- else if (scoring.tIds.Count < scoring.marks.Count)
|
|
|
+ else if (scoring.tIds.Count < scoring.marks.Count * scoring.modle)
|
|
|
{
|
|
|
all.Add(scoring);
|
|
|
}
|
|
@@ -1691,7 +1691,7 @@ namespace TEAMModelOS.Controllers
|
|
|
Random random = new Random();
|
|
|
SDK.Models.Cosmos.Common.Scoring item = new();
|
|
|
List<SDK.Models.Cosmos.Common.Scoring> notYet = new();
|
|
|
- notYet = all.Where(x => x.tIds.Count < x.marks.Count - 1).ToList();
|
|
|
+ notYet = all.Where(x => x.tIds.Count < x.marks.Count * x.modle - 1).ToList();
|
|
|
if (notYet.Count > 0)
|
|
|
{
|
|
|
item = notYet[random.Next(notYet.Count)];
|
|
@@ -1833,20 +1833,41 @@ namespace TEAMModelOS.Controllers
|
|
|
if (requert.TryGetProperty("mark", out JsonElement mark))
|
|
|
{
|
|
|
//存放老师批注信息到blob
|
|
|
- builder.Append(id).Append("/");
|
|
|
- builder.Append(subjectId).Append("/");
|
|
|
- builder.Append(sId).Append("mark").Append("/");
|
|
|
+ builder.Append(id).Append('/');
|
|
|
+ builder.Append(subjectId).Append('/');
|
|
|
+ builder.Append(sId).Append("mark").Append('/');
|
|
|
builder.Append("ans.json");
|
|
|
await _azureStorage.UploadFileByContainer(code.ToString(), mark.ToJsonString(), "exam", builder.ToString(), false);
|
|
|
if (attr.Count > 0)
|
|
|
{
|
|
|
foreach (SDK.Models.Cosmos.Common.Scoring scoring in attr)
|
|
|
{
|
|
|
- int index = scoring.tIds.IndexOf(tId.GetString());
|
|
|
+ foreach (Item item in scoring.items) {
|
|
|
+ bool flag = false;
|
|
|
+ int index = 0;
|
|
|
+ if (item.scores.Count > 0) {
|
|
|
+ foreach (Info info in item.scores) {
|
|
|
+ if (!info.tmdId.Equals(tId.GetString()))
|
|
|
+ {
|
|
|
+ index++;
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ scoring.marks[index] = builder.ToString();
|
|
|
+ flag = true;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (flag) {
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ //List<Info> info = item.scores.Where(x => x.tmdId.Equals(tId.GetString())).ToList();
|
|
|
+ }
|
|
|
+ /* int index = scoring.tIds.IndexOf(tId.GetString());
|
|
|
if (index != -1)
|
|
|
{
|
|
|
scoring.marks[index] = builder.ToString();
|
|
|
- }
|
|
|
+ }*/
|
|
|
|
|
|
}
|
|
|
}
|
|
@@ -1874,13 +1895,6 @@ namespace TEAMModelOS.Controllers
|
|
|
info.index = itemIndex;
|
|
|
}
|
|
|
itemIndex++;
|
|
|
- /*if (tIdIndex > -1)
|
|
|
- {
|
|
|
- item.scores[tIdIndex].sc = ssc[itemIndex];
|
|
|
- item.scores[tIdIndex].tmdId = tId.GetString();
|
|
|
- itemIndex++;
|
|
|
- }*/
|
|
|
-
|
|
|
}
|
|
|
await client.GetContainer("TEAMModelOS", "Teacher").ReplaceItemAsync(scoring, scoring.id, new PartitionKey(scoring.code));
|
|
|
|