feat: 员工柜员号优化 - 移除tellerNo,employeeId作为7位数字柜员号

## 数据库修改
- 删除teller_no字段
- employee_id改为非自增,手动输入7位数字
- 更新字段注释

## 后端修改
- Entity: 移除tellerNo,employeeId改为INPUT类型
- DTO: Add/Edit/Query/Excel全部使用employeeId
- VO: 移除tellerNo字段
- Service: 添加柜员号唯一性校验(使用selectById)
- Mapper XML: 移除teller_no查询和映射

## 前端修改
- 查询表单: tellerNo改为employeeId,添加7位数字限制
- 表格列: 显示employeeId作为柜员号
- 对话框: 新增可输入,编辑只读
- JavaScript: 数据结构和校验规则更新

## 文档更新
- API文档: 完整更新所有接口说明
- 实施报告: 生成详细实施报告

## 测试
- 生成测试脚本(9个测试用例)
- 测试账号: admin/admin123

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
wkc
2026-02-05 14:18:28 +08:00
parent 9c84af78f2
commit da663fb635
12 changed files with 375 additions and 333 deletions

View File

@@ -18,21 +18,9 @@
<result property="createTime" column="create_time"/>
</resultMap>
<!-- 员工详情ResultMap包含亲属信息 -->
<resultMap type="com.ruoyi.ccdi.domain.vo.CcdiEmployeeVO" id="CcdiEmployeeWithRelativesResult" extends="CcdiEmployeeVOResult">
<collection property="relatives" ofType="CcdiEmployeeRelativeVO" notNullColumn="relative_id">
<id property="relativeId" column="relative_id"/>
<result property="employeeId" column="employee_id"/>
<result property="relativeName" column="relative_name"/>
<result property="relativeIdCard" column="relative_id_card"/>
<result property="relativePhone" column="relative_phone"/>
<result property="relationship" column="relationship"/>
</collection>
</resultMap>
<select id="selectEmployeePageWithDept" resultMap="CcdiEmployeeVOResult">
SELECT
e.employee_id, e.name, e.teller_no, e.dept_id, e.id_card, e.phone, e.hire_date, e.status, e.create_time,
e.employee_id, e.name, e.dept_id, e.id_card, e.phone, e.hire_date, e.status, e.create_time,
d.dept_name
FROM ccdi_employee e
LEFT JOIN sys_dept d ON e.dept_id = d.dept_id
@@ -40,8 +28,8 @@
<if test="query.name != null and query.name != ''">
AND e.name LIKE CONCAT('%', #{query.name}, '%')
</if>
<if test="query.tellerNo != null and query.tellerNo != ''">
AND e.teller_no = #{query.tellerNo}
<if test="query.employeeId != null">
AND e.employee_id = #{query.employeeId}
</if>
<if test="query.deptId != null">
AND e.dept_id = #{query.deptId}
@@ -56,15 +44,4 @@
ORDER BY e.create_time DESC
</select>
<select id="selectEmployeeWithRelatives" parameterType="Long" resultMap="CcdiEmployeeWithRelativesResult">
SELECT
e.employee_id, e.name, e.teller_no, e.dept_id, e.id_card, e.phone, e.hire_date, e.status, e.create_time,
d.dept_name,
r.relative_id, r.employee_id, r.relative_name, r.relative_id_card, r.relative_phone, r.relationship
FROM ccdi_employee e
LEFT JOIN sys_dept d ON e.dept_id = d.dept_id
LEFT JOIN ccdi_employee_relative r ON e.employee_id = r.employee_id
WHERE e.employee_id = #{employeeId}
</select>
</mapper>