package jnpf.attendance.mapper;

import jnpf.entity.attendance.AttendanceQuickTemplateEntity;
import jnpf.base.mapper.SuperMapper;
import jnpf.model.attendance.dto.FixedClassSaveDto;
import jnpf.model.attendance.dto.QuickTemDto;
import jnpf.model.attendance.vo.attendance.QuickTemVo;
import jnpf.model.attendance.vo.attendance.ShiftNameVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 考勤配置-快速模板 Mapper 接口
 * </p>
 *
 * @author ahua
 * @since 2023-11-28
 */
public interface AttendanceQuickTemplateMapper extends SuperMapper<AttendanceQuickTemplateEntity> {

    /**
     * 新增模板信息
     * @param dto 快速排班
     */
    void saveTemplate(@Param("dto") QuickTemDto dto, @Param("userId") String userId);

    /**
     * 修改模板信息
     * @param dto 快速排班
     */
    void updateTemplate(@Param("dto") QuickTemDto dto, @Param("userId") String userId);

    /**
     * 删除模板绑定的信息信息
     * @param id 快速排班模板Id
     */
    void deleteClass(@Param("id") String id);
    /**
     * 删除模板绑定的信息信息
     * @param id 快速排班模板Id
     */
    void deleteTemplateItem(@Param("id") String id, @Param("shiftNameId") String shiftNameId, @Param("nums") List<Integer> nums);


    /**
     * 批量保存快速排班班次信息
     * @param list 信息集合
     */
    void saveClass(@Param("list") List<FixedClassSaveDto> list);

    /**
     * 获取考勤组快速模板集合
     * @param groupId 考勤组Id
     */
    List<QuickTemVo> getTemByGroupId(@Param("groupId") String groupId);

    /**
     * 获取考勤组快速模板下班次集合信息
     * @param temIds 模板Ids
     */
    List<ShiftNameVo> getShiftByTemIds(@Param("temIds") List<String> temIds);
}
