feat: 实现成绩计算引擎、比赛日流程和导出打印功能
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
本次提交完成了武术比赛系统的核心功能模块,包括: ## 1. 成绩计算引擎 (Tasks 1.1-1.8) ✅ - 实现多裁判评分平均分计算(去最高/最低分) - 支持难度系数应用 - 自动排名算法(支持并列) - 奖牌自动分配(金银铜) - 成绩复核机制 - 成绩发布/撤销审批流程 ## 2. 比赛日流程功能 (Tasks 2.1-2.6) ✅ - 运动员签到/检录系统 - 评分有效性验证(范围检查0-10分) - 异常分数警告机制(偏差>2.0) - 异常情况记录和处理 - 检录长角色权限管理 - 比赛状态流转管理 ## 3. 导出打印功能 (Tasks 3.1-3.4) ✅ - 成绩单Excel导出(EasyExcel) - 运动员名单Excel导出 - 赛程表Excel导出 - 证书生成(HTML模板+数据接口) ## 4. 单元测试 ✅ - MartialResultServiceTest: 10个测试用例 - MartialScoreServiceTest: 10个测试用例 - MartialAthleteServiceTest: 14个测试用例 - 测试通过率: 100% (34/34) ## 技术实现 - 使用BigDecimal进行精度计算(保留3位小数) - EasyExcel实现Excel导出 - HTML证书模板(支持浏览器打印为PDF) - JUnit 5 + Mockito单元测试框架 ## 新增文件 - 3个新控制器:MartialExportController, MartialExceptionEventController, MartialJudgeProjectController - 3个Excel VO类:ResultExportExcel, AthleteExportExcel, ScheduleExportExcel - CertificateVO证书数据对象 - 证书HTML模板 - 3个测试类(676行测试代码) - 任务文档(docs/tasks/) - 数据库迁移脚本 ## 项目进度 已完成: 64% (18/28 任务) - ✅ 成绩计算引擎: 100% - ✅ 比赛日流程: 100% - ✅ 导出打印功能: 80% 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
30
docs/sql/mysql/20251130_create_exception_event.sql
Normal file
30
docs/sql/mysql/20251130_create_exception_event.sql
Normal file
@@ -0,0 +1,30 @@
|
||||
-- 创建异常事件表
|
||||
-- 日期: 2025-11-30
|
||||
-- 功能: 记录比赛日异常情况
|
||||
|
||||
CREATE TABLE IF NOT EXISTS martial_exception_event (
|
||||
id BIGINT PRIMARY KEY COMMENT 'ID',
|
||||
tenant_id VARCHAR(12) DEFAULT '000000' COMMENT '租户ID',
|
||||
competition_id BIGINT NOT NULL COMMENT '赛事ID',
|
||||
schedule_id BIGINT COMMENT '赛程ID',
|
||||
athlete_id BIGINT COMMENT '运动员ID',
|
||||
event_type INT NOT NULL COMMENT '事件类型 1-器械故障 2-受伤 3-评分争议 4-其他',
|
||||
event_description VARCHAR(500) COMMENT '事件描述',
|
||||
handler_name VARCHAR(50) COMMENT '处理人',
|
||||
handle_result VARCHAR(500) COMMENT '处理结果',
|
||||
handle_time DATETIME COMMENT '处理时间',
|
||||
status INT DEFAULT 0 COMMENT '状态 0-待处理 1-已处理',
|
||||
create_user BIGINT COMMENT '创建人',
|
||||
create_dept BIGINT COMMENT '创建部门',
|
||||
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
update_user BIGINT COMMENT '更新人',
|
||||
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
is_deleted INT DEFAULT 0 COMMENT '是否已删除 0-未删除 1-已删除'
|
||||
) COMMENT '异常事件表';
|
||||
|
||||
-- 创建索引
|
||||
CREATE INDEX idx_competition_id ON martial_exception_event(competition_id);
|
||||
CREATE INDEX idx_schedule_id ON martial_exception_event(schedule_id);
|
||||
CREATE INDEX idx_athlete_id ON martial_exception_event(athlete_id);
|
||||
CREATE INDEX idx_status ON martial_exception_event(status);
|
||||
CREATE INDEX idx_event_type ON martial_exception_event(event_type);
|
||||
Reference in New Issue
Block a user