Files
2026-01-30 11:28:35 +08:00

157 lines
5.4 KiB
Plaintext

{
"cells": [
{
"metadata": {},
"cell_type": "markdown",
"source": "## 转交",
"id": "a39935df340ba42"
},
{
"cell_type": "code",
"id": "initial_id",
"metadata": {
"collapsed": true,
"ExecuteTime": {
"end_time": "2025-08-25T05:39:47.132829Z",
"start_time": "2025-08-25T05:39:46.418315Z"
}
},
"source": [
"from pandas.core.interchange.from_dataframe import primitive_column_to_ndarray\n",
"\n",
"from api import API\n",
"import pandas as pd\n",
"from tqdm import tqdm\n",
"\n",
"api_instance = API()\n",
"\n",
"df = pd.read_excel('D:\\Idea Project\\F6+宜搭+其它(1)\\张阳脚本\\文件输入\\日常回访表调整-申晨0822.xlsx', sheet_name=\"转交\")\n",
"\n",
"# 获取简道云员工id\n",
"payload = {\"api_key\": \"6694d3c4fcb69ca9a111a6c4\",\n",
" \"entry_id\": \"6769204a1902c9341340a1bc\",\n",
" }\n",
"staff_id = api_instance.entry_data_list(payload)\n",
"staff_id_list = staff_id.get(\"data\") # api请求格式,将数据封装在data字典里\n",
"\n",
"\n",
"def get_staff_id(row_item, name):\n",
" \"\"\"辅助函数,用于获取员工ID\"\"\"\n",
" if str(row_item[\"_widget_1734942794144\"]) == str(name): # 检查姓名是否匹配\n",
" return row_item[\"_widget_1734942794145\"] # 返回员工ID\n",
" return None\n",
"\n",
"\n",
"for index, row in tqdm(df[:5].iterrows()):\n",
" payload = {\n",
" \"data_id\": row[\"data_id\"]\n",
" }\n",
"\n",
" # 获取简道云当前流程列表\n",
" json = api_instance.workflow_instance_get(payload)\n",
" print(json[\"tasks\"][-1])\n",
"\n",
" # 将JSON字符串转换为Python字典\n",
" username = json[\"tasks\"][-1]['assignee']['username']\n",
" instance_id = json[\"tasks\"][-1]['instance_id']\n",
" task_id = json[\"tasks\"][-1]['task_id']\n",
"\n",
" NGV_roles = {\n",
" \"当前负责人-新\": row[\"跟进人\"],\n",
" }\n",
"\n",
" for role, name in NGV_roles.items():\n",
" for row_item in staff_id_list:\n",
" staff_id = get_staff_id(row_item, name)\n",
" if staff_id:\n",
" NGV_roles[role] = staff_id\n",
" break # 找到后退出循环\n",
" else:\n",
" NGV_roles[role] = None # 如果没有找到对应的员工ID\n",
"\n",
" transfer_username = [NGV_roles[role] for role in\n",
" ['当前负责人-新',\n",
" ]]\n",
"\n",
" task_data = {\n",
" \"username\": username,\n",
" \"instance_id\": instance_id,\n",
" \"task_id\": task_id,\n",
" \"transfer_username\":transfer_username[0]\n",
" }\n",
" res = api_instance.workflow_task_hand_over(task_data)\n",
"\n",
" print(task_data)\n",
" print(res)\n",
" break\n",
"\n"
],
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"<>:9: SyntaxWarning: invalid escape sequence '\\I'\n",
"<>:9: SyntaxWarning: invalid escape sequence '\\I'\n",
"C:\\Users\\zy187\\AppData\\Local\\Temp\\ipykernel_21188\\1937945386.py:9: SyntaxWarning: invalid escape sequence '\\I'\n",
" df = pd.read_excel('D:\\Idea Project\\F6+宜搭+其它(1)\\张阳脚本\\文件输入\\日常回访表调整-申晨0822.xlsx', sheet_name=\"转交\")\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"已获取 100 条数据\n",
"已获取 142 条数据\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"0it [00:00, ?it/s]"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'app_id': '675b900991ad2491c69389ca', 'form_id': '675b9c63925cd404038a6b86', 'form_title': '日常回访表', 'title': '回访人员填写', 'instance_id': '688ac28b0e8583603d32969d', 'task_id': '688ac28b0e8583603d329705', 'flow_id': 2, 'flow_name': '回访人员填写', 'url': 'https://dingtalk.jiandaoyun.com/workflow/process_instance/688ac28b0e8583603d32969d/task/688ac28b0e8583603d329705', 'assignee': {'username': '0117472424956309', 'name': '申晨', 'type': 0, 'status': -1, 'integrate_id': '0117472424956309'}, 'creator': {'username': '#admin', 'name': 'F6汽车科技', 'type': 0, 'status': 1, 'integrate_id': '#admin'}, 'create_time': '2025-07-31T01:10:35.523Z', 'create_action': 'forward', 'finish_time': None, 'finish_action': None, 'status': 0}\n",
"{'username': '0117472424956309', 'instance_id': '688ac28b0e8583603d32969d', 'task_id': '688ac28b0e8583603d329705', 'transfer_username': '054169455736370109'}\n",
"{'status': 'failure', 'code': 1010, 'message': 'The user does not exist.'}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"\n"
]
}
],
"execution_count": 19
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.6"
}
},
"nbformat": 4,
"nbformat_minor": 5
}