新增员工党员字段
This commit is contained in:
@@ -0,0 +1,83 @@
|
||||
# 员工基础信息新增是否党员字段后端实施计划
|
||||
|
||||
> **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:** 继续沿用 `ccdi_base_staff` 现有维护链路,在表上增加 `is_party_member` 字段,并在 `CcdiBaseStaff` 的实体、DTO、VO、Excel、Mapper XML 与服务校验中同步补齐。实现保持最短路径,不新增新的接口层或旁路转换逻辑,只在现有员工维护链路上扩字段。
|
||||
|
||||
**Tech Stack:** MySQL, Java 21, Spring Boot 3, MyBatis Plus, EasyExcel, JUnit 5, Markdown
|
||||
|
||||
---
|
||||
|
||||
## 文件结构与职责
|
||||
|
||||
**后端源码**
|
||||
|
||||
- `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/CcdiBaseStaff.java`
|
||||
新增 `partyMember` 字段并映射 `is_party_member`。
|
||||
- `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/dto/CcdiBaseStaffAddDTO.java`
|
||||
新增新增接口入参字段与非空校验。
|
||||
- `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/dto/CcdiBaseStaffEditDTO.java`
|
||||
新增编辑接口入参字段与非空校验。
|
||||
- `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/vo/CcdiBaseStaffVO.java`
|
||||
新增详情/列表返回字段。
|
||||
- `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/excel/CcdiBaseStaffExcel.java`
|
||||
新增 Excel 导入导出列,并挂接“是/否”字典下拉。
|
||||
- `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/vo/ImportFailureVO.java`
|
||||
新增导入失败记录字段回显。
|
||||
- `ccdi-info-collection/src/main/resources/mapper/info/collection/CcdiBaseStaffMapper.xml`
|
||||
在列表查询、批量新增、批量更新 SQL 中补 `is_party_member`。
|
||||
- `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/service/impl/CcdiBaseStaffServiceImpl.java`
|
||||
补新增/编辑链路校验,约束 `partyMember` 只能为 `0/1`。
|
||||
- `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/service/impl/CcdiBaseStaffImportServiceImpl.java`
|
||||
补导入链路的必填和枚举值校验。
|
||||
|
||||
**SQL**
|
||||
|
||||
- `sql/migration/2026-04-17-add-base-staff-party-member.sql`
|
||||
以幂等方式为 `ccdi_base_staff` 增加字段,并补充 `ccdi_yes_no_flag` 字典数据。
|
||||
- `sql/ccdi_yes_no_flag_dict.sql`
|
||||
提供“是/否标记”字典初始化脚本,供新环境或独立初始化使用。
|
||||
|
||||
**测试**
|
||||
|
||||
- `ccdi-info-collection/src/test/java/com/ruoyi/info/collection/service/CcdiBaseStaffServiceImplTest.java`
|
||||
验证服务层新增/修改/详情查询会透传 `partyMember`。
|
||||
- `ccdi-info-collection/src/test/java/com/ruoyi/info/collection/service/CcdiBaseStaffImportServiceImplTest.java`
|
||||
验证导入场景仅允许 `0/1`。
|
||||
- `ccdi-info-collection/src/test/java/com/ruoyi/info/collection/mapper/CcdiBaseStaffMapperTest.java`
|
||||
验证 Mapper XML 已包含 `is_party_member` 与 `#{item.partyMember}`。
|
||||
- `ccdi-info-collection/src/test/java/com/ruoyi/info/collection/utils/EasyExcelUtilTemplateTest.java`
|
||||
验证员工模板已补“是否党员”下拉列。
|
||||
|
||||
## 实施步骤
|
||||
|
||||
- [ ] 在 `ccdi_base_staff` 表增加 `is_party_member`,默认值为 `0`,避免历史数据为空。
|
||||
- [ ] 在员工基础信息实体、DTO、VO、Excel 对象中补齐 `partyMember`。
|
||||
- [ ] 在 `CcdiBaseStaffMapper.xml` 的列表、批量新增、批量更新 SQL 中补 `is_party_member`。
|
||||
- [ ] 在 `CcdiBaseStaffServiceImpl` 与 `CcdiBaseStaffImportServiceImpl` 中增加 `0/1` 值域校验。
|
||||
- [ ] 新增 `ccdi_yes_no_flag` 字典脚本,保证导入模板下拉可用。
|
||||
- [ ] 补充并执行后端定向测试;若执行受现有依赖问题阻塞,需要在记录中明确注明阻塞原因。
|
||||
|
||||
## 验证记录
|
||||
|
||||
- 已尝试执行:
|
||||
|
||||
```bash
|
||||
mvn -pl ccdi-info-collection -Dtest=CcdiBaseStaffServiceImplTest,CcdiBaseStaffImportServiceImplTest,CcdiBaseStaffMapperTest,EasyExcelUtilTemplateTest test
|
||||
mvn -pl ccdi-info-collection -DskipTests compile
|
||||
```
|
||||
|
||||
- 当前结果:
|
||||
- `test` 在进入本次新增断言前,被模块内既有测试编译问题拦截,表现为缺少 `org.springframework.data.redis.core.*` 类型。
|
||||
- `compile` 被模块当前既有依赖缺失拦截,表现为缺少 `com.ruoyi.common.annotation.*`、`org.springframework.data.redis.core.*`、`IdCardUtil` 等类型。
|
||||
- 上述阻塞不是本次“是否党员”字段新增引入的新问题,但会影响自动化验证结论,需要后续先修复模块依赖基线。
|
||||
|
||||
## 完成标准
|
||||
|
||||
- 员工基础信息接口可读写 `partyMember`
|
||||
- 员工列表、详情、导入导出链路都包含 `partyMember`
|
||||
- 数据库字段与字典 SQL 已补齐
|
||||
- 后端测试契约已同步更新
|
||||
- 已明确记录当前自动化验证阻塞点
|
||||
@@ -0,0 +1,22 @@
|
||||
# 员工信息仅展示本人资产后端实施计划
|
||||
|
||||
## 变更目标
|
||||
|
||||
- 员工详情接口返回的 `assetInfoList` 仅包含员工本人资产
|
||||
- 员工信息页不再通过详情接口混入亲属资产数据
|
||||
|
||||
## 变更范围
|
||||
|
||||
- `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/service/impl/CcdiBaseStaffServiceImpl.java`
|
||||
- `ccdi-info-collection/src/test/java/com/ruoyi/info/collection/service/CcdiBaseStaffServiceImplTest.java`
|
||||
|
||||
## 实施步骤
|
||||
|
||||
1. 将员工详情聚合资产的查询口径从 `family_id = 员工身份证号` 调整为 `family_id = 员工身份证号 and person_id = 员工身份证号`
|
||||
2. 保持员工新增、编辑时的 `replaceByFamilyId` 逻辑不变,继续由后端写入本人资产
|
||||
3. 调整单元测试,验证员工详情仅返回本人资产
|
||||
|
||||
## 验证要点
|
||||
|
||||
- 查询员工详情时,`assetInfoList` 不再返回亲属资产
|
||||
- 现有员工新增、编辑、删除链路不受影响
|
||||
@@ -0,0 +1,23 @@
|
||||
# 修复员工资产信息表注释乱码后端实施计划
|
||||
|
||||
## 变更目标
|
||||
|
||||
- 修复 `ccdi_asset_info` 表中 `family_id`、`person_id` 列注释乱码问题
|
||||
- 保持表结构、字段类型和业务数据不变,仅修正元数据注释
|
||||
|
||||
## 变更范围
|
||||
|
||||
- `sql/migration/2026-04-17-fix-ccdi-asset-info-comment-encoding.sql`
|
||||
|
||||
## 实施步骤
|
||||
|
||||
1. 查询 `information_schema.COLUMNS`,确认 `ccdi_asset_info` 列注释实际存在乱码
|
||||
2. 新增增量 SQL,使用 `ALTER TABLE ... MODIFY COLUMN ... COMMENT` 修复 `family_id`、`person_id` 注释
|
||||
3. 通过 `bin/mysql_utf8_exec.sh` 以 `utf8mb4` 会话执行脚本
|
||||
4. 再次查询 `information_schema.COLUMNS` 验证注释已恢复为中文
|
||||
|
||||
## 验证要点
|
||||
|
||||
- `family_id` 注释显示为“归属员工证件号”
|
||||
- `person_id` 注释显示为“资产实际持有人证件号”
|
||||
- 字段类型仍为 `VARCHAR(100) NOT NULL`
|
||||
@@ -0,0 +1,33 @@
|
||||
# 员工信息页资产提示文案移除前端实施计划
|
||||
|
||||
> **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:** 本次仅调整员工信息维护页模板展示,不改动资产表单字段、默认值、提交参数或后端接口。实现上直接删除备注 DOM 和对应样式,保持页面其余交互不变。
|
||||
|
||||
**Tech Stack:** Vue 2, Element UI, JavaScript, Markdown
|
||||
|
||||
---
|
||||
|
||||
## 文件结构与职责
|
||||
|
||||
- `ruoyi-ui/src/views/ccdiBaseStaff/index.vue`
|
||||
删除资产信息区域的备注文案和无用样式。
|
||||
|
||||
## 实施步骤
|
||||
|
||||
- [ ] 删除资产信息区备注展示块
|
||||
- [ ] 删除 `assets-helper` 对应样式,避免残留无用 CSS
|
||||
- [ ] 运行前端构建确认页面模板调整未引入语法错误
|
||||
|
||||
## 验证
|
||||
|
||||
```bash
|
||||
source ~/.nvm/nvm.sh && nvm use 14.21.3 >/dev/null && npm run build:prod
|
||||
```
|
||||
|
||||
## 完成标准
|
||||
|
||||
- 员工信息页不再展示上述两条资产备注
|
||||
- 资产新增、编辑、提交逻辑保持不变
|
||||
@@ -0,0 +1,53 @@
|
||||
# 员工基础信息新增是否党员字段前端实施计划
|
||||
|
||||
> **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:** 保持 `ruoyi-ui/src/views/ccdiBaseStaff/index.vue` 的现有页面结构不变,仅在已有“基本信息”区域与员工列表中插入一个新字段。字段值与后端保持一致,前端统一使用 `0/1` 数值口径,并通过页面内格式化方法展示为“是/否”。
|
||||
|
||||
**Tech Stack:** Vue 2, Element UI, JavaScript, npm, nvm, Markdown
|
||||
|
||||
---
|
||||
|
||||
## 文件结构与职责
|
||||
|
||||
**前端源码**
|
||||
|
||||
- `ruoyi-ui/src/views/ccdiBaseStaff/index.vue`
|
||||
新增列表列、编辑表单、详情弹窗、失败记录弹窗和格式化方法。
|
||||
|
||||
**依赖接口**
|
||||
|
||||
- `ruoyi-ui/src/api/ccdiBaseStaff.js`
|
||||
本次接口路径不变,继续复用现有新增/编辑/详情 API,只承接新增字段。
|
||||
|
||||
## 实施步骤
|
||||
|
||||
- [ ] 在员工列表中增加“是否党员”列,统一显示“是/否”。
|
||||
- [ ] 在新增/编辑弹窗的基本信息区域增加“是否党员”单选项,默认值设为“否”。
|
||||
- [ ] 在详情弹窗中增加“是否党员”展示,保证历史员工查看时能回显。
|
||||
- [ ] 在导入失败记录弹窗中增加“是否党员”列,便于排查模板数据问题。
|
||||
- [ ] 在页面 methods 中新增 `formatPartyMember`,统一处理 `0/1/null` 的展示。
|
||||
- [ ] 使用 `nvm` 选择当前机器可用的 Node 版本后执行前端构建验证。
|
||||
|
||||
## 验证记录
|
||||
|
||||
- 已尝试执行:
|
||||
|
||||
```bash
|
||||
source ~/.nvm/nvm.sh && nvm use
|
||||
source ~/.nvm/nvm.sh && nvm use 14.21.3 && npm run build:prod
|
||||
```
|
||||
|
||||
- 当前结果:
|
||||
- 仓库内未提供 `.nvmrc`,直接执行 `nvm use` 无法自动切到项目版本。
|
||||
- 当前机器存在 `v14.21.3`、`v25.9.0` 与 `system(v24.14.0)`,后续前端验证建议优先使用 `v14.21.3`。
|
||||
- 已使用 `v14.21.3` 成功执行 `npm run build:prod`,构建通过,仅保留项目原有的包体积告警。
|
||||
|
||||
## 完成标准
|
||||
|
||||
- 员工列表、详情、编辑弹窗可见“是否党员”
|
||||
- 提交新增/编辑时会带上 `partyMember`
|
||||
- 导入失败记录能展示该字段
|
||||
- 已明确前端构建使用 `nvm` 的版本前提与当前环境限制
|
||||
@@ -0,0 +1,24 @@
|
||||
# 员工信息仅展示本人资产前端实施计划
|
||||
|
||||
## 变更目标
|
||||
|
||||
- 员工信息页资产区域统一按“本人资产”口径展示
|
||||
- 详情弹窗移除“资产实际持有人身份证号”和“归属类型”
|
||||
- 员工资产编辑表单不再保留亲属资产相关提示与校验
|
||||
|
||||
## 变更范围
|
||||
|
||||
- `ruoyi-ui/src/views/ccdiBaseStaff/index.vue`
|
||||
|
||||
## 实施步骤
|
||||
|
||||
1. 更新资产信息区提示文案,明确员工信息页仅维护员工本人资产
|
||||
2. 删除详情弹窗中的“资产实际持有人身份证号”“归属类型”列
|
||||
3. 清理表单中 `personId` 的必填与格式校验,新增资产时默认带入当前员工身份证号
|
||||
4. 更新员工资产导入弹窗提示文案,明确仅允许导入员工本人资产
|
||||
|
||||
## 验证要点
|
||||
|
||||
- 员工详情弹窗仅显示本人资产字段
|
||||
- 新增、编辑员工资产时不再出现亲属资产口径提示
|
||||
- 员工身份证号变更后,表单内资产仍跟随当前员工身份证号
|
||||
Reference in New Issue
Block a user