# 报销流程配置接口测试准备说明 ## 当前状态 ✅ **代码已完成**:所有接口代码已实现并通过编译检查 ✅ **测试脚本已创建**:`test_reimbursement_workflow_config_api.py` ✅ **测试文档已创建**:`测试流程配置接口说明.md` ## 需要执行的步骤 ### 1. 确保数据库表已创建 执行 SQL 文件创建数据库表: ```bash # 执行 sql/创建报销流程配置表.sql mysql -u用户名 -p密码 数据库名 < sql/创建报销流程配置表.sql ``` 或手动执行: ```sql -- 查看 sql/创建报销流程配置表.sql 文件内容并执行 ``` ### 2. 启动后端服务 ```bash # 启动后端服务,确保运行在 http://localhost:2011 # 具体启动命令根据项目配置而定 ``` ### 3. 安装测试依赖(如果需要) ```bash # 如果需要使用 Python 测试脚本,安装 requests 模块 pip3 install requests # 或者使用用户级安装 pip3 install --user requests ``` ### 4. 运行测试 **方式1:使用 Python 测试脚本** ```bash python3 test_reimbursement_workflow_config_api.py ``` **方式2:使用 Postman 或类似工具** - 导入测试说明文档中的 curl 命令 - 按顺序测试每个接口 **方式3:使用 Swagger UI** - 访问 `http://localhost:2011/swagger` - 找到 `LqReimbursementWorkflowConfig` 相关的接口 - 逐个测试 ## 接口列表(按测试顺序) ### ✅ 1. GET /api/Extend/LqReimbursementWorkflowConfig/Actions/GetEnabledList - **最简单**,先测试这个 - 不需要参数 - 返回启用的流程列表 ### ✅ 2. GET /api/Extend/LqReimbursementWorkflowConfig - 测试分页和筛选 - 参数:`currentPage=1&pageSize=20&keyword=测试` - 返回分页列表 ### ✅ 3. POST /api/Extend/LqReimbursementWorkflowConfig - 创建新流程 - 测试正常创建 - 测试参数验证(空名称、空节点列表、节点顺序不连续等) ### ✅ 4. GET /api/Extend/LqReimbursementWorkflowConfig/{id} - 使用步骤3创建的ID - 验证返回的节点信息完整 ### ✅ 5. PUT /api/Extend/LqReimbursementWorkflowConfig/{id} - 使用步骤3创建的ID - 测试更新功能 - 验证节点数量变化 - 验证数据一致性 ## 快速验证清单 在启动服务后,按以下顺序快速验证: - [ ] 服务能正常启动,无编译错误 - [ ] 登录接口可以正常获取Token - [ ] 获取启用的流程列表返回空数组(或已有数据) - [ ] 创建流程配置成功,返回流程ID - [ ] 获取流程详细信息返回完整节点信息 - [ ] 更新流程配置成功 - [ ] 更新后查询,数据已正确更新 - [ ] 参数验证正常工作(空名称、空节点等会返回错误) ## 常见问题 ### Q: 服务无法启动? A: 检查是否有编译错误(除 LqEmployeeSalaryStatisticsService.cs 外) ```bash dotnet build netcore/src/Modularity/Extend/NCC.Extend/NCC.Extend.csproj ``` ### Q: 数据库连接失败? A: 检查数据库配置和连接字符串 ### Q: Token 获取失败? A: 检查登录接口是否正常,账户密码是否正确 ### Q: 接口返回 404? A: 检查路由配置,确保接口路径正确 - 应该是 `/api/Extend/LqReimbursementWorkflowConfig` - 不是 `/api/extend/...`(注意大小写) ### Q: 创建接口返回错误? A: 检查: 1. 请求体格式是否正确(JSON) 2. 节点顺序是否连续(1, 2, 3...) 3. 节点名称是否为空 4. Content-Type 是否为 `application/json` ## 测试数据示例 ### 最小有效流程配置 ```json { "workflowName": "测试流程", "isEnabled": 1, "description": "测试", "nodes": [ { "nodeOrder": 1, "nodeName": "节点1", "approvalType": "会签", "isRequired": 1, "approverIds": [], "approverNames": [] } ] } ``` ### 完整流程配置(2个节点) ```json { "workflowName": "标准报销流程", "isEnabled": 1, "description": "适用于一般报销申请的审批流程", "nodes": [ { "nodeOrder": 1, "nodeName": "部门经理审批", "approvalType": "会签", "isRequired": 1, "approverIds": [], "approverNames": [] }, { "nodeOrder": 2, "nodeName": "财务审批", "approvalType": "会签", "isRequired": 1, "approverIds": [], "approverNames": [] } ] } ``` ## 下一步 完成接口测试后,可以: 1. 修改报销申请创建接口,支持使用流程配置 2. 前端页面开发和对接