Files
contract-manager/docs/task/EmployeesSyncTask_Tasks.md
songqq a784438e97 feat: 实现员工同步任务的WebSocket支持及合同名称锁定功能
- 为EmployeesSyncTask添加WebSocket客户端和服务端支持,实现实时任务进度反馈
- 新增合同名称锁定功能,防止误修改重要合同名称
- 优化SmbFileService的连接异常处理,提高稳定性
- 重构ContractFilesRebuildTasker的任务执行逻辑,改进错误处理
- 更新tasker_mapper.json注册EmployeesSyncTask
- 添加相关任务文档和验收报告

修复WebSocketClientSession的任务完成状态处理问题
改进UITools中任务执行的线程管理
优化DepartmentService的findByCode方法返回类型
2025-11-20 16:26:34 +08:00

191 lines
6.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# EmployeesSyncTask WebSocket集成实现任务分解
## 任务概述
根据《EmployeesSyncTask WebSocket集成设计方案》将整个集成工作分解为6个原子任务按依赖关系排序执行。
## 任务依赖图
```mermaid
graph TD
A[任务4: 客户端WebSocket支持] --> C[任务6: 验证和测试]
B[任务5: 服务器端WebSocket支持和注册] --> C
C --> D[任务6: 验证和测试]
```
## 原子任务清单
### 任务4: 实现客户端WebSocket支持
**输入契约:**
- 现有客户端EmployeesSyncTask.java文件13行基础实现
- WebSocketClientTasker接口规范client/src/main/java/com/ecep/contract/WebSocketClientTasker.java
- 项目现有的客户端Tasker实现参考
- UITools任务对话框工具类
**输出契约:**
- 升级后的客户端EmployeesSyncTask.java文件实现WebSocketClientTasker接口
- 支持远程任务调用和实时进度同步
- 完整的错误处理和UI反馈机制
**实现约束:**
- 严格遵循WebSocketClientTasker接口规范
- 保持与现有客户端Tasker实现的一致性
- 实现getTaskName()方法返回"EmployeesSyncTask"
- 集成项目现有的UI反馈机制
**依赖关系:**
- 前置依赖: 无
- 后置依赖: 任务6验证测试
**验收标准:**
- [ ] 客户端代码编译通过
- [ ] 实现WebSocketClientTasker接口所有必需方法
- [ ] getTaskName()返回正确的任务名称
- [ ] 能够通过WebSocket提交任务到服务器
- [ ] 能够接收和显示服务器端推送的进度和消息
- [ ] 异常处理机制完善
---
### 任务5: 实现服务器端WebSocket支持和注册
**输入契约:**
- 现有服务器端EmployeesSyncTask.java文件159行完整业务逻辑
- WebSocketServerTasker接口规范server/src/main/java/com/ecep/contract/service/tasker/WebSocketServerTasker.java
- tasker_mapper.json配置文件server/src/main/resources/
- 现有服务器端WebSocket Tasker实现参考
**输出契约:**
- 升级后的服务器端EmployeesSyncTask.java文件实现WebSocketServerTasker接口
- 更新后的tasker_mapper.json配置文件包含EmployeesSyncTask注册
- 支持WebSocket通信的服务器端任务执行能力
**实现约束:**
- 严格遵循WebSocketServerTasker接口规范
- 保持现有业务逻辑execute方法完全不变
- 在tasker_mapper.json中正确注册任务
- 确保任务名称与客户端调用名称一致
**依赖关系:**
- 前置依赖: 无
- 后置依赖: 任务6验证测试
**验收标准:**
- [ ] 服务器端代码编译通过
- [ ] 实现WebSocketServerTasker接口继承自Callable<Object>
- [ ] 现有业务逻辑保持不变
- [ ] 在tasker_mapper.json中正确注册
- [ ] 服务器启动时任务注册成功
- [ ] 能够接收客户端WebSocket调用并执行任务
---
### 任务6: 验证和测试结果
**输入契约:**
- 升级后的客户端EmployeesSyncTask.java
- 升级后的服务器端EmployeesSyncTask.java
- 更新后的tasker_mapper.json配置文件
- 项目现有的任务监控和测试工具
**输出契约:**
- 完整的集成测试报告
- 发现的问题和解决方案记录
- 最终的验收确认结果
**实现约束:**
- 测试完整的端到端任务执行流程
- 验证WebSocket通信的稳定性和可靠性
- 确保用户体验流畅自然
- 所有边界情况和异常情况都得到妥善处理
**依赖关系:**
- 前置依赖: 任务4和任务5都已完成
- 后置依赖: 无
**验收标准:**
- [ ] 客户端能够成功连接服务器
- [ ] 任务能够成功提交并执行
- [ ] 进度能够实时同步到客户端UI
- [ ] 日志消息能够实时显示在客户端界面
- [ ] 任务取消功能正常工作
- [ ] 网络异常处理机制正常
- [ ] 服务器端任务注册和调用正常
- [ ] 整体功能符合设计要求
---
## 任务执行顺序
### 顺序1: 并行执行准备任务
- **任务4**: 实现客户端WebSocket支持
- **任务5**: 实现服务器端WebSocket支持和注册
### 顺序2: 验证测试
- **任务6**: 验证和测试结果
## 质量门控检查点
### 客户端实现检查点
1. **接口合规性**: 检查WebSocketClientTasker接口方法实现完整性
2. **代码编译性**: 验证客户端代码能够成功编译
3. **集成兼容性**: 确保与现有客户端架构兼容
### 服务器端实现检查点
1. **接口合规性**: 检查WebSocketServerTasker接口方法实现完整性
2. **业务一致性**: 验证现有业务逻辑未受影响
3. **配置正确性**: 确认tasker_mapper.json配置正确
4. **注册成功性**: 验证服务器启动时任务注册成功
### 集成测试检查点
1. **通信连通性**: 验证WebSocket连接建立正常
2. **数据同步性**: 确认进度和消息能够实时同步
3. **异常处理性**: 验证各种异常情况处理正常
4. **用户体验性**: 确认整体用户体验符合预期
## 异常情况处理
### 技术异常
- **编译错误**: 立即停止,修复编译问题后继续
- **WebSocket连接失败**: 检查网络配置和服务器状态
- **任务执行异常**: 查看服务器端日志,定位问题根因
### 业务异常
- **U8系统连接问题**: 检查U8系统网络和凭据
- **数据库操作异常**: 检查数据库连接和权限
- **数据格式异常**: 检查U8系统数据格式兼容性
### 用户体验异常
- **UI响应异常**: 检查客户端UI更新逻辑
- **进度显示异常**: 验证进度计算和同步逻辑
- **消息显示异常**: 检查日志消息处理和显示逻辑
## 风险缓解策略
### 高风险项
1. **WebSocket通信稳定性**: 通过异常处理和重连机制缓解
2. **数据一致性**: 通过保持现有业务逻辑确保数据安全
3. **性能影响**: 通过最小化通信开销降低性能影响
### 中风险项
1. **配置部署复杂性**: 通过详细的配置指南降低部署风险
2. **调试复杂性**: 通过完善的日志输出降低调试难度
### 低风险项
1. **代码风格一致性**: 通过遵循项目规范确保一致性
2. **文档完整性**: 通过详细文档确保可维护性
## 交付物清单
### 代码交付物
- [ ] 升级后的客户端EmployeesSyncTask.java
- [ ] 升级后的服务器端EmployeesSyncTask.java
- [ ] 更新后的tasker_mapper.json配置文件
### 文档交付物
- [ ] EmployeesSyncTask_WebSocket_Design.md已完成
- [ ] EmployeesSyncTask_Tasks.md当前文档
- [ ] 最终验收报告
### 测试交付物
- [ ] 集成测试用例和结果
- [ ] 性能测试结果(如需要)
- [ ] 用户验收确认
这个任务分解确保了EmployeesSyncTask WebSocket集成工作的系统性、可控性和高质量交付。