# electronic_signing **Repository Path**: coderxslee/electronic_signing ## Basic Information - **Project Name**: electronic_signing - **Description**: 电子签实施,初始化脚本。 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-11 - **Last Updated**: 2025-12-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 自动化工具集 集成了员工管理系统和数据处理工具的自动化脚本集合。 ## 功能模块 ### 【员工管理系统】 1. **添加员工** (`add_employee.py`) - 从 Excel 模板批量导入员工信息 - 支持自动关联销售经理 - 自动按职级排序处理 2. **批量添加角色** (`role_permission.py`) - 批量创建系统角色 - 支持从 Excel 导入角色数据 3. **为已有员工添加经理** (`add_manager_to_employee.py`) - 为销售顾问关联上级经理 - 支持批量处理 4. **分配角色菜单权限** (`assign_role_permissions.py`) - 为角色分配菜单和按钮权限 - 支持后台权限和 App 权限分别配置 ### 【数据处理工具】 5. **Excel 数据批量修改** (`excel_processor.py`) - 处理 `cost.xlsx` 文件 - 自动修改 companyId、classesId、templateId - 支持自动创建备份 - 可选导入到数据库 6. **数据库参数配置插入** (`database_insert.py`) - 向数据库插入金蝶 EAS 参数配置 - 交互式输入参数 - 支持仅生成 SQL 或直接执行 7. **ID 查询工具** (`id_query.py`) - 根据企业名称查询 companyId - 查询下一个可用的 classesId - 查询下一个可用的 templateId ## 安装依赖 ```bash # 使用 uv 包管理器 uv sync # 或使用 pip pip install -r requirements.txt ``` ## 配置 ### 1. 环境变量配置 复制 `.env.example` 为 `.env`,并修改配置: ```bash cp .env.example .env ``` 编辑 `.env` 文件: ```env # 浏览器设置 BROWSER=chrome HEADLESS=false # 超时设置(秒) DEFAULT_TIMEOUT=10 # MySQL 数据库配置 MYSQL_HOST=your_host MYSQL_PORT=3306 MYSQL_DATABASE=your_database MYSQL_USER=your_user MYSQL_PASSWORD=your_password ``` ### 2. Excel 模板准备 - **员工导入模板**: `通讯录模板.xlsx` - **菜单权限配置**: `菜单权限.xlsx` - **成本数据处理**: `cost.xlsx` ## 使用方法 ### 启动主程序 ```bash python main.py ``` 程序会显示统一的功能菜单,选择对应的功能编号即可。 ### 功能说明 #### 【员工管理系统】(需要浏览器登录) 这些功能会自动启动浏览器,登录系统,然后执行相应操作。 **1. 添加员工** - 从 `通讯录模板.xlsx` 读取员工数据 - 输入登录账号前缀 - 自动批量添加员工 - 支持自动关联销售经理 **2. 批量添加角色** - 批量创建系统角色 - 从 Excel 导入角色数据 **3. 为员工添加经理** - 为销售顾问关联上级经理 - 支持批量处理 **4. 分配角色权限** - 从 `菜单权限.xlsx` 读取权限配置 - 为角色分配菜单和按钮权限 - 支持后台权限和 App 权限分别配置 #### 【数据处理工具】(无需登录) 这些功能不需要浏览器,可以独立运行。 **5. Excel 数据批量修改** - 处理 `cost.xlsx` 文件 - 修改 companyId、classesId、templateId - 自动创建备份 - 可选导入到数据库 **6. 数据库参数配置** - 向数据库插入金蝶 EAS 参数配置 - 交互式输入参数 - 支持仅生成 SQL 或直接执行 **7. ID 查询工具** - 根据企业名称查询 companyId - 查询下一个可用的 classesId - 查询下一个可用的 templateId ## 项目结构 ``` . ├── main.py # 主程序入口 ├── browser.py # 浏览器管理工具 ├── actions.py # 浏览器通用操作 ├── config.py # 配置管理 ├── database_config.py # 数据库配置 │ ├── add_employee.py # 添加员工 ├── role_permission.py # 批量添加角色 ├── add_manager_to_employee.py # 为员工添加经理 ├── assign_role_permissions.py # 分配角色权限 │ ├── excel_processor.py # Excel 数据处理 ├── database_insert.py # 数据库参数插入 ├── id_query.py # ID 查询工具 │ ├── .env.example # 环境变量示例 ├── pyproject.toml # 项目配置 └── README.md # 本文件 ``` ## 注意事项 1. **浏览器自动化** - 需要安装 Chrome 或 Firefox 浏览器 - 首次运行时会自动下载对应的 WebDriver 2. **数据库连接** - 确保 MySQL 服务正常运行 - 检查数据库连接信息是否正确 - 确保用户有相应的表操作权限 3. **Excel 文件** - 确保 Excel 文件格式正确 - 表头必须与脚本期望的列名匹配 - 建议在处理前备份原始文件 4. **权限配置** - 菜单权限配置支持多个角色用「、」分隔 - 按钮权限支持多个按钮用「、」分隔 - 支持多行配置(用 `
` 或换行符分隔) ## 常见问题 ### Q: 如何修改数据库连接信息? A: 编辑 `.env` 文件中的 `MYSQL_*` 配置项,或直接修改 `database_config.py` 中的 `MYSQL_CONFIG` 字典。 ### Q: Excel 导入失败怎么办? A: 检查 Excel 文件的表头是否与脚本期望的列名匹配,可以查看脚本中的 `auto_detect_*` 函数。 ### Q: 如何只生成 SQL 不执行? A: 在数据库插入工具中选择「仅生成 SQL」选项。 ## 打包成可执行程序 本项目支持打包成 Windows 和 macOS 的可执行程序。 ### 前置条件 确保已安装 `uv`: ```bash uv --version # 如果未安装,访问: https://docs.astral.sh/uv/getting-started/installation/ ``` ### 快速打包 #### 方式 1: 使用 Python 脚本(推荐) ```bash uv run python build_exe.py ``` #### 方式 2: 使用快速脚本 **macOS / Linux:** ```bash chmod +x quick_build.sh ./quick_build.sh ``` **Windows:** ```bash quick_build.bat ``` ### 输出文件 打包完成后,可执行程序会生成在 `dist` 文件夹中: - **macOS**: `dist/AutomationTool.app` - **Windows**: `dist/AutomationTool.exe` ### 详细打包指南 更多打包配置和高级选项,请参考 `BUILD_GUIDE.md`。 ## 许可证 MIT License