Remove obsolete export APIs and persist recruitment work history
This commit is contained in:
@@ -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 清理
|
||||
- 菜单排序调整为统一且可重复执行的固定顺序
|
||||
@@ -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. 非法年月格式或超长字段应被后端校验拒绝。
|
||||
@@ -0,0 +1,36 @@
|
||||
# 员工信息维护资产表单单横向滚动实施计划
|
||||
|
||||
> **For agentic workers:** REQUIRED: Use superpowers:subagent-driven-development (if subagents available) or superpowers:executing-plans to implement this plan. Steps use checkbox (`- [ ]`) syntax for tracking.
|
||||
|
||||
**Goal:** 修复员工信息维护页“新增员工”弹窗中资产信息表单出现两条横向滚动条的问题,仅保留一条可用横向滚动条。
|
||||
|
||||
**Architecture:** 本次仅调整 `ccdiBaseStaff` 页面资产编辑表格的容器样式,不改动资产字段、提交参数、接口结构和详情展示逻辑。实现路径为移除外层包裹容器的横向滚动能力,并取消表格根节点的强制最小宽度,让横向滚动统一由 `el-table` 内部负责。
|
||||
|
||||
**Tech Stack:** Vue 2, Element UI, JavaScript, Markdown
|
||||
|
||||
---
|
||||
|
||||
## 文件结构与职责
|
||||
|
||||
- `ruoyi-ui/src/views/ccdiBaseStaff/index.vue`
|
||||
调整资产编辑表格容器样式,消除双横向滚动条。
|
||||
|
||||
## 实施步骤
|
||||
|
||||
- [x] 定位资产编辑表格双横向滚动条的成因
|
||||
- [x] 删除外层滚动容器的横向滚动能力
|
||||
- [x] 取消表格根节点的强制最小宽度,保留 `el-table` 内部横向滚动
|
||||
- [x] 运行前端构建校验模板与样式改动未引入语法问题
|
||||
- [x] 使用浏览器实际打开员工信息维护弹窗,确认资产表单只剩一条横向滚动条
|
||||
|
||||
## 验证
|
||||
|
||||
```bash
|
||||
source ~/.nvm/nvm.sh && nvm use 14.21.3 >/dev/null && cd ruoyi-ui && npm run build:prod
|
||||
```
|
||||
|
||||
## 完成标准
|
||||
|
||||
- 员工信息维护页资产信息编辑表格仅保留一条横向滚动条
|
||||
- 资产字段录入、删除和提交交互保持不变
|
||||
- 页面未新增额外横向滚动副作用
|
||||
@@ -0,0 +1,36 @@
|
||||
# 信息维护移除导出与菜单排序前端实施计划
|
||||
|
||||
**Goal:** 移除信息维护相关页面中的导出按钮和前端下载逻辑,确保页面仅保留查询、新增、编辑、删除、导入等当前需要的能力。
|
||||
|
||||
**Architecture:** 前端只在现有信息维护页面内做删除型改动,直接移除按钮 DOM 与 `handleExport` 方法,不改动查询表单、表格展示、导入弹窗和失败记录查看能力;同时清理对应 API 文件中的导出封装,避免保留无效前端调用入口。
|
||||
|
||||
**Tech Stack:** Vue 2, Element UI, JavaScript, Markdown
|
||||
|
||||
---
|
||||
|
||||
## 文件结构与职责
|
||||
|
||||
- `ruoyi-ui/src/views/ccdi*/index.vue`
|
||||
移除账户库、员工关系、客户关系、招聘、调动、采购等页面的导出按钮和下载方法。
|
||||
- `ruoyi-ui/src/api/ccdi*.js`
|
||||
删除不再使用的导出 API 封装。
|
||||
|
||||
## 实施步骤
|
||||
|
||||
- [x] 盘点信息维护中仍显示导出按钮的前端页面
|
||||
- [x] 移除 8 个页面的导出按钮与 `handleExport` 方法
|
||||
- [x] 清理对应 API 文件中的导出封装
|
||||
- [x] 运行前端构建校验模板和脚本改动未引入语法问题
|
||||
- [x] 使用 Playwright 在真实浏览器中确认侧边栏顺序与页面按钮状态
|
||||
|
||||
## 验证
|
||||
|
||||
```bash
|
||||
source ~/.nvm/nvm.sh && nvm use 14.21.3 >/dev/null && cd ruoyi-ui && npm run build:prod
|
||||
```
|
||||
|
||||
## 完成标准
|
||||
|
||||
- 信息维护相关页面不再展示“导出”按钮
|
||||
- 页面中不再保留导出下载方法
|
||||
- 前端导入、失败记录、详情和编辑交互保持正常
|
||||
@@ -0,0 +1,36 @@
|
||||
# 员工亲属资产表单单横向滚动实施计划
|
||||
|
||||
> **For agentic workers:** REQUIRED: Use superpowers:subagent-driven-development (if subagents available) or superpowers:executing-plans to implement this plan. Steps use checkbox (`- [ ]`) syntax for tracking.
|
||||
|
||||
**Goal:** 修复员工亲属关系维护页中亲属资产信息表单出现两条横向滚动条的问题,仅保留一条可用横向滚动条。
|
||||
|
||||
**Architecture:** 本次仅调整 `ccdiStaffFmyRelation` 页面亲属资产编辑表格的容器样式,不改动亲属资产字段、提交参数、接口结构和详情展示逻辑。实现路径与员工信息维护页保持一致:移除外层包裹容器的横向滚动能力,并取消表格根节点的强制最小宽度,让横向滚动统一由 `el-table` 内部负责。
|
||||
|
||||
**Tech Stack:** Vue 2, Element UI, JavaScript, Markdown
|
||||
|
||||
---
|
||||
|
||||
## 文件结构与职责
|
||||
|
||||
- `ruoyi-ui/src/views/ccdiStaffFmyRelation/index.vue`
|
||||
调整亲属资产编辑表格容器样式,消除双横向滚动条。
|
||||
|
||||
## 实施步骤
|
||||
|
||||
- [x] 定位亲属资产编辑表格双横向滚动条的成因
|
||||
- [x] 删除外层滚动容器的横向滚动能力
|
||||
- [x] 取消表格根节点的强制最小宽度,保留 `el-table` 内部横向滚动
|
||||
- [x] 运行前端构建校验模板与样式改动未引入语法问题
|
||||
- [x] 使用浏览器实际打开员工亲属关系维护弹窗,确认亲属资产表单只剩一条横向滚动条
|
||||
|
||||
## 验证
|
||||
|
||||
```bash
|
||||
source ~/.nvm/nvm.sh && nvm use 14.21.3 >/dev/null && cd ruoyi-ui && npm run build:prod
|
||||
```
|
||||
|
||||
## 完成标准
|
||||
|
||||
- 员工亲属关系维护页亲属资产信息编辑表格仅保留一条横向滚动条
|
||||
- 亲属资产字段录入、删除和提交交互保持不变
|
||||
- 页面未新增额外横向滚动副作用
|
||||
@@ -0,0 +1,35 @@
|
||||
# 招聘信息历史工作经历手动编辑前端实施计划
|
||||
|
||||
## 文档信息
|
||||
|
||||
- 保存路径:`docs/plans/frontend/2026-04-22-staff-recruitment-work-experience-manual-edit-plan.md`
|
||||
- 适用范围:`ruoyi-ui/src/views/ccdiStaffRecruitment/index.vue`
|
||||
- 需求目标:在招聘信息管理编辑页支持手动新增、删除并提交历史工作经历
|
||||
|
||||
## 实施范围
|
||||
|
||||
1. 在招聘信息编辑弹窗中,为社招记录增加“候选人历史工作经历”编辑区域。
|
||||
2. 提供手动新增、删除经历行的交互能力。
|
||||
3. 提交编辑时将历史工作经历列表一并传给后端。
|
||||
4. 在前端提交前补充基础校验,避免空工作单位、空入职年月或错误年月范围直接提交。
|
||||
|
||||
## 实施步骤
|
||||
|
||||
1. 在编辑弹窗中新增工作经历表格,仅在“编辑 + 社招”场景展示。
|
||||
2. 为每条经历提供工作单位、所属部门、岗位名称、入职年月、离职年月、离职原因、主要工作内容、备注输入项。
|
||||
3. 将入职时间、离职时间改为月份选择器,避免手输年月格式。
|
||||
4. 增加 `handleAddWorkExperience`、`handleRemoveWorkExperience`、`syncWorkExperienceSortOrder` 等方法维护列表顺序。
|
||||
5. 在提交前执行工作经历校验,并按顺序规范化后再调用编辑接口。
|
||||
|
||||
## 交互约束
|
||||
|
||||
- 本次仅支持编辑页手动维护,不扩展新增页展示范围。
|
||||
- 招聘类型为校招时不展示工作经历编辑区域。
|
||||
- 保存时以当前表格内容覆盖后端已有历史工作经历。
|
||||
|
||||
## 验证要点
|
||||
|
||||
1. 打开社招编辑弹窗时可看到历史工作经历编辑区。
|
||||
2. 可新增、删除多条经历,序号自动重排。
|
||||
3. 入职年月、离职年月格式错误或离职早于入职时,页面阻止提交并提示。
|
||||
4. 保存成功后再次打开详情/编辑页,工作经历展示与提交内容一致。
|
||||
Reference in New Issue
Block a user