# 不良事件管理 - 测试数据填充说明 ## 概述 本文档说明如何为"不良事件管理"模块填充测试数据,以便进行功能测试和演示。 ## 文件说明 ### 1. 数据库迁移文件 - `database/migrations/2025_07_24_093101_create_adverse_table.php` - 创建不良事件数据表结构 ### 2. 数据填充文件 - `database/seeders/AdverseSeeder.php` - Laravel Seeder填充器 - `database/seeders/adverse_data.sql` - SQL脚本文件 - `insert_adverse_data.php` - 独立PHP脚本 ### 3. 模型和控制器 - `app/Models/Adverse.php` - 不良事件模型 - `app/Http/Controllers/Admin/AdverseController.php` - 管理控制器 - `app/Forms/AdverseForm.php` - 表单类 ### 4. 视图文件 - `resources/views/admin/adverse/index.blade.php` - 列表页面 - `resources/views/admin/adverse/create.blade.php` - 创建页面 - `resources/views/admin/adverse/edit.blade.php` - 编辑页面 - `resources/views/admin/adverse/show.blade.php` - 详情页面 ## 使用方法 ### 方法一:使用Laravel Seeder(推荐) 1. 确保已运行数据库迁移: ```bash php artisan migrate ``` 2. 运行Seeder填充数据: ```bash php artisan db:seed --class=AdverseSeeder ``` ### 方法二:使用SQL脚本 1. 确保已运行数据库迁移 2. 确保已有项目和订单数据 3. 执行SQL脚本: ```bash mysql -u username -p database_name < database/seeders/adverse_data.sql ``` ### 方法三:使用独立PHP脚本 1. 确保已运行数据库迁移 2. 确保已有项目和订单数据 3. 运行脚本: ```bash php insert_adverse_data.php ``` ## 数据内容 ### 不良事件类型 - `safety` - 意外事件 - `complaint` - 沟通事件 - `other` - 其他 ### 解决状态 - `pending` - 待处理 - `processing` - 处理中 - `solved` - 已解决 - `closed` - 已关闭 ### 测试数据特点 - 包含30条测试记录 - 涵盖所有类型和状态 - 包含真实的事件描述和解决结果 - 时间分布在最近90天内 - 关联到实际的项目和订单 ## 数据字段说明 | 字段名 | 类型 | 说明 | |--------|------|------| | project_id | int | 所属项目ID | | order_id | int | 相关订单ID(可为空) | | type | varchar | 事件类型 | | description | text | 事件描述 | | solved_status | varchar | 解决状态 | | solved_by | varchar | 经办人 | | solved_at | datetime | 解决时间 | | solved_result | text | 解决结果描述 | | created_at | datetime | 创建时间 | | updated_at | datetime | 更新时间 | ## 注意事项 1. **依赖关系**:确保在填充不良事件数据之前,已有项目和订单数据 2. **数据完整性**:已解决的事件会自动设置解决时间和结果 3. **时间分布**:创建时间分布在最近90天内,解决时间分布在最近30天内 4. **关联关系**:订单ID会根据项目ID自动匹配 ## 功能测试 填充数据后,可以测试以下功能: 1. **列表展示**:查看不良事件列表 2. **搜索筛选**:按关键词、状态、类型、项目等条件筛选 3. **创建事件**:新增不良事件记录 4. **编辑事件**:修改事件信息和状态 5. **查看详情**:查看完整的事件信息 6. **批量操作**:批量删除、标记解决等 ## 故障排除 ### 常见问题 1. **没有项目数据** - 解决:先创建项目数据 2. **没有订单数据** - 解决:先创建订单数据 3. **数据库连接错误** - 检查数据库配置 - 确保数据库服务运行正常 4. **权限问题** - 确保数据库用户有插入权限 ### 日志查看 如果遇到问题,可以查看Laravel日志: ```bash tail -f storage/logs/laravel.log ``` ## 联系支持 如有问题,请联系开发团队或查看项目文档。