CrazyIter_Bin 6 tháng trước cách đây
mục cha
commit
c73d12a3e3

+ 12 - 12
TEAMModelOS.Function/IESHttpTrigger.cs

@@ -441,23 +441,23 @@ namespace TEAMModelOS.Function
                     {
                         var ids = graduate_classes.Where(x => !string.IsNullOrWhiteSpace(x.id)).Select(x => $"'{x.id}'");
                         List<Student> students = new List<Student>();
-                        string sql = $"select value c from c where  (c.graduate = 0 or  IS_DEFINED(c.graduate) = false)  and  c.classId in ({string.Join(",", ids)})";
+                        string sql = $"select value c from c where    c.classId in ({string.Join(",", ids)})";
                         await foreach (var item in _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.Student)
                             .GetItemQueryIteratorSql<Student>(queryText: sql, requestOptions: new QueryRequestOptions { PartitionKey = new PartitionKey($"Base-{schoolId}") }))
                         {
                             item.graduate = 1;
                             students.Add(item);
                         }
-                        //foreach (var item in students)
-                        //{
-                        //    item.graduate = 1;
-                        //    await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.Student).ReplaceItemAsync<Student>(item, item.id, new PartitionKey($"Base-{schoolId}"));
-                        //}
-                        //foreach (var item in graduate_classes)
-                        //{
-                        //    item.graduate = 1;
-                        //    await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.School).ReplaceItemAsync<Class>(item, item.id, new PartitionKey($"Class-{schoolId}"));
-                        //}
+                        foreach (var item in students)
+                        {
+                            item.graduate = 1;
+                            await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.Student).ReplaceItemAsync<Student>(item, item.id, new PartitionKey($"Base-{schoolId}"));
+                        }
+                        foreach (var item in graduate_classes)
+                        {
+                            item.graduate = 1;
+                            await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.School).ReplaceItemAsync<Class>(item, item.id, new PartitionKey($"Class-{schoolId}"));
+                        }
                     }
                 }
                 //未毕业的
@@ -468,7 +468,7 @@ namespace TEAMModelOS.Function
                     {
                         var ids = cancel_graduate_classes.Where(x => !string.IsNullOrWhiteSpace(x.id)).Select(x => $"'{x.id}'");
                         List<Student> students = new List<Student>();
-                        string sql = $"select value c from c where  c.graduate =1   and  c.classId in ({string.Join(",", ids)})";
+                        string sql = $"select value c from c where   c.classId in ({string.Join(",", ids)})";
                         await foreach (var item in _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.Student)
                             .GetItemQueryIteratorSql<Student>(queryText: sql, requestOptions: new QueryRequestOptions { PartitionKey = new PartitionKey($"Base-{schoolId}") }))
                         {

+ 9 - 9
TEAMModelOS.SDK/Models/Service/SchoolService.cs

@@ -1094,7 +1094,7 @@ namespace TEAMModelOS.SDK
                 string sql = $"SELECT value c  FROM c where  (c.graduate = 0 or  IS_DEFINED(c.graduate) = false) ";
                 if (periodIds.IsNotEmpty())
                 {
-                    sql = $"SELECT value c  FROM c where c.periodId in ({string.Join(",", periodIds.Select(x => $"'{x}'"))}) ";
+                    sql = $"SELECT value c  FROM c where    c.periodId in ({string.Join(",", periodIds.Select(x => $"'{x}'"))}) ";
                 }
                 await foreach (var item in client.GetContainer(Constant.TEAMModelOS, "School").GetItemQueryIteratorSql<Class>
                      //(queryText: $"SELECT value c  FROM c where (c.graduate = 0 or  IS_DEFINED(c.graduate) = false)",
@@ -1158,14 +1158,14 @@ namespace TEAMModelOS.SDK
                 }
                 if (graduate_classes.Any() || cancel_graduate_classes.Any())
                 {
-                    //if (waite == 0)
-                    //{
-                    //    _ = _httpTrigger.RequestHttpTrigger(new { graduate_classes = graduate_classes, cancel_graduate_classes = cancel_graduate_classes, schoolId = $"{school_base.id}" }, _option.Location, "graduate-change");
-                    //}
-                    //else
-                    //{
-                    //    await _httpTrigger.RequestHttpTrigger(new { graduate_classes = graduate_classes, cancel_graduate_classes = cancel_graduate_classes, schoolId = $"{school_base.id}" }, _option.Location, "graduate-change");
-                    //}
+                    if (waite == 0)
+                    {
+                        _ = _httpTrigger.RequestHttpTrigger(new { graduate_classes = graduate_classes, cancel_graduate_classes = cancel_graduate_classes, schoolId = $"{school_base.id}" }, _option.Location, "graduate-change");
+                    }
+                    else
+                    {
+                        await _httpTrigger.RequestHttpTrigger(new { graduate_classes = graduate_classes, cancel_graduate_classes = cancel_graduate_classes, schoolId = $"{school_base.id}" }, _option.Location, "graduate-change");
+                    }
                 }
             } catch (Exception ex) {
                await _dingDing.SendBotMsg($"{_option.Location},{ex.Message}\n{ex.StackTrace}", GroupNames.醍摩豆服務運維群組);

+ 2 - 6
TEAMModelOS.SDK/Models/Service/StudentService.cs

@@ -1936,11 +1936,7 @@ namespace TEAMModelOS.SDK
             {
                 //TODO : 進階查詢選項調整、部分地方可用並行處理
                 //以學校學生角度去抓資料
-                Dictionary<string, List<(string id, string name, string picture, int year, string no, string periodId, string irs, string imei, string gender, int graduate, bool hasEduOpenId, List<StudentGuardian> guardians)>> dicClassStuds =
-                    new Dictionary<string, List<(string id, string name, string picture, int year, string no, string periodId, string irs, string imei, string gender, int graduate, bool hasEduOpenId, List<StudentGuardian> guardians)>>();
-                List<(string id, string name, string picture, int year, string no, string periodId, string irs, string imei, string gender, int graduate, bool hasEduOpenId, List<StudentGuardian> guardians)> notJoinClassStuds =
-                    new List<(string id, string name, string picture, int year, string no, string periodId, string irs, string imei, string gender, int graduate, bool hasEduOpenId, List<StudentGuardian> guardians)>();
-
+              
 
                 List<Imei> imeis = new List<Imei>();
                 string imeiQueryText = $"SELECT  *  FROM c WHERE c.school = '{schoolId}'";
@@ -1956,7 +1952,7 @@ namespace TEAMModelOS.SDK
                 if (graduate == 0)
                 {
                     ///查询当年的毕业班
-                    string sql = sql = $"SELECT value c FROM c where  c.graduate =0"; ;
+                    string sql = sql = $"SELECT value c FROM c where  (c.graduate =0 or IS_DEFINED(c.graduate)=false)"; ;
 
                     var client = _azureCosmos.GetCosmosClient();
                     await foreach (var item in client.GetContainer(Constant.TEAMModelOS, "School").GetItemQueryIteratorSql<Class>