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

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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