90 lines
5.0 KiB
Markdown
90 lines
5.0 KiB
Markdown
# 员工信息维护导入功能真实页面测试记录
|
||
|
||
## 测试范围
|
||
|
||
- 页面:`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 与行号定位、页面列表与详情资产展示均已验证。需要单独处理员工详情部门名称缺失问题。
|