فهرست منبع

Merge branch 'develop' into Jeff/develop

jeff 2 سال پیش
والد
کامیت
86823d4cb7

+ 97 - 4
TEAMModelBI/ClientApp/src/view/product/details.vue

@@ -128,6 +128,18 @@
         <el-tab-pane label="学区数据" name="areas">
           <div class="areaData">
             <div class="contentbox area-contentbox">
+              <div class="areaFilter">
+                <div class="time-filter">
+                  <el-date-picker v-model="filterValue" type="date" placeholder="请选择时间" size="default" />
+                </div>
+                <div class="type-filter">
+                  <el-button :type="filterType ==='day' ? 'primary':''" round>日</el-button>
+                  <el-button :type="filterType ==='week' ? 'primary':''" round>周</el-button>
+                  <el-button :type="filterType ==='month' ? 'primary':''" round>月</el-button>
+                  <el-button :type="filterType ==='year' ? 'primary':''" round>年</el-button>
+                </div>
+              </div>
+              <el-divider />
               <div class="school-name">
                 <span>学区名称</span>
                 <div class="statistics-time">统计时间:<span>2023.03.07-2023.03.08</span></div>
@@ -206,14 +218,29 @@
             </div>
           </div>
         </el-tab-pane>
-        <el-tab-pane label="学校列表" name="schools">学校列表</el-tab-pane>
+        <el-tab-pane label="学校列表" name="schools">
+          <div class="school-list">
+            <el-table :data="tableData" height="85vh" style="width: 100%">
+              <el-table-column prop="name" label="学校名称" align="center" />
+              <el-table-column prop="schoolnum" label="教室数量" align="center" />
+              <el-table-column prop="teachnum" label="教师数量" align="center" />
+              <el-table-column prop="studentnum" label="学生数量" align="center" />
+              <el-table-column prop="classnum" label="课堂总数" align="center" />
+              <el-table-column prop="tnum" label="T指数" align="center" />
+              <el-table-column prop="timenum" label="课堂时间" align="center" />
+              <el-table-column prop="powertype" label="授权类型" align="center" />
+              <el-table-column label="" align="center">
+                <template #default="scope">
+                  <el-button type="primary" plain>查看</el-button>
+                </template>
+              </el-table-column>
+            </el-table>
+          </div>
+        </el-tab-pane>
       </el-tabs>
     </div>
     <!--学区or城市样式内容-->
   </div>
-  <div class="">
-
-  </div>
 </template>
 <script setup>
 import { ref, getCurrentInstance, defineEmits, computed, onMounted } from 'vue'
@@ -528,6 +555,61 @@ const props2 = {
   multiple: true,
   checkStrictly: true,
 }
+//查看学区详情 学校的列表
+const tableData = [
+  {
+    name: '成都市外国语小学',
+    schoolnum: 56,
+    teachnum: 132,
+    studentnum: 560,
+    classnum: 39,
+    tnum: 78,
+    timenum: 313,
+    powertype: 1,
+  },
+  {
+    name: '成都市外国语小学',
+    schoolnum: 56,
+    teachnum: 132,
+    studentnum: 560,
+    classnum: 39,
+    tnum: 78,
+    timenum: 313,
+    powertype: 1,
+  },
+  {
+    name: '成都市外国语小学',
+    schoolnum: 56,
+    teachnum: 132,
+    studentnum: 560,
+    classnum: 39,
+    tnum: 78,
+    timenum: 313,
+    powertype: 1,
+  },
+  {
+    name: '成都市外国语小学',
+    schoolnum: 56,
+    teachnum: 132,
+    studentnum: 560,
+    classnum: 39,
+    tnum: 78,
+    timenum: 313,
+    powertype: 1,
+  },
+  {
+    name: '成都市外国语小学',
+    schoolnum: 56,
+    teachnum: 132,
+    studentnum: 560,
+    classnum: 39,
+    tnum: 78,
+    timenum: 313,
+    powertype: 1,
+  },
+]
+let filterValue = ref()
+let filterType = ref('day')
 let basicaList = ref([
   { title: '学校简码', icon: '#icon-xuanzexuexiao-01', value: 'hbcn' },
   { title: '学校数量', icon: '#icon-xuexiao9', value: '32' },
@@ -1177,6 +1259,14 @@ init()
 .area-box {
   line-height: 60px;
 }
+.school-list {
+  padding: 0.5%;
+}
+.areaFilter {
+  padding: 0% 0.5%;
+  display: flex;
+  justify-content: space-between;
+}
 .task {
   border-bottom: 5px solid #60e9c0;
 }
@@ -1247,5 +1337,8 @@ init()
 .area-box .el-tabs__header {
   margin: 0;
 }
+.contentbox .el-divider {
+  margin: 10px 0;
+}
 </style>
 

+ 106 - 103
TEAMModelOS/ClientApp/public/lang/en-US.js

@@ -621,7 +621,12 @@ const LANG_EN_US = {
         cc4: 'Teacher:',
         stuClient: 'Web IRS No.',
         noCus: 'No course information yet',
-        noList: 'No list data yet'
+        noList: 'No list data yet',
+        regulator: 'Channel management',
+        channelsize: 'Channel space',
+        discussClass: 'No. of oridinary observation lessons',
+        discussJoin: 'No. of oridinary lesson observation connections',
+        notAuthorized: 'No license found yet'
     },
     // 班级管理
     classMgmt: {
@@ -1848,37 +1853,37 @@ const LANG_EN_US = {
         publishType1: 'Start Now',
         publishType2: 'Scheduled Start Time',
         testType: [{
-            label: "Single Answer",
-            value: "single"
-        },
-        {
-            label: "Multiple Answers",
-            value: "multiple"
-        },
-        {
-            label: "True-False",
-            value: "judge"
-        },
-        {
-            label: "Cloze",
-            value: "complete"
-        },
-        {
-            label: "Writing",
-            value: "subjective"
-        },
-        {
-            label: "Question Set",
-            value: "compose"
-        },
-        {
-            label: "Correcting",
-            value: "correct"
-        },
-        {
-            label: "Matching",
-            value: "connector"
-        },
+                label: "Single Answer",
+                value: "single"
+            },
+            {
+                label: "Multiple Answers",
+                value: "multiple"
+            },
+            {
+                label: "True-False",
+                value: "judge"
+            },
+            {
+                label: "Cloze",
+                value: "complete"
+            },
+            {
+                label: "Writing",
+                value: "subjective"
+            },
+            {
+                label: "Question Set",
+                value: "compose"
+            },
+            {
+                label: "Correcting",
+                value: "correct"
+            },
+            {
+                label: "Matching",
+                value: "connector"
+            },
         ]
     },
     // 首页相关
@@ -3339,34 +3344,34 @@ const LANG_EN_US = {
         title: 'Survey',
         questionType: 'Survey Type',
         type: [{
-            code: 0,
-            value: 'Academic Education'
-        },
-        {
-            code: 1,
-            value: 'Satisfaction Survey'
-        },
-        {
-            code: 2,
-            value: 'Voting Election'
-        },
-        {
-            code: 3,
-            value: 'Others'
-        }
+                code: 0,
+                value: 'Academic Education'
+            },
+            {
+                code: 1,
+                value: 'Satisfaction Survey'
+            },
+            {
+                code: 2,
+                value: 'Voting Election'
+            },
+            {
+                code: 3,
+                value: 'Others'
+            }
         ],
         state: [{
-            code: 100,
-            value: 'Scheduled'
-        },
-        {
-            code: 200,
-            value: 'In progress'
-        },
-        {
-            code: 300,
-            value: 'Has ended'
-        }
+                code: 100,
+                value: 'Scheduled'
+            },
+            {
+                code: 200,
+                value: 'In progress'
+            },
+            {
+                code: 300,
+                value: 'Has ended'
+            }
         ]
     },
     // 站内通知
@@ -4406,40 +4411,39 @@ const LANG_EN_US = {
             achievement: "My Grade",
         },
         testType: [{
-            label: "Single Answer",
-            value: "single"
-        },
-        {
-            label: "Multiple Answers",
-            value: "multiple"
-        },
-        {
-            label: "True-False",
-            value: "judge"
-        },
-        {
-            label: "Cloze",
-            value: "complete"
-        },
-        {
-            label: "Writing",
-            value: "subjective"
-        },
-        {
-            label: "Question Set",
-            value: "compose"
-        },
-        {
-            label: "Correcting",
-            value: "correct"
-        },
-        {
-            label: "Matching",
-            value: "connector"
-        },
-        ],
-        state1: [
+                label: "Single Answer",
+                value: "single"
+            },
+            {
+                label: "Multiple Answers",
+                value: "multiple"
+            },
+            {
+                label: "True-False",
+                value: "judge"
+            },
+            {
+                label: "Cloze",
+                value: "complete"
+            },
+            {
+                label: "Writing",
+                value: "subjective"
+            },
+            {
+                label: "Question Set",
+                value: "compose"
+            },
+            {
+                label: "Correcting",
+                value: "correct"
+            },
             {
+                label: "Matching",
+                value: "connector"
+            },
+        ],
+        state1: [{
                 type: 'all',
                 status: 'All Activity Status'
             },
@@ -4460,8 +4464,7 @@ const LANG_EN_US = {
                 status: 'Absent'
             }
         ],
-        state2: [
-            {
+        state2: [{
                 type: 'All',
                 status: 'All Activity Status'
             },
@@ -7280,9 +7283,9 @@ const LANG_EN_US = {
         },
         class: {
             total: 'Year Total Data',
-            lastWeek: 'Last week',
-            nowMonth: 'This month',
-            vitality: 'Active Status',
+                lastWeek: 'Last week',
+                nowMonth: 'This month',
+                vitality: 'Active Status',
         },
         research: {
             accomplish: 'Completed',
@@ -7325,13 +7328,13 @@ const LANG_EN_US = {
         },
         class: {
             lessonTitle: 'Lesson Record',
-            activityTitle: 'Activity',
-            interactionTitle: 'Interaction',
-            totalTitle: 'Total Data',
-            todayData: 'Today Data',
-            contrastYesterday: 'Compare with yesterday',
-            contrastLastmonth: 'Compare with last month',
-            contrastLastyear: 'Compare with last year',
+                activityTitle: 'Activity',
+                interactionTitle: 'Interaction',
+                totalTitle: 'Total Data',
+                todayData: 'Today Data',
+                contrastYesterday: 'Compare with yesterday',
+                contrastLastmonth: 'Compare with last month',
+                contrastLastyear: 'Compare with last year',
         },
         gradeTitle: 'Grade Distribution',
         subjectTitle: 'Subject Distribution',

+ 24 - 25
TEAMModelOS/ClientApp/public/lang/zh-CN.js

@@ -621,7 +621,12 @@ const LANG_ZH_CN = {
         cc4: '教师:',
         stuClient: '学生连接数',
         noCus: '暂无课程信息',
-        noList: '暂无名单数据'
+        noList: '暂无名单数据',
+        regulator: '频道管理',
+        channelsize: '频道空间',
+        discussClass: '通用议课教室数',
+        discussJoin: '通用议课连接数',
+        notAuthorized: '暂无授权'
     },
     // 班级管理
     classMgmt: {
@@ -1846,8 +1851,7 @@ const LANG_ZH_CN = {
         evMode3: '阅卷评测',
         publishType1: '立即发布',
         publishType2: '定时发布',
-        testType: [
-            {
+        testType: [{
                 label: "单选",
                 value: "single"
             },
@@ -3339,8 +3343,7 @@ const LANG_ZH_CN = {
     mQuestion: {
         title: '问卷调查',
         questionType: '问卷类型',
-        type: [
-            {
+        type: [{
                 code: 0,
                 value: '学术教育'
             },
@@ -3357,8 +3360,7 @@ const LANG_ZH_CN = {
                 value: '其它'
             }
         ],
-        state: [
-            {
+        state: [{
                 code: 100,
                 value: '待发布'
             },
@@ -4407,8 +4409,7 @@ const LANG_ZH_CN = {
             classInteraction: "课堂互动",
             achievement: "我的成绩",
         },
-        testType: [
-            {
+        testType: [{
                 label: "单选题",
                 value: "single"
             },
@@ -4441,8 +4442,7 @@ const LANG_ZH_CN = {
                 value: "connector"
             }
         ],
-        state1: [
-            {
+        state1: [{
                 type: 'all',
                 status: '所有活动状态'
             },
@@ -4463,8 +4463,7 @@ const LANG_ZH_CN = {
                 status: '缺考'
             }
         ],
-        state2: [
-            {
+        state2: [{
                 type: 'all',
                 status: '所有活动状态'
             },
@@ -6945,7 +6944,7 @@ const LANG_ZH_CN = {
         text2: '%',
         text3: '套',
         text4: '次',
-        text5: '分',//分钟
+        text5: '分', //分钟
         text6: '则',
         text7: '人',
         text8: 'm',
@@ -7272,9 +7271,9 @@ const LANG_ZH_CN = {
         },
         class: {
             total: '今年总数据',
-            lastWeek: '上周',
-            nowMonth: '本月',
-            vitality: '活跃度',
+                lastWeek: '上周',
+                nowMonth: '本月',
+                vitality: '活跃度',
         },
         research: {
             accomplish: '已完成',
@@ -7318,15 +7317,15 @@ const LANG_ZH_CN = {
         },
         class: {
             lessonTitle: '课例',
-            activityTitle: '活动',
-            interactionTitle: '互动',
-            totalTitle: '总数据',
-            todayData: '今日数据',
-            contrastYesterday: '昨日对比',
-            contrastLastmonth: '上月对比',
-            contrastLastyear: '去年对比',
+                activityTitle: '活动',
+                interactionTitle: '互动',
+                totalTitle: '总数据',
+                todayData: '今日数据',
+                contrastYesterday: '昨日对比',
+                contrastLastmonth: '上月对比',
+                contrastLastyear: '去年对比',
         },
         gradeTitle: '年级占比',
         subjectTitle: '科目占比',
     },
-}
+}

+ 24 - 25
TEAMModelOS/ClientApp/public/lang/zh-TW.js

@@ -621,7 +621,12 @@ const LANG_ZH_TW = {
         cc4: '教師:',
         stuClient: '學生連線數',
         noCus: '暫無課程資訊',
-        noList: '暫無名單數據'
+        noList: '暫無名單數據',
+        regulator: '頻道管理',
+        channelsize: '頻道空間',
+        discussClass: '通用議課教室數',
+        discussJoin: '通用議課連線數',
+        notAuthorized: '暫無授權'
     },
     // 班级管理
     classMgmt: {
@@ -1848,8 +1853,7 @@ const LANG_ZH_TW = {
         evMode3: '卷卡合一評量',
         publishType1: '立即發布',
         publishType2: '定時發布',
-        testType: [
-            {
+        testType: [{
                 label: "選擇",
                 value: "single"
             },
@@ -3340,8 +3344,7 @@ const LANG_ZH_TW = {
     mQuestion: {
         title: '問卷調查',
         questionType: '問卷類型',
-        type: [
-            {
+        type: [{
                 code: 0,
                 value: '學術教育'
             },
@@ -3358,8 +3361,7 @@ const LANG_ZH_TW = {
                 value: '其他'
             }
         ],
-        state: [
-            {
+        state: [{
                 code: 100,
                 value: '待發布'
             },
@@ -4408,8 +4410,7 @@ const LANG_ZH_TW = {
             classInteraction: "課堂互動",
             achievement: "我的成績",
         },
-        testType: [
-            {
+        testType: [{
                 label: "單選題",
                 value: "single"
             },
@@ -4442,8 +4443,7 @@ const LANG_ZH_TW = {
                 value: "connector"
             }
         ],
-        state1: [
-            {
+        state1: [{
                 type: 'all',
                 status: '所有活動狀態'
             },
@@ -4464,8 +4464,7 @@ const LANG_ZH_TW = {
                 status: '缺考'
             }
         ],
-        state2: [
-            {
+        state2: [{
                 type: 'all',
                 status: '所有活動狀態'
             },
@@ -6945,7 +6944,7 @@ const LANG_ZH_TW = {
         text2: '%',
         text3: '套',
         text4: '次',
-        text5: '分鐘',//分钟
+        text5: '分鐘', //分钟
         text6: '則',
         text7: '人',
         text8: 'm',
@@ -7271,9 +7270,9 @@ const LANG_ZH_TW = {
         },
         class: {
             total: '今年總數據',
-            lastWeek: '上週',
-            nowMonth: '本月',
-            vitality: '活躍度',
+                lastWeek: '上週',
+                nowMonth: '本月',
+                vitality: '活躍度',
         },
         research: {
             accomplish: '已完成',
@@ -7316,15 +7315,15 @@ const LANG_ZH_TW = {
         },
         class: {
             lessonTitle: '課堂',
-            activityTitle: '活動',
-            interactionTitle: '互動',
-            totalTitle: '總數據',
-            todayData: '今日數據',
-            contrastYesterday: '昨日對比',
-            contrastLastmonth: '上月對比',
-            contrastLastyear: '去年對比',
+                activityTitle: '活動',
+                interactionTitle: '互動',
+                totalTitle: '總數據',
+                todayData: '今日數據',
+                contrastYesterday: '昨日對比',
+                contrastLastmonth: '上月對比',
+                contrastLastyear: '去年對比',
         },
         gradeTitle: '年級佔比',
         subjectTitle: '科目佔比',
     },
-}
+}

+ 3 - 0
TEAMModelOS/ClientApp/src/common/BaseLayout.vue

@@ -209,6 +209,9 @@ export default {
         } else if (resultVersions === 'undefined' || resultService === 'undefined') {
           this.edition = 'basic'
           this.systemLevel = this.$t('system.basic')
+        } else {
+          this.edition = 'basic'
+          this.systemLevel = this.$t('system.basic')
         }
 
         //版本判断 根据edition的值

+ 5 - 5
TEAMModelOS/ClientApp/src/view/auth/Product.vue

@@ -240,16 +240,16 @@ export default {
           image: require("@/assets/image/module3.png"),
           content: this.$t('auth.content3'),
           isPay: 0,
-          prodCode: 'B9GPJ6NY',
+          prodCode: 'YMPCVCIM',
           'zh-cn': 'https://www.habook.com.cn/cloud.php?act=view&id=22',
           'zh-tw': 'https://www.habook.com/zh-tw/product.php?act=view&id=37',
           'en-us': 'https://www.habook.com/en/product.php?act=view&id=37',
           isShow: true,
           children: [
-            { name: '频道管理', start: 0, end: 0, state: false, key: 'B9GPJ6NY' },
-            { name: '频道空间', start: 0, end: 0, state: false, key: 'LY9AJ6NY' },
-            { name: '通用议课教室数', start: 0, end: 0, state: false, key: 'YL9CJ6NY' },
-            { name: '通用议课连接数', start: 0, end: 0, state: false, key: 'LL9MJ6NY' },
+            { name: this.$t('auth.regulator'), start: 0, end: 0, state: false, key: 'B9GPJ6NY' },    //频道管理
+            { name: this.$t('auth.channelsize'), start: 0, end: 0, state: false, key: 'LY9AJ6NY' },                    //频道空间
+            { name: this.$t('auth.discussClass'), start: 0, end: 0, state: false, key: 'YL9CJ6NY' },              //通用议课教室数
+            { name: this.$t('auth.discussJoin'), start: 0, end: 0, state: false, key: 'LL9MJ6NY' },              //通用议课连接数
           ]
         },
         {

+ 1 - 1
TEAMModelOS/ClientApp/src/view/auth/ProductItem.vue

@@ -55,7 +55,7 @@
           </span>
         </div>
         <span v-else style="color:#757575;font-size:14px;margin-left:5px;">
-          暂无授权
+          {{$t('auth.notAuthorized')}}
         </span>
       </div>
     </div>

+ 1 - 1
TEAMModelOS/Controllers/Normal/AbilityTaskController.cs

@@ -84,7 +84,7 @@ namespace TEAMModelOS.Controllers
                         abilityTask.children = nodes;
                         abilityTask.code = $"AbilityTask-{request.standard}";
                         abilityTask.pk = "AbilityTask";
-                        abilityTask.ttl = -1;
+                        abilityTask.ttl = -1; 
                         abilityTask.abilityId = abilityTaskTree.abilityId;
                         abilityTask.scope = abilityTaskTree.scope;
                         abilityTask.codeval = $"{request.standard}";

+ 47 - 11
TEAMModelOS/Controllers/XTest/TestController.cs

@@ -29,12 +29,14 @@ using System.Linq;
 using System.Net;
 using System.Net.Http;
 using System.Net.Http.Json;
+using System.Runtime.Intrinsics.X86;
 using System.Security.Policy;
 using System.Text;
 using System.Text.Json;
 using System.Text.RegularExpressions;
 using System.Threading.Tasks;
 using TEAMModelOS.Controllers.Analysis;
+using TEAMModelOS.Controllers.Third.LePei;
 using TEAMModelOS.Filter;
 using TEAMModelOS.Models;
 using TEAMModelOS.SDK;
@@ -500,17 +502,51 @@ namespace TEAMModelOS.Controllers
         [ProducesDefaultResponseType]
         [HttpPost("check-ems")]
         public async Task<IActionResult> CheckPjx(JsonElement json)
-        { 
-            var s = AESHelper.Decryptor("O1b2qJxHbOTXModS23iTxTJm4TV+WPVjdHH2brUVxTukikfXlQFGrfPKj4JG4YlKbGg8gqyEcYfGesNDUvkojf4acagZuxx5pXBiPv88ZsERazCTi759v6O6ml/IJlRA0Y5OD0Ri6+n2f0xdvDh9bT9sre5wA/drOBHraqe1IIy9oFzN/WhSaRSx6dQDKWUxNx5nyVWr1muA09C6Xel2zqng4Bf1NpCWxtCmNTgzzlVUsG8o5IP3AJ3gVGjTEOl18UOv/zKkfcq87QWeJ4ahvV3F6Ih7bVw7EEFprQ5J3cY=", "JU57Vi4xUNNPqGsz44HNq9gSJX9JQYf7", "JU57Vi4xUNNPqGsz");
-
-            string ss = "[{\"cert_num\":\"513001190008160311\",\"class_id\":\"1542777741770342400\",\"grade_id\":\"1542776818738249728\",\"is_fill\":\"0\",\"student_name\":\"张山\",\"student_number\":\"1555777983257395256\",\"student_status\":\"在读\"}]";
-            string em = AESHelper.Encryptor(s, "JU57Vi4xUNNPqGsz44HNq9gSJX9JQYf7", "JU57Vi4xUNNPqGsz");
-            string dm = AESHelper.Decryptor(em, "JU57Vi4xUNNPqGsz44HNq9gSJX9JQYf7", "JU57Vi4xUNNPqGsz");
-            //await BIStats.SetTypeAddStats(_azureCosmos.GetCosmosClient(), _dingDing, "cdjsxc", "Exam", 1, careDate: 1678958789738);//BI统计增/减量
-            //List<GroupListGrp> groups = await GroupListService.GetMemberInGroupList(_coreAPIHttpService, _azureCosmos.GetCosmosClient(), _dingDing, "202201004", 2, "hbcn", new List<string> { "class", "teach" });
-            //QueryDefinition queryDefinition = new QueryDefinition($"SELECT  value(c) FROM c ");
-            //var data = await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.Student).GetList<Student>(queryDefinition, "Base-hbcn");
-            return Ok(/*new { data.continuationToken, data.list, data.ru }*/);
+        {
+            var table = _azureStorage.GetCloudTableClient().GetTableReference("ScYxpt");
+          
+            List< ScTeacher > teachers = await table.FindListByDict<ScTeacher>(new Dictionary<string, object>() { { "PartitionKey", "ScTeacher" }, { "ProjectItemID", 1350 } });
+            List<dynamic> unbind = new List<dynamic>();
+            List<dynamic> unupload_rzcl = new List<dynamic>();
+            List<dynamic> uploads_rzcl = new List<dynamic>();
+            List<dynamic> unupload_video = new List<dynamic>();
+            List<dynamic> uploads_video = new List<dynamic>();
+            string sql = "select value c from c ";
+            foreach (var teacher in teachers)
+            {
+                if (!string.IsNullOrWhiteSpace(teacher.schoolCode) && !string.IsNullOrWhiteSpace(teacher.tmdid))
+                {
+                    await foreach (var item in _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.Teacher)
+                    .GetItemQueryIterator<AbilitySub>(queryText: sql, requestOptions: new QueryRequestOptions { PartitionKey = new PartitionKey($"AbilitySub-{teacher.schoolCode}-{teacher.tmdid}") }))
+                    {
+                        if (item.uploads.IsNotEmpty())
+                        {
+                            uploads_rzcl.Add(new { teacher.TeacherName,teacher.SchoolName,teacher.PXID,time= DateTimeOffset.FromUnixTimeMilliseconds(item.uploads.OrderByDescending(m => m.time).FirstOrDefault().time).ToString("yyyy-MM-dd HH:mm:ss") });
+
+                        } else {
+                            unupload_rzcl.Add(new { teacher.TeacherName, teacher.SchoolName, teacher.PXID });
+                        }
+                    }
+                    string sql_video =$"select value c from c where c.id='{teacher.tmdid}'";
+                    await foreach (var item in _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.Teacher)
+                    .GetItemQueryIterator<ClassVideo>(queryText: sql, requestOptions: new QueryRequestOptions { PartitionKey = new PartitionKey($"ClassVideo-{teacher.schoolCode}") }))
+                    {
+                        if (item.files.IsNotEmpty())
+                        {
+                            uploads_video.Add(new { teacher.TeacherName, teacher.SchoolName, teacher.PXID, time = DateTimeOffset.FromUnixTimeMilliseconds(item.files.OrderByDescending(m => m.time).FirstOrDefault().time).ToString("yyyy-MM-dd HH:mm:ss") });
+
+                        }
+                        else
+                        {
+                            unupload_video.Add(new { teacher.TeacherName, teacher.SchoolName, teacher.PXID });
+                        }
+                    }
+                }
+                else {
+                    unbind.Add(new { teacher.TeacherName,teacher.SchoolName,teacher.PXID});
+                }
+            }
+            return Ok(new { unbind , unupload_rzcl, uploads_rzcl, uploads_video, unupload_video });
         }