变更项目缩写
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
|
||||
**约束条件:**
|
||||
- 必须遵循若依框架的代码规范
|
||||
- 必须使用项目已定义的命名规范(模块前缀 `dpc_`)
|
||||
- 必须使用项目已定义的命名规范(模块前缀 `ccdi_`)
|
||||
- 必须支持 Excel 导入导出功能
|
||||
- 亲属信息需要与员工信息关联管理
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
1. 提供完整的员工信息 CRUD 接口
|
||||
2. 支持员工亲属信息的关联管理(一对多关系)
|
||||
3. 支持 Excel 批量导入导出,导入时可同时导入亲属信息
|
||||
4. 遵循现有代码模式(参考 `dpc_intermediary_blacklist` 模块)
|
||||
4. 遵循现有代码模式(参考 `ccdi_intermediary_blacklist` 模块)
|
||||
|
||||
### Non-Goals
|
||||
- 不涉及前端页面的实现(本次仅实现后端接口)
|
||||
@@ -34,7 +34,7 @@
|
||||
**决策:使用两张表存储员工和亲属信息**
|
||||
|
||||
```
|
||||
dpc_employee (员工主表)
|
||||
ccdi_employee (员工主表)
|
||||
├── employee_id (主键)
|
||||
├── name (姓名)
|
||||
├── teller_no (柜员号, UNIQUE)
|
||||
@@ -45,9 +45,9 @@ dpc_employee (员工主表)
|
||||
├── status (状态: 0=在职, 1=离职)
|
||||
└── 审计字段 (create_by, create_time, update_by, update_time)
|
||||
|
||||
dpc_employee_relative (员工亲属表)
|
||||
ccdi_employee_relative (员工亲属表)
|
||||
├── relative_id (主键)
|
||||
├── employee_id (外键 → dpc_employee.employee_id)
|
||||
├── employee_id (外键 → ccdi_employee.employee_id)
|
||||
├── relative_name (亲属姓名)
|
||||
├── relative_id_card (亲属身份证号)
|
||||
├── relative_phone (亲属手机号)
|
||||
@@ -126,10 +126,10 @@ Sheet2: 亲属信息 (可选)
|
||||
**决策:使用字典管理"与员工关系"字段和"员工状态"字段**
|
||||
|
||||
```
|
||||
字典类型: dpc_relative_relationship
|
||||
字典类型: ccdi_relative_relationship
|
||||
字典数据: 配偶、父亲、母亲、子女、兄弟姐妹、其他
|
||||
|
||||
字典类型: dpc_employee_status
|
||||
字典类型: ccdi_employee_status
|
||||
字典数据: 在职(0)、离职(1)
|
||||
```
|
||||
|
||||
@@ -156,14 +156,14 @@ UNIQUE KEY `uk_id_card` (`id_card`)
|
||||
|
||||
**决策:遵循项目规范**
|
||||
|
||||
- 表名: `dpc_employee`, `dpc_employee_relative`
|
||||
- 实体类: `DpcEmployee`, `DpcEmployeeRelative`
|
||||
- Controller: `DpcEmployeeController`
|
||||
- 表名: `ccdi_employee`, `ccdi_employee_relative`
|
||||
- 实体类: `CcdiEmployee`, `CcdiEmployeeRelative`
|
||||
- Controller: `CcdiEmployeeController`
|
||||
- 权限标识: `dpc:employee:*`
|
||||
- **所有实体类、DTO、VO 类统一使用 @Data 注解**
|
||||
|
||||
**理由:**
|
||||
- 与现有 `dpc_intermediary_blacklist` 模块保持一致
|
||||
- 与现有 `ccdi_intermediary_blacklist` 模块保持一致
|
||||
- 符合项目编码规范
|
||||
- @Data 注解自动生成 getter/setter,代码简洁
|
||||
|
||||
@@ -186,8 +186,8 @@ UNIQUE KEY `uk_id_card` (`id_card`)
|
||||
```java
|
||||
// 简单查询 - 使用 MyBatis Plus
|
||||
employeeMapper.selectById(id);
|
||||
employeeMapper.selectList(new LambdaQueryWrapper<DpcEmployee>()
|
||||
.eq(DpcEmployee::getTellerNo, tellerNo));
|
||||
employeeMapper.selectList(new LambdaQueryWrapper<CcdiEmployee>()
|
||||
.eq(CcdiEmployee::getTellerNo, tellerNo));
|
||||
|
||||
// 复杂查询 - 使用 XML
|
||||
EmployeeWithRelativesVO selectEmployeeWithRelatives(Long id);
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
- 员工亲属管理:支持在员工信息中维护亲属关系
|
||||
|
||||
### 数据模型
|
||||
**员工主表 (dpc_employee)**
|
||||
**员工主表 (ccdi_employee)**
|
||||
- 员工ID (主键)
|
||||
- 姓名
|
||||
- 柜员号 (唯一约束)
|
||||
@@ -28,7 +28,7 @@
|
||||
- 状态 (0=在职, 1=离职)
|
||||
- 审计字段(创建者、创建时间、更新者、更新时间)
|
||||
|
||||
**员工亲属表 (dpc_employee_relative)**
|
||||
**员工亲属表 (ccdi_employee_relative)**
|
||||
- 亲属ID (主键)
|
||||
- 员工ID (外键)
|
||||
- 亲属姓名
|
||||
@@ -54,11 +54,11 @@
|
||||
|
||||
### 影响的代码 (Affected Code)
|
||||
- **新增模块**: `ruoyi-dpc` (DPC业务模块)
|
||||
- `com.ruoyi.dpc.domain.DpcEmployee` - 员工实体(使用 @Data 注解)
|
||||
- `com.ruoyi.dpc.domain.DpcEmployeeRelative` - 亲属实体(使用 @Data 注解)
|
||||
- `com.ruoyi.dpc.domain.CcdiEmployee` - 员工实体(使用 @Data 注解)
|
||||
- `com.ruoyi.dpc.domain.CcdiEmployeeRelative` - 亲属实体(使用 @Data 注解)
|
||||
- `com.ruoyi.dpc.domain.dto.*` - DTO类(统一使用 @Data 注解)
|
||||
- `com.ruoyi.dpc.domain.vo.*` - VO类(统一使用 @Data 注解)
|
||||
- `com.ruoyi.dpc.controller.DpcEmployeeController` - 控制器
|
||||
- `com.ruoyi.dpc.controller.CcdiEmployeeController` - 控制器
|
||||
- `com.ruoyi.dpc.service.*` - 服务层
|
||||
- `com.ruoyi.dpc.mapper.*` - 数据访问层(继承 MyBatis Plus BaseMapper)
|
||||
- **技术实现**:
|
||||
@@ -66,8 +66,8 @@
|
||||
- 复杂查询(如多表关联)使用 XML 映射文件
|
||||
|
||||
- **数据库**: 新增表
|
||||
- `dpc_employee` - 员工信息表
|
||||
- `dpc_employee_relative` - 员工亲属表
|
||||
- `ccdi_employee` - 员工信息表
|
||||
- `ccdi_employee_relative` - 员工亲属表
|
||||
- `sys_dict_type` - 字典类型表(员工状态、亲属关系)
|
||||
|
||||
- **菜单系统**: (将在前端开发阶段处理)
|
||||
|
||||
@@ -1,40 +1,40 @@
|
||||
## 1. 数据库设计与实现
|
||||
|
||||
- [x] 1.1 创建 `dpc_employee` 员工信息表,包含字段:employee_id, name, teller_no, org_no, id_card, phone, hire_date, status, create_by, create_time, update_by, update_time
|
||||
- [x] 1.2 为 `dpc_employee` 表创建唯一约束:uk_teller_no (柜员号唯一), uk_id_card (身份证号唯一)
|
||||
- [x] 1.3 为 `dpc_employee` 表创建索引:idx_org_no, idx_status
|
||||
- [x] 1.4 创建 `dpc_employee_relative` 员工亲属表,包含字段:relative_id, employee_id, relative_name, relative_id_card, relative_phone, relationship, create_by, create_time, update_by, update_time
|
||||
- [x] 1.5 为 `dpc_employee_relative` 表创建索引:idx_employee_id, idx_relative_id_card
|
||||
- [x] 1.6 添加外键约束:dpc_employee_relative.employee_id → dpc_employee.employee_id(可选,根据项目规范决定)
|
||||
- [x] 1.7 创建 `dpc_relative_relationship` 字典类型及字典数据(配偶、父亲、母亲、子女、兄弟姐妹、其他)
|
||||
- [x] 1.8 创建 `dpc_employee_status` 字典类型及字典数据(在职=0、离职=1)
|
||||
- [x] 1.1 创建 `ccdi_employee` 员工信息表,包含字段:employee_id, name, teller_no, org_no, id_card, phone, hire_date, status, create_by, create_time, update_by, update_time
|
||||
- [x] 1.2 为 `ccdi_employee` 表创建唯一约束:uk_teller_no (柜员号唯一), uk_id_card (身份证号唯一)
|
||||
- [x] 1.3 为 `ccdi_employee` 表创建索引:idx_org_no, idx_status
|
||||
- [x] 1.4 创建 `ccdi_employee_relative` 员工亲属表,包含字段:relative_id, employee_id, relative_name, relative_id_card, relative_phone, relationship, create_by, create_time, update_by, update_time
|
||||
- [x] 1.5 为 `ccdi_employee_relative` 表创建索引:idx_employee_id, idx_relative_id_card
|
||||
- [x] 1.6 添加外键约束:ccdi_employee_relative.employee_id → ccdi_employee.employee_id(可选,根据项目规范决定)
|
||||
- [x] 1.7 创建 `ccdi_relative_relationship` 字典类型及字典数据(配偶、父亲、母亲、子女、兄弟姐妹、其他)
|
||||
- [x] 1.8 创建 `ccdi_employee_status` 字典类型及字典数据(在职=0、离职=1)
|
||||
|
||||
## 2. 后端实体类创建
|
||||
|
||||
- [x] 2.1 创建 `DpcEmployee.java` 实体类,使用 @Data 注解,包含 @Excel 注解用于导入导出
|
||||
- [x] 2.2 创建 `DpcEmployeeRelative.java` 实体类,使用 @Data 注解
|
||||
- [x] 2.3 创建 `DpcEmployeeAddDTO.java` 新增 DTO,使用 @Data 注解,包含 @Validated 校验注解
|
||||
- [x] 2.4 创建 `DpcEmployeeEditDTO.java` 编辑 DTO,使用 @Data 注解,包含 @Validated 校验注解
|
||||
- [x] 2.5 创建 `DpcEmployeeQueryDTO.java` 查询 DTO,使用 @Data 注解
|
||||
- [x] 2.6 创建 `DpcEmployeeVO.java` 视图对象,使用 @Data 注解,包含亲属列表
|
||||
- [x] 2.7 创建 `DpcEmployeeRelativeVO.java` 亲属视图对象,使用 @Data 注解
|
||||
- [x] 2.8 创建 `DpcEmployeeRelativeAddDTO.java` 亲属新增 DTO,使用 @Data 注解
|
||||
- [x] 2.1 创建 `CcdiEmployee.java` 实体类,使用 @Data 注解,包含 @Excel 注解用于导入导出
|
||||
- [x] 2.2 创建 `CcdiEmployeeRelative.java` 实体类,使用 @Data 注解
|
||||
- [x] 2.3 创建 `CcdiEmployeeAddDTO.java` 新增 DTO,使用 @Data 注解,包含 @Validated 校验注解
|
||||
- [x] 2.4 创建 `CcdiEmployeeEditDTO.java` 编辑 DTO,使用 @Data 注解,包含 @Validated 校验注解
|
||||
- [x] 2.5 创建 `CcdiEmployeeQueryDTO.java` 查询 DTO,使用 @Data 注解
|
||||
- [x] 2.6 创建 `CcdiEmployeeVO.java` 视图对象,使用 @Data 注解,包含亲属列表
|
||||
- [x] 2.7 创建 `CcdiEmployeeRelativeVO.java` 亲属视图对象,使用 @Data 注解
|
||||
- [x] 2.8 创建 `CcdiEmployeeRelativeAddDTO.java` 亲属新增 DTO,使用 @Data 注解
|
||||
|
||||
## 3. Mapper 层实现
|
||||
|
||||
- [x] 3.1 创建 `DpcEmployeeMapper.java` 接口,继承 `BaseMapper<DpcEmployee>`
|
||||
- [x] 3.2 创建 `DpcEmployeeMapper.xml` MyBatis 映射文件,仅实现复杂查询(如:员工详情包含亲属列表)
|
||||
- [x] 3.1 创建 `CcdiEmployeeMapper.java` 接口,继承 `BaseMapper<CcdiEmployee>`
|
||||
- [x] 3.2 创建 `CcdiEmployeeMapper.xml` MyBatis 映射文件,仅实现复杂查询(如:员工详情包含亲属列表)
|
||||
- [x] 3.3 在 XML 中实现 `selectEmployeeWithRelatives` 方法,关联查询员工及其亲属信息
|
||||
- [x] 3.4 创建 `DpcEmployeeRelativeMapper.java` 接口,继承 `BaseMapper<DpcEmployeeRelative>`
|
||||
- [x] 3.5 创建 `DpcEmployeeRelativeMapper.xml` MyBatis 映射文件(如需复杂查询)
|
||||
- [x] 3.4 创建 `CcdiEmployeeRelativeMapper.java` 接口,继承 `BaseMapper<CcdiEmployeeRelative>`
|
||||
- [x] 3.5 创建 `CcdiEmployeeRelativeMapper.xml` MyBatis 映射文件(如需复杂查询)
|
||||
- [x] 3.6 简单 CRUD 操作使用 MyBatis Plus 提供的 BaseMapper 方法(insert, deleteById, deleteByIds, updateById, selectById, selectList)
|
||||
- [x] 3.7 简单条件查询使用 LambdaQueryWrapper 或 QueryWrapper(如:按柜员号、身份证号查询)
|
||||
- [x] 3.8 复杂多条件查询在 XML 中编写自定义 SQL
|
||||
|
||||
## 4. Service 层实现
|
||||
|
||||
- [x] 4.1 创建 `IDpcEmployeeService.java` 接口
|
||||
- [x] 4.2 创建 `DpcEmployeeServiceImpl.java` 实现类
|
||||
- [x] 4.1 创建 `ICcdiEmployeeService.java` 接口
|
||||
- [x] 4.2 创建 `CcdiEmployeeServiceImpl.java` 实现类
|
||||
- [x] 4.3 实现查询员工列表方法 `selectEmployeeList`,支持分页和多条件查询
|
||||
- [x] 4.4 实现查询员工详情方法 `selectEmployeeById`,包含亲属信息
|
||||
- [x] 4.5 实现新增员工方法 `insertEmployee`,支持同时插入亲属信息
|
||||
@@ -48,7 +48,7 @@
|
||||
|
||||
## 5. Controller 层实现
|
||||
|
||||
- [x] 5.1 创建 `DpcEmployeeController.java` 控制器类
|
||||
- [x] 5.1 创建 `CcdiEmployeeController.java` 控制器类
|
||||
- [x] 5.2 实现 `GET /dpc/employee/list` 查询列表接口,添加 @PreAuthorize 权限注解
|
||||
- [x] 5.3 实现 `GET /dpc/employee/{id}` 查询详情接口
|
||||
- [x] 5.4 实现 `POST /dpc/employee` 新增接口
|
||||
@@ -61,8 +61,8 @@
|
||||
|
||||
## 6. 导入导出功能实现
|
||||
|
||||
- [x] 6.1 配置 `DpcEmployee` 实体的 @Excel 注解,定义导出列
|
||||
- [x] 6.2 配置 `DpcEmployeeRelative` 实体的 @Excel 注解(用于多 Sheet 导入)
|
||||
- [x] 6.1 配置 `CcdiEmployee` 实体的 @Excel 注解,定义导出列
|
||||
- [x] 6.2 配置 `CcdiEmployeeRelative` 实体的 @Excel 注解(用于多 Sheet 导入)
|
||||
- [x] 6.3 实现导入模板的 Excel 格式定义
|
||||
- [x] 6.4 实现 Excel 解析逻辑,支持多 Sheet 读取
|
||||
- [x] 6.5 实现员工和亲属数据的关联逻辑(通过身份证号)
|
||||
|
||||
Reference in New Issue
Block a user