package cn.iocoder.yudao.module.mes.service.safety; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.module.mes.controller.admin.safety.vo.training.MesSafetyTrainingAttendeeSaveReqVO; import cn.iocoder.yudao.module.mes.controller.admin.safety.vo.training.MesSafetyTrainingPageReqVO; import cn.iocoder.yudao.module.mes.controller.admin.safety.vo.training.MesSafetyTrainingSaveReqVO; import cn.iocoder.yudao.module.mes.dal.dataobject.safety.MesSafetyTrainingAttendeeDO; import cn.iocoder.yudao.module.mes.dal.dataobject.safety.MesSafetyTrainingDO; import java.util.List; /** * 安全生产 - 培训 Service 接口 * * @author 超级管理员 */ public interface MesSafetyTrainingService { PageResult getTrainingPage(MesSafetyTrainingPageReqVO pageReqVO); MesSafetyTrainingDO getTraining(Long id); Long createTraining(MesSafetyTrainingSaveReqVO createReqVO); void updateTraining(MesSafetyTrainingSaveReqVO updateReqVO); void deleteTraining(Long id); MesSafetyTrainingDO validateTrainingExists(Long id); /** * 获得指定培训的参训人员列表 */ List getAttendeeList(Long trainingId); /** * 全量保存参训人员(以传入列表为准覆盖) */ void saveAttendees(Long trainingId, List attendees); /** * 更新单个参训人员的签到 / 成绩 */ void updateAttendee(MesSafetyTrainingAttendeeSaveReqVO reqVO); /** * 删除参训人员 */ void deleteAttendee(Long id); /** * 刷新培训批次的冗余统计(参训人数 / 实到人数 / 平均分) */ void refreshStatistics(Long trainingId); }