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

5.0 KiB
Raw Blame History

员工信息维护导入功能真实页面测试记录

测试范围

  • 页面: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-e66b35716506SUCCESS,总数 1成功 1失败 0
员工 Sheet 混合失败 base_staff_import_staff_mixed_20260430.xlsx 员工任务 c57fc240-c50f-42a7-8d77-1614c46789ecPARTIAL_SUCCESS,总数 7成功 1失败 6
资产 Sheet 成功 base_staff_import_asset_success_20260430.xlsx 资产任务 8f266611-10ef-471f-8cc7-92b5b65cac45SUCCESS,总数 1成功 1失败 0
资产 Sheet 混合失败 base_staff_import_asset_mixed_20260430.xlsx 资产任务 314e1ec1-cf3c-4145-a60f-96f2e8311949PARTIAL_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 与行号定位、页面列表与详情资产展示均已验证。需要单独处理员工详情部门名称缺失问题。