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

不良事件管理 - 测试数据填充说明

概述

本文档说明如何为"不良事件管理"模块填充测试数据,以便进行功能测试和演示。

文件说明

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. 确保已运行数据库迁移:
php artisan migrate
  1. 运行Seeder填充数据
php artisan db:seed --class=AdverseSeeder

方法二使用SQL脚本

  1. 确保已运行数据库迁移
  2. 确保已有项目和订单数据
  3. 执行SQL脚本
mysql -u username -p database_name < database/seeders/adverse_data.sql

方法三使用独立PHP脚本

  1. 确保已运行数据库迁移
  2. 确保已有项目和订单数据
  3. 运行脚本:
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日志

tail -f storage/logs/laravel.log

联系支持

如有问题,请联系开发团队或查看项目文档。