{ "cells": [ { "metadata": {}, "cell_type": "markdown", "source": "流程待办提交", "id": "d89920281e8ca3bf" }, { "cell_type": "code", "id": "initial_id", "metadata": { "collapsed": true, "ExecuteTime": { "end_time": "2026-03-24T12:25:29.114297900Z", "start_time": "2026-03-24T12:21:54.226614400Z" } }, "source": [ "import sys\n", "import os\n", "import pandas as pd\n", "import ast\n", "from datetime import datetime, timedelta\n", "import pytz\n", "from api import API\n", "from tqdm.notebook import tqdm\n", "\n", "api_instance = API()\n", "\n", "df = pd.read_excel(fr\"C:\\Users\\hp_z66\\Downloads\\续约服务流程_20260324173958.xlsx\", sheet_name='0')\n", "for index, row in tqdm(df.iterrows(),total=len(df)):\n", " # 查询流程\n", " payload = {\n", " \"data_id\": row[\"data_id\"],\n", " }\n", "\n", " instance_data = api_instance.workflow_instance_get(payload)\n", " print(instance_data)\n", " # 获取该数据下所有流程\n", " all_tasks = instance_data.get(\"tasks\", [])\n", " pending_tasks = [t for t in all_tasks if t.get(\"status\") == 0] # 进行中的任务\n", " if not pending_tasks:\n", " print(\"无待办\")\n", " continue\n", " next_task = None\n", "\n", " for t in pending_tasks:\n", " if t.get(\"assignee\", {}).get(\"name\") == row[\"30天处理人\"]:\n", " next_task = t\n", " break\n", "\n", " # 若未匹配到,使用最后一个待办任务\n", " if next_task is None:\n", " next_task = pending_tasks[-1]\n", "\n", " next_task_id = next_task.get(\"task_id\") # 任务id\n", " next_assignee = next_task.get(\"assignee\", {})\n", " next_username = next_assignee.get(\"username\") # 人员id\n", " next_name = next_assignee.get(\"name\", \"未知\") # 人员姓名\n", "\n", " # 同意到下一个节点\n", " payload_next = {\n", " \"username\": next_username,\n", " \"instance_id\": row[\"data_id\"],\n", " \"task_id\": next_task_id,\n", " }\n", " result = api_instance.workflow_task_approve(payload_next)\n", " print(result)\n", "\n" ], "outputs": [ { "data": { "text/plain": [ " 0%| | 0/227 [00:00