浏览代码

申报异常API

liqk 3 年之前
父节点
当前提交
9164ccec4c

+ 2 - 0
TEAMModelOS.SDK/Models/Cosmos/Common/Scoring.cs

@@ -31,6 +31,8 @@ namespace TEAMModelOS.SDK.Models.Cosmos.Common
         //阅卷类型1 正常卷 2 异常卷 3 仲裁卷
         public string err { get; set; }
         public string improve { get; set; }
+        public string tId { get; set; }
+        public int index { get; set; }
     }
 
     public class Item

+ 2 - 2
TEAMModelOS/ClientApp/src/view/task/err/ErrPaper.vue

@@ -147,8 +147,8 @@ export default {
     height: ~"calc(100% - 45px)";
 }
 .arb-paper-item {
-    width: ~"calc(100% - 20px)";
-    margin: 6px 5px;
+    width: ~"calc(100% - 15px)";
+    margin: 6px 0px;
     border: 1px solid #363636;
     background: #2b2a2f;
     padding: 15px;

+ 6 - 4
TEAMModelOS/ClientApp/src/view/task/mark/ByStu.vue

@@ -191,10 +191,12 @@ export default {
         exception() {
             if (this.errReason) {
                 this.errStatus = false
-                let requstData = {
-                    id: '',
-                    err: '',
-                    code: ''
+                let requestData = {
+                    id: this.stuData.id,
+                    err: this.errText,
+                    code: this.$store.state.userInfo.schoolCode,
+                    index: parseInt(this.quIndex),
+                    tId: this.$store.state.userInfo.TEAMModelId
                 }
                 this.$api.mark.saveErr(requestData).then(
                     res => {

+ 19 - 5
TEAMModelOS/Controllers/Common/ExamController.cs

@@ -1566,11 +1566,13 @@ namespace TEAMModelOS.Controllers
                 {
                     List<Qs> qs = ss.qs.Where(s => !string.IsNullOrEmpty(s.err)).ToList();
                     if (qs.Count > 0) {
+                        ss.qs = qs;
                         errs.Add(ss);
                     }
                     List<Item> arb = ss.items.Where(s => s.flag == false).ToList();
                     if (arb.Count > 0)
                     {
+                        ss.items = arb;
                         arbs.Add(ss);
                     }
                     //var obj = new { stuId = ss.stuId, examId = ss.examId, subjectId = ss.subjectId, };
@@ -1594,7 +1596,7 @@ namespace TEAMModelOS.Controllers
                         //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 };
+                    var obj = new { ss.id,ss.stuId, ss.examId, ss.subjectId, item = sc,ss.qs, ss.blob, ss.tIds, ss.marks, ss.scores, ss.model, ss.mode };
                     objs.Add(obj);
                 }
                 return Ok(new { errs, arbs, objs, paper = info.papers[index].blob });
@@ -1739,7 +1741,7 @@ namespace TEAMModelOS.Controllers
                             //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 };
+                        var obj = new { ss.id, ss.stuId, ss.examId, ss.subjectId, item = sc, ss.qs, ss.blob, ss.tIds, ss.marks, ss.scores, ss.model, ss.mode };
                         objs.Add(obj);
                     }
                     return Ok(objs);
@@ -1819,7 +1821,7 @@ namespace TEAMModelOS.Controllers
                             //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 };
+                        var obj = new { item.id, item.stuId, item.examId, item.subjectId, item = sc, item.qs, item.blob, item.tIds, item.marks, item.scores, item.model, item.mode };
                         return Ok(obj);
                     }
 
@@ -2119,18 +2121,30 @@ namespace TEAMModelOS.Controllers
             if (!requert.TryGetProperty("id", out JsonElement id)) return BadRequest();
             if (!requert.TryGetProperty("err", out JsonElement err)) return BadRequest();
             if (!requert.TryGetProperty("code", out JsonElement code)) return BadRequest();
+            if (!requert.TryGetProperty("index", out JsonElement index)) return BadRequest();
+            if (!requert.TryGetProperty("tId", out JsonElement tId)) return BadRequest();
             var client = _azureCosmos.GetCosmosClient();
             SDK.Models.Cosmos.Common.Scoring scoring = await client.GetContainer("TEAMModelOS", "Teacher").ReadItemAsync<SDK.Models.Cosmos.Common.Scoring>(id.GetString(), new PartitionKey($"Scoring-{code}"));
             if (null != scoring)
             {
+                if (string.IsNullOrEmpty(scoring.qs[index.GetInt32()].tId))
+                {
+                    scoring.qs[index.GetInt32()].err = err.GetString();
+                    scoring.qs[index.GetInt32()].tId = tId.GetString();
+                    scoring.qs[index.GetInt32()].index = index.GetInt32();
+                }
+                else {
+                    return Ok(new { msg = "改题已经被申报" });
+                }
+               
                /* scoring.type = 2;
                 scoring.err = err.GetString();*/
             }
             else {
                 return Ok(new { code = 404 });
             }
-
-            return Ok( new { code = 200 });
+            var sc = await client.GetContainer("TEAMModelOS", "Teacher").ReplaceItemAsync(scoring, scoring.id, new PartitionKey($"{scoring.code}"));
+            return Ok( new { sc });
         }
 
         //阅卷信息统计