|
@@ -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");
|