package com.srs.dormitory.service;

import java.util.List;
import java.util.Map;

import com.baomidou.mybatisplus.extension.service.IService;
import com.srs.common.core.domain.AjaxResult;
import com.srs.dormitory.domain.DmsStuDaily;

/**
 * 学生宿舍打卡Service接口
 *
 * @author srs
 * @date 2024-12-21
 */
public interface IDmsStuDailyService extends IService<DmsStuDaily> {

    public List<Map<String, Object>> countDeptCard();

    public List<String> listLeaveLog();

    public List<Map<String, Object>> countDeptShixi();

    public List<Map<String, Object>> countDeptLeave();


    public void sendTask();

    public AjaxResult sendMail();

    public List<DmsStuDaily> listView(DmsStuDaily param);

    public AjaxResult doCard(DmsStuDaily param);

    Map<String, Object> getStuDorm(String stuNo);

    /**
     * 查询学生宿舍打卡
     *
     * @param id 学生宿舍打卡主键
     * @return 学生宿舍打卡
     */
    public DmsStuDaily selectDmsStuDailyById(Long id);

    /**
     * 查询学生宿舍打卡列表
     *
     * @param dmsStuDaily 学生宿舍打卡
     * @return 学生宿舍打卡集合
     */
    List<DmsStuDaily> selectDmsStuDailyList(DmsStuDaily dmsStuDaily);

    /**
     * 新增学生宿舍打卡
     *
     * @param dmsStuDaily 学生宿舍打卡
     * @return 结果
     */
    int insertDmsStuDaily(DmsStuDaily dmsStuDaily);

    /**
     * 修改学生宿舍打卡
     *
     * @param dmsStuDaily 学生宿舍打卡
     * @return 结果
     */
    int updateDmsStuDaily(DmsStuDaily dmsStuDaily);

    /**
     * 批量删除学生宿舍打卡
     *
     * @param ids 需要删除的学生宿舍打卡主键集合
     * @return 结果
     */
    int deleteDmsStuDailyByIds(Long[] ids);

    /**
     * 删除学生宿舍打卡信息
     *
     * @param id 学生宿舍打卡主键
     * @return 结果
     */
    int deleteDmsStuDailyById(Long id);
    // 统计查寝大屏的数据
    int  checkedIn();
    //统计未打卡的数据
    int  notCheckedIn();
    //统计请假离校的数据
    int  leavScholl();
    //统计去实习人数
    int goLesson();
    List<Map<String,Object>> getDeptNames();
}
