package com.openhis.administration.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.openhis.administration.domain.Invoice;
import com.openhis.administration.domain.Supplier;

/**
 * 发票管理Service接口
 *
 * @author system
 * @date 2025-02-20
 */
public interface IInvoiceService extends IService<Invoice> {
    /**
     * 新增发票
     *
     * @param invoice 发票实体
     * @return
     */
    Long addInvoice(Invoice invoice);
    
    /**
     * 分页查询发票列表（带用户角色权限过滤）
     *
     * @param page 分页参数
     * @param isAdmin 是否管理员
     * @param userId 当前用户ID
     * @return 发票列表
     */
    IPage<Invoice> selectInvoicePage(Page<Invoice> page, boolean isAdmin, Long userId);
}