package com.yida.data.attendance.service;


import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yida.data.attendance.vo.FindStaffRuleVO;
import com.yida.data.attendance.vo.StaffRuleVO;
import com.yida.data.common.core.entity.attendance.EduAttendanceStaffRecord;
import com.yida.data.common.core.entity.attendance.EduAttendanceStaffRule;
import com.yida.data.attendance.dto.StaffRuleDTO;


/**
 * 教职工考勤规则 Service接口
 *
 * @author ZYJ
 * @date 2021-09-27 18:56:21
 */
public interface EduAttendanceStaffRuleService extends IService<EduAttendanceStaffRule> {

    /**
     * 查询规则列表
     *
     * @param iPage
     * @param ruleName
     * @param staffName
     * @return staff
     */
    IPage<StaffRuleVO> findStaffRuleList(IPage iPage, String ruleName, String staffName, Long schoolId);

    /**
     * 查询规则详情
     *
     * @param ruleId
     * @return
     */
    FindStaffRuleVO findStaffRule(Long ruleId);

    /**
     * 新增或修改规则详情
     *
     * @param staffRuleDTO
     */
    void saveOrUpStaffRule(StaffRuleDTO staffRuleDTO);

    /**
     * 删除规则接口
     *
     * @param ruleId
     */
    void removeStaffRule(Long ruleId);

    /**
     * 查询教职工适用的考勤规则
     *
     * @param staffRecord 教职工考勤-进出记录
     * @return com.yida.data.attendance.vo.FindStaffRuleVO
     * @author ZYJ
     * @date 2022/9/13 17:01
     */
    FindStaffRuleVO selectMatchStaffRule(EduAttendanceStaffRecord staffRecord);
}
