package jnpf.attendance.service; import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO; import jnpf.entity.AttendanceGroup; import jnpf.entity.attendance.AttendanceFestivalSettingEntity; import jnpf.base.service.SuperService; import jnpf.exception.HandleException; import jnpf.model.attendance.dto.AttendanceFestivalSettingDto; import jnpf.model.attendance.vo.AttendanceFestivalSettingVo; import jnpf.model.attendance.vo.HolidayOptionVo; import java.util.List; import java.util.Map; /** *

* 考勤配置-节日配置 服务类 *

* * @author ahua * @since 2023-11-29 */ public interface AttendanceFestivalSettingService extends SuperService { /** * 保存节日设置信息。 * * @param attendanceFestivalSettingDto 节日设置数据传输对象 * @throws HandleException 处理异常 */ void save(AttendanceFestivalSettingDto attendanceFestivalSettingDto) throws HandleException; /** * 分页查询节日设置信息。 * * @param groupId 考勤组ID * @param year 年份 * @param page 页码 * @param size 每页大小 * @return 分页的节日设置视图对象 * @throws HandleException 处理异常 */ PageDTO page(String groupId, String year, Integer page, Integer size) throws HandleException; /** * 根据ID获取单个节日设置信息。 * * @param id 节日设置ID * @return 节日设置视图对象 */ AttendanceFestivalSettingVo getOne(String id); /** * 删除指定的节日设置信息。 * * @param id 节日设置ID */ void del(String id); /** * 获取启用状态的节日设置信息。 * * @param groupIds 考勤组ID列表 * @param attendanceGroupVos 考勤组视图对象列表 * @return 启用的节日设置信息映射 */ Map> getEnableFestivalSetting(List groupIds, List attendanceGroupVos); /** * 自动授予假期余额。 */ // void autoGrantBalance(); /** * 更新法定节日信息。 * * @param groupId 考勤组ID * @param year 年份 */ void statutoryUpdate(String groupId, String year); /** * 更新节日设置信息的启用状态。 * * @param id 节日设置ID * @param enable 启用状态(0禁用,1启用) * @throws HandleException 处理异常 */ void updateStatus(String id, Integer enable) throws HandleException; /** * 初始化节日设置。 * * @param groupId 考勤组ID */ void initFestivalSetting(String groupId); /** * 获取节日选项列表。 * * @param groupId 考勤组ID * @return 节日选项视图对象列表 */ List getHolidayOptions(String groupId); }