package com.czg.product.service;

import com.czg.product.dto.ConsGroupDTO;
import com.czg.product.entity.ConsGroup;
import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.service.IService;

import java.util.List;

/**
 * 耗材分组
 *
 * @author Tankaikai tankaikai@aliyun.com
 * @since 1.0 2025-02-20
 */
public interface ConsGroupService extends IService<ConsGroup> {
    /**
     * 获取耗材分组分页
     *
     * @param param 查询参数
     * @return 耗材分组分页
     */
    Page<ConsGroupDTO> getConsGroupPage(ConsGroupDTO param);

    /**
     * 获取耗材分组列表
     *
     * @param param 查询参数
     * @return 耗材分组列表
     */
    List<ConsGroupDTO> getConsGroupList(ConsGroupDTO param);

    /**
     * 获取耗材分组详情
     *
     * @param id 耗材分组id
     * @return 耗材分组详情
     */
    ConsGroupDTO getConsGroupById(Long id);

    /**
     * 新增耗材分组
     *
     * @param dto 耗材分组dto
     */
    void addConsGroup(ConsGroupDTO dto);

    /**
     * 更新耗材分组
     *
     * @param dto 耗材分组dto
     */
    void updateConsGroup(ConsGroupDTO dto);

    /**
     * 删除耗材分组
     *
     * @param id 耗材分组id
     */
    void deleteConsGroup(Long id);

    /**
     * 禁用耗材分组
     *
     * @param id 耗材分组id
     */
    void disableConsGroup(Long id);

    /**
     * 启用耗材分组
     *
     * @param id 耗材分组id
     */
    void enableConsGroup(Long id);

}