package com.ruoyi.pay.service;

import com.ruoyi.common.core.domain.R;
import com.ruoyi.pay.domain.PayButieEmplyee;
import com.ruoyi.pay.domain.vo.ButieUpdateVo;
import com.ruoyi.pay.domain.vo.PayButieEmplyeeVo;
import com.ruoyi.pay.domain.bo.PayButieEmplyeeBo;
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 IPayButieEmplyeeService {

    /**
     * 查询补贴和员工联系
     */
    PayButieEmplyeeVo queryById(Long id);

    /**
     * 查询补贴和员工联系列表
     */
    TableDataInfo<PayButieEmplyeeVo> queryPageList(PayButieEmplyeeBo bo, PageQuery pageQuery);

    /**
     * 查询补贴和员工联系列表
     */
    List<PayButieEmplyeeVo> queryList(PayButieEmplyeeBo bo);

    /**
     * 新增补贴和员工联系
     */
    Boolean insertByBo(PayButieEmplyeeBo bo);

    /**
     * 修改补贴和员工联系
     */
    Boolean updateByBo(PayButieEmplyeeBo bo);

    /**
     * 校验并批量删除补贴和员工联系信息
     */
    Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);

    R<Void> generateBuTieEmpByMonth(String month, Boolean cover,Long tenantId);

    R<Void> checkDataExist(String month,Long tenantId);

    R<Void> updateAllBtempByDate(ButieUpdateVo vo);
}
