package com.cpop.oam.business.service;

import com.mybatisflex.core.service.IService;
import com.cpop.oam.business.bo.DutyBo;
import com.cpop.oam.business.bo.DutyListBo;
import com.cpop.oam.business.entity.Duty;
import com.cpop.oam.business.vo.DutyListVo;

import java.util.List;

/**
 * 值班表 服务层。
 *
 * @author DB
 * @since 2023-09-14
 */
public interface DutyService extends IService<Duty> {

    /**
     * @Description: 查询值班列表(当月)
     * @param bo 请求参数
     * @return: R<List<DutyListVo>>
     * @Author: DB
     * @Date: 2023/5/11 16:39
     **/
    List<DutyListVo> getDutyList(DutyListBo bo);

    /**
     * @Description: 新增值班
     * @param bo 请求参数
     * @return: R<Void>
     * @Author: DB
     * @Date: 2023/5/18 9:50
     **/
    void insertDuty(DutyBo bo);

    /**
     * @descriptions 删除值班信息
     * @author DB
     * @date 2023/09/14 18:16
     * @param dutyDate 值班日期
     */
    void removeDutyByDate(String dutyDate);

    /**
     * @descriptions 每天9点通知值班人员
     * @author DB
     * @date 2023/11/22 18:09
     * @return: void
     */
    void dutyNotice();
}
