AttendanceService.java 2.05 KB
package com.ruoyi.service;

import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.global.Result;
import com.ruoyi.domain.RuleAttendanceMain;
import com.ruoyi.pojo.dto.SchedulingDto;
import com.ruoyi.pojo.dto.SchedulingSettingDto;
import com.ruoyi.pojo.request.AgainCreateRequestVo;
import com.ruoyi.pojo.vo.*;

import java.util.List;

/**
 * @author 20412
 */
public interface AttendanceService {
    /**
     * 获取人员信息
     * @param id
     * @return
     */
    List<PeopleResponseVo> getDriverInfo(Long id);

    /**
     * 获取排班列表
     * @param vo
     * @return
     */
    List<SchedulingResponseVo> getSchedulingList(SchedulingRequestVo vo);

    /**
     * 获取班次模板
     * @param id
     * @return
     */
    List<RuleNumTemplateVo> getTemplate(Long id);

    /**
     * 新增排班
     * @param dto
     */
    void saveSchedulingSetting(SchedulingSettingDto dto);

    /**
     * 修改排班
     * @param dto
     */
    void updateSchedulingSetting(SchedulingDto dto);

    /**
     * 删除排班
     * @param settingId
     */
    void deleteSchedulingSetting(Integer settingId);

    List<RuleAttendanceMain> queryAttendanceMain(RuleAttendanceMainRequestVo vo);

    void updateAttendance(UpdateAttendanceVo vo);

    void deleteAttendance(DeleteAttendanceVo vo);
    /**
     * 获取当月所有排班日期
     * @param vo
     * @return
     */
    TableDataInfo getTableMonth(PeopleRequestVo vo);

    /**
     * 顶班
     * @param vo
     */
    void updateSchedulingByUser(UpdatePeopleAttendanceRequestVo vo);

    /**
     * 获取当日休息的人员信息
     * @return
     */
    List<PeopleResponseVo> getTodayFreeUser(String date);

    /**
     * 生成指定月份的日期排班
     * @param month
     */
    void createAttendance(String month);

    /**
     * 重新生成指定月份的排班
     * @param vo
     */
    void againCreateAttendance(AgainCreateRequestVo vo);

    /**
     * 检查规则
     * @param ruleId
     * @return
     */
    Result<?> checkScheduleRule(String ruleId);
}