Browse Source

调整classYear

CrazyIter_Bin 4 years ago
parent
commit
4aa3f76898

+ 1 - 0
TEAMModelOS.SDK/Models/Cosmos/Teacher/Teacher.cs

@@ -12,6 +12,7 @@ namespace TEAMModelOS.SDK.Models
         public int size { get; set; }
         public int size { get; set; }
         public string defaultSchool { get; set; }
         public string defaultSchool { get; set; }
         public List<School> schools { get; set; }
         public List<School> schools { get; set; }
+       
 
 
         public class School
         public class School
         {
         {

+ 14 - 5
TEAMModelOS/Controllers/School/StudentController.cs

@@ -130,7 +130,7 @@ namespace TEAMModelOS.Controllers
         /// <param name="students"></param>
         /// <param name="students"></param>
         /// <returns></returns>
         /// <returns></returns>
         private (Dictionary<string, (string name, string no, string year, string salt, string pw, string classNo, string className, string periodId, int gradeIndex)> studs,
         private (Dictionary<string, (string name, string no, string year, string salt, string pw, string classNo, string className, string periodId, int gradeIndex)> studs,
-            Dictionary<string, (string className, string periodId, int gradeIndex)> classInfo,
+            Dictionary<string, (string className, string periodId, int gradeIndex, string classYear)> classInfo,
             Dictionary<string, List<(string id, string no)>> classStudNo,
             Dictionary<string, List<(string id, string no)>> classStudNo,
             List<string> errorYear,
             List<string> errorYear,
             List<string> duplId) doSortImpStuds(string schoolId, JsonElement.ArrayEnumerator students)
             List<string> duplId) doSortImpStuds(string schoolId, JsonElement.ArrayEnumerator students)
@@ -141,7 +141,7 @@ namespace TEAMModelOS.Controllers
             Dictionary<string, (string name, string no, string year, string salt, string pw, string classNo, string className, string periodId, int gradeIndex)> dicStuds = new Dictionary<string, (string name, string no, string year, string salt, string pw, string classNo, string className, string periodId, int gradeIndex)>();
             Dictionary<string, (string name, string no, string year, string salt, string pw, string classNo, string className, string periodId, int gradeIndex)> dicStuds = new Dictionary<string, (string name, string no, string year, string salt, string pw, string classNo, string className, string periodId, int gradeIndex)>();
 
 
             //存放教室資訊用 key:classNo value:className
             //存放教室資訊用 key:classNo value:className
-            Dictionary<string, (string className, string periodId, int gradeIndex)> dicClassInfo = new Dictionary<string, (string className, string periodId, int gradeIndex)>();
+            Dictionary<string, (string className, string periodId, int gradeIndex,string classYear)> dicClassInfo = new Dictionary<string, (string className, string periodId, int gradeIndex, string classYear)>();
             //存放欲加入該間教室的學生座號清單 key:classNo value:no list
             //存放欲加入該間教室的學生座號清單 key:classNo value:no list
             Dictionary<string, List<(string id, string no)>> dicClassStudNo = new Dictionary<string, List<(string id, string no)>>();
             Dictionary<string, List<(string id, string no)>> dicClassStudNo = new Dictionary<string, List<(string id, string no)>>();
             //存放輸入id重複
             //存放輸入id重複
@@ -214,9 +214,13 @@ namespace TEAMModelOS.Controllers
                         //有給classNo才會紀錄className,classNo屬於實體教室門牌號,全校理當只會有一個。 
                         //有給classNo才會紀錄className,classNo屬於實體教室門牌號,全校理當只會有一個。 
                         if (student.TryGetProperty("className", out var tmpClassName) && !string.IsNullOrWhiteSpace(tmpClassName.GetString()))
                         if (student.TryGetProperty("className", out var tmpClassName) && !string.IsNullOrWhiteSpace(tmpClassName.GetString()))
                         {
                         {
+                            string classYear = "";
+                            if (student.TryGetProperty("classYear", out var tmpClassYear) && !string.IsNullOrWhiteSpace(tmpClassYear.GetString())) {
+                                classYear = tmpClassYear.GetString();
+                            }
                             studentInfo.className = tmpClassName.GetString();
                             studentInfo.className = tmpClassName.GetString();
                             if (!dicClassInfo.ContainsKey(tmpClassNo.GetString()))
                             if (!dicClassInfo.ContainsKey(tmpClassNo.GetString()))
-                            { dicClassInfo.Add(tmpClassNo.GetString(), (tmpClassName.GetString(), studentInfo.periodId, studentInfo.gradeIndex)); }
+                            { dicClassInfo.Add(tmpClassNo.GetString(), (tmpClassName.GetString(), studentInfo.periodId, studentInfo.gradeIndex, classYear)); }
                         }
                         }
                     }
                     }
                     
                     
@@ -275,10 +279,12 @@ namespace TEAMModelOS.Controllers
                     {
                     {
                         string gradeId = string.Empty;
                         string gradeId = string.Empty;
                         string periodId = string.Empty;
                         string periodId = string.Empty;
+                        string clssYear = string.Empty;
                         //確認該學段存在及輸入的年級index正確(-1後大於等於0)
                         //確認該學段存在及輸入的年級index正確(-1後大於等於0)
                         if (gradesInfo.ContainsKey(sortedImpData.classInfo[item].periodId) && sortedImpData.classInfo[item].gradeIndex - 1>=0)
                         if (gradesInfo.ContainsKey(sortedImpData.classInfo[item].periodId) && sortedImpData.classInfo[item].gradeIndex - 1>=0)
                         {
                         {
                             periodId = sortedImpData.classInfo[item].periodId;
                             periodId = sortedImpData.classInfo[item].periodId;
+                            clssYear= sortedImpData.classInfo[item].classYear;
                             gradeId = gradesInfo[sortedImpData.classInfo[item].periodId][sortedImpData.classInfo[item].gradeIndex - 1].gradeId;
                             gradeId = gradesInfo[sortedImpData.classInfo[item].periodId][sortedImpData.classInfo[item].gradeIndex - 1].gradeId;
                         }
                         }
 
 
@@ -290,7 +296,7 @@ namespace TEAMModelOS.Controllers
                             sortedImpData.classInfo[item].className,
                             sortedImpData.classInfo[item].className,
                             item,
                             item,
                             periodId,
                             periodId,
-                            gradeId);
+                            gradeId, clssYear);
 
 
                         classStudNos.Add(retCreateClassInfo.classNo, new List<(string id, string no)>());
                         classStudNos.Add(retCreateClassInfo.classNo, new List<(string id, string no)>());
                         classNoId.Add(retCreateClassInfo.classNo, (retCreateClassInfo.classId, retCreateClassInfo.className, periodId, gradeId));
                         classNoId.Add(retCreateClassInfo.classNo, (retCreateClassInfo.classId, retCreateClassInfo.className, periodId, gradeId));
@@ -580,7 +586,7 @@ namespace TEAMModelOS.Controllers
         /// <param name="className"></param>
         /// <param name="className"></param>
         /// <param name="students"></param>
         /// <param name="students"></param>
         /// <returns></returns>
         /// <returns></returns>
-        private async Task<(string classId, string classNo, string className, string periodId, string gradeId)> createClassInfo(string schoolId, string classId, string className, string classNo, string periodId, string gradeId)
+        private async Task<(string classId, string classNo, string className, string periodId, string gradeId)> createClassInfo(string schoolId, string classId, string className, string classNo, string periodId, string gradeId,string clssYear)
         {
         {
             //組Class JSON
             //組Class JSON
             try
             try
@@ -617,6 +623,9 @@ namespace TEAMModelOS.Controllers
                 if (string.IsNullOrWhiteSpace(periodId)) writer.WriteNull("periodId");
                 if (string.IsNullOrWhiteSpace(periodId)) writer.WriteNull("periodId");
                 else writer.WriteString("periodId", periodId);
                 else writer.WriteString("periodId", periodId);
 
 
+                if (string.IsNullOrWhiteSpace(clssYear)) writer.WriteNull("clssYear");
+                else writer.WriteString("clssYear", clssYear);
+
                 writer.WriteNull("sn");
                 writer.WriteNull("sn");
                 writer.WriteString("style", "smart");
                 writer.WriteString("style", "smart");
                 writer.WriteString("openType", "1");
                 writer.WriteString("openType", "1");

+ 3 - 1
TEAMModelOS/Controllers/Teacher/InitController.cs

@@ -84,7 +84,9 @@ namespace TEAMModelOS.Controllers
                                 schoolExtobj.schoolId = obj.GetProperty("schoolId");
                                 schoolExtobj.schoolId = obj.GetProperty("schoolId");
                                 schoolExtobj.name = obj.GetProperty("name");
                                 schoolExtobj.name = obj.GetProperty("name");
                                 schoolExtobj.status = obj.GetProperty("status");
                                 schoolExtobj.status = obj.GetProperty("status");
-                                schoolExtobj.time = obj.GetProperty("time");
+                                if (obj.TryGetProperty("time", out JsonElement time)) {
+                                    schoolExtobj.time = obj.GetProperty("time");
+                                }
                                 schoolExtobj.picture = school.RootElement.GetProperty("picture");
                                 schoolExtobj.picture = school.RootElement.GetProperty("picture");
                                 schools.Add(schoolExtobj);
                                 schools.Add(schoolExtobj);
                             }
                             }