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.

140 lines
3.7 KiB

9 months ago
# 不良事件管理 - 测试数据填充说明
## 概述
本文档说明如何为"不良事件管理"模块填充测试数据,以便进行功能测试和演示。
## 文件说明
### 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
```
## 联系支持
如有问题,请联系开发团队或查看项目文档。