package jnpf.attendance.service; import com.github.pagehelper.PageInfo; import jnpf.model.attendance.dto.AttendancePublicHolidayRulesDto; import jnpf.model.attendance.vo.attendance.AttendancePublicHolidayBalance; import jnpf.model.attendance.vo.attendance.AttendancePublicHolidayRulesVo; import jnpf.model.common.PageDto; import org.apache.ibatis.annotations.Param; import java.math.BigDecimal; import java.util.List; import java.util.Map; /** * @author panpan */ public interface PublicHolidayRulesService { /** * 公休管理列表 * @param iText 规则名称模糊查询 非必传 * @return */ PageInfo list(String iText, PageDto pageDto); /** * 新增公休管理 * @param publicHolidayRulesDto 公休管理 */ void add(AttendancePublicHolidayRulesDto publicHolidayRulesDto) throws Exception; /** * 修改公休管理 * @param publicHolidayRulesDto 公休管理 */ void update(AttendancePublicHolidayRulesDto publicHolidayRulesDto) throws Exception; /** * 删除公休管理 * @param id 公休管理Id */ AttendancePublicHolidayRulesVo selectOne(String id); /** * 删除公休管理 * @param id 公休管理Id */ void delete(@Param("id") String id); /** * 修改公休管理状态 * @param publicHolidayRulesDto 公休管理 */ void updateState(AttendancePublicHolidayRulesDto publicHolidayRulesDto); /** * 公休余额查询 固定班不会触发 * @param yearMonth 年月格式yyyy-MM * @param userIds 用户ID列表 * @return 公休余额列表 */ List getBalanceList(String yearMonth,List userIds) ; /** * 处理公休(封账时调用) 固定班不会触发 * * @param yearMonth 年月格式yyyy-MM * @param userIds 用户ID列表 * @param ratioMap 用户出勤换算比 */ void processPublicHoliday(String yearMonth, List userIds, Map ratioMap); /** * 处理公休(解封时调用) * @param yearMonth 年月格式yyyy-MM * @param userIds 用户ID列表 */ void rollbackPublicHoliday(String yearMonth,List userIds); }