41 lines
2.2 KiB
Markdown
41 lines
2.2 KiB
Markdown
# 员工信息维护双 Sheet 导入实施记录
|
||
|
||
## 本次修改
|
||
- 后端将员工信息维护导入模板改为双 Sheet:
|
||
- `员工信息`
|
||
- `员工资产信息`
|
||
- 后端导入入口统一到 `/ccdi/baseStaff/importData`,按有数据的 Sheet 分别提交员工导入任务与员工资产导入任务。
|
||
- 员工信息导入移除了更新现有员工能力,现有员工 ID 或身份证号冲突统一进入失败记录。
|
||
- 员工资产导入补充了重复校验,当前按 `personId + assetMainType + assetSubType + assetName` 识别重复,命中数据库或导入文件内重复时直接进入失败记录。
|
||
- 前端删除独立“导入资产信息”按钮与独立资产上传弹窗,改为单入口上传双 Sheet 模板。
|
||
- 前端上传成功后,按返回的两个任务 ID 分别沿用原有轮询、失败记录缓存和失败记录弹窗能力。
|
||
- 修正员工导入失败记录字段为 `staffId`,保证失败记录列表能正确显示柜员号。
|
||
- 员工失败记录与员工资产失败记录都增加了 `Sheet`、`Excel行号`、`失败原因` 定位信息。
|
||
|
||
## 影响范围
|
||
- 后端
|
||
- `ccdi-info-collection` 员工导入控制器、服务接口、异步导入服务、导入结果 VO
|
||
- 前端
|
||
- `ruoyi-ui/src/views/ccdiBaseStaff/index.vue`
|
||
- `ruoyi-ui/src/api/ccdiBaseStaff.js`
|
||
|
||
## 验证情况
|
||
- 后端编译
|
||
- `mvn -pl ccdi-info-collection,ruoyi-admin -am -DskipTests compile`
|
||
- 结果:通过
|
||
- 前端构建
|
||
- `source ~/.nvm/nvm.sh && nvm use 14.21.3 >/dev/null && cd ruoyi-ui && npm run build:prod`
|
||
- 结果:通过
|
||
- 备注:构建输出仍有既有体积告警,但未阻断构建
|
||
|
||
## 测试说明
|
||
- 已补充员工双 Sheet 导入相关单测文件,并执行:
|
||
- `mvn -pl ccdi-info-collection -am -Dtest=CcdiBaseStaffControllerTest,CcdiBaseStaffDualImportServiceTest,CcdiBaseStaffAssetImportServiceImplTest -Dsurefire.failIfNoSpecifiedTests=false test`
|
||
- 结果:通过
|
||
- 已通过 Playwright 在真实员工信息维护页面验证:
|
||
- 页面仅保留一个“导入”按钮
|
||
- 导入弹窗展示双 Sheet 提示文案
|
||
- 两个失败入口可恢复显示
|
||
- 员工失败弹窗显示 `Sheet / Excel行号 / 失败原因`
|
||
- 资产失败弹窗显示 `Sheet / Excel行号 / 失败原因`
|