Explorar o código

Merge branch 'develop' into PL/develop-BI

Li %!s(int64=2) %!d(string=hai) anos
pai
achega
7a7022c3c3

+ 9 - 3
TEAMModelOS/ClientApp/src/components/student-web/EventView/EventContentTypeTemplate/PaperViewBox/LessonTestReport.vue

@@ -1034,11 +1034,17 @@
                 } else {
                     return this.getItemTitle.progress
                 } */
-                if(this.examInfo.taskStatus === 1) {
-                    return "finish"
-                } else {
+                // 艺术评测要求活动结束才能展示得分
+                if(this.getItemTitle.type === "Atr") {
                     return this.getItemTitle.progress
+                } else {
+                    if(this.examInfo.taskStatus === 1) {
+                        return "finish"
+                    } else {
+                        return this.getItemTitle.progress
+                    }
                 }
+                
             },
         },
         watch: {

+ 60 - 0
TEAMModelOS/Controllers/XTest/FixDataController.cs

@@ -38,6 +38,7 @@ using DocumentFormat.OpenXml.Drawing.Diagrams;
 using TEAMModelOS.SDK.Models.Dtos;
 using DocumentFormat.OpenXml.Bibliography;
 using System.Formats.Asn1;
+using System.Xml.Linq;
 
 namespace TEAMModelOS.Controllers
 {
@@ -3448,6 +3449,65 @@ namespace TEAMModelOS.Controllers
             }
         }
 
+        /// <summary>
+        /// 学校id将大写转换小写 并新增学校相关数据信息;修改教师学校的id
+        /// </summary>
+        /// <param name="jsonElement"></param>
+        /// <returns></returns>
+        [HttpPost("fix-uppertolower")]
+        public async Task<IActionResult> RepairUpperToLower(JsonElement jsonElement) 
+        {
+            string large = "GXJCXX";
+            var cosmosClient = _azureCosmos.GetCosmosClient();
+
+            List<string> containe = new() { "School", "Student", "Teacher" };
+
+            List<dynamic> noFail = new();
+            foreach (var itemC in containe)
+            {
+                await foreach (var item in cosmosClient.GetContainer(Constant.TEAMModelOS, itemC).GetItemQueryStreamIterator(queryText: $"select value(c) from c where (contains(c.code,'{large}') or contains(c.id,'{large}'))"))
+                {
+                    using var json = await JsonDocument.ParseAsync(item.ContentStream);
+                    if (json.RootElement.TryGetProperty("_count", out JsonElement count) && count.GetUInt16() > 0)
+                    {
+                        foreach (var obj in json.RootElement.GetProperty("Documents").EnumerateArray())
+                        {
+                            string oldId = obj.GetProperty("id").GetString();
+                            string oldCode = obj.GetProperty("code").GetString();
+                            var jsonElm = obj.ToJsonString().Replace(large, large.ToLower()).ToObject<JsonElement>();
+                            jsonElm.TryGetProperty("code", out JsonElement code);
+                            byte[] bytes = Encoding.UTF8.GetBytes(jsonElm.GetRawText());
+                            var memoryStream = new MemoryStream(bytes);
+                            var resp = await cosmosClient.GetContainer(Constant.TEAMModelOS, itemC).CreateItemStreamAsync(memoryStream, new PartitionKey($"{code}"));
+                            if (resp.Status != 201)
+                                noFail.Add(new { container = itemC, id = oldId, code = oldCode });
+                        }
+                    }
+                }
+            }
+
+            await foreach (var item in cosmosClient.GetContainer(Constant.TEAMModelOS, "Teacher").GetItemQueryStreamIterator(queryText: $"select value(c) from c join sc in c.schools where sc.schoolId='{large}'",requestOptions:new QueryRequestOptions() { PartitionKey = new PartitionKey("Base")}))
+            {
+                using var json = await JsonDocument.ParseAsync(item.ContentStream);
+                if (json.RootElement.TryGetProperty("_count", out JsonElement count) && count.GetUInt16() > 0)
+                {
+                    foreach (var obj in json.RootElement.GetProperty("Documents").EnumerateArray())
+                    {
+                        var jsonElm = obj.ToJsonString().Replace(large, large.ToLower()).ToObject<JsonElement>();
+                        jsonElm.TryGetProperty("id", out JsonElement id);
+                        jsonElm.TryGetProperty("code", out JsonElement code);
+                        byte[] bytes = Encoding.UTF8.GetBytes(jsonElm.GetRawText());
+                        var memoryStream = new MemoryStream(bytes);
+                        var resp = await cosmosClient.GetContainer(Constant.TEAMModelOS, "Teacher").ReplaceItemStreamAsync(memoryStream, $"{id}", new PartitionKey($"Base"));
+                        if(resp.Status != 200)
+                          noFail.Add(new { container = "Teacher", id = id, code = code });
+                    }
+                }
+            }
+
+            return Ok(new { state = 200, noFail });
+        }
+
         public record TrainingId 
         {
             public string oldId { get; set; }