|
|
112463fcd3
|
feat信贷客户家庭关系 身份证模糊搜索
|
2026-02-12 09:45:16 +08:00 |
|
|
|
a46ffdb7db
|
Merge branch 'feat/staff-relation-import-person-id-validation' into dev_1
|
2026-02-12 09:29:01 +08:00 |
|
|
|
1595605817
|
feat信贷客户家庭关系
|
2026-02-12 09:27:04 +08:00 |
|
|
|
12e384ab19
|
feat: 添加信贷客户家庭关系表单前端校验
**必填字段校验:**
- 信贷客户身份证号(必填+18位格式校验)
- 关系类型(必填)
- 关系人姓名(必填+长度2-50+字符格式)
- 性别(必填)
- 关系人证件类型(必填)
- 关系人证件号码(必填+动态格式校验)
**格式校验:**
- 身份证号:18位国家标准格式+校验位验证
- 护照:字母开头6-20位字符
- 手机号码:11位1开头格式验证
- 姓名:仅支持中英文和·符号
**业务逻辑校验:**
- 出生日期:不能晚于当前日期,不能早于150年前
- 生效/失效日期:失效日期不能早于生效日期
**长度限制:**
- 微信名称1/2/3:最多50字符
- 详细联系地址:最多200字符
- 关系详细描述:最多500字符
|
2026-02-11 17:09:36 +08:00 |
|
|
|
29b541730b
|
docs: 更新导入API文档,添加身份证号验证说明
- 更新员工调动记录导入API文档,添加导入验证规则说明
- 新增员工实体关系导入API文档
- 新增员工亲属关系导入API文档
- 说明新增的身份证号存在性校验功能
- 记录性能优化(批量预验证、1次遍历)
|
2026-02-11 17:06:36 +08:00 |
|
|
|
45e4096366
|
feat: 执行信贷客户家庭关系菜单权限SQL
- 插入主菜单(信息维护下第5位)
- 插入6个按钮权限(查询/新增/修改/删除/导出/导入)
- 菜单ID: 2068
- 权限前缀: ccdi:custFmyRelation
|
2026-02-11 16:59:42 +08:00 |
|
|
|
2037ee81f1
|
feat: 优化信贷客户家庭关系页面与员工亲属关系保持一致
- 添加状态筛选条件
- 添加详情查看功能
- 添加表单状态编辑功能
- 添加查看导入失败记录按钮
- 统一按钮顺序和颜色(新增/导入/导出/查看失败记录)
- 统一表单布局(分隔线、gutter、宽度800px)
- 优化导入失败记录功能(分页、清除历史记录)
- 统一操作按钮文字(详情/编辑/删除)
- 添加创建时间格式化显示
- 添加完整导入状态管理和轮询机制
|
2026-02-11 16:44:28 +08:00 |
|
|
|
ecb421482d
|
feat: 添加信贷客户家庭关系页面组件
|
2026-02-11 16:19:46 +08:00 |
|
|
|
89a3434177
|
feat: 添加信贷客户家庭关系API接口
|
2026-02-11 16:17:05 +08:00 |
|
|
|
611c676fbe
|
Merge branch 'feat/cust-fmy-relation-backend' into dev_1
|
2026-02-11 16:04:22 +08:00 |
|
|
|
7b1ddeae8a
|
feat: 添加信贷客户家庭关系菜单权限和Controller
|
2026-02-11 15:52:48 +08:00 |
|
|
|
38ef48f656
|
feat: 添加信贷客户家庭关系Service实现类和Controller
|
2026-02-11 15:51:59 +08:00 |
|
|
|
aaa6256735
|
fix: 员工ID验证错误信息添加行号
|
2026-02-11 15:48:30 +08:00 |
|
|
|
6ae545a06b
|
Merge branch 'feat/staff-enterprise-relation-person-name' into dev_1
|
2026-02-11 15:47:24 +08:00 |
|
|
|
74f3c04146
|
feat: 添加信贷客户家庭关系Mapper、Service接口
|
2026-02-11 15:45:05 +08:00 |
|
|
|
5992502f2f
|
feat: 添加信贷客户家庭关系VO类
|
2026-02-11 15:41:50 +08:00 |
|
|
|
b314c75574
|
fix: 为员工调动导入的数据库重复错误信息添加行号
在员工调动导入功能中,当检测到数据库中已存在相同的调动记录时,
错误信息现在会包含行号,便于用户快速定位问题数据。
修改文件:
- CcdiStaffTransferImportServiceImpl.java
修改内容:
- 将 "该员工在%s的调动记录已存在"
- 改为 "第%d行: 该员工在%s的调动记录已存在"
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2026-02-11 15:40:35 +08:00 |
|
|
|
ddec208f0d
|
feat: 添加信贷客户家庭关系DTO类
|
2026-02-11 15:39:50 +08:00 |
|
|
|
a061b8e64d
|
review(staff-enterprise-relation): 最终代码审查报告
- 完成Task 16自我代码审查
- 检查VO类、Mapper XML、前端代码
- 验证测试覆盖和文档完整性
- 综合评分: 93/100 (优秀)
- 审查结论: 代码质量优秀,符合上线标准
- 准备进入Task 17提交和合并
|
2026-02-11 15:36:24 +08:00 |
|
|
|
b8e13ce4ef
|
docs(staff-enterprise-relation): 添加Task 14和Task 15完成记录到实施笔记
|
2026-02-11 15:32:23 +08:00 |
|
|
|
9e3609b8ad
|
refactor: 优化员工调动导入验证逻辑,从2次遍历优化为1次遍历
|
2026-02-11 15:31:31 +08:00 |
|
|
|
93f5be29ce
|
docs(staff-enterprise-relation): 更新数据库设计文档,添加关联查询说明
|
2026-02-11 15:30:18 +08:00 |
|
|
|
b3e0f97f71
|
feat: 添加信贷客户家庭关系实体类
|
2026-02-11 15:29:20 +08:00 |
|
|
|
719f02bdad
|
feat: 创建信贷客户家庭关系表
|
2026-02-11 15:28:35 +08:00 |
|
|
|
fd9e208fa3
|
docs(staff-enterprise-relation): 更新API文档,添加员工姓名字段说明
- 新增员工实体关系管理API文档
- 在列表接口和详情接口响应中添加personName字段
- 说明personName通过LEFT JOIN ccdi_base_staff表获取
- 如果personId在员工信息表中不存在,personName为null
|
2026-02-11 15:27:40 +08:00 |
|
|
|
9776d76d1a
|
feat: 员工亲属关系导入添加身份证号存在性校验
|
2026-02-11 15:20:08 +08:00 |
|
|
|
97c9525c2d
|
feat(staff-enterprise-relation): Task 8完成前端编译验证
|
2026-02-11 15:18:48 +08:00 |
|
|
|
af7ec6f43d
|
fix: 调整身份证号验证顺序,避免空指针风险
- 将身份证号存在性检查移到基本数据验证之后
- 此时 personId 已确保不为空且格式正确
- 错误信息更准确,包含操作建议
|
2026-02-11 15:09:47 +08:00 |
|
|
|
1d5e31a2df
|
feat(staff-enterprise-relation): 列表页面添加员工姓名列
- 在身份证号列后添加员工姓名列
- prop名称为personName,与后端VO类保持一致
- 列宽设置为100px
|
2026-02-11 15:05:12 +08:00 |
|
|
|
497e040c81
|
feat: 员工实体关系导入添加身份证号存在性校验
|
2026-02-11 15:00:17 +08:00 |
|
|
|
eec2f8ccef
|
feat(staff-enterprise-relation): Task 6完成后端编译验证
✅ 后端代码编译成功
✅ VO类包含personName字段
✅ Mapper XML LEFT JOIN查询正确
✅ 更新实施笔记
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2026-02-11 14:59:00 +08:00 |
|
|
|
51efb477d8
|
test(staff-enterprise-relation): 添加员工姓名字段测试脚本
- 创建测试脚本验证接口返回personName字段
- 测试列表接口和详情接口
- 自动检查响应中是否包含personName字段
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2026-02-11 14:55:15 +08:00 |
|
|
|
6f66108a8e
|
feat(staff-enterprise-relation): 列表查询添加员工姓名JOIN
|
2026-02-11 14:48:26 +08:00 |
|
|
|
17edc7208d
|
feat(staff-enterprise-relation): 添加员工姓名字段到VO
|
2026-02-11 14:40:29 +08:00 |
|
|
|
e2ee494bba
|
fix: 修复信贷客户家庭关系表-添加唯一约束和统一字段类型
- 添加唯一约束 uk_person_cert (person_id, relation_cert_no)
- 统一字段类型与员工表保持一致:
- id: BIGINT(20)
- person_id: VARCHAR(100)
- status: INT(11)
- created_by/updated_by: VARCHAR(100)
- update_time: DATETIME NOT NULL
- 添加 IF NOT EXISTS 防止重复创建
- 添加表头注释说明创建时间和用途
|
2026-02-11 14:38:06 +08:00 |
|
|
|
e1a1083c21
|
docs(staff-enterprise-relation): 标记Task 1为已完成
|
2026-02-11 14:32:51 +08:00 |
|
|
|
866d3a20ac
|
feat(staff-enterprise-relation): 完成Task 1 - 数据库索引检查和创建
|
2026-02-11 14:32:20 +08:00 |
|
|
|
1405264cb2
|
feat: 创建信贷客户家庭关系表
|
2026-02-11 14:30:02 +08:00 |
|
|
|
09519ab4ac
|
Merge branch 'feat/staff-transfer-staff-id-validation' into dev_1
功能: 员工调动导入员工ID校验
新增功能:
- 批量预验证员工ID存在性(1次数据库查询)
- 错误信息包含Excel行号
- 主循环跳过已失败记录
- 完整的日志记录
技术实现:
- 添加 CcdiBaseStaffMapper 依赖注入
- 新增 batchValidateStaffIds() 方法
- 新增 isRowAlreadyFailed() 方法
- 修改 importTransferAsync() 主流程
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2026-02-11 13:57:13 +08:00 |
|
|
|
1c20bcd1ab
|
docs: 更新员工调动导入API文档
添加员工ID验证相关的错误情况说明
- 员工ID不存在错误
- 批量验证机制说明
- 性能优化说明
- 更新日志
|
2026-02-11 13:53:09 +08:00 |
|
|
|
6f78e86d1c
|
feat: 主循环跳过已失败的记录
在数据处理循环中添加检查逻辑,跳过已在预验证阶段标记为失败的记录
- 在主循环开始处添加失败记录检查
- 使用 isRowAlreadyFailed 方法判断
- 检查失败后使用 continue 跳过处理
- 避免对已失败记录进行不必要的验证和处理
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2026-02-11 13:47:55 +08:00 |
|
|
|
bf4b7107a4
|
feat: 在导入流程中添加员工ID批量验证
在数据处理循环前添加员工ID存在性验证阶段,提前标记无效员工ID的记录
|
2026-02-11 13:45:18 +08:00 |
|
|
|
e95abccf5d
|
fix: 修复isRowAlreadyFailed方法的NPE风险
修复第387行潜在的空指针异常:
- 将 f.getStaffId().equals(excel.getStaffId())
- 改为 Objects.equals(f.getStaffId(), excel.getStaffId())
- 确保当staffId为null时不会抛出NPE
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2026-02-11 13:42:55 +08:00 |
|
|
|
73a46a2d0c
|
feat: 实现检查行是否已失败方法
- 添加 isRowAlreadyFailed 方法用于检查行是否已在失败列表中
- 通过比较员工ID、调动日期、调动前部门ID、调动后部门ID判断行的唯一性
- 在 StaffTransferImportFailureVO 中添加 deptIdBefore 和 deptIdAfter 字段
- 使用 Stream API 的 anyMatch 方法实现高效的匹配判断
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2026-02-11 11:26:05 +08:00 |
|
|
|
933626f24f
|
feat: 实现批量验证员工ID方法
- 提取Excel中所有员工ID并去重
- 批量查询数据库中存在的员工ID
- 标记不存在的员工ID为失败记录
- 记录详细的验证日志
- 新增ImportLogUtils工具类用于统一日志格式
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2026-02-11 11:16:58 +08:00 |
|
|
|
5f44984aa3
|
feat 导入日志
|
2026-02-11 11:13:20 +08:00 |
|
|
|
7505bf4b3f
|
feat: 添加CcdiBaseStaffMapper依赖注入
为员工调动导入服务添加员工信息Mapper,用于批量验证员工ID存在性
|
2026-02-11 11:12:32 +08:00 |
|
|
|
03b721d92f
|
docs: 添加员工调动导入员工ID校验设计文档
- 完成需求分析和架构设计
- 定义批量预验证方案
- 详述数据流和代码实现
- 列出边界情况和测试场景
- 分析性能影响范围
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2026-02-11 11:06:51 +08:00 |
|
|
|
6db63cd8b1
|
feat 员工调动记录
|
2026-02-11 10:42:38 +08:00 |
|
|
|
78a9300644
|
feat 员工亲属关系
|
2026-02-10 10:41:19 +08:00 |
|