|
|
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 |
|
|
|
60e836163e
|
docs: 添加采购交易导入功能优化变更日志
- 详细的前端交互变更说明
- 技术实现细节
- 测试验证结果
- 后续优化建议
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2026-02-08 14:04:48 +08:00 |
|
|
|
22514b6509
|
docs: 更新API文档,添加导入交互说明
- 详细的前端交互流程
- 状态持久化说明
- 与员工信息导入的对比
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2026-02-08 14:04:25 +08:00 |
|
|
|
591e8b9ebb
|
test: 添加导入功能测试脚本
- 测试流程框架
- 包含主要测试步骤
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2026-02-08 14:04:07 +08:00 |
|
|
|
e3dfc08cc7
|
test: 添加测试环境信息文档
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2026-02-08 14:03:56 +08:00 |
|
|
|
d4f2f01d20
|
docs: 添加采购交易导入功能优化实施计划
实施计划包含:
- 24个详细任务,每个任务2-5分钟完成
- 分11个阶段:前置准备、data属性、computed属性、生命周期、
localStorage管理、状态恢复、上传逻辑、轮询机制、
失败记录查看、UI修改、验证测试、文档更新
- 每个任务包含:文件路径、完整代码、验证步骤、提交命令
- TDD原则、频繁提交、完整文档
预期工作量: 2-3小时
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2026-02-08 13:44:13 +08:00 |
|
|
|
e120f836b2
|
docs: 添加采购交易导入功能优化设计文档
设计目标:
- 采用后台异步处理+通知提示,避免弹窗阻塞用户操作
- 完全复用员工信息维护的导入逻辑
- 支持查看导入失败记录
- 实现状态持久化
主要设计内容:
- 整体架构和用户交互流程
- 前端组件结构和状态管理
- UI组件修改方案
- 核心方法实现(10个方法)
- 完整修改清单和测试要点
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2026-02-08 13:40:32 +08:00 |
|
|
|
89399cab67
|
Merge remote-tracking branch 'origin/dev' into dev
# Conflicts:
# doc/plans/2026-02-06-ccdi_purchase_transaction.md
|
2026-02-06 17:23:59 +08:00 |
|
|
|
f659913b2f
|
员工采购
|
2026-02-06 17:22:59 +08:00 |
|
|
|
b38c1121e6
|
docs: 添加采购交易最终验证清单
- 功能测试清单(前端8大功能模块详细检查点)
- 页面访问、查询、新增、编辑、详情、删除、导出、导入
- 后端10个接口测试要点
- 权限测试(菜单权限、按钮权限、数据权限)
- 代码审查清单(后端7个方面、前端6个方面、数据库3个方面)
- 性能测试建议(查询/写入/导入导出/并发/压力测试)
- 部署前检查项(代码/配置/数据/文档/测试/部署)
- 验收标准(7个维度)
- 验收流程(4个阶段)
- Bug分级标准
文件路径: doc/plans/2026-02-06-ccdi_purchase_transaction-verification.md
Task 21: 最终验证清单
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2026-02-06 16:52:20 +08:00 |
|
|
|
0f325e06b5
|
docs: 添加采购交易API接口文档
- 接口列表(10个接口完整列表)
- 接口详情(请求/响应/参数/示例)
1. 查询采购交易列表
2. 获取采购交易详情
3. 新增采购交易
4. 修改采购交易
5. 删除采购交易
6. 导出采购交易
7. 下载导入模板
8. 导入采购交易
9. 查询导入状态
10. 查询导入失败记录
- 数据模型定义(DTO/VO/Excel对象)
- 错误码说明
- 接口调用示例(curl/Postman)
- 数据库表结构
- 菜单权限配置说明
文件路径: doc/api/ccdi_purchase_transaction_api.md
Task 20: 生成API文档
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2026-02-06 16:52:12 +08:00 |
|
|
|
f121516bd9
|
docs: 添加采购交易测试说明文档
- 测试环境说明(系统环境、服务地址)
- 测试账号信息(admin/admin123)
- 接口测试说明(10个接口详细说明)
- 前端功能测试(查询/新增/编辑/详情/删除/导出/导入)
- 导入导出测试要点
- 性能测试建议
- 常见问题及解决方案
- 测试报告模板
- 测试完成标准
文件路径: doc/test-data/purchase_transaction/README.md
Task 19: 创建测试说明
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2026-02-06 16:52:05 +08:00 |
|
|
|
1aa0d15ee8
|
feat: 添加采购交易导入失败记录VO
创建 PurchaseTransactionImportFailureVO 类,用于采购交易信息批量导入时的失败记录展示。
包含字段:
- 采购事项ID、采购类别、项目名称、标的物名称
- 采购方式、预算金额
- 申请人信息(工号、姓名、部门)
- 采购申请日期、错误信息
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2026-02-06 16:08:18 +08:00 |
|
|
|
a2c9c14092
|
docs: 添加中介库异步导入功能实施计划
|
2026-02-06 15:13:22 +08:00 |
|
|
|
9232a9f10f
|
feat: 实现招聘信息异步导入功能
- 添加异步导入服务接口和实现
- 创建导入失败记录VO类
- 添加导入设计文档和测试数据生成脚本
- 支持大批量招聘数据的异步处理
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2026-02-06 15:12:40 +08:00 |
|
|
|
fac41d4711
|
feat: 实现招聘信息异步导入功能
- 添加异步导入服务接口和实现
- 创建导入失败记录VO类
- 添加导入设计文档和测试数据生成脚本
- 支持大批量招聘数据的异步处理
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2026-02-06 15:04:19 +08:00 |
|
|
|
c8a05e3001
|
docs: 添加中介库异步导入功能设计文档
|
2026-02-06 14:46:16 +08:00 |
|
|
|
9e9733cf52
|
feat: 完成员工导入结果跨页面持久化功能
功能概述:
- 使用localStorage存储最近一次导入任务信息
- 支持切换菜单后查看上一次的导入失败记录
- 自动过期处理(7天)
- 完整的错误处理和用户友好的提示信息
- 新增清除历史记录功能
核心实现:
- saveImportTaskToStorage: 保存导入状态到localStorage
- getImportTaskFromStorage: 读取并验证导入状态
- clearImportTaskFromStorage: 清除localStorage数据
- restoreImportState: 页面加载时恢复导入状态
- getLastImportTooltip: 获取导入时间提示
- clearImportHistory: 用户手动清除历史记录
导入流程增强:
- handleFileSuccess: 保存初始状态,清除旧数据
- handleImportComplete: 保存完整状态,更新UI
- startImportStatusPolling: 添加5分钟超时机制
错误处理增强:
- getFailureList: 分类处理404/500/网络错误
- 404错误时自动清除localStorage并隐藏按钮
- 友好的用户提示信息
UI优化:
- lastImportInfo计算属性显示导入统计
- 失败记录按钮tooltip显示导入时间
- 失败记录对话框显示完整统计信息
- 对话框添加清除历史记录按钮
测试场景:
- 导入成功无失败后刷新页面
- 导入有失败后刷新页面
- 导入有失败后切换菜单
- 新导入覆盖旧记录
- 手动清除历史记录
- localStorage过期处理
相关提交:
- b932a7d docs: 添加员工导入结果跨页面持久化设计文档
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2026-02-06 13:40:39 +08:00 |
|
|
|
b932a7dba8
|
docs: 添加员工导入结果跨页面持久化设计文档
实现了导入状态的localStorage持久化方案:
- 支持切换菜单后查看上一次导入结果
- 仅保留最后一次导入记录
- 依赖Redis TTL自动清理过期数据
- 完整的错误处理和边界情况处理
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2026-02-06 12:11:42 +08:00 |
|
|
|
3d4a42b9fb
|
员工异步导入
|
2026-02-06 11:19:40 +08:00 |
|
|
|
50ac577297
|
fix: 修复异步方法返回类型不兼容问题
将@Async方法的返回类型从String改为CompletableFuture<ImportResultVO>,
并使用CompletableFuture.completedFuture()立即返回已完成的Future,
既符合@Async的要求,又能实现立即返回的效果。
修改文件:
- ICcdiEmployeeService.java: 更新接口返回类型
- CcdiEmployeeServiceImpl.java: 使用CompletableFuture.completedFuture()
- CcdiEmployeeController.java: 调用future.get()获取结果(不会阻塞)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2026-02-06 09:59:30 +08:00 |
|
|
|
9aee2b4cde
|
docs: 添加员工信息导入接口文档
- 添加异步导入接口文档
- 添加导入状态查询接口文档
- 添加失败记录查询接口文档
- 说明使用流程和注意事项
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2026-02-06 09:53:12 +08:00 |
|
|
|
8bdce0adbf
|
feat: 实现员工信息异步导入Service层方法
完成功能:
- 新增异步导入方法 importEmployeeAsync,使用@Async注解实现异步处理
- 新增查询导入状态方法 getImportStatus
- 新增查询导入失败记录方法 getImportFailures
- 实现完整的导入逻辑,包括数据分类、批量操作、进度跟踪
- 使用Redis存储导入状态和失败记录,TTL设置为7天
- 支持增量更新模式,批量插入新数据,批量更新已有数据
- 实时更新导入进度到Redis
技术要点:
- 使用RedisTemplate操作Redis,Hash结构存储状态
- 使用importExecutor线程池异步执行导入任务
- 使用UUID生成唯一任务ID
- 使用CompletableFuture包装返回结果
- 批量操作提高性能(saveBatch每500条一批)
- 失败记录只保存到Redis,不保存成功记录
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2026-02-06 09:34:08 +08:00 |
|
|
|
4c3eeea256
|
员工关系移除
|
2026-02-06 09:01:33 +08:00 |
|
|
|
1e691f9697
|
docs: 添加员工信息导入结果弹窗自适应优化设计文档
- 分析现有问题:弹窗内容过多时超出视口
- 设计固定高度+内容可滚动的Flexbox布局方案
- 提供完整的CSS样式和响应式设计
- 包含实施计划、验收标准和技术要点
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2026-02-05 16:09:40 +08:00 |
|
|
|
bed3ab5ed8
|
docs: 添加员工招聘信息管理功能设计文档
包含完整的数据库设计、API接口设计、批量导入优化方案和实施步骤。
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2026-02-05 14:46:12 +08:00 |
|
|
|
07dea1bf0c
|
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>
|
2026-02-05 14:26:40 +08:00 |
|
|
|
da663fb635
|
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>
|
2026-02-05 14:18:28 +08:00 |
|
|
|
9c84af78f2
|
docs: 添加员工柜员号优化设计文档
- 移除tellerNo字段,将employeeId设置为柜员号
- 柜员号为7位数字,手动输入,唯一性校验
- 包含数据库、后端、前端、测试等完整设计方案
- 生成测试脚本和API文档更新计划
|
2026-02-05 14:06:35 +08:00 |
|
|
|
81d4038302
|
中介黑名单更新
|
2026-02-05 13:33:27 +08:00 |
|
|
|
e0ce344d09
|
feat: 完成中介黑名单管理模块测试脚本、API文档、菜单配置和测试报告模板
## 新增文件
### 测试脚本 (Task 11)
- doc/scripts/test-intermediary-api.sh: 完整的API自动化测试脚本
* 获取Token
* 测试查询列表(含条件查询)
* 测试新增个人/实体中介
* 测试查询详情
* 测试修改操作
* 测试唯一性校验
* 支持彩色输出和错误处理
- doc/scripts/cleanup-intermediary-test-data.sh: 测试数据清理脚本
* 查询测试数据
* 删除测试数据
* 验证删除结果
- doc/scripts/run-test.bat: Windows测试脚本启动器
- doc/scripts/run-cleanup.bat: Windows清理脚本启动器
### API文档 (Task 12)
- doc/api/中介黑名单管理API文档-v2.0.md: 完整的v2.0 API接口文档
* 14个API接口详细说明
* 请求参数、响应格式、错误码
* 字典数据说明
* 业务错误信息
* v2.0主要变更说明
### 菜单配置 (Task 13)
- sql/menu-intermediary.sql: 菜单和权限配置SQL
* 主菜单: 中介黑名单(目录)
* 子菜单: 中介管理(页面)
* 按钮权限: 查询、列表、新增、修改、删除、导出、导入
* 包含详细的注释和使用说明
### 测试报告模板 (Task 14)
- doc/test/intermediary-blacklist-test-report.md: 测试报告模板
* 44个测试用例(列表查询、个人/实体中介、唯一性校验、删除、导入导出、权限)
* 测试结果统计表格
* 缺陷统计表格
* 测试结论模板
* 签名确认
### 文档 (Task 10)
- doc/README-中介黑名单测试部署.md: 测试与部署指南
* 快速开始指南
* API接口列表
* 菜单权限说明
* 数据字典说明
* 常见问题解答
* 版本历史
## 功能特性
1. **自动化测试**
- 支持Linux/Windows环境
- 完整的API覆盖
- 彩色输出,易于阅读
- 错误处理和提示
2. **完整的文档**
- 详细的API文档
- 清晰的测试报告模板
- 便于复现的测试用例
3. **菜单配置**
- 一键SQL执行
- 完整的权限体系
- 支持角色分配
4. **测试支持**
- 测试数据清理
- 测试结果验证
- 批处理支持
## 技术亮点
- 使用jq进行JSON解析
- 支持Token自动获取
- 完整的错误处理
- 跨平台支持(Linux/Windows)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2026-02-04 19:37:17 +08:00 |
|
|
|
dc8f1be4c3
|
中介黑名单更新
|
2026-02-04 19:16:34 +08:00 |
|
|
|
bc2959b93c
|
中介黑名单更新
|
2026-02-04 18:36:20 +08:00 |
|
|
|
72e2539134
|
docs: 添加项目详情页面设计文档
- 独立页面路由架构设计
- 五个子页面功能规划
- 接口设计与Mock数据定义
- 组件结构与状态管理方案
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-01-30 17:26:15 +08:00 |
|
|
|
16dc95de06
|
添加按钮
|
2026-01-30 15:50:30 +08:00 |
|
|
|
29a2e60ee1
|
变更项目缩写
|
2026-01-30 14:15:21 +08:00 |
|
|
|
e99b05acc2
|
项管首页
|
2026-01-30 11:01:13 +08:00 |
|
|
|
ac4e02e8c5
|
中介新增 修改接口
|
2026-01-29 22:03:42 +08:00 |
|
|
|
1b043fa2d6
|
中介类型修改
|
2026-01-29 13:39:47 +08:00 |
|
|
|
47f9491941
|
feat: 员工信息管理功能完善
- 将员工表org_no字段迁移至dept_id,关联系统部门表
- 更新员工信息相关DTO、VO和Controller,使用deptId替代orgNo
- 添加员工信息管理OpenSpec规范文档(proposal/design/spec/tasks)
- 更新API文档,反映部门关联变更
- 添加数据库迁移脚本employee_org_no_to_dept_id.sql
- 新增员工信息分页接口测试脚本(PowerShell/Python)
- 更新CLAUDE.md,添加MCP数据库工具使用说明
Co-Authored-By: Claude (glm-4.7) <noreply@anthropic.com>
|
2026-01-28 16:57:38 +08:00 |
|
|
|
0cc8ef0fc3
|
员工信息管理
- 新增员工信息CRUD功能
- 添加员工关联人员管理
- 配置MyBatis Plus审计字段
- 添加OpenSpec规范文档
- 新增测试脚本和数据
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-01-28 14:40:27 +08:00 |
|
|
|
5b0c338b5e
|
导出excel替换
|
2026-01-27 17:55:53 +08:00 |
|
|
|
79cd4fe755
|
需求分解
|
2026-01-27 17:09:32 +08:00 |
|