{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c04fb2ce",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m在当前单元格或上一个单元格中执行代码时 Kernel 崩溃。\n",
      "\u001b[1;31m请查看单元格中的代码，以确定故障的可能原因。\n",
      "\u001b[1;31m单击<a href='https://aka.ms/vscodeJupyterKernelCrash'>此处</a>了解详细信息。\n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "import pandas as pd\n",
    "\n",
    "# 读取Excel文件中的所有sheet\n",
    "file_path = \"./教工信息.xlsx\"  # 替换为你的Excel文件路径\n",
    "all_sheets = pd.read_excel(file_path, sheet_name=None,dtype=str)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "368a36aa",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "所有sheet名称： ['总表格透视表', '总表格', '百仁教师63', '本部教师207', '离职教师29', '食堂55', '特色课外聘教师10', '图书馆1', '外来运送人员2', '文印室1', '物业24', '鸿兴运达17', '128个未确定账号']\n"
     ]
    }
   ],
   "source": [
    "print(\"所有sheet名称：\", list(all_sheets.keys()))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "e1c347b5",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>姓名</th>\n",
       "      <th>手环号</th>\n",
       "      <th>工号</th>\n",
       "      <th>性别</th>\n",
       "      <th>电话号码</th>\n",
       "      <th>类别</th>\n",
       "      <th>聘用形式</th>\n",
       "      <th>部门/部门职责</th>\n",
       "      <th>部门权限</th>\n",
       "      <th>年级</th>\n",
       "      <th>班级</th>\n",
       "      <th>课程</th>\n",
       "      <th>账户名</th>\n",
       "      <th>分组</th>\n",
       "      <th>学科</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>王露</td>\n",
       "      <td>2402976695</td>\n",
       "      <td>zz_wanglu</td>\n",
       "      <td>女</td>\n",
       "      <td>NaN</td>\n",
       "      <td>学工处</td>\n",
       "      <td>校聘</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>政治</td>\n",
       "      <td>zz_wanglu</td>\n",
       "      <td>百仁分校教师组</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>董明湘</td>\n",
       "      <td>3184695831</td>\n",
       "      <td>ls_dongmingxiang</td>\n",
       "      <td>男</td>\n",
       "      <td>NaN</td>\n",
       "      <td>学工处</td>\n",
       "      <td>校聘</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>历史</td>\n",
       "      <td>ls_dongmingxiang</td>\n",
       "      <td>百仁分校教师组</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>何佳</td>\n",
       "      <td>2489238298</td>\n",
       "      <td>wl_hejia</td>\n",
       "      <td>女</td>\n",
       "      <td>18282551593</td>\n",
       "      <td>普通教师</td>\n",
       "      <td>校聘</td>\n",
       "      <td>教师/2024学部,物理/教师,出勤、形象、通讯/主管</td>\n",
       "      <td>考勤组,任课老师</td>\n",
       "      <td>2021级</td>\n",
       "      <td>NaN</td>\n",
       "      <td>物理</td>\n",
       "      <td>wl_hejia</td>\n",
       "      <td>百仁分校教师组</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>袁郭婷</td>\n",
       "      <td>2493974330</td>\n",
       "      <td>wy_yuanguoting</td>\n",
       "      <td>女</td>\n",
       "      <td>13438309202</td>\n",
       "      <td>班主任</td>\n",
       "      <td>校聘</td>\n",
       "      <td>教师/2024学部,英语/教师,导师项目组/导师</td>\n",
       "      <td>班主任</td>\n",
       "      <td>2021级</td>\n",
       "      <td>14班</td>\n",
       "      <td>英语</td>\n",
       "      <td>wy_yuanguoting</td>\n",
       "      <td>百仁分校教师组</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>赵海西</td>\n",
       "      <td>3856389518</td>\n",
       "      <td>wl_zhaohaixi</td>\n",
       "      <td>女</td>\n",
       "      <td>18111670821</td>\n",
       "      <td>普通教师</td>\n",
       "      <td>在编</td>\n",
       "      <td>教师/2024学部</td>\n",
       "      <td>任课老师</td>\n",
       "      <td>2022级</td>\n",
       "      <td>NaN</td>\n",
       "      <td>物理</td>\n",
       "      <td>zhaohaixi_js</td>\n",
       "      <td>百仁分校教师组</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>58</th>\n",
       "      <td>李红沄</td>\n",
       "      <td>3274430679</td>\n",
       "      <td>sx_lihongyun</td>\n",
       "      <td>女</td>\n",
       "      <td>19823001768</td>\n",
       "      <td>普通教师</td>\n",
       "      <td>外聘</td>\n",
       "      <td>数学/教师</td>\n",
       "      <td>任课老师</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>sx_lihongyun</td>\n",
       "      <td>百仁分校教师组</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>59</th>\n",
       "      <td>王雯雯</td>\n",
       "      <td>2476255722</td>\n",
       "      <td>yy_wangwenwen</td>\n",
       "      <td>女</td>\n",
       "      <td>17740276207</td>\n",
       "      <td>普通教师</td>\n",
       "      <td>外聘</td>\n",
       "      <td>语文/教师</td>\n",
       "      <td>任课老师</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>yy_wangwenwen</td>\n",
       "      <td>百仁分校教师组</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>60</th>\n",
       "      <td>向洋伸</td>\n",
       "      <td>1673678106</td>\n",
       "      <td>yy_xiangyangshen</td>\n",
       "      <td>男</td>\n",
       "      <td>19938041918</td>\n",
       "      <td>普通教师</td>\n",
       "      <td>外聘</td>\n",
       "      <td>语文/教师</td>\n",
       "      <td>任课老师</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>yy_xiangyangshen</td>\n",
       "      <td>百仁分校教师组</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>61</th>\n",
       "      <td>白婧</td>\n",
       "      <td>2465527370</td>\n",
       "      <td>sx_baijing</td>\n",
       "      <td>女</td>\n",
       "      <td>18123377937</td>\n",
       "      <td>普通教师</td>\n",
       "      <td>外聘</td>\n",
       "      <td>数学/教师</td>\n",
       "      <td>任课老师</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>sx_baijing</td>\n",
       "      <td>百仁分校教师组</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>62</th>\n",
       "      <td>刘春宏</td>\n",
       "      <td>2635403867</td>\n",
       "      <td>liuchunhong</td>\n",
       "      <td>女</td>\n",
       "      <td>15282119055</td>\n",
       "      <td>普通教师</td>\n",
       "      <td>外聘</td>\n",
       "      <td>历史/教师</td>\n",
       "      <td>任课老师</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>百仁分校教师组</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>63 rows × 15 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "     姓名         手环号                工号 性别         电话号码    类别 聘用形式  \\\n",
       "0    王露  2402976695         zz_wanglu  女          NaN   学工处   校聘   \n",
       "1   董明湘  3184695831  ls_dongmingxiang  男          NaN   学工处   校聘   \n",
       "2    何佳  2489238298          wl_hejia  女  18282551593  普通教师   校聘   \n",
       "3   袁郭婷  2493974330    wy_yuanguoting  女  13438309202   班主任   校聘   \n",
       "4   赵海西  3856389518      wl_zhaohaixi  女  18111670821  普通教师   在编   \n",
       "..  ...         ...               ... ..          ...   ...  ...   \n",
       "58  李红沄  3274430679      sx_lihongyun  女  19823001768  普通教师   外聘   \n",
       "59  王雯雯  2476255722     yy_wangwenwen  女  17740276207  普通教师   外聘   \n",
       "60  向洋伸  1673678106  yy_xiangyangshen  男  19938041918  普通教师   外聘   \n",
       "61   白婧  2465527370        sx_baijing  女  18123377937  普通教师   外聘   \n",
       "62  刘春宏  2635403867       liuchunhong  女  15282119055  普通教师   外聘   \n",
       "\n",
       "                        部门/部门职责      部门权限     年级   班级   课程               账户名  \\\n",
       "0                           NaN       NaN    NaN  NaN   政治         zz_wanglu   \n",
       "1                           NaN       NaN    NaN  NaN   历史  ls_dongmingxiang   \n",
       "2   教师/2024学部,物理/教师,出勤、形象、通讯/主管  考勤组,任课老师  2021级  NaN   物理          wl_hejia   \n",
       "3      教师/2024学部,英语/教师,导师项目组/导师       班主任  2021级  14班   英语    wy_yuanguoting   \n",
       "4                     教师/2024学部      任课老师  2022级  NaN   物理      zhaohaixi_js   \n",
       "..                          ...       ...    ...  ...  ...               ...   \n",
       "58                        数学/教师      任课老师    NaN  NaN  NaN      sx_lihongyun   \n",
       "59                        语文/教师      任课老师    NaN  NaN  NaN     yy_wangwenwen   \n",
       "60                        语文/教师      任课老师    NaN  NaN  NaN  yy_xiangyangshen   \n",
       "61                        数学/教师      任课老师    NaN  NaN  NaN        sx_baijing   \n",
       "62                        历史/教师      任课老师    NaN  NaN  NaN               NaN   \n",
       "\n",
       "         分组   学科  \n",
       "0   百仁分校教师组  NaN  \n",
       "1   百仁分校教师组  NaN  \n",
       "2   百仁分校教师组  NaN  \n",
       "3   百仁分校教师组  NaN  \n",
       "4   百仁分校教师组  NaN  \n",
       "..      ...  ...  \n",
       "58  百仁分校教师组  NaN  \n",
       "59  百仁分校教师组  NaN  \n",
       "60  百仁分校教师组  NaN  \n",
       "61  百仁分校教师组  NaN  \n",
       "62  百仁分校教师组  NaN  \n",
       "\n",
       "[63 rows x 15 columns]"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "all_sheets[\"百仁教师63\"]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "id": "a2cc54ba",
   "metadata": {},
   "outputs": [],
   "source": [
    "from requests import get,post\n",
    "ip = \"http://band.hxzhxy.cn\"\n",
    "param = {\n",
    "    \"username\": \"xtl\",\n",
    "    \"password\": \"xia123456\",\n",
    "    \"client_id\": \"client\",\n",
    "    \"grant_type\": \"password\",\n",
    "    \"client_secret\": \"123456\",\n",
    "}\n",
    "data = get(url=f\"http://band.hxzhxy.cn/oauth/token?username=zhongwei&password=123456a&client_id=client&grant_type=password&client_secret=123456\").json()\n",
    "token = data[\"access_token\"]\n",
    "header = {\n",
    "    \"content-type\": \"application/json\",\n",
    "    \"authorization\": f\"Bearer {token}\",\n",
    "}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "9bb1b8e7",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'success': True,\n",
       " 'msg': '操作成功',\n",
       " 'code': 0,\n",
       " 'data': {'id': '-1',\n",
       "  'text': '顶级节点',\n",
       "  'jobId': None,\n",
       "  'state': {'opened': True},\n",
       "  'checked': True,\n",
       "  'attributes': None,\n",
       "  'children': [{'id': '162',\n",
       "    'text': '教师',\n",
       "    'jobId': None,\n",
       "    'state': {'opened': True},\n",
       "    'checked': False,\n",
       "    'attributes': None,\n",
       "    'children': [{'id': '462',\n",
       "      'text': '语文',\n",
       "      'jobId': None,\n",
       "      'state': {'opened': True},\n",
       "      'checked': False,\n",
       "      'attributes': None,\n",
       "      'children': [],\n",
       "      'list': [{'id': 377, 'jobName': '教师', 'departId': 462, 'teamId': 19},\n",
       "       {'id': 378, 'jobName': '学科主任', 'departId': 462, 'teamId': 19},\n",
       "       {'id': 415, 'jobName': '备课组长', 'departId': 462, 'teamId': 19}],\n",
       "      'parentId': '162',\n",
       "      'hasParent': True,\n",
       "      'hasChildren': False},\n",
       "     {'id': '463',\n",
       "      'text': '数学',\n",
       "      'jobId': None,\n",
       "      'state': {'opened': True},\n",
       "      'checked': False,\n",
       "      'attributes': None,\n",
       "      'children': [],\n",
       "      'list': [{'id': 379, 'jobName': '教师', 'departId': 463, 'teamId': 19},\n",
       "       {'id': 380, 'jobName': '学科主任', 'departId': 463, 'teamId': 19},\n",
       "       {'id': 412, 'jobName': '备课组长', 'departId': 463, 'teamId': 19}],\n",
       "      'parentId': '162',\n",
       "      'hasParent': True,\n",
       "      'hasChildren': False},\n",
       "     {'id': '464',\n",
       "      'text': '英语',\n",
       "      'jobId': None,\n",
       "      'state': {'opened': True},\n",
       "      'checked': False,\n",
       "      'attributes': None,\n",
       "      'children': [],\n",
       "      'list': [{'id': 381, 'jobName': '教师', 'departId': 464, 'teamId': 19},\n",
       "       {'id': 382, 'jobName': '学科主任', 'departId': 464, 'teamId': 19},\n",
       "       {'id': 416, 'jobName': '备课组长', 'departId': 464, 'teamId': 19}],\n",
       "      'parentId': '162',\n",
       "      'hasParent': True,\n",
       "      'hasChildren': False},\n",
       "     {'id': '465',\n",
       "      'text': '物理',\n",
       "      'jobId': None,\n",
       "      'state': {'opened': True},\n",
       "      'checked': False,\n",
       "      'attributes': None,\n",
       "      'children': [],\n",
       "      'list': [{'id': 383, 'jobName': '教师', 'departId': 465, 'teamId': 19},\n",
       "       {'id': 384, 'jobName': '学科主任', 'departId': 465, 'teamId': 19},\n",
       "       {'id': 417, 'jobName': '备课组长', 'departId': 465, 'teamId': 19}],\n",
       "      'parentId': '162',\n",
       "      'hasParent': True,\n",
       "      'hasChildren': False},\n",
       "     {'id': '466',\n",
       "      'text': '化学',\n",
       "      'jobId': None,\n",
       "      'state': {'opened': True},\n",
       "      'checked': False,\n",
       "      'attributes': None,\n",
       "      'children': [],\n",
       "      'list': [{'id': 385, 'jobName': '教师', 'departId': 466, 'teamId': 19},\n",
       "       {'id': 386, 'jobName': '学科主任', 'departId': 466, 'teamId': 19},\n",
       "       {'id': 418, 'jobName': '备课组长', 'departId': 466, 'teamId': 19}],\n",
       "      'parentId': '162',\n",
       "      'hasParent': True,\n",
       "      'hasChildren': False},\n",
       "     {'id': '467',\n",
       "      'text': '生物',\n",
       "      'jobId': None,\n",
       "      'state': {'opened': True},\n",
       "      'checked': False,\n",
       "      'attributes': None,\n",
       "      'children': [],\n",
       "      'list': [{'id': 387, 'jobName': '教师', 'departId': 467, 'teamId': 19},\n",
       "       {'id': 388, 'jobName': '学科主任', 'departId': 467, 'teamId': 19},\n",
       "       {'id': 419, 'jobName': '备课组长', 'departId': 467, 'teamId': 19}],\n",
       "      'parentId': '162',\n",
       "      'hasParent': True,\n",
       "      'hasChildren': False},\n",
       "     {'id': '468',\n",
       "      'text': '道法',\n",
       "      'jobId': None,\n",
       "      'state': {'opened': True},\n",
       "      'checked': False,\n",
       "      'attributes': None,\n",
       "      'children': [],\n",
       "      'list': [{'id': 389, 'jobName': '教师', 'departId': 468, 'teamId': 19},\n",
       "       {'id': 390, 'jobName': '学科主任', 'departId': 468, 'teamId': 19},\n",
       "       {'id': 420, 'jobName': '备课组长', 'departId': 468, 'teamId': 19}],\n",
       "      'parentId': '162',\n",
       "      'hasParent': True,\n",
       "      'hasChildren': False},\n",
       "     {'id': '469',\n",
       "      'text': '历史',\n",
       "      'jobId': None,\n",
       "      'state': {'opened': True},\n",
       "      'checked': False,\n",
       "      'attributes': None,\n",
       "      'children': [],\n",
       "      'list': [{'id': 391, 'jobName': '教师', 'departId': 469, 'teamId': 19},\n",
       "       {'id': 392, 'jobName': '学科主任', 'departId': 469, 'teamId': 19},\n",
       "       {'id': 421, 'jobName': '备课组长', 'departId': 469, 'teamId': 19}],\n",
       "      'parentId': '162',\n",
       "      'hasParent': True,\n",
       "      'hasChildren': False},\n",
       "     {'id': '470',\n",
       "      'text': '地理',\n",
       "      'jobId': None,\n",
       "      'state': {'opened': True},\n",
       "      'checked': False,\n",
       "      'attributes': None,\n",
       "      'children': [],\n",
       "      'list': [{'id': 393, 'jobName': '教师', 'departId': 470, 'teamId': 19},\n",
       "       {'id': 394, 'jobName': '学科主任', 'departId': 470, 'teamId': 19},\n",
       "       {'id': 422, 'jobName': '备课组长', 'departId': 470, 'teamId': 19}],\n",
       "      'parentId': '162',\n",
       "      'hasParent': True,\n",
       "      'hasChildren': False},\n",
       "     {'id': '471',\n",
       "      'text': '音乐',\n",
       "      'jobId': None,\n",
       "      'state': {'opened': True},\n",
       "      'checked': False,\n",
       "      'attributes': None,\n",
       "      'children': [],\n",
       "      'list': [{'id': 395, 'jobName': '教师', 'departId': 471, 'teamId': 19},\n",
       "       {'id': 396, 'jobName': '学科主任', 'departId': 471, 'teamId': 19},\n",
       "       {'id': 423, 'jobName': '备课组长', 'departId': 471, 'teamId': 19}],\n",
       "      'parentId': '162',\n",
       "      'hasParent': True,\n",
       "      'hasChildren': False},\n",
       "     {'id': '472',\n",
       "      'text': '体育',\n",
       "      'jobId': None,\n",
       "      'state': {'opened': True},\n",
       "      'checked': False,\n",
       "      'attributes': None,\n",
       "      'children': [],\n",
       "      'list': [{'id': 397, 'jobName': '教师', 'departId': 472, 'teamId': 19},\n",
       "       {'id': 398, 'jobName': '学科主任', 'departId': 472, 'teamId': 19},\n",
       "       {'id': 424, 'jobName': '备课组长', 'departId': 472, 'teamId': 19},\n",
       "       {'id': 429, 'jobName': '器材管理员', 'departId': 472, 'teamId': 19}],\n",
       "      'parentId': '162',\n",
       "      'hasParent': True,\n",
       "      'hasChildren': False},\n",
       "     {'id': '473',\n",
       "      'text': '美术',\n",
       "      'jobId': None,\n",
       "      'state': {'opened': True},\n",
       "      'checked': False,\n",
       "      'attributes': None,\n",
       "      'children': [],\n",
       "      'list': [{'id': 399, 'jobName': '教师', 'departId': 473, 'teamId': 19},\n",
       "       {'id': 400, 'jobName': '学科主任', 'departId': 473, 'teamId': 19},\n",
       "       {'id': 425, 'jobName': '备课组长', 'departId': 473, 'teamId': 19}],\n",
       "      'parentId': '162',\n",
       "      'hasParent': True,\n",
       "      'hasChildren': False},\n",
       "     {'id': '474',\n",
       "      'text': '技术',\n",
       "      'jobId': None,\n",
       "      'state': {'opened': True},\n",
       "      'checked': False,\n",
       "      'attributes': None,\n",
       "      'children': [],\n",
       "      'list': [{'id': 401, 'jobName': '教师', 'departId': 474, 'teamId': 19},\n",
       "       {'id': 402, 'jobName': '学科主任', 'departId': 474, 'teamId': 19},\n",
       "       {'id': 426, 'jobName': '备课组长', 'departId': 474, 'teamId': 19}],\n",
       "      'parentId': '162',\n",
       "      'hasParent': True,\n",
       "      'hasChildren': False},\n",
       "     {'id': '475',\n",
       "      'text': '艺术',\n",
       "      'jobId': None,\n",
       "      'state': {'opened': True},\n",
       "      'checked': False,\n",
       "      'attributes': None,\n",
       "      'children': [],\n",
       "      'list': [{'id': 403, 'jobName': '教师', 'departId': 475, 'teamId': 19},\n",
       "       {'id': 404, 'jobName': '学科主任', 'departId': 475, 'teamId': 19},\n",
       "       {'id': 427, 'jobName': '备课组长', 'departId': 475, 'teamId': 19}],\n",
       "      'parentId': '162',\n",
       "      'hasParent': True,\n",
       "      'hasChildren': False},\n",
       "     {'id': '476',\n",
       "      'text': '综合',\n",
       "      'jobId': None,\n",
       "      'state': {'opened': True},\n",
       "      'checked': False,\n",
       "      'attributes': None,\n",
       "      'children': [],\n",
       "      'list': [{'id': 405, 'jobName': '教师', 'departId': 476, 'teamId': 19},\n",
       "       {'id': 406, 'jobName': '学科主任', 'departId': 476, 'teamId': 19},\n",
       "       {'id': 428, 'jobName': '备课组长', 'departId': 476, 'teamId': 19}],\n",
       "      'parentId': '162',\n",
       "      'hasParent': True,\n",
       "      'hasChildren': False},\n",
       "     {'id': '478',\n",
       "      'text': '心理',\n",
       "      'jobId': None,\n",
       "      'state': {'opened': True},\n",
       "      'checked': False,\n",
       "      'attributes': None,\n",
       "      'children': [],\n",
       "      'list': [{'id': 430, 'jobName': '教师', 'departId': 478, 'teamId': 19},\n",
       "       {'id': 431, 'jobName': '学科主任', 'departId': 478, 'teamId': 19},\n",
       "       {'id': 432, 'jobName': '备课组长', 'departId': 478, 'teamId': 19}],\n",
       "      'parentId': '162',\n",
       "      'hasParent': True,\n",
       "      'hasChildren': False},\n",
       "     {'id': '479',\n",
       "      'text': '教辅',\n",
       "      'jobId': None,\n",
       "      'state': {'opened': True},\n",
       "      'checked': False,\n",
       "      'attributes': None,\n",
       "      'children': [],\n",
       "      'list': [],\n",
       "      'parentId': '162',\n",
       "      'hasParent': True,\n",
       "      'hasChildren': False}],\n",
       "    'list': [{'id': 366, 'jobName': '2024学部', 'departId': 162, 'teamId': 19},\n",
       "     {'id': 375, 'jobName': '2025学部', 'departId': 162, 'teamId': 19},\n",
       "     {'id': 376, 'jobName': '2026学部', 'departId': 162, 'teamId': 19},\n",
       "     {'id': 409, 'jobName': '2024学部主任', 'departId': 162, 'teamId': 19},\n",
       "     {'id': 410, 'jobName': '2025学部主任', 'departId': 162, 'teamId': 19},\n",
       "     {'id': 411, 'jobName': '2026学部主任', 'departId': 162, 'teamId': 19},\n",
       "     {'id': 413, 'jobName': '交流', 'departId': 162, 'teamId': 19},\n",
       "     {'id': 414, 'jobName': '病假', 'departId': 162, 'teamId': 19},\n",
       "     {'id': 443, 'jobName': '2027学部主任', 'departId': 162, 'teamId': 19},\n",
       "     {'id': 444, 'jobName': '2027学部', 'departId': 162, 'teamId': 19}],\n",
       "    'parentId': '0',\n",
       "    'hasParent': False,\n",
       "    'hasChildren': True},\n",
       "   {'id': '164',\n",
       "    'text': '项目组',\n",
       "    'jobId': None,\n",
       "    'state': {'opened': True},\n",
       "    'checked': False,\n",
       "    'attributes': None,\n",
       "    'children': [{'id': '213',\n",
       "      'text': '教育顾问',\n",
       "      'jobId': None,\n",
       "      'state': {'opened': True},\n",
       "      'checked': False,\n",
       "      'attributes': None,\n",
       "      'children': [],\n",
       "      'list': [{'id': 147, 'jobName': '教育顾问', 'departId': 213, 'teamId': 19},\n",
       "       {'id': 164, 'jobName': '主管', 'departId': 213, 'teamId': 19}],\n",
       "      'parentId': '164',\n",
       "      'hasParent': True,\n",
       "      'hasChildren': False},\n",
       "     {'id': '214',\n",
       "      'text': '导师项目组',\n",
       "      'jobId': None,\n",
       "      'state': {'opened': True},\n",
       "      'checked': False,\n",
       "      'attributes': None,\n",
       "      'children': [],\n",
       "      'list': [{'id': 146, 'jobName': '导师', 'departId': 214, 'teamId': 19}],\n",
       "      'parentId': '164',\n",
       "      'hasParent': True,\n",
       "      'hasChildren': False},\n",
       "     {'id': '215',\n",
       "      'text': '游学项目组',\n",
       "      'jobId': None,\n",
       "      'state': {'opened': True},\n",
       "      'checked': False,\n",
       "      'attributes': None,\n",
       "      'children': [],\n",
       "      'list': [{'id': 144, 'jobName': '主管', 'departId': 215, 'teamId': 19},\n",
       "       {'id': 145, 'jobName': '组员', 'departId': 215, 'teamId': 19}],\n",
       "      'parentId': '164',\n",
       "      'hasParent': True,\n",
       "      'hasChildren': False},\n",
       "     {'id': '216',\n",
       "      'text': '自主管理学院',\n",
       "      'jobId': None,\n",
       "      'state': {'opened': True},\n",
       "      'checked': False,\n",
       "      'attributes': None,\n",
       "      'children': [],\n",
       "      'list': [{'id': 142, 'jobName': '主管', 'departId': 216, 'teamId': 19},\n",
       "       {'id': 143, 'jobName': '组员', 'departId': 216, 'teamId': 19}],\n",
       "      'parentId': '164',\n",
       "      'hasParent': True,\n",
       "      'hasChildren': False},\n",
       "     {'id': '217',\n",
       "      'text': '出勤、形象、通讯',\n",
       "      'jobId': None,\n",
       "      'state': {'opened': True},\n",
       "      'checked': False,\n",
       "      'attributes': None,\n",
       "      'children': [{'id': '441',\n",
       "        'text': '初一出勤项目组',\n",
       "        'jobId': None,\n",
       "        'state': {'opened': True},\n",
       "        'checked': False,\n",
       "        'attributes': None,\n",
       "        'children': [],\n",
       "        'list': [{'id': 310, 'jobName': '主管', 'departId': 441, 'teamId': 19},\n",
       "         {'id': 311, 'jobName': '组员', 'departId': 441, 'teamId': 19}],\n",
       "        'parentId': '217',\n",
       "        'hasParent': True,\n",
       "        'hasChildren': False},\n",
       "       {'id': '442',\n",
       "        'text': '初二出勤项目组',\n",
       "        'jobId': None,\n",
       "        'state': {'opened': True},\n",
       "        'checked': False,\n",
       "        'attributes': None,\n",
       "        'children': [],\n",
       "        'list': [{'id': 312, 'jobName': '主管', 'departId': 442, 'teamId': 19},\n",
       "         {'id': 313, 'jobName': '组员', 'departId': 442, 'teamId': 19}],\n",
       "        'parentId': '217',\n",
       "        'hasParent': True,\n",
       "        'hasChildren': False},\n",
       "       {'id': '443',\n",
       "        'text': '初三出勤项目组',\n",
       "        'jobId': None,\n",
       "        'state': {'opened': True},\n",
       "        'checked': False,\n",
       "        'attributes': None,\n",
       "        'children': [],\n",
       "        'list': [{'id': 314, 'jobName': '主管', 'departId': 443, 'teamId': 19},\n",
       "         {'id': 315, 'jobName': '组员', 'departId': 443, 'teamId': 19}],\n",
       "        'parentId': '217',\n",
       "        'hasParent': True,\n",
       "        'hasChildren': False},\n",
       "       {'id': '495',\n",
       "        'text': '2025级出勤项目组',\n",
       "        'jobId': None,\n",
       "        'state': {'opened': True},\n",
       "        'checked': False,\n",
       "        'attributes': None,\n",
       "        'children': [],\n",
       "        'list': [{'id': 450, 'jobName': '主管', 'departId': 495, 'teamId': 19}],\n",
       "        'parentId': '217',\n",
       "        'hasParent': True,\n",
       "        'hasChildren': False}],\n",
       "      'list': [{'id': 140, 'jobName': '主管', 'departId': 217, 'teamId': 19},\n",
       "       {'id': 141, 'jobName': '组员', 'departId': 217, 'teamId': 19}],\n",
       "      'parentId': '164',\n",
       "      'hasParent': True,\n",
       "      'hasChildren': True},\n",
       "     {'id': '218',\n",
       "      'text': '晨练',\n",
       "      'jobId': None,\n",
       "      'state': {'opened': True},\n",
       "      'checked': False,\n",
       "      'attributes': None,\n",
       "      'children': [],\n",
       "      'list': [{'id': 138, 'jobName': '主管', 'departId': 218, 'teamId': 19},\n",
       "       {'id': 139, 'jobName': '组员', 'departId': 218, 'teamId': 19}],\n",
       "      'parentId': '164',\n",
       "      'hasParent': True,\n",
       "      'hasChildren': False},\n",
       "     {'id': '219',\n",
       "      'text': '自习',\n",
       "      'jobId': None,\n",
       "      'state': {'opened': True},\n",
       "      'checked': False,\n",
       "      'attributes': None,\n",
       "      'children': [],\n",
       "      'list': [{'id': 136, 'jobName': '主管', 'departId': 219, 'teamId': 19},\n",
       "       {'id': 137, 'jobName': '组员', 'departId': 219, 'teamId': 19}],\n",
       "      'parentId': '164',\n",
       "      'hasParent': True,\n",
       "      'hasChildren': False},\n",
       "     {'id': '331',\n",
       "      'text': '大课间',\n",
       "      'jobId': None,\n",
       "      'state': {'opened': True},\n",
       "      'checked': False,\n",
       "      'attributes': None,\n",
       "      'children': [],\n",
       "      'list': [{'id': 159, 'jobName': '主管', 'departId': 331, 'teamId': 19},\n",
       "       {'id': 160, 'jobName': '组员', 'departId': 331, 'teamId': 19}],\n",
       "      'parentId': '164',\n",
       "      'hasParent': True,\n",
       "      'hasChildren': False},\n",
       "     {'id': '332',\n",
       "      'text': '学生综合素养',\n",
       "      'jobId': None,\n",
       "      'state': {'opened': True},\n",
       "      'checked': False,\n",
       "      'attributes': None,\n",
       "      'children': [],\n",
       "      'list': [{'id': 162, 'jobName': '主管', 'departId': 332, 'teamId': 19},\n",
       "       {'id': 163, 'jobName': '组员', 'departId': 332, 'teamId': 19}],\n",
       "      'parentId': '164',\n",
       "      'hasParent': True,\n",
       "      'hasChildren': False},\n",
       "     {'id': '338',\n",
       "      'text': '国际化',\n",
       "      'jobId': None,\n",
       "      'state': {'opened': True},\n",
       "      'checked': False,\n",
       "      'attributes': None,\n",
       "      'children': [],\n",
       "      'list': [{'id': 177, 'jobName': '主管', 'departId': 338, 'teamId': 19},\n",
       "       {'id': 178, 'jobName': '组员', 'departId': 338, 'teamId': 19}],\n",
       "      'parentId': '164',\n",
       "      'hasParent': True,\n",
       "      'hasChildren': False},\n",
       "     {'id': '414',\n",
       "      'text': '校医保健',\n",
       "      'jobId': None,\n",
       "      'state': {'opened': True},\n",
       "      'checked': False,\n",
       "      'attributes': None,\n",
       "      'children': [],\n",
       "      'list': [{'id': 265, 'jobName': '主管', 'departId': 414, 'teamId': 19},\n",
       "       {'id': 266, 'jobName': '组员', 'departId': 414, 'teamId': 19}],\n",
       "      'parentId': '164',\n",
       "      'hasParent': True,\n",
       "      'hasChildren': False},\n",
       "     {'id': '447',\n",
       "      'text': '党政办公室',\n",
       "      'jobId': None,\n",
       "      'state': {'opened': True},\n",
       "      'checked': False,\n",
       "      'attributes': None,\n",
       "      'children': [],\n",
       "      'list': [{'id': 322, 'jobName': '人事主管', 'departId': 447, 'teamId': 19},\n",
       "       {'id': 323, 'jobName': '人事专员', 'departId': 447, 'teamId': 19},\n",
       "       {'id': 335, 'jobName': '党务主管', 'departId': 447, 'teamId': 19},\n",
       "       {'id': 336, 'jobName': '宣传主管', 'departId': 447, 'teamId': 19},\n",
       "       {'id': 337, 'jobName': '成员', 'departId': 447, 'teamId': 19},\n",
       "       {'id': 338, 'jobName': '办公室主任', 'departId': 447, 'teamId': 19},\n",
       "       {'id': 339, 'jobName': '办公室副主任', 'departId': 447, 'teamId': 19}],\n",
       "      'parentId': '164',\n",
       "      'hasParent': True,\n",
       "      'hasChildren': False},\n",
       "     {'id': '450',\n",
       "      'text': '校务委员会',\n",
       "      'jobId': None,\n",
       "      'state': {'opened': True},\n",
       "      'checked': False,\n",
       "      'attributes': None,\n",
       "      'children': [],\n",
       "      'list': [{'id': 324, 'jobName': '书记', 'departId': 450, 'teamId': 19},\n",
       "       {'id': 325, 'jobName': '校长', 'departId': 450, 'teamId': 19},\n",
       "       {'id': 326, 'jobName': '行政副校长', 'departId': 450, 'teamId': 19},\n",
       "       {'id': 327, 'jobName': '教学副校长', 'departId': 450, 'teamId': 19},\n",
       "       {'id': 328, 'jobName': '德育副校长', 'departId': 450, 'teamId': 19},\n",
       "       {'id': 329, 'jobName': '后勤副校长', 'departId': 450, 'teamId': 19},\n",
       "       {'id': 330, 'jobName': '校长助理', 'departId': 450, 'teamId': 19},\n",
       "       {'id': 331, 'jobName': '办公室主任', 'departId': 450, 'teamId': 19},\n",
       "       {'id': 332, 'jobName': '总务后勤中心主任', 'departId': 450, 'teamId': 19},\n",
       "       {'id': 333, 'jobName': '教务中心主任', 'departId': 450, 'teamId': 19},\n",
       "       {'id': 334, 'jobName': '课程中心主任', 'departId': 450, 'teamId': 19}],\n",
       "      'parentId': '164',\n",
       "      'hasParent': True,\n",
       "      'hasChildren': False},\n",
       "     {'id': '451',\n",
       "      'text': '成长联合会',\n",
       "      'jobId': None,\n",
       "      'state': {'opened': True},\n",
       "      'checked': False,\n",
       "      'attributes': None,\n",
       "      'children': [],\n",
       "      'list': [{'id': 340, 'jobName': '主任', 'departId': 451, 'teamId': 19},\n",
       "       {'id': 341, 'jobName': '德育主管', 'departId': 451, 'teamId': 19},\n",
       "       {'id': 343, 'jobName': '团委书记', 'departId': 451, 'teamId': 19},\n",
       "       {'id': 344, 'jobName': '心理工作主管', 'departId': 451, 'teamId': 19},\n",
       "       {'id': 345, 'jobName': '成员', 'departId': 451, 'teamId': 19}],\n",
       "      'parentId': '164',\n",
       "      'hasParent': True,\n",
       "      'hasChildren': False},\n",
       "     {'id': '454',\n",
       "      'text': '课程教学中心',\n",
       "      'jobId': None,\n",
       "      'state': {'opened': True},\n",
       "      'checked': False,\n",
       "      'attributes': None,\n",
       "      'children': [],\n",
       "      'list': [{'id': 346, 'jobName': '主任', 'departId': 454, 'teamId': 19},\n",
       "       {'id': 347, 'jobName': '成员', 'departId': 454, 'teamId': 19},\n",
       "       {'id': 348, 'jobName': '教学主管', 'departId': 454, 'teamId': 19}],\n",
       "      'parentId': '164',\n",
       "      'hasParent': True,\n",
       "      'hasChildren': False},\n",
       "     {'id': '457',\n",
       "      'text': '后勤中心',\n",
       "      'jobId': None,\n",
       "      'state': {'opened': True},\n",
       "      'checked': False,\n",
       "      'attributes': None,\n",
       "      'children': [],\n",
       "      'list': [{'id': 352, 'jobName': '电教员', 'departId': 457, 'teamId': 19},\n",
       "       {'id': 353, 'jobName': '报账员', 'departId': 457, 'teamId': 19},\n",
       "       {'id': 354, 'jobName': '工会主席', 'departId': 457, 'teamId': 19},\n",
       "       {'id': 355, 'jobName': '工会成员', 'departId': 457, 'teamId': 19},\n",
       "       {'id': 356, 'jobName': '图书管理员', 'departId': 457, 'teamId': 19},\n",
       "       {'id': 357, 'jobName': '文印管理员', 'departId': 457, 'teamId': 19},\n",
       "       {'id': 358, 'jobName': '主任', 'departId': 457, 'teamId': 19},\n",
       "       {'id': 359, 'jobName': '成员', 'departId': 457, 'teamId': 19},\n",
       "       {'id': 435, 'jobName': '生活管理', 'departId': 457, 'teamId': 19}],\n",
       "      'parentId': '164',\n",
       "      'hasParent': True,\n",
       "      'hasChildren': False},\n",
       "     {'id': '459',\n",
       "      'text': '教师书院',\n",
       "      'jobId': None,\n",
       "      'state': {'opened': True},\n",
       "      'checked': False,\n",
       "      'attributes': None,\n",
       "      'children': [],\n",
       "      'list': [{'id': 364, 'jobName': '成员', 'departId': 459, 'teamId': 19},\n",
       "       {'id': 365, 'jobName': '院长', 'departId': 459, 'teamId': 19}],\n",
       "      'parentId': '164',\n",
       "      'hasParent': True,\n",
       "      'hasChildren': False},\n",
       "     {'id': '477',\n",
       "      'text': '学术委员会',\n",
       "      'jobId': None,\n",
       "      'state': {'opened': True},\n",
       "      'checked': False,\n",
       "      'attributes': None,\n",
       "      'children': [],\n",
       "      'list': [],\n",
       "      'parentId': '164',\n",
       "      'hasParent': True,\n",
       "      'hasChildren': False}],\n",
       "    'list': [{'id': 79, 'jobName': '主管', 'departId': 164, 'teamId': 19},\n",
       "     {'id': 80, 'jobName': '组员', 'departId': 164, 'teamId': 19}],\n",
       "    'parentId': '0',\n",
       "    'hasParent': False,\n",
       "    'hasChildren': True},\n",
       "   {'id': '448',\n",
       "    'text': '物业',\n",
       "    'jobId': None,\n",
       "    'state': {'opened': True},\n",
       "    'checked': False,\n",
       "    'attributes': None,\n",
       "    'children': [{'id': '487',\n",
       "      'text': '电工组',\n",
       "      'jobId': None,\n",
       "      'state': {'opened': True},\n",
       "      'checked': False,\n",
       "      'attributes': None,\n",
       "      'children': [],\n",
       "      'list': [{'id': 441, 'jobName': '员工', 'departId': 487, 'teamId': 19}],\n",
       "      'parentId': '448',\n",
       "      'hasParent': True,\n",
       "      'hasChildren': False},\n",
       "     {'id': '511',\n",
       "      'text': '安保组',\n",
       "      'jobId': None,\n",
       "      'state': {'opened': True},\n",
       "      'checked': False,\n",
       "      'attributes': None,\n",
       "      'children': [],\n",
       "      'list': [{'id': 462, 'jobName': '员工', 'departId': 511, 'teamId': 19}],\n",
       "      'parentId': '448',\n",
       "      'hasParent': True,\n",
       "      'hasChildren': False},\n",
       "     {'id': '512',\n",
       "      'text': '保洁组',\n",
       "      'jobId': None,\n",
       "      'state': {'opened': True},\n",
       "      'checked': False,\n",
       "      'attributes': None,\n",
       "      'children': [],\n",
       "      'list': [{'id': 463, 'jobName': '员工', 'departId': 512, 'teamId': 19}],\n",
       "      'parentId': '448',\n",
       "      'hasParent': True,\n",
       "      'hasChildren': False},\n",
       "     {'id': '520',\n",
       "      'text': '文印图书室',\n",
       "      'jobId': None,\n",
       "      'state': {'opened': True},\n",
       "      'checked': False,\n",
       "      'attributes': None,\n",
       "      'children': [],\n",
       "      'list': [{'id': 464, 'jobName': '员工', 'departId': 520, 'teamId': 19}],\n",
       "      'parentId': '448',\n",
       "      'hasParent': True,\n",
       "      'hasChildren': False},\n",
       "     {'id': '521',\n",
       "      'text': '管理组',\n",
       "      'jobId': None,\n",
       "      'state': {'opened': True},\n",
       "      'checked': False,\n",
       "      'attributes': None,\n",
       "      'children': [],\n",
       "      'list': [{'id': 465, 'jobName': '经理', 'departId': 521, 'teamId': 19}],\n",
       "      'parentId': '448',\n",
       "      'hasParent': True,\n",
       "      'hasChildren': False}],\n",
       "    'list': [{'id': 360, 'jobName': '保洁', 'departId': 448, 'teamId': 19},\n",
       "     {'id': 361, 'jobName': '保安', 'departId': 448, 'teamId': 19},\n",
       "     {'id': 362, 'jobName': '保洁班长', 'departId': 448, 'teamId': 19},\n",
       "     {'id': 363, 'jobName': '安保队长', 'departId': 448, 'teamId': 19},\n",
       "     {'id': 433, 'jobName': '文印', 'departId': 448, 'teamId': 19},\n",
       "     {'id': 434, 'jobName': '库管', 'departId': 448, 'teamId': 19}],\n",
       "    'parentId': '0',\n",
       "    'hasParent': False,\n",
       "    'hasChildren': True},\n",
       "   {'id': '449',\n",
       "    'text': '食堂',\n",
       "    'jobId': None,\n",
       "    'state': {'opened': True},\n",
       "    'checked': False,\n",
       "    'attributes': None,\n",
       "    'children': [{'id': '489',\n",
       "      'text': '食堂员工',\n",
       "      'jobId': None,\n",
       "      'state': {'opened': True},\n",
       "      'checked': False,\n",
       "      'attributes': None,\n",
       "      'children': [],\n",
       "      'list': [{'id': 445, 'jobName': '员工', 'departId': 489, 'teamId': 19},\n",
       "       {'id': 446, 'jobName': '经理', 'departId': 489, 'teamId': 19}],\n",
       "      'parentId': '449',\n",
       "      'hasParent': True,\n",
       "      'hasChildren': False}],\n",
       "    'list': [],\n",
       "    'parentId': '0',\n",
       "    'hasParent': False,\n",
       "    'hasChildren': True},\n",
       "   {'id': '452',\n",
       "    'text': '临时',\n",
       "    'jobId': None,\n",
       "    'state': {'opened': True},\n",
       "    'checked': False,\n",
       "    'attributes': None,\n",
       "    'children': [{'id': '453',\n",
       "      'text': '信息保障部',\n",
       "      'jobId': None,\n",
       "      'state': {'opened': True},\n",
       "      'checked': False,\n",
       "      'attributes': None,\n",
       "      'children': [{'id': '497',\n",
       "        'text': '外部人员',\n",
       "        'jobId': None,\n",
       "        'state': {'opened': True},\n",
       "        'checked': False,\n",
       "        'attributes': None,\n",
       "        'children': [],\n",
       "        'list': [],\n",
       "        'parentId': '453',\n",
       "        'hasParent': True,\n",
       "        'hasChildren': False}],\n",
       "      'list': [{'id': 342, 'jobName': '工程师', 'departId': 453, 'teamId': 19}],\n",
       "      'parentId': '452',\n",
       "      'hasParent': True,\n",
       "      'hasChildren': True},\n",
       "     {'id': '480',\n",
       "      'text': '文印室门卡',\n",
       "      'jobId': None,\n",
       "      'state': {'opened': True},\n",
       "      'checked': False,\n",
       "      'attributes': None,\n",
       "      'children': [],\n",
       "      'list': [{'id': 436, 'jobName': '临时卡', 'departId': 480, 'teamId': 19}],\n",
       "      'parentId': '452',\n",
       "      'hasParent': True,\n",
       "      'hasChildren': False},\n",
       "     {'id': '485',\n",
       "      'text': '分校教师',\n",
       "      'jobId': None,\n",
       "      'state': {'opened': True},\n",
       "      'checked': False,\n",
       "      'attributes': None,\n",
       "      'children': [{'id': '486',\n",
       "        'text': '地理',\n",
       "        'jobId': None,\n",
       "        'state': {'opened': True},\n",
       "        'checked': False,\n",
       "        'attributes': None,\n",
       "        'children': [],\n",
       "        'list': [{'id': 440, 'jobName': '教师', 'departId': 486, 'teamId': 19}],\n",
       "        'parentId': '485',\n",
       "        'hasParent': True,\n",
       "        'hasChildren': False},\n",
       "       {'id': '499',\n",
       "        'text': '历史',\n",
       "        'jobId': None,\n",
       "        'state': {'opened': True},\n",
       "        'checked': False,\n",
       "        'attributes': None,\n",
       "        'children': [],\n",
       "        'list': [{'id': 454, 'jobName': '教师', 'departId': 499, 'teamId': 19}],\n",
       "        'parentId': '485',\n",
       "        'hasParent': True,\n",
       "        'hasChildren': False}],\n",
       "      'list': [],\n",
       "      'parentId': '452',\n",
       "      'hasParent': True,\n",
       "      'hasChildren': True},\n",
       "     {'id': '490',\n",
       "      'text': '外来运送人员',\n",
       "      'jobId': None,\n",
       "      'state': {'opened': True},\n",
       "      'checked': False,\n",
       "      'attributes': None,\n",
       "      'children': [],\n",
       "      'list': [{'id': 447, 'jobName': '运试卷人员', 'departId': 490, 'teamId': 19}],\n",
       "      'parentId': '452',\n",
       "      'hasParent': True,\n",
       "      'hasChildren': False},\n",
       "     {'id': '498',\n",
       "      'text': '临时外教',\n",
       "      'jobId': None,\n",
       "      'state': {'opened': True},\n",
       "      'checked': False,\n",
       "      'attributes': None,\n",
       "      'children': [],\n",
       "      'list': [{'id': 452, 'jobName': '教官', 'departId': 498, 'teamId': 19},\n",
       "       {'id': 453, 'jobName': '跟岗实习老师', 'departId': 498, 'teamId': 19}],\n",
       "      'parentId': '452',\n",
       "      'hasParent': True,\n",
       "      'hasChildren': False}],\n",
       "    'list': [],\n",
       "    'parentId': '0',\n",
       "    'hasParent': False,\n",
       "    'hasChildren': True},\n",
       "   {'id': '500',\n",
       "    'text': '鸿兴运达测试账号',\n",
       "    'jobId': None,\n",
       "    'state': {'opened': True},\n",
       "    'checked': False,\n",
       "    'attributes': None,\n",
       "    'children': [{'id': '507',\n",
       "      'text': '测试组',\n",
       "      'jobId': None,\n",
       "      'state': {'opened': True},\n",
       "      'checked': False,\n",
       "      'attributes': None,\n",
       "      'children': [{'id': '516',\n",
       "        'text': '鸿兴运达',\n",
       "        'jobId': None,\n",
       "        'state': {'opened': True},\n",
       "        'checked': False,\n",
       "        'attributes': None,\n",
       "        'children': [],\n",
       "        'list': [{'id': 455, 'jobName': '开发', 'departId': 516, 'teamId': 19},\n",
       "         {'id': 456, 'jobName': '市场', 'departId': 516, 'teamId': 19},\n",
       "         {'id': 457, 'jobName': '闲置账号', 'departId': 516, 'teamId': 19}],\n",
       "        'parentId': '507',\n",
       "        'hasParent': True,\n",
       "        'hasChildren': False}],\n",
       "      'list': [],\n",
       "      'parentId': '500',\n",
       "      'hasParent': True,\n",
       "      'hasChildren': True}],\n",
       "    'list': [],\n",
       "    'parentId': '0',\n",
       "    'hasParent': False,\n",
       "    'hasChildren': True},\n",
       "   {'id': '503',\n",
       "    'text': '百仁分校',\n",
       "    'jobId': None,\n",
       "    'state': {'opened': True},\n",
       "    'checked': False,\n",
       "    'attributes': None,\n",
       "    'children': [{'id': '504',\n",
       "      'text': '百仁分校教师组',\n",
       "      'jobId': None,\n",
       "      'state': {'opened': True},\n",
       "      'checked': False,\n",
       "      'attributes': None,\n",
       "      'children': [],\n",
       "      'list': [{'id': 458, 'jobName': '百仁教师', 'departId': 504, 'teamId': 19}],\n",
       "      'parentId': '503',\n",
       "      'hasParent': True,\n",
       "      'hasChildren': False}],\n",
       "    'list': [],\n",
       "    'parentId': '0',\n",
       "    'hasParent': False,\n",
       "    'hasChildren': True},\n",
       "   {'id': '505',\n",
       "    'text': '同文分校',\n",
       "    'jobId': None,\n",
       "    'state': {'opened': True},\n",
       "    'checked': False,\n",
       "    'attributes': None,\n",
       "    'children': [{'id': '506',\n",
       "      'text': '同文分校教师组',\n",
       "      'jobId': None,\n",
       "      'state': {'opened': True},\n",
       "      'checked': False,\n",
       "      'attributes': None,\n",
       "      'children': [],\n",
       "      'list': [{'id': 461, 'jobName': '同文教师', 'departId': 506, 'teamId': 19}],\n",
       "      'parentId': '505',\n",
       "      'hasParent': True,\n",
       "      'hasChildren': False}],\n",
       "    'list': [],\n",
       "    'parentId': '0',\n",
       "    'hasParent': False,\n",
       "    'hasChildren': True},\n",
       "   {'id': '509',\n",
       "    'text': '账号未确认组',\n",
       "    'jobId': None,\n",
       "    'state': {'opened': True},\n",
       "    'checked': False,\n",
       "    'attributes': None,\n",
       "    'children': [{'id': '510',\n",
       "      'text': '未确认账号',\n",
       "      'jobId': None,\n",
       "      'state': {'opened': True},\n",
       "      'checked': False,\n",
       "      'attributes': None,\n",
       "      'children': [],\n",
       "      'list': [],\n",
       "      'parentId': '509',\n",
       "      'hasParent': True,\n",
       "      'hasChildren': False}],\n",
       "    'list': [],\n",
       "    'parentId': '0',\n",
       "    'hasParent': False,\n",
       "    'hasChildren': True},\n",
       "   {'id': '513',\n",
       "    'text': '离职组',\n",
       "    'jobId': None,\n",
       "    'state': {'opened': True},\n",
       "    'checked': False,\n",
       "    'attributes': None,\n",
       "    'children': [{'id': '519',\n",
       "      'text': '离职教师',\n",
       "      'jobId': None,\n",
       "      'state': {'opened': True},\n",
       "      'checked': False,\n",
       "      'attributes': None,\n",
       "      'children': [],\n",
       "      'list': [{'id': 459, 'jobName': '离职教师', 'departId': 519, 'teamId': 19}],\n",
       "      'parentId': '513',\n",
       "      'hasParent': True,\n",
       "      'hasChildren': False}],\n",
       "    'list': [],\n",
       "    'parentId': '0',\n",
       "    'hasParent': False,\n",
       "    'hasChildren': True},\n",
       "   {'id': '517',\n",
       "    'text': '跟岗教师',\n",
       "    'jobId': None,\n",
       "    'state': {'opened': True},\n",
       "    'checked': False,\n",
       "    'attributes': None,\n",
       "    'children': [{'id': '518',\n",
       "      'text': '跟岗教师',\n",
       "      'jobId': None,\n",
       "      'state': {'opened': True},\n",
       "      'checked': False,\n",
       "      'attributes': None,\n",
       "      'children': [],\n",
       "      'list': [{'id': 460, 'jobName': '跟岗教师', 'departId': 518, 'teamId': 19}],\n",
       "      'parentId': '517',\n",
       "      'hasParent': True,\n",
       "      'hasChildren': False}],\n",
       "    'list': [],\n",
       "    'parentId': '0',\n",
       "    'hasParent': False,\n",
       "    'hasChildren': True},\n",
       "   {'id': '524',\n",
       "    'text': '特色课外聘教师组',\n",
       "    'jobId': None,\n",
       "    'state': {'opened': True},\n",
       "    'checked': False,\n",
       "    'attributes': None,\n",
       "    'children': [{'id': '525',\n",
       "      'text': '特色课外聘教师',\n",
       "      'jobId': None,\n",
       "      'state': {'opened': True},\n",
       "      'checked': False,\n",
       "      'attributes': None,\n",
       "      'children': [],\n",
       "      'list': [{'id': 466, 'jobName': '教师', 'departId': 525, 'teamId': 19}],\n",
       "      'parentId': '524',\n",
       "      'hasParent': True,\n",
       "      'hasChildren': False}],\n",
       "    'list': [],\n",
       "    'parentId': '0',\n",
       "    'hasParent': False,\n",
       "    'hasChildren': True}],\n",
       "  'list': None,\n",
       "  'parentId': '',\n",
       "  'hasParent': False,\n",
       "  'hasChildren': True}}"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "tree = get(\"https://www.hxzhxy.cn/hxyd-api/uc/depart/tree?teaId=&teamId=19&access_token=85eef73e-3422-4919-ba7b-cce9cebe8c62\").json()[\"data\"]\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "id": "bd0f66fb",
   "metadata": {},
   "outputs": [],
   "source": [
    "import pymysql\n",
    "import snowflake\n",
    "import random\n",
    "# 创建数据库连接\n",
    "conn = pymysql.connect(\n",
    "host='www.hxzhxy.cn',\n",
    "user='root',\n",
    "password='@HXYD1109mysql',\n",
    "database='school_server',\n",
    "charset='utf8'\n",
    ")\n",
    "# 创建游标对象\n",
    "cursor = conn.cursor()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "id": "37067c83",
   "metadata": {},
   "outputs": [],
   "source": [
    "def create_table(cursor,result):\n",
    "    \n",
    "    data = []\n",
    "    for i in result:\n",
    "        list_list = list(i)\n",
    "        des=cursor.description  # 获取表详情，字段名，长度，属性等\n",
    "        t = \",\".join([item[0] for item in des])\n",
    "        table_head = t.split(',')  # # 查询表列名 用,分割\n",
    "    \n",
    "        dict_result = dict(zip(table_head, list_list))  # 打包为元组的列表 再转换为字典\n",
    "        data.append(dict_result)  # 将字典添加到list_result中\n",
    "    return data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "id": "51878014",
   "metadata": {},
   "outputs": [],
   "source": [
    "sql = \"select * from teacher where team_id = 19\"\n",
    "cursor.execute(sql)\n",
    "result = cursor.fetchall()\n",
    "teacher = create_table(cursor,result)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "id": "778afddc",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "538"
      ]
     },
     "execution_count": 59,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(teacher)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "id": "911d91e7",
   "metadata": {},
   "outputs": [],
   "source": [
    "def findTeacher(key,value):\n",
    "    tem=[]\n",
    "    for item in teacher:\n",
    "        if item[key] == value:\n",
    "            tem.append(item)\n",
    "    return tem\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 78,
   "id": "16fb2f58",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "17"
      ]
     },
     "execution_count": 78,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "move_teachers = []\n",
    "for index, row in all_sheets[\"鸿兴运达17\"].iterrows():\n",
    "    serial_no = row[\"手环号\"]\n",
    "    no = row[\"工号\"]\n",
    "    tem = None\n",
    "    tem = findTeacher(\"serial_no\",serial_no)\n",
    "    if len(tem) ==1:\n",
    "        tem = tem[0]\n",
    "    else:\n",
    "        tem = findTeacher(\"tea_no\",no)\n",
    "        if len(tem) ==1:\n",
    "            tem = tem[0]\n",
    "        else:\n",
    "            tem = None\n",
    "    if tem != None:\n",
    "        move_teachers.append(tem)\n",
    "len(move_teachers)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 79,
   "id": "c4bd6743",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[{'id': 339,\n",
       "  'tea_name': '张三',\n",
       "  'sex': 1,\n",
       "  'phone': '18295478652',\n",
       "  'type': 2,\n",
       "  'grade_id': 107,\n",
       "  'class_id': None,\n",
       "  'user_name': 'zhangsan',\n",
       "  'team_id': '19',\n",
       "  'pid': None,\n",
       "  'serial_no': '1111111114',\n",
       "  'openid': None,\n",
       "  'tea_no': '1006',\n",
       "  'wx_phone': None,\n",
       "  'user_id': None,\n",
       "  'department_id': None,\n",
       "  'zt_teacher_uuid': None,\n",
       "  'hire': '职工',\n",
       "  'power': '',\n",
       "  'class_type_name': '物业',\n",
       "  'hire_id': 5,\n",
       "  'flag': None,\n",
       "  'state': 2},\n",
       " {'id': 341,\n",
       "  'tea_name': '校长',\n",
       "  'sex': 1,\n",
       "  'phone': '16879797576',\n",
       "  'type': 1,\n",
       "  'grade_id': None,\n",
       "  'class_id': None,\n",
       "  'user_name': 'xiaozhang',\n",
       "  'team_id': '19',\n",
       "  'pid': None,\n",
       "  'serial_no': '1111111115',\n",
       "  'openid': None,\n",
       "  'tea_no': '1008',\n",
       "  'wx_phone': None,\n",
       "  'user_id': None,\n",
       "  'department_id': None,\n",
       "  'zt_teacher_uuid': None,\n",
       "  'hire': '职工',\n",
       "  'power': '',\n",
       "  'class_type_name': '物业',\n",
       "  'hire_id': 5,\n",
       "  'flag': None,\n",
       "  'state': 2},\n",
       " {'id': 65,\n",
       "  'tea_name': '舒红星测',\n",
       "  'sex': 1,\n",
       "  'phone': '13980866925',\n",
       "  'type': 7,\n",
       "  'grade_id': 110,\n",
       "  'class_id': 417,\n",
       "  'user_name': 'ptslingshi',\n",
       "  'team_id': '19',\n",
       "  'pid': None,\n",
       "  'serial_no': '0483168775',\n",
       "  'openid': None,\n",
       "  'tea_no': 'hxyd0001',\n",
       "  'wx_phone': '13980866925',\n",
       "  'user_id': None,\n",
       "  'department_id': None,\n",
       "  'zt_teacher_uuid': None,\n",
       "  'hire': '临时工',\n",
       "  'power': '管理员,校长,年级主任,班主任,考勤组,门卫安保,维护,任课老师',\n",
       "  'class_type_name': '物业',\n",
       "  'hire_id': 5,\n",
       "  'flag': None,\n",
       "  'state': 2},\n",
       " {'id': 90,\n",
       "  'tea_name': 'locktest',\n",
       "  'sex': 1,\n",
       "  'phone': '13118109637',\n",
       "  'type': 1,\n",
       "  'grade_id': None,\n",
       "  'class_id': None,\n",
       "  'user_name': 'locktest',\n",
       "  'team_id': '19',\n",
       "  'pid': None,\n",
       "  'serial_no': '1111111112',\n",
       "  'openid': None,\n",
       "  'tea_no': None,\n",
       "  'wx_phone': None,\n",
       "  'user_id': None,\n",
       "  'department_id': None,\n",
       "  'zt_teacher_uuid': None,\n",
       "  'hire': '职工',\n",
       "  'power': '校长',\n",
       "  'class_type_name': '物业',\n",
       "  'hire_id': 5,\n",
       "  'flag': None,\n",
       "  'state': 2},\n",
       " {'id': 602,\n",
       "  'tea_name': '唐超教师测试',\n",
       "  'sex': 1,\n",
       "  'phone': '18782084828',\n",
       "  'type': 1,\n",
       "  'grade_id': None,\n",
       "  'class_id': None,\n",
       "  'user_name': 'tangchaoteachertest',\n",
       "  'team_id': '19',\n",
       "  'pid': None,\n",
       "  'serial_no': '1111111111',\n",
       "  'openid': None,\n",
       "  'tea_no': 'testtang',\n",
       "  'wx_phone': '18782084828',\n",
       "  'user_id': None,\n",
       "  'department_id': None,\n",
       "  'zt_teacher_uuid': None,\n",
       "  'hire': '临时工',\n",
       "  'power': '任课老师,管理员,维护',\n",
       "  'class_type_name': '物理',\n",
       "  'hire_id': 109,\n",
       "  'flag': None,\n",
       "  'state': 2},\n",
       " {'id': 805,\n",
       "  'tea_name': '夏天乐',\n",
       "  'sex': 1,\n",
       "  'phone': '17307283669',\n",
       "  'type': 7,\n",
       "  'grade_id': 110,\n",
       "  'class_id': 520,\n",
       "  'user_name': 'xiatianle',\n",
       "  'team_id': '19',\n",
       "  'pid': None,\n",
       "  'serial_no': '9090909090',\n",
       "  'openid': None,\n",
       "  'tea_no': '2010530150',\n",
       "  'wx_phone': '17307283669',\n",
       "  'user_id': None,\n",
       "  'department_id': None,\n",
       "  'zt_teacher_uuid': None,\n",
       "  'hire': '临时工',\n",
       "  'power': '班主任,年级主任,校长,管理员,考勤组,任课老师,维护',\n",
       "  'class_type_name': None,\n",
       "  'hire_id': 106,\n",
       "  'flag': None,\n",
       "  'state': 2},\n",
       " {'id': 1139,\n",
       "  'tea_name': '邹路露',\n",
       "  'sex': 2,\n",
       "  'phone': '17741322142',\n",
       "  'type': 7,\n",
       "  'grade_id': None,\n",
       "  'class_id': None,\n",
       "  'user_name': '20250606',\n",
       "  'team_id': '19',\n",
       "  'pid': None,\n",
       "  'serial_no': '1780821797',\n",
       "  'openid': None,\n",
       "  'tea_no': '20250606',\n",
       "  'wx_phone': '17741322142',\n",
       "  'user_id': None,\n",
       "  'department_id': None,\n",
       "  'zt_teacher_uuid': None,\n",
       "  'hire': '临时工',\n",
       "  'power': '管理员,校长,年级主任,班主任,维护,门卫安保,任课老师,考勤组',\n",
       "  'class_type_name': '',\n",
       "  'hire_id': 106,\n",
       "  'flag': None,\n",
       "  'state': None},\n",
       " {'id': 1150,\n",
       "  'tea_name': '高天丽测试',\n",
       "  'sex': 2,\n",
       "  'phone': '15176025298',\n",
       "  'type': 7,\n",
       "  'grade_id': 120,\n",
       "  'class_id': 444,\n",
       "  'user_name': 'gaotianli',\n",
       "  'team_id': '19',\n",
       "  'pid': None,\n",
       "  'serial_no': '1517602529',\n",
       "  'openid': None,\n",
       "  'tea_no': 'gaotianli',\n",
       "  'wx_phone': None,\n",
       "  'user_id': None,\n",
       "  'department_id': None,\n",
       "  'zt_teacher_uuid': None,\n",
       "  'hire': '临时工',\n",
       "  'power': '管理员,校长,任课老师,年级主任,门卫安保,班主任,维护,考勤组,食堂',\n",
       "  'class_type_name': '心理',\n",
       "  'hire_id': 106,\n",
       "  'flag': None,\n",
       "  'state': None},\n",
       " {'id': 804,\n",
       "  'tea_name': '唐超（维护）',\n",
       "  'sex': 1,\n",
       "  'phone': '18782084828',\n",
       "  'type': 4,\n",
       "  'grade_id': 120,\n",
       "  'class_id': None,\n",
       "  'user_name': 'qyh-ces',\n",
       "  'team_id': '19',\n",
       "  'pid': '513',\n",
       "  'serial_no': '2010530199',\n",
       "  'openid': None,\n",
       "  'tea_no': '2010530149',\n",
       "  'wx_phone': '19192637569',\n",
       "  'user_id': None,\n",
       "  'department_id': None,\n",
       "  'zt_teacher_uuid': None,\n",
       "  'hire': '在编',\n",
       "  'power': '任课老师,考勤组',\n",
       "  'class_type_name': None,\n",
       "  'hire_id': 7,\n",
       "  'flag': None,\n",
       "  'state': 2},\n",
       " {'id': 89,\n",
       "  'tea_name': '测试校长',\n",
       "  'sex': 1,\n",
       "  'phone': '18863263652',\n",
       "  'type': 1,\n",
       "  'grade_id': None,\n",
       "  'class_id': None,\n",
       "  'user_name': 'ptstest',\n",
       "  'team_id': '19',\n",
       "  'pid': None,\n",
       "  'serial_no': '1111111113',\n",
       "  'openid': None,\n",
       "  'tea_no': None,\n",
       "  'wx_phone': None,\n",
       "  'user_id': None,\n",
       "  'department_id': None,\n",
       "  'zt_teacher_uuid': None,\n",
       "  'hire': '职工',\n",
       "  'power': '管理员,校长,年级主任,班主任,考勤组',\n",
       "  'class_type_name': '物业',\n",
       "  'hire_id': 5,\n",
       "  'flag': None,\n",
       "  'state': 2},\n",
       " {'id': 238,\n",
       "  'tea_name': '王强',\n",
       "  'sex': 1,\n",
       "  'phone': '15528252515',\n",
       "  'type': 1,\n",
       "  'grade_id': 110,\n",
       "  'class_id': 363,\n",
       "  'user_name': 'wangwang',\n",
       "  'team_id': '19',\n",
       "  'pid': None,\n",
       "  'serial_no': '2063765495',\n",
       "  'openid': None,\n",
       "  'tea_no': 'wangqiang',\n",
       "  'wx_phone': None,\n",
       "  'user_id': None,\n",
       "  'department_id': None,\n",
       "  'zt_teacher_uuid': None,\n",
       "  'hire': '临时工',\n",
       "  'power': '任课老师',\n",
       "  'class_type_name': '物业',\n",
       "  'hire_id': 106,\n",
       "  'flag': None,\n",
       "  'state': 2},\n",
       " {'id': 596,\n",
       "  'tea_name': '彭海东',\n",
       "  'sex': 1,\n",
       "  'phone': '13688433616',\n",
       "  'type': 3,\n",
       "  'grade_id': None,\n",
       "  'class_id': None,\n",
       "  'user_name': '2097666787',\n",
       "  'team_id': '19',\n",
       "  'pid': None,\n",
       "  'serial_no': '2995466598',\n",
       "  'openid': None,\n",
       "  'tea_no': '2024041101',\n",
       "  'wx_phone': '13688433616',\n",
       "  'user_id': None,\n",
       "  'department_id': None,\n",
       "  'zt_teacher_uuid': None,\n",
       "  'hire': '临时工',\n",
       "  'power': '任课老师,班主任,校长,年级主任,门卫安保,考勤组,维护,食堂,管理员',\n",
       "  'class_type_name': None,\n",
       "  'hire_id': 106,\n",
       "  'flag': None,\n",
       "  'state': 2},\n",
       " {'id': 603,\n",
       "  'tea_name': '罗德军',\n",
       "  'sex': 1,\n",
       "  'phone': '18111797614',\n",
       "  'type': 7,\n",
       "  'grade_id': None,\n",
       "  'class_id': None,\n",
       "  'user_name': 'luodejun',\n",
       "  'team_id': '19',\n",
       "  'pid': None,\n",
       "  'serial_no': '1340308791',\n",
       "  'openid': None,\n",
       "  'tea_no': 'luodejun',\n",
       "  'wx_phone': '18111797614',\n",
       "  'user_id': None,\n",
       "  'department_id': None,\n",
       "  'zt_teacher_uuid': None,\n",
       "  'hire': '临时工',\n",
       "  'power': '管理员,门卫安保,校长',\n",
       "  'class_type_name': None,\n",
       "  'hire_id': 106,\n",
       "  'flag': None,\n",
       "  'state': 2},\n",
       " {'id': 606,\n",
       "  'tea_name': '大屏账号',\n",
       "  'sex': 1,\n",
       "  'phone': '17307283669',\n",
       "  'type': 1,\n",
       "  'grade_id': 120,\n",
       "  'class_id': None,\n",
       "  'user_name': 'ptsmaintain',\n",
       "  'team_id': '19',\n",
       "  'pid': None,\n",
       "  'serial_no': '1780105621',\n",
       "  'openid': None,\n",
       "  'tea_no': '13222222',\n",
       "  'wx_phone': '19113729874',\n",
       "  'user_id': None,\n",
       "  'department_id': None,\n",
       "  'zt_teacher_uuid': None,\n",
       "  'hire': '在编',\n",
       "  'power': '考勤组,年级主任,任课老师,班主任,门卫安保,校长,管理员',\n",
       "  'class_type_name': None,\n",
       "  'hire_id': 7,\n",
       "  'flag': None,\n",
       "  'state': 2},\n",
       " {'id': 609,\n",
       "  'tea_name': '李豪测试',\n",
       "  'sex': 1,\n",
       "  'phone': '18228111545',\n",
       "  'type': 4,\n",
       "  'grade_id': None,\n",
       "  'class_id': None,\n",
       "  'user_name': 'lihao',\n",
       "  'team_id': '19',\n",
       "  'pid': None,\n",
       "  'serial_no': '0123345666789',\n",
       "  'openid': None,\n",
       "  'tea_no': '2347550554',\n",
       "  'wx_phone': '18228111545',\n",
       "  'user_id': None,\n",
       "  'department_id': None,\n",
       "  'zt_teacher_uuid': None,\n",
       "  'hire': '临时工',\n",
       "  'power': '管理员,校长,年级主任,班主任,门卫安保,维护,任课老师,考勤组',\n",
       "  'class_type_name': None,\n",
       "  'hire_id': 106,\n",
       "  'flag': None,\n",
       "  'state': 2},\n",
       " {'id': 626,\n",
       "  'tea_name': '钱正宇',\n",
       "  'sex': 1,\n",
       "  'phone': '15928771672',\n",
       "  'type': 8,\n",
       "  'grade_id': 107,\n",
       "  'class_id': 367,\n",
       "  'user_name': 'pt-qzy',\n",
       "  'team_id': '19',\n",
       "  'pid': None,\n",
       "  'serial_no': '3460980620',\n",
       "  'openid': None,\n",
       "  'tea_no': 'hxydqzy1',\n",
       "  'wx_phone': '15928771672',\n",
       "  'user_id': None,\n",
       "  'department_id': None,\n",
       "  'zt_teacher_uuid': None,\n",
       "  'hire': '临时工',\n",
       "  'power': '管理员,年级主任,门卫安保,任课老师,班主任',\n",
       "  'class_type_name': None,\n",
       "  'hire_id': 106,\n",
       "  'flag': None,\n",
       "  'state': 2},\n",
       " {'id': 682,\n",
       "  'tea_name': '苗陕川',\n",
       "  'sex': 1,\n",
       "  'phone': '18202818328',\n",
       "  'type': 8,\n",
       "  'grade_id': None,\n",
       "  'class_id': None,\n",
       "  'user_name': 'pts-csq',\n",
       "  'team_id': '19',\n",
       "  'pid': None,\n",
       "  'serial_no': '1620426772',\n",
       "  'openid': None,\n",
       "  'tea_no': 'pts-csq',\n",
       "  'wx_phone': '18202818328',\n",
       "  'user_id': None,\n",
       "  'department_id': None,\n",
       "  'zt_teacher_uuid': None,\n",
       "  'hire': '临时工',\n",
       "  'power': '维护,门卫安保,管理员,校长,年级主任,班主任,考勤组,任课老师',\n",
       "  'class_type_name': None,\n",
       "  'hire_id': 7,\n",
       "  'flag': None,\n",
       "  'state': 2}]"
      ]
     },
     "execution_count": 79,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "move_teachers"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 80,
   "id": "c7bfa8ed",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'id': 339, 'teaName': '张三', 'sex': 1, 'phone': '18295478652', 'type': 2, 'gradeId': 107, 'classId': None, 'userName': 'zhangsan', 'teamId': 19, 'pid': None, 'serialNo': '1111111114', 'openid': None, 'teaNo': '1006', 'wxPhone': None, 'userId': None, 'departmentId': None, 'ztTeacherUuid': None, 'hire': '职工', 'hireId': 5, 'power': '', 'flag': None, 'state': 2, 'classTypeName': '物业', 'departs': None, 'jobs': None, 'departIds': '516-457', 'departNames': '鸿兴运达-闲置账号'}\n",
      "{'success': True, 'msg': '操作成功', 'code': 0, 'data': None}\n",
      "{'id': 341, 'teaName': '校长', 'sex': 1, 'phone': '16879797576', 'type': 1, 'gradeId': None, 'classId': None, 'userName': 'xiaozhang', 'teamId': 19, 'pid': None, 'serialNo': '1111111115', 'openid': None, 'teaNo': '1008', 'wxPhone': None, 'userId': None, 'departmentId': None, 'ztTeacherUuid': None, 'hire': '职工', 'hireId': 5, 'power': '', 'flag': None, 'state': 2, 'classTypeName': '物业', 'departs': None, 'jobs': None, 'departIds': '516-457', 'departNames': '鸿兴运达-闲置账号'}\n",
      "{'success': True, 'msg': '操作成功', 'code': 0, 'data': None}\n",
      "{'id': 65, 'teaName': '舒红星测', 'sex': 1, 'phone': '13980866925', 'type': 7, 'gradeId': 110, 'classId': 417, 'userName': 'ptslingshi', 'teamId': 19, 'pid': None, 'serialNo': '0483168775', 'openid': None, 'teaNo': 'hxyd0001', 'wxPhone': '13980866925', 'userId': None, 'departmentId': None, 'ztTeacherUuid': None, 'hire': '临时工', 'hireId': 5, 'power': '管理员,校长,年级主任,班主任,考勤组,门卫安保,维护,任课老师', 'flag': None, 'state': 2, 'classTypeName': '物业', 'departs': None, 'jobs': None, 'departIds': '516-457', 'departNames': '鸿兴运达-闲置账号'}\n",
      "{'success': True, 'msg': '操作成功', 'code': 0, 'data': None}\n",
      "{'id': 90, 'teaName': 'locktest', 'sex': 1, 'phone': '13118109637', 'type': 1, 'gradeId': None, 'classId': None, 'userName': 'locktest', 'teamId': 19, 'pid': None, 'serialNo': '1111111112', 'openid': None, 'teaNo': None, 'wxPhone': None, 'userId': None, 'departmentId': None, 'ztTeacherUuid': None, 'hire': '职工', 'hireId': 5, 'power': '校长', 'flag': None, 'state': 2, 'classTypeName': '物业', 'departs': None, 'jobs': None, 'departIds': '516-457', 'departNames': '鸿兴运达-闲置账号'}\n",
      "{'success': True, 'msg': '操作成功', 'code': 0, 'data': None}\n",
      "{'id': 602, 'teaName': '唐超教师测试', 'sex': 1, 'phone': '18782084828', 'type': 1, 'gradeId': None, 'classId': None, 'userName': 'tangchaoteachertest', 'teamId': 19, 'pid': None, 'serialNo': '1111111111', 'openid': None, 'teaNo': 'testtang', 'wxPhone': '18782084828', 'userId': None, 'departmentId': None, 'ztTeacherUuid': None, 'hire': '临时工', 'hireId': 109, 'power': '任课老师,管理员,维护', 'flag': None, 'state': 2, 'classTypeName': '物理', 'departs': None, 'jobs': None, 'departIds': '516-457', 'departNames': '鸿兴运达-闲置账号'}\n",
      "{'success': True, 'msg': '操作成功', 'code': 0, 'data': None}\n",
      "{'id': 805, 'teaName': '夏天乐', 'sex': 1, 'phone': '17307283669', 'type': 7, 'gradeId': 110, 'classId': 520, 'userName': 'xiatianle', 'teamId': 19, 'pid': None, 'serialNo': '9090909090', 'openid': None, 'teaNo': '2010530150', 'wxPhone': '17307283669', 'userId': None, 'departmentId': None, 'ztTeacherUuid': None, 'hire': '临时工', 'hireId': 106, 'power': '班主任,年级主任,校长,管理员,考勤组,任课老师,维护', 'flag': None, 'state': 2, 'classTypeName': None, 'departs': None, 'jobs': None, 'departIds': '516-457', 'departNames': '鸿兴运达-闲置账号'}\n",
      "{'success': True, 'msg': '操作成功', 'code': 0, 'data': None}\n",
      "{'id': 1139, 'teaName': '邹路露', 'sex': 2, 'phone': '17741322142', 'type': 7, 'gradeId': None, 'classId': None, 'userName': '20250606', 'teamId': 19, 'pid': None, 'serialNo': '1780821797', 'openid': None, 'teaNo': '20250606', 'wxPhone': '17741322142', 'userId': None, 'departmentId': None, 'ztTeacherUuid': None, 'hire': '临时工', 'hireId': 106, 'power': '管理员,校长,年级主任,班主任,维护,门卫安保,任课老师,考勤组', 'flag': None, 'state': None, 'classTypeName': '', 'departs': None, 'jobs': None, 'departIds': '516-457', 'departNames': '鸿兴运达-闲置账号'}\n",
      "{'success': True, 'msg': '操作成功', 'code': 0, 'data': None}\n",
      "{'id': 1150, 'teaName': '高天丽测试', 'sex': 2, 'phone': '15176025298', 'type': 7, 'gradeId': 120, 'classId': 444, 'userName': 'gaotianli', 'teamId': 19, 'pid': None, 'serialNo': '1517602529', 'openid': None, 'teaNo': 'gaotianli', 'wxPhone': None, 'userId': None, 'departmentId': None, 'ztTeacherUuid': None, 'hire': '临时工', 'hireId': 106, 'power': '管理员,校长,任课老师,年级主任,门卫安保,班主任,维护,考勤组,食堂', 'flag': None, 'state': None, 'classTypeName': '心理', 'departs': None, 'jobs': None, 'departIds': '516-457', 'departNames': '鸿兴运达-闲置账号'}\n",
      "{'success': True, 'msg': '操作成功', 'code': 0, 'data': None}\n",
      "{'id': 804, 'teaName': '唐超（维护）', 'sex': 1, 'phone': '18782084828', 'type': 4, 'gradeId': 120, 'classId': None, 'userName': 'qyh-ces', 'teamId': 19, 'pid': '513', 'serialNo': '2010530199', 'openid': None, 'teaNo': '2010530149', 'wxPhone': '19192637569', 'userId': None, 'departmentId': None, 'ztTeacherUuid': None, 'hire': '在编', 'hireId': 7, 'power': '任课老师,考勤组', 'flag': None, 'state': 2, 'classTypeName': None, 'departs': None, 'jobs': None, 'departIds': '516-457', 'departNames': '鸿兴运达-闲置账号'}\n",
      "{'success': True, 'msg': '操作成功', 'code': 0, 'data': None}\n",
      "{'id': 89, 'teaName': '测试校长', 'sex': 1, 'phone': '18863263652', 'type': 1, 'gradeId': None, 'classId': None, 'userName': 'ptstest', 'teamId': 19, 'pid': None, 'serialNo': '1111111113', 'openid': None, 'teaNo': None, 'wxPhone': None, 'userId': None, 'departmentId': None, 'ztTeacherUuid': None, 'hire': '职工', 'hireId': 5, 'power': '管理员,校长,年级主任,班主任,考勤组', 'flag': None, 'state': 2, 'classTypeName': '物业', 'departs': None, 'jobs': None, 'departIds': '516-457', 'departNames': '鸿兴运达-闲置账号'}\n",
      "{'success': True, 'msg': '操作成功', 'code': 0, 'data': None}\n",
      "{'id': 238, 'teaName': '王强', 'sex': 1, 'phone': '15528252515', 'type': 1, 'gradeId': 110, 'classId': 363, 'userName': 'wangwang', 'teamId': 19, 'pid': None, 'serialNo': '2063765495', 'openid': None, 'teaNo': 'wangqiang', 'wxPhone': None, 'userId': None, 'departmentId': None, 'ztTeacherUuid': None, 'hire': '临时工', 'hireId': 106, 'power': '任课老师', 'flag': None, 'state': 2, 'classTypeName': '物业', 'departs': None, 'jobs': None, 'departIds': '516-457', 'departNames': '鸿兴运达-闲置账号'}\n",
      "{'success': True, 'msg': '操作成功', 'code': 0, 'data': None}\n",
      "{'id': 596, 'teaName': '彭海东', 'sex': 1, 'phone': '13688433616', 'type': 3, 'gradeId': None, 'classId': None, 'userName': '2097666787', 'teamId': 19, 'pid': None, 'serialNo': '2995466598', 'openid': None, 'teaNo': '2024041101', 'wxPhone': '13688433616', 'userId': None, 'departmentId': None, 'ztTeacherUuid': None, 'hire': '临时工', 'hireId': 106, 'power': '任课老师,班主任,校长,年级主任,门卫安保,考勤组,维护,食堂,管理员', 'flag': None, 'state': 2, 'classTypeName': None, 'departs': None, 'jobs': None, 'departIds': '516-457', 'departNames': '鸿兴运达-闲置账号'}\n",
      "{'success': True, 'msg': '操作成功', 'code': 0, 'data': None}\n",
      "{'id': 603, 'teaName': '罗德军', 'sex': 1, 'phone': '18111797614', 'type': 7, 'gradeId': None, 'classId': None, 'userName': 'luodejun', 'teamId': 19, 'pid': None, 'serialNo': '1340308791', 'openid': None, 'teaNo': 'luodejun', 'wxPhone': '18111797614', 'userId': None, 'departmentId': None, 'ztTeacherUuid': None, 'hire': '临时工', 'hireId': 106, 'power': '管理员,门卫安保,校长', 'flag': None, 'state': 2, 'classTypeName': None, 'departs': None, 'jobs': None, 'departIds': '516-457', 'departNames': '鸿兴运达-闲置账号'}\n",
      "{'success': True, 'msg': '操作成功', 'code': 0, 'data': None}\n",
      "{'id': 606, 'teaName': '大屏账号', 'sex': 1, 'phone': '17307283669', 'type': 1, 'gradeId': 120, 'classId': None, 'userName': 'ptsmaintain', 'teamId': 19, 'pid': None, 'serialNo': '1780105621', 'openid': None, 'teaNo': '13222222', 'wxPhone': '19113729874', 'userId': None, 'departmentId': None, 'ztTeacherUuid': None, 'hire': '在编', 'hireId': 7, 'power': '考勤组,年级主任,任课老师,班主任,门卫安保,校长,管理员', 'flag': None, 'state': 2, 'classTypeName': None, 'departs': None, 'jobs': None, 'departIds': '516-457', 'departNames': '鸿兴运达-闲置账号'}\n",
      "{'success': True, 'msg': '操作成功', 'code': 0, 'data': None}\n",
      "{'id': 609, 'teaName': '李豪测试', 'sex': 1, 'phone': '18228111545', 'type': 4, 'gradeId': None, 'classId': None, 'userName': 'lihao', 'teamId': 19, 'pid': None, 'serialNo': '0123345666789', 'openid': None, 'teaNo': '2347550554', 'wxPhone': '18228111545', 'userId': None, 'departmentId': None, 'ztTeacherUuid': None, 'hire': '临时工', 'hireId': 106, 'power': '管理员,校长,年级主任,班主任,门卫安保,维护,任课老师,考勤组', 'flag': None, 'state': 2, 'classTypeName': None, 'departs': None, 'jobs': None, 'departIds': '516-457', 'departNames': '鸿兴运达-闲置账号'}\n",
      "{'success': True, 'msg': '操作成功', 'code': 0, 'data': None}\n",
      "{'id': 626, 'teaName': '钱正宇', 'sex': 1, 'phone': '15928771672', 'type': 8, 'gradeId': 107, 'classId': 367, 'userName': 'pt-qzy', 'teamId': 19, 'pid': None, 'serialNo': '3460980620', 'openid': None, 'teaNo': 'hxydqzy1', 'wxPhone': '15928771672', 'userId': None, 'departmentId': None, 'ztTeacherUuid': None, 'hire': '临时工', 'hireId': 106, 'power': '管理员,年级主任,门卫安保,任课老师,班主任', 'flag': None, 'state': 2, 'classTypeName': None, 'departs': None, 'jobs': None, 'departIds': '516-457', 'departNames': '鸿兴运达-闲置账号'}\n",
      "{'success': True, 'msg': '操作成功', 'code': 0, 'data': None}\n",
      "{'id': 682, 'teaName': '苗陕川', 'sex': 1, 'phone': '18202818328', 'type': 8, 'gradeId': None, 'classId': None, 'userName': 'pts-csq', 'teamId': 19, 'pid': None, 'serialNo': '1620426772', 'openid': None, 'teaNo': 'pts-csq', 'wxPhone': '18202818328', 'userId': None, 'departmentId': None, 'ztTeacherUuid': None, 'hire': '临时工', 'hireId': 7, 'power': '维护,门卫安保,管理员,校长,年级主任,班主任,考勤组,任课老师', 'flag': None, 'state': 2, 'classTypeName': None, 'departs': None, 'jobs': None, 'departIds': '516-457', 'departNames': '鸿兴运达-闲置账号'}\n",
      "{'success': True, 'msg': '操作成功', 'code': 0, 'data': None}\n"
     ]
    }
   ],
   "source": [
    "for item in move_teachers:\n",
    "    if item is None:\n",
    "        print(\"未找到\")\n",
    "    else:\n",
    "        tea = get(f\"{ip}/uc/teacher/get/{item['id']}\",headers=header).json()[\"data\"]\n",
    "        tea[\"departIds\"] = \"516-457\"\n",
    "        tea[\"departNames\"] = \"鸿兴运达-闲置账号\"\n",
    "        print(tea)\n",
    "        res = post(f\"{ip}/uc/teacher/update/{item['id']}\",json=tea,headers=header).json()\n",
    "        print(res)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "f58c7456",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "base",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.12.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
