/** * 培训管理接口 * 体现接口隔离原则,定义培训相关的核心功能 */ package com.employeetraining.training; import java.time.LocalDate; import java.util.List; import java.util.Optional; public interface TrainingManager { /** * 创建培训记录 */ void createTrainingRecord(TrainingRecord record); /** * 更新培训状态 */ boolean updateTrainingStatus(String recordId, TrainingRecord.TrainingStatus status); /** * 更新培训成绩 */ boolean updateTrainingScore(String recordId, double score); /** * 完成培训 */ boolean completeTraining(String recordId, double score, String feedback); /** * 根据ID查找培训记录 */ Optional findTrainingRecordById(String recordId); /** * 根据员工ID查找培训记录 */ List findTrainingRecordsByEmployeeId(String employeeId); /** * 根据课程ID查找培训记录 */ List findTrainingRecordsByCourseId(String courseId); /** * 根据状态查找培训记录 */ List findTrainingRecordsByStatus(TrainingRecord.TrainingStatus status); /** * 查找在指定日期范围内完成的培训 */ List findCompletedTrainingsByDateRange(LocalDate startDate, LocalDate endDate); /** * 获取所有培训记录 */ List getAllTrainingRecords(); }