# 员工亲属实体关联浏览器测试记录

## 1. 测试目标

- 验证员工实体关系页面已切换为员工亲属实体关联页面
- 验证查询区、列表列、详情弹窗、导入入口文案是否已切换为亲属语义
- 验证页面通过真实前端服务和真实后端服务访问，不使用 prototype 页面

## 2. 测试环境

- 测试时间：2026-04-23
- 前端：`ruoyi-ui`
- 前端 Node 版本：`v14.21.3`
- 前端访问地址：
  - 首次稳定访问：`http://localhost:1025/`
  - 后续 dev server 热重启后访问：`http://127.0.0.1:1027/`
- 后端访问地址：`http://localhost:62318`
- 浏览器驱动：Playwright CLI

## 3. 执行过程

### 3.1 前端构建

- 执行 `source ~/.nvm/nvm.sh && nvm use`
- 执行 `npm run build:prod`
- 构建结果：成功
- 备注：存在既有包体积告警，不影响本次功能构建结果

### 3.2 真实页面访问

- 使用 Playwright 打开真实前端页面并进入系统首页
- 通过菜单进入“信息维护”
- 成功访问员工实体关系业务页，页面地址为 `/maintain/staffEnterpriseRelation`

### 3.3 已验证项

- 查询区已切换为以下字段：
  - 亲属身份证号
  - 亲属姓名
  - 关联员工
  - 统一社会信用代码
  - 企业名称
  - 状态
- 列表表头已切换为以下字段：
  - 亲属身份证号
  - 亲属姓名
  - 关联员工
  - 企业名称
  - 关联人在企业的职务
  - 状态
  - 数据来源
  - 创建时间
- 页面按钮文案已切换为亲属语义：
  - 新增
  - 导入
  - 查看导入失败记录
- 后端日志已确认列表查询走新 SQL：
  - `ccdi_staff_enterprise_relation ser`
  - `LEFT JOIN ccdi_staff_fmy_relation sfr ON ser.person_id = sfr.relation_cert_no AND sfr.is_emp_family = 1`
  - `LEFT JOIN ccdi_base_staff bs ON sfr.person_id = bs.id_card`

## 4. 结果与发现

### 4.1 页面表现

- 页面主体已按本次需求切换为员工亲属实体关联口径
- 历史数据因未迁移旧员工本人语义记录，当前列表中的亲属姓名和关联员工存在空值/`-`
- 该现象符合设计文档中“不迁移旧的员工本人实体关联历史数据、不设计旧数据兼容展示逻辑”的范围说明

### 4.2 阻塞项

- 浏览器测试阶段，后端通过 `bin/restart_java_backend.sh` 启动后可正常服务，但在桌面会话中会跟随当前测试会话退出，导致后端在一段时间后自动关闭
- 受该稳定性问题影响，本轮未能完成以下真实页面闭环验证：
  - 新增弹窗中的有效亲属下拉选择
  - 编辑弹窗完整提交流程
  - 通过页面下载模板并完成三类导入样本上传
  - 失败记录弹窗完整回查

## 5. 结论

- 已完成真实页面基础访问与核心展示项核对，确认本次前端改造已切换到亲属语义
- 后续若继续执行导入实操验证，需先确保后端测试进程在桌面会话中可稳定保活，再继续完成导入样本生成、上传与回收验证
