feat: 员工信息必填项优化 - 柜员号、所属部门、电话设为必填

## 后端修改
- AddDTO: deptId和phone添加@NotNull/@NotBlank注解
- EditDTO: deptId和phone添加@NotNull/@NotBlank注解
- Service: 导入验证添加deptId和phone必填校验

## 前端修改
- 表单校验规则: deptId和phone添加required校验
- 自动显示必填标记(红色星号)

## API文档更新
- 新增接口字段说明: deptId和phone标记为必填
- 导入模板: 标注必填项(*标记)
- 业务错误信息: 添加部门和电话相关错误提示

## 必填字段清单
1. employeeId(柜员号) - 7位数字
2. name(姓名)
3. deptId(所属部门)
4. idCard(身份证号)
5. phone(电话) - 11位手机号
6. status(状态)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
wkc
2026-02-05 14:26:40 +08:00
parent da663fb635
commit 07dea1bf0c
7 changed files with 46 additions and 6 deletions

View File

@@ -36,6 +36,7 @@ public class CcdiEmployeeAddDTO implements Serializable {
private Long employeeId;
/** 所属部门ID */
@NotNull(message = "所属部门不能为空")
private Long deptId;
/** 身份证号 */
@@ -44,6 +45,7 @@ public class CcdiEmployeeAddDTO implements Serializable {
private String idCard;
/** 电话 */
@NotBlank(message = "电话不能为空")
@Pattern(regexp = "^1[3-9]\\d{9}$", message = "电话格式不正确")
private String phone;

View File

@@ -1,5 +1,6 @@
package com.ruoyi.ccdi.domain.dto;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Pattern;
import jakarta.validation.constraints.Size;
@@ -30,13 +31,16 @@ public class CcdiEmployeeEditDTO implements Serializable {
private String name;
/** 所属部门ID */
@NotNull(message = "所属部门不能为空")
private Long deptId;
/** 身份证号 */
@NotBlank(message = "身份证号不能为空")
@Pattern(regexp = "^[1-9]\\d{5}(18|19|20)\\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\\d|3[01])\\d{3}[0-9Xx]$", message = "身份证号格式不正确")
private String idCard;
/** 电话 */
@NotBlank(message = "电话不能为空")
@Pattern(regexp = "^1[3-9]\\d{9}$", message = "电话格式不正确")
private String phone;

View File

@@ -241,9 +241,15 @@ public class CcdiEmployeeServiceImpl implements ICcdiEmployeeService {
if (addDTO.getEmployeeId() == null) {
throw new RuntimeException("柜员号不能为空");
}
if (addDTO.getDeptId() == null) {
throw new RuntimeException("所属部门不能为空");
}
if (StringUtils.isEmpty(addDTO.getIdCard())) {
throw new RuntimeException("身份证号不能为空");
}
if (StringUtils.isEmpty(addDTO.getPhone())) {
throw new RuntimeException("电话不能为空");
}
if (StringUtils.isEmpty(addDTO.getStatus())) {
throw new RuntimeException("状态不能为空");
}