Remove obsolete export APIs and persist recruitment work history

This commit is contained in:
wkc
2026-04-22 13:38:43 +08:00
parent 94507e3747
commit 0c5fa6b2c8
47 changed files with 823 additions and 408 deletions

View File

@@ -0,0 +1,47 @@
# 信息维护移除导出与菜单排序后端实施计划
**Goal:** 移除信息维护相关模块的后端导出接口与导出权限,并通过增量 SQL 统一“信息维护”目录下的菜单顺序。
**Architecture:** 后端仅收口 `ccdi-info-collection` 控制器层的 `/export` 接口,不调整列表、详情、导入与删除链路;菜单治理通过 `sql/migration` 新增一份可重复执行脚本完成,脚本同时删除导出权限按钮并更新 `order_num`
**Tech Stack:** Java 21, Spring Boot 3, MyBatis Plus, MySQL, Markdown
---
## 文件结构与职责
- `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/controller/`
移除信息维护模块各控制器的 `/export` 接口。
- `sql/migration/2026-04-22-remove-info-maintenance-export-and-sort-menus.sql`
删除导出权限菜单并统一“信息维护”子菜单排序。
- `sql/*.sql`
修正仓库内已有菜单脚本,避免新库初始化时继续带出导出权限或错误顺序。
## 实施步骤
- [x] 盘点信息维护模块现存 `/export` 接口与导出权限点
- [x] 移除员工、关系、招聘、调动、采购、账户等模块的控制器导出接口
- [x] 新增菜单增量脚本,删除导出权限并统一菜单排序
- [x] 同步修正仓库内已有菜单 SQL避免新环境重新带回导出权限
- [x] 运行检索校验,确认控制器层不再暴露信息维护导出接口
## 验证
```bash
rg -n "@PostMapping\\(\"/export\"\\)|hasPermi\\('ccdi:.*:export'\\)" \
ccdi-info-collection/src/main/java/com/ruoyi/info/collection/controller/CcdiAccountInfoController.java \
ccdi-info-collection/src/main/java/com/ruoyi/info/collection/controller/CcdiBaseStaffController.java \
ccdi-info-collection/src/main/java/com/ruoyi/info/collection/controller/CcdiCustEnterpriseRelationController.java \
ccdi-info-collection/src/main/java/com/ruoyi/info/collection/controller/CcdiCustFmyRelationController.java \
ccdi-info-collection/src/main/java/com/ruoyi/info/collection/controller/CcdiPurchaseTransactionController.java \
ccdi-info-collection/src/main/java/com/ruoyi/info/collection/controller/CcdiStaffEnterpriseRelationController.java \
ccdi-info-collection/src/main/java/com/ruoyi/info/collection/controller/CcdiStaffFmyRelationController.java \
ccdi-info-collection/src/main/java/com/ruoyi/info/collection/controller/CcdiStaffRecruitmentController.java \
ccdi-info-collection/src/main/java/com/ruoyi/info/collection/controller/CcdiStaffTransferController.java
```
## 完成标准
- 信息维护相关控制器不再提供 `/export` 接口
- “信息维护”菜单下相关导出权限按钮已可通过增量 SQL 清理
- 菜单排序调整为统一且可重复执行的固定顺序

View File

@@ -0,0 +1,36 @@
# 招聘信息历史工作经历手动编辑后端实施计划
## 文档信息
- 保存路径:`docs/plans/backend/2026-04-22-staff-recruitment-work-experience-manual-edit-plan.md`
- 适用范围:招聘信息管理编辑接口
- 需求目标:在招聘信息编辑页支持手动维护历史工作经历,并保证保存后落到 `ccdi_staff_recruitment_work` 子表
## 实施范围
1. 扩展招聘信息编辑 DTO允许接收历史工作经历列表。
2. 增加历史工作经历子项 DTO并对字符长度、年月格式进行基础校验。
3. 调整招聘信息编辑服务:
- 主表 `ccdi_staff_recruitment` 继续按原逻辑更新;
- 当招聘类型为 `SOCIAL` 且前端传入工作经历列表时,按招聘记录编号先删后插覆盖子表;
- 当招聘类型改为 `CAMPUS` 时,删除该记录已存在的历史工作经历。
## 实施步骤
1. 新增历史工作经历编辑 DTO约束 `companyName``departmentName``positionName`、年月等字段长度与格式。
2.`CcdiStaffRecruitmentEditDTO` 中增加 `workExperienceList` 字段,并启用嵌套校验。
3.`CcdiStaffRecruitmentServiceImpl.updateRecruitment` 中增加子表覆盖保存逻辑。
4. 保持详情查询逻辑不变,继续通过已有 `selectWorkExperienceList` 返回子表明细。
## 影响评估
- 仅影响招聘信息编辑接口,不影响招聘信息导入、详情查询、列表分页逻辑。
- 不新增数据库结构变更,不新增菜单或权限。
- 旧前端若未传 `workExperienceList`,社招编辑仍保留已有工作经历数据,不会被误删。
## 验证要点
1. 编辑社招记录时可提交多条历史工作经历并成功保存。
2. 编辑社招记录时删除全部历史工作经历后提交,子表数据应被清空。
3. 将社招记录改为校招后提交,历史工作经历应自动删除。
4. 非法年月格式或超长字段应被后端校验拒绝。