You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
3.7 KiB
3.7 KiB
不良事件管理 - 测试数据填充说明
概述
本文档说明如何为"不良事件管理"模块填充测试数据,以便进行功能测试和演示。
文件说明
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(推荐)
- 确保已运行数据库迁移:
php artisan migrate
- 运行Seeder填充数据:
php artisan db:seed --class=AdverseSeeder
方法二:使用SQL脚本
- 确保已运行数据库迁移
- 确保已有项目和订单数据
- 执行SQL脚本:
mysql -u username -p database_name < database/seeders/adverse_data.sql
方法三:使用独立PHP脚本
- 确保已运行数据库迁移
- 确保已有项目和订单数据
- 运行脚本:
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 | 更新时间 |
注意事项
- 依赖关系:确保在填充不良事件数据之前,已有项目和订单数据
- 数据完整性:已解决的事件会自动设置解决时间和结果
- 时间分布:创建时间分布在最近90天内,解决时间分布在最近30天内
- 关联关系:订单ID会根据项目ID自动匹配
功能测试
填充数据后,可以测试以下功能:
- 列表展示:查看不良事件列表
- 搜索筛选:按关键词、状态、类型、项目等条件筛选
- 创建事件:新增不良事件记录
- 编辑事件:修改事件信息和状态
- 查看详情:查看完整的事件信息
- 批量操作:批量删除、标记解决等
故障排除
常见问题
-
没有项目数据
- 解决:先创建项目数据
-
没有订单数据
- 解决:先创建订单数据
-
数据库连接错误
- 检查数据库配置
- 确保数据库服务运行正常
-
权限问题
- 确保数据库用户有插入权限
日志查看
如果遇到问题,可以查看Laravel日志:
tail -f storage/logs/laravel.log
联系支持
如有问题,请联系开发团队或查看项目文档。