package com.ruoyi.pay.service;

import com.ruoyi.common.core.domain.R;
import com.ruoyi.pay.domain.PayDayWorkHours;
import com.ruoyi.pay.domain.PayDayWorkHoursQuery;
import com.ruoyi.pay.domain.vo.PayDayWorkHoursQuery2;
import com.ruoyi.pay.domain.vo.PayDayWorkHoursVo;
import com.ruoyi.pay.domain.bo.PayDayWorkHoursBo;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.domain.PageQuery;

import java.util.Collection;
import java.util.List;

/**
 * 日工工时Service接口
 *
 * @author ruoyi
 * @date 2025-05-12
 */
public interface IPayDayWorkHoursService {

    /**
     * 查询日工工时
     */
    PayDayWorkHoursVo queryById(Long id);

    /**
     * 查询日工工时列表
     */
    TableDataInfo<PayDayWorkHoursVo> queryPageList(PayDayWorkHoursBo bo, PageQuery pageQuery);

    /**
     * 查询日工工时列表
     */
    List<PayDayWorkHoursVo> queryList(PayDayWorkHoursBo bo);

    /**
     * 新增日工工时
     */
    R<Void> insertByBo(PayDayWorkHoursQuery2 payDayWorkHoursQuery2);

    /**
     * 修改日工工时
     */
    R<Void> updateByBo(PayDayWorkHoursQuery sgrDayWorkHoursQuery);

    /**
     * 校验并批量删除日工工时信息
     */
    Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);

    public List<PayDayWorkHoursQuery> selectPayDayWorkHoursList2(PayDayWorkHoursQuery sgrDayWorkHoursQuery);

    TableDataInfo<PayDayWorkHoursVo> queryPageList2(PayDayWorkHoursBo bo, PageQuery pageQuery);
}
