瀏覽代碼

[BI]統購領取帳號匯出:追加真實姓名欄位
[IES5]HiTeach取得學校資訊API 修正取得課程邏輯:追加比對學段ID

jeff 4 月之前
父節點
當前提交
de2d05c39c

+ 2 - 1
TEAMModelBI/ClientApp/src/language/lang/zh-cn.js

@@ -933,7 +933,8 @@ const zh_cn = {
         notReceived: '未领取',
         notReceived: '未领取',
         sheetSummary: '总表',
         sheetSummary: '总表',
         authReceivedList: '授权领取清单',
         authReceivedList: '授权领取清单',
-        receiverName: '领取人姓名',
+        receiverName: '帐号姓名',
+        receiverRealName: '真实姓名',
         receiverId: '领取人ID',
         receiverId: '领取人ID',
         receivedList: '已领取清单',
         receivedList: '已领取清单',
         message1: '不可为零',
         message1: '不可为零',

+ 2 - 1
TEAMModelBI/ClientApp/src/language/lang/zh-tw.js

@@ -926,7 +926,8 @@ const zh_tw = {
         notReceived: '未領取',
         notReceived: '未領取',
         sheetSummary: '總表',
         sheetSummary: '總表',
         authReceivedList: '授權領取清單',
         authReceivedList: '授權領取清單',
-        receiverName: '領取人姓名',
+        receiverName: '帳號姓名',
+        receiverRealName: '真實姓名',
         receiverId: '領取人ID',
         receiverId: '領取人ID',
         receivedList: '已領取清單',
         receivedList: '已領取清單',
         message1: '不可為零',
         message1: '不可為零',

+ 4 - 3
TEAMModelBI/ClientApp/src/view/htcommunity/adminpanel.vue

@@ -826,8 +826,8 @@ EEEE    120
           let sheetName = proxy.$t(`purchase.sheetSummary`);
           let sheetName = proxy.$t(`purchase.sheetSummary`);
           XLSX.utils.book_append_sheet(wb, ws, sheetName);
           XLSX.utils.book_append_sheet(wb, ws, sheetName);
           //分頁2 已領取清單
           //分頁2 已領取清單
-          let titleTch = [proxy.$t(`purchase.schoolName`), proxy.$t(`purchase.schoolCode`), proxy.$t(`purchase.receiverId`), proxy.$t(`purchase.receiverName`)];
-          let keyTch = ['schoolName', 'shortCode', 'tmid', 'name'];
+          let titleTch = [proxy.$t(`purchase.schoolName`), proxy.$t(`purchase.schoolCode`), proxy.$t(`purchase.receiverId`), proxy.$t(`purchase.receiverName`), proxy.$t(`purchase.receiverRealName`)];
+          let keyTch = ['schoolName', 'shortCode', 'tmid', 'name', 'realname'];
           let dataTch = [];
           let dataTch = [];
           Object.entries(res.school).forEach(([purchaseIdNow, purchaseSchoolData]) => {
           Object.entries(res.school).forEach(([purchaseIdNow, purchaseSchoolData]) => {
               purchaseSchoolData.forEach(function (item) {
               purchaseSchoolData.forEach(function (item) {
@@ -838,7 +838,8 @@ EEEE    120
                           return el.id == userId;
                           return el.id == userId;
                       });
                       });
                       let userName = (userInfo.length > 0) ? userInfo[0]['name'] : '';
                       let userName = (userInfo.length > 0) ? userInfo[0]['name'] : '';
-                      dataTch.push({ schoolName: schName, shortCode: schCode, tmid: userId, name: userName });
+                      let realName = (userInfo.length > 0) ? userInfo[0]['realName'] : '';
+                      dataTch.push({ schoolName: schName, shortCode: schCode, tmid: userId, name: userName, realname: realName });
                   });
                   });
               });
               });
           });
           });

+ 14 - 0
TEAMModelBI/Controllers/BISchool/SchoolController.cs

@@ -2873,6 +2873,19 @@ namespace TEAMModelBI.Controllers.BISchool
                 {
                 {
                     teachers.Add(item);
                     teachers.Add(item);
                 }
                 }
+                string sqlTeacherEx = $"SELECT c.id, c.name as realName FROM c WHERE ARRAY_CONTAINS({teaIdListStr}, c.id, true)";
+                await foreach (PurchaseTeacher item in client.GetContainer("Core", "ID2").GetItemQueryIteratorSql<PurchaseTeacher>(queryText: sqlTeacherEx, requestOptions: new QueryRequestOptions() { PartitionKey = new PartitionKey("base-ex") }))
+                {
+                    PurchaseTeacher teacherExist = teachers.FirstOrDefault(t => t.id.Equals(item.id));
+                    if(teacherExist == null)
+                    {
+                        teachers.Add(item);
+                    }
+                    else
+                    {
+                        teacherExist.realName = item.realName;
+                    }
+                }
 
 
                 return Ok(new { geo = purchaseSeatsList, school = purchaseSchoolSeatsDic, teacher = teachers });
                 return Ok(new { geo = purchaseSeatsList, school = purchaseSchoolSeatsDic, teacher = teachers });
             }
             }
@@ -3249,6 +3262,7 @@ namespace TEAMModelBI.Controllers.BISchool
         {
         {
             public string id { get; set; }
             public string id { get; set; }
             public string name { get; set; }
             public string name { get; set; }
+            public string realName { get; set; }
         }
         }
     }
     }
 }
 }

+ 30 - 17
TEAMModelOS/Controllers/Client/HiTeachController.cs

@@ -2537,27 +2537,40 @@ namespace TEAMModelOS.Controllers.Client
                     var resultSchool = await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.School).GetList<CourseTask>(sql, $"CourseTask-{school_code}");
                     var resultSchool = await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.School).GetList<CourseTask>(sql, $"CourseTask-{school_code}");
                     if (resultSchool.list.IsNotEmpty())
                     if (resultSchool.list.IsNotEmpty())
                     {
                     {
-                        resultSchool.list.ForEach(x =>
+                        resultSchool.list.ForEach(async x =>
                         {
                         {
-                            var schedulesTeacher = x.schedules.Where(z => !string.IsNullOrWhiteSpace(z.teacherId) && z.teacherId.Equals(id));
-                            if (schedulesTeacher.Any())
+                            try
                             {
                             {
-                                courseIds.Add(x.courseId);
-                                CourseTask courseTask = x.ToJsonString().ToObject<CourseTask>();
-                                courseTask.schedules = schedulesTeacher.ToList();
-                                schoolTeacherTask.Add(new KeyValuePair<string, CourseTask>(x.courseId, courseTask));
-                                groupIds.AddRange(schedulesTeacher.Where(z => !string.IsNullOrWhiteSpace(z.groupId) && z.type.Equals("teach")).Select(x => x.groupId));
-                                classIds.AddRange(schedulesTeacher.Where(z => !string.IsNullOrWhiteSpace(z.groupId) && z.type.Equals("class")).Select(x => x.groupId));
+                                //取得課程資訊
+                                string courseId = x.courseId;
+                                CourseBase courseInfo = await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.School).ReadItemAsync<CourseBase>(courseId, new PartitionKey($"CourseBase-{school_code}"));
+                                //上課列表製作
+                                if (courseInfo.period.id.Equals(periodId)) //學制相同才續行
+                                {
+                                    var schedulesTeacher = x.schedules.Where(z => !string.IsNullOrWhiteSpace(z.teacherId) && z.teacherId.Equals(id));
+                                    if (schedulesTeacher.Any())
+                                    {
+                                        courseIds.Add(x.courseId);
+                                        CourseTask courseTask = x.ToJsonString().ToObject<CourseTask>();
+                                        courseTask.schedules = schedulesTeacher.ToList();
+                                        schoolTeacherTask.Add(new KeyValuePair<string, CourseTask>(x.courseId, courseTask));
+                                        groupIds.AddRange(schedulesTeacher.Where(z => !string.IsNullOrWhiteSpace(z.groupId) && z.type.Equals("teach")).Select(x => x.groupId));
+                                        classIds.AddRange(schedulesTeacher.Where(z => !string.IsNullOrWhiteSpace(z.groupId) && z.type.Equals("class")).Select(x => x.groupId));
+                                    }
+                                    var schedulesAssistant = x.schedules.Where(z => z.assistants.Contains(id));
+                                    if (schedulesAssistant.Any())
+                                    {
+                                        courseIds.Add(x.courseId);
+                                        CourseTask courseTask = x.ToJsonString().ToObject<CourseTask>();
+                                        courseTask.schedules = schedulesAssistant.ToList();
+                                        schoolAssistantTask.Add(new KeyValuePair<string, CourseTask>(x.courseId, courseTask));
+                                        groupIds.AddRange(schedulesAssistant.Where(z => !string.IsNullOrWhiteSpace(z.groupId) && z.type.Equals("teach")).Select(x => x.groupId));
+                                        classIds.AddRange(schedulesAssistant.Where(z => !string.IsNullOrWhiteSpace(z.groupId) && z.type.Equals("class")).Select(x => x.groupId));
+                                    }
+                                }
                             }
                             }
-                            var schedulesAssistant = x.schedules.Where(z => z.assistants.Contains(id));
-                            if (schedulesAssistant.Any())
+                            catch (Exception ex)
                             {
                             {
-                                courseIds.Add(x.courseId);
-                                CourseTask courseTask = x.ToJsonString().ToObject<CourseTask>();
-                                courseTask.schedules = schedulesAssistant.ToList();
-                                schoolAssistantTask.Add(new KeyValuePair<string, CourseTask>(x.courseId, courseTask));
-                                groupIds.AddRange(schedulesAssistant.Where(z => !string.IsNullOrWhiteSpace(z.groupId) && z.type.Equals("teach")).Select(x => x.groupId));
-                                classIds.AddRange(schedulesAssistant.Where(z => !string.IsNullOrWhiteSpace(z.groupId) && z.type.Equals("class")).Select(x => x.groupId));
                             }
                             }
                         });
                         });
                     }
                     }