package com.ruoyi.system.service;


import com.ruoyi.system.domain.ActSupplies;
import com.ruoyi.system.domain.ActSuppliesDetails;
import io.lettuce.core.dynamic.annotation.Param;

import java.util.List;

/**
 * 物料细分类管理Service接口
 * 
 * @author ruoyi
 * @date 2023-07-11
 */

public interface IActSuppliesDetailsService 
{
    /**
     * 查询物料细分类管理
     * 
     * @param id 物料细分类管理ID
     * @return 物料细分类管理
     */
     ActSuppliesDetails selectActSuppliesDetailsById(Long id);

    /**
     * 查询物料细分类管理列表
     * 
     * @param actSuppliesDetails 物料细分类管理
     * @return 物料细分类管理集合
     */
     List<ActSuppliesDetails> selectActSuppliesDetailsList(ActSuppliesDetails actSuppliesDetails);

     List<ActSuppliesDetails> selectActSuppliesDetailsMaterialList(ActSuppliesDetails actSuppliesDetails);

    /**
     * 新增物料细分类管理
     * 
     * @param actSuppliesDetails 物料细分类管理
     * @return 结果
     */
     int insertActSuppliesDetails(ActSuppliesDetails actSuppliesDetails);

    /**
     * 修改物料细分类管理
     * 
     * @param actSuppliesDetails 物料细分类管理
     * @return 结果
     */
     int updateActSuppliesDetails(ActSuppliesDetails actSuppliesDetails);

    /**
     * 批量删除物料细分类管理
     * 
     * @param ids 需要删除的物料细分类管理ID
     * @return 结果
     */
     List<Long> deleteActSuppliesDetailsByIds(Long[] ids);

    /**
     * 删除物料细分类管理信息
     * 
     * @param id 物料细分类管理ID
     * @return 结果
     */
     int deleteActSuppliesDetailsById(Long id);

    List<ActSupplies> saveSid();
    /**
     * 启用物料细分类管理
     *
     * @param id  尝试启用物料细分类管理的id
     * @return
     */
    int setEnable(@Param("id") Long id, @Param("status") Integer status);


    /**
     * 禁用
     *
     * @param id  尝试禁用物料细分类管理的id
     */
    int setDisable(@Param("id") Long id, @Param("status") Integer status);

    List<ActSuppliesDetails> getLevel();

    List<ActSuppliesDetails> selectActSuppliesDetailsMaterialListPZ(ActSuppliesDetails actSuppliesDetails);
}
