|
|
76102f032b
|
refactor: 将项目代码从 ccdi-info-collection 迁移到 ccdi-project 模块
- 将 CcdiProject 相关代码移动到 ccdi-project 模块
- 修复 CcdiModelParam 审计字段注解
- 更新所有 package 声明和 import 语句
- 更新 Mapper XML namespace
- 通过代码审查
|
2026-02-27 08:44:31 +08:00 |
|
|
|
422df06095
|
docs: 添加前后端分离的实施计划文档
|
2026-02-26 16:38:09 +08:00 |
|
|
|
e82060a8c8
|
docs: 添加创建项目功能设计文档
|
2026-02-26 16:31:24 +08:00 |
|
|
|
2531c69d29
|
docs: 添加模型参数阈值更新接口优化设计文档
|
2026-02-26 11:10:15 +08:00 |
|
|
|
e497d8e62f
|
更新java版本
|
2026-02-26 10:39:12 +08:00 |
|
|
|
b23820e873
|
参数配置
|
2026-02-26 10:38:23 +08:00 |
|
|
|
872bc3260c
|
feat: 完成模型参数配置功能开发
- 添加 Controller、Mapper、Service 层代码
- 添加前端 API 和页面组件
- 添加后端功能测试报告
|
2026-02-26 10:31:51 +08:00 |
|
|
|
c920577d45
|
chore: add .gitignore with worktrees exclusion
|
2026-02-26 09:13:41 +08:00 |
|
|
|
5d13f7cd01
|
参数配置
|
2026-02-25 16:56:04 +08:00 |
|
|
|
1cd87d2695
|
refactor: 重命名 ruoyi-ccdi 模块为 ruoyi-info-collection
- Maven 模块从 ruoyi-ccdi 重命名为 ruoyi-info-collection
- Java 包名从 com.ruoyi.ccdi 改为 com.ruoyi.info.collection
- MyBatis XML 命名空间同步更新
- 保留数据库表名、API URL、权限标识中的 ccdi 前缀
- 更新项目文档中的模块引用
|
2026-02-24 17:12:11 +08:00 |
|
|
|
7d1ab61705
|
feat信贷客户实体关系
|
2026-02-13 10:15:34 +08:00 |
|
|
|
1b5d1178f6
|
feat信贷客户实体关系
|
2026-02-13 10:15:23 +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 |
|
|
|
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 |
|
|
|
6ae545a06b
|
Merge branch 'feat/staff-enterprise-relation-person-name' into dev_1
|
2026-02-11 15:47:24 +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 |
|
|
|
93f5be29ce
|
docs(staff-enterprise-relation): 更新数据库设计文档,添加关联查询说明
|
2026-02-11 15:30:18 +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 |
|
|
|
97c9525c2d
|
feat(staff-enterprise-relation): Task 8完成前端编译验证
|
2026-02-11 15:18:48 +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 |
|
|
|
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 |
|
|
|
1c20bcd1ab
|
docs: 更新员工调动导入API文档
添加员工ID验证相关的错误情况说明
- 员工ID不存在错误
- 批量验证机制说明
- 性能优化说明
- 更新日志
|
2026-02-11 13:53:09 +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 |
|
|
|
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 |
|
|
|
bf19a9daa8
|
feat 员工亲属关系
|
2026-02-10 00:30:06 +08:00 |
|
|
|
9a7fedcd74
|
feat 员工实体关系
|
2026-02-09 21:27:20 +08:00 |
|
|
|
f7c8bd1c95
|
feat
|
2026-02-09 17:00:41 +08:00 |
|
|
|
02249c402e
|
文件夹整理
|
2026-02-09 14:28:25 +08:00 |
|
|
|
8efbd43abd
|
除员工外 取消导入更新 添加导入文件重复校验
|
2026-02-09 09:10:35 +08:00 |
|
|
|
886176ed7e
|
除员工外 取消导入更新
|
2026-02-09 02:18:56 +08:00 |
|
|
|
26a225298a
|
导入测试
|
2026-02-09 00:13:32 +08:00 |
|
|
|
cf5e435992
|
docs: 添加中介导入历史清除功能完成报告
- 添加功能设计文档
- 添加功能完成总结报告
- 包含代码审查结果和后续优化建议
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2026-02-08 18:52:44 +08:00 |
|
|
|
ddc06b876a
|
fix: 修复importPersonBatch方法返回类型
将Mapper接口的importPersonBatch返回类型从void改为int,
以正确返回ON DUPLICATE KEY UPDATE的影响行数。
|
2026-02-08 17:20:45 +08:00 |
|
|
|
5ec5913759
|
fix: 修复中介导入成功条数计算错误
问题:
- 导入成功条数显示为负数
- 原因:成功数量计算使用 validRecords.size() - failures.size()
- 但没有使用实际的数据库操作返回值
修复:
- saveBatchWithUpsert 和 saveBatch 方法现在返回 int
- 累加实际的数据库影响行数
- 使用 actualSuccessCount 变量跟踪真实成功数量
影响范围:
- CcdiIntermediaryPersonImportServiceImpl
- CcdiIntermediaryEntityImportServiceImpl
|
2026-02-08 17:18:18 +08:00 |
|
|
|
717bfb67c5
|
docs: 添加Task 5&6完成报告
- 详细记录Service层重构过程
- 代码对比和性能分析
- 测试覆盖和验证点
- 后续建议和风险评估
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2026-02-08 16:25:08 +08:00 |
|
|
|
daf03e1ef0
|
test: 添加中介导入功能测试脚本和报告模板
- 添加自动化测试脚本 test-import-upsert.js
- 覆盖5个测试场景(首次导入、重复导入、更新等)
- 添加测试报告模板 TEST-REPORT-TEMPLATE.md
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2026-02-08 16:24:02 +08:00 |
|
|
|
7d534de54f
|
refactor: 重构Service层使用ON DUPLICATE KEY UPDATE
- 更新模式直接调用importPersonBatch/importEntityBatch
- 移除'先删除再插入'逻辑,代码简化约50%
- 添加辅助方法saveBatchWithUpsert/getExistingPersonIdsFromDb
- 添加createFailureVO重载方法简化失败记录创建
变更详情:
- CcdiIntermediaryPersonImportServiceImpl: 重构importPersonAsync方法
- CcdiIntermediaryEntityImportServiceImpl: 重构importEntityAsync方法
- 两个Service均采用统一的处理模式
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2026-02-08 16:21:22 +08:00 |
|
|
|
c86733c929
|
docs: 完善数据库索引验证报告格式
- 添加完整索引列表表格
- 修正文档结构
- 更新审核状态
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2026-02-08 15:53:59 +08:00 |
|
|
|
a6a872b478
|
docs: 添加数据库唯一索引验证报告
- 验证 ccdi_biz_intermediary.person_id 唯一索引
- 创建 uk_person_id 唯一索引
- 确认 ccdi_enterprise_base_info.social_credit_code 主键
- 为 INSERT ... ON DUPLICATE KEY UPDATE 提供基础支持
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2026-02-08 15:53:35 +08:00 |
|
|
|
34357b1f38
|
chore: 添加.worktrees/到gitignore
为使用git worktree功能做准备,防止意外提交worktree内容。
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2026-02-08 15:49:18 +08:00 |
|
|
|
5bd76e99d4
|
fix: 修复采购交易申请日期查询条件未生效问题
问题描述:
- 前后端参数格式不匹配导致日期查询条件无法生效
- 后端期望 applyDateStart/applyDateEnd,前端发送 params.beginApplyDate/params.endApplyDate
- Mapper XML 中同时存在两套参数导致混乱
修复方案:
统一使用扁平化参数格式 applyDateStart/applyDateEnd
前端修改:
1. 新增 addDateRangeFlat 工具方法 (ruoyi-ui/src/utils/ruoyi.js)
- 支持扁平化日期参数格式,不使用 params 包装
- 参数: addDateRangeFlat(params, dateRange, startPropName, endPropName)
2. 全局注册新方法 (ruoyi-ui/src/main.js)
- 导入并挂载到 Vue.prototype.addDateRangeFlat
3. 采购交易页面使用新方法 (ruoyi-ui/src/views/ccdiPurchaseTransaction/index.vue)
- 将 addDateRange() 改为 addDateRangeFlat()
- 传入参数: 'applyDateStart', 'applyDateEnd'
后端修改:
- 删除 Mapper XML 中 params.beginApplyDate/params.endApplyDate 相关条件
- 保留 applyDateStart/applyDateEnd 条件
测试:
- 添加测试脚本 doc/test-data/purchase_transaction/test-date-query.js
- 支持多种日期范围查询场景测试
影响范围:
- 仅影响采购交易管理模块
- 保留原有 addDateRange 方法,其他模块不受影响
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2026-02-08 15:05:12 +08:00 |
|
|
|
5f86d378ef
|
docs: 添加采购交易导入功能优化完成标记
- 所有任务已完成
- 代码验证通过
- 文档完善
- 功能ready
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2026-02-08 14:05:32 +08:00 |
|