62 lines
2.1 KiB
Python
62 lines
2.1 KiB
Python
from api import API
|
|
import pandas as pd
|
|
from tqdm import tqdm
|
|
|
|
api_instance = API()
|
|
|
|
# 获取简道云员工id
|
|
payload = {"api_key": "6694d3c4fcb69ca9a111a6c4",
|
|
"entry_id": "6769204a1902c9341340a1bc",
|
|
}
|
|
staff_id = api_instance.entry_data_list(payload)
|
|
staff_id_list = staff_id.get("data") # api请求格式,将数据封装在data字典里
|
|
|
|
|
|
def get_staff_id(row_item, name):
|
|
"""辅助函数,用于获取员工ID"""
|
|
if str(row_item["_widget_1734942794144"]) == str(name): # 检查姓名是否匹配
|
|
return row_item["_widget_1734942794145"] # 返回员工ID
|
|
return None
|
|
|
|
|
|
df = pd.read_excel(r"C:\Users\Administrator.DESKTOP-7IC2USJ\Desktop\新建文件夹\对应关系.xlsx", sheet_name="Sheet2")
|
|
|
|
for index, row in tqdm(df.iterrows()):
|
|
NGV_roles = {
|
|
"小六": row["小六"],
|
|
"技术专家": row["技术专家"],
|
|
"区域经理": row["区域经理"],
|
|
}
|
|
if pd.isnull(row["小六"]) and pd.isnull(row["技术专家"]) and pd.isnull(row["区域经理"]):
|
|
continue
|
|
|
|
for role, name in NGV_roles.items():
|
|
for row_item in staff_id_list:
|
|
staff_id = get_staff_id(row_item, name)
|
|
if staff_id:
|
|
NGV_roles[role] = staff_id
|
|
break # 找到后退出循环
|
|
else:
|
|
NGV_roles[role] = None # 如果没有找到对应的员工ID
|
|
|
|
relationship_manager, area_manager, technician = [NGV_roles[role] for role in
|
|
['小六',
|
|
'技术专家',
|
|
'区域经理', ]]
|
|
|
|
payload = {
|
|
"api_key": "5f3b7542d0239800061b1d5b",
|
|
"entry_id": "6801f1a54b7d73f66c499cff",
|
|
"data_id": row["data_id"],
|
|
"data": {
|
|
"_widget_1745371903691": {"value": row["小六"]},
|
|
"_widget_1745371903692": {"value": row["技术专家"]},
|
|
"_widget_1745371903690": {"value": row["区域经理"]},
|
|
}
|
|
}
|
|
|
|
# print(payload)
|
|
|
|
api_instance.entry_data_update(payload)
|
|
# break
|