Files
ccdi/docs/reports/implementation/2026-04-30-base-staff-import-browser-use-test.md
2026-05-06 14:04:21 +08:00

90 lines
5.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 员工信息维护导入功能真实页面测试记录
## 测试范围
- 页面:`http://localhost:8080/maintain/baseStaff`
- 后端:`http://localhost:62318`
- 模块:员工信息维护导入
- 测试方式:`browser-use` 打开真实业务页面,确认导入入口、模板下载和页面列表/详情展示;使用真实模板生成测试工作簿后调用同一导入接口上传,轮询导入任务状态并查询失败记录。
## 测试文件
- 真实模板:`output/spreadsheet/base_staff_import_template_20260430.xlsx`
- 空模板:`output/spreadsheet/base_staff_import_empty_20260430.xlsx`
- 员工成功样本:`output/spreadsheet/base_staff_import_staff_success_20260430.xlsx`
- 员工混合失败样本:`output/spreadsheet/base_staff_import_staff_mixed_20260430.xlsx`
- 资产成功样本:`output/spreadsheet/base_staff_import_asset_success_20260430.xlsx`
- 资产混合失败样本:`output/spreadsheet/base_staff_import_asset_mixed_20260430.xlsx`
- 双 Sheet 成功样本:`output/spreadsheet/base_staff_import_dual_success_20260430.xlsx`
## 页面验证
1. 打开真实员工信息维护页面,确认页面标题、查询区、列表、单一“导入”按钮加载正常。
2. 打开“员工信息维护导入”弹窗,确认存在“下载模板”入口。
3. 点击“下载模板”,页面触发真实模板下载。
4. 弹窗提示确认:
- 模板包含“员工信息”和“员工资产信息”两个 Sheet。
- 两个 Sheet 可单独填写,也可同时填写。
- 员工信息命中现有员工直接报错。
- 资产信息仅支持员工本人资产。
5. 页面查询员工 `9843001`,确认成功导入员工 `Codex导入员工A` 可在真实列表展示。
6. 打开员工 `9843001` 详情,确认资产 `Codex资产住宅A` 展示在资产信息区。
7. 页面查询员工 `9843004`,确认双 Sheet 成功样本中的员工 `Codex导入员工D` 可在真实列表展示。
## 接口与异步任务验证
| 场景 | 文件 | 结果 |
| --- | --- | --- |
| 空模板 | `base_staff_import_empty_20260430.xlsx` | 返回 `code=500`,提示“至少需要一条数据” |
| 员工 Sheet 成功 | `base_staff_import_staff_success_20260430.xlsx` | 员工任务 `8afb5d0d-009d-4460-b9a5-e66b35716506``SUCCESS`,总数 1成功 1失败 0 |
| 员工 Sheet 混合失败 | `base_staff_import_staff_mixed_20260430.xlsx` | 员工任务 `c57fc240-c50f-42a7-8d77-1614c46789ec``PARTIAL_SUCCESS`,总数 7成功 1失败 6 |
| 资产 Sheet 成功 | `base_staff_import_asset_success_20260430.xlsx` | 资产任务 `8f266611-10ef-471f-8cc7-92b5b65cac45``SUCCESS`,总数 1成功 1失败 0 |
| 资产 Sheet 混合失败 | `base_staff_import_asset_mixed_20260430.xlsx` | 资产任务 `314e1ec1-cf3c-4145-a60f-96f2e8311949``PARTIAL_SUCCESS`,总数 5成功 1失败 4 |
| 双 Sheet 同时成功 | `base_staff_import_dual_success_20260430.xlsx` | 员工任务 `cacb797b-f308-4766-8470-d32061f0a964` 成功 1资产任务 `08d02f9d-266e-49a1-a52a-fff29426e033` 成功 1 |
## 失败记录核对
员工混合失败记录包含 `sheetName=员工信息`、准确 `rowNum` 和失败原因:
- 第 2 行:员工 ID 已存在。
- 第 3 行:姓名不能为空。
- 第 4 行:所属部门 ID 不存在或已停用/删除。
- 第 5 行:身份证号长度必须为 18 位。
- 第 6 行:年收入不能为负数。
- 第 8 行:员工 ID 在导入文件中重复。
资产混合失败记录包含 `sheetName=员工资产信息`、准确 `rowNum` 和失败原因:
- 第 2 行:资产记录已存在。
- 第 3 行:员工资产导入仅支持员工本人证件号。
- 第 4 行:资产名称不能为空。
- 第 6 行:资产记录在导入文件中重复。
## 数据回查
- 员工 `9843001`:列表接口返回 1 条,姓名 `Codex导入员工A`,部门 `研发部门`,状态 `在职`
- 员工 `9843003`:列表接口返回 1 条,姓名 `Codex导入员工C`,验证混合失败文件中的成功行已入库。
- 员工 `9843004`:列表接口返回 1 条,姓名 `Codex导入员工D`,验证双 Sheet 员工任务成功入库。
- 员工 `9843001` 详情接口返回 3 条本轮导入资产:
- `Codex资产住宅A`
- `Codex资产车辆重复`
- `Codex资产商铺D`
## 发现的问题
- 员工 `9843001` 列表中 `deptName=研发部门`,但详情接口返回 `deptName=null`,页面详情“所属部门”显示为 `-`。该问题不阻断导入成功,但属于员工详情展示链路的现存缺陷。
## 清理范围
本轮成功写入的测试员工:
- `9843001`
- `9843003`
- `9843004`
删除员工时,当前后端会同步删除员工身份证号对应的本人资产数据。
## 结论
员工信息维护导入主链路通过:双 Sheet 单入口、空数据拦截、员工新增、员工重复/必填/部门/证件/金额校验、资产新增、资产重复/归属/必填校验、失败记录 Sheet 与行号定位、页面列表与详情资产展示均已验证。需要单独处理员工详情部门名称缺失问题。