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