package com.bonus.material.lease.service;

import java.util.List;

import com.bonus.common.core.web.domain.AjaxResult;
import com.bonus.common.biz.domain.lease.LeaseOutDetails;

/**
 * 领料出库详细Service接口
 * 
 * @author xsheng
 * @date 2024-10-16
 */
public interface ILeaseOutDetailsService {
    /**
     * 查询领料出库详细
     * 
     * @param id 领料出库详细主键
     * @return 领料出库详细
     */
    LeaseOutDetails selectLeaseOutDetailsById(Long id);

    /**
     * 查询领料出库详细列表
     * 
     * @param leaseOutDetails 领料出库详细
     * @return 领料出库详细集合
     */
    List<LeaseOutDetails> selectLeaseOutDetailsList(LeaseOutDetails leaseOutDetails);

    /**
     * 新增领料出库详细
     * 
     * @param leaseOutDetailsList 领料出库详细
     * @return 结果
     */
    AjaxResult insertLeaseOutDetails(List<LeaseOutDetails> leaseOutDetailsList);

    /**
     * 修改领料出库详细
     * 
     * @param leaseOutDetails 领料出库详细
     * @return 结果
     */
    int updateLeaseOutDetails(LeaseOutDetails leaseOutDetails);

    /**
     * 批量删除领料出库详细
     * 
     * @param ids 需要删除的领料出库详细主键集合
     * @return 结果
     */
    int deleteLeaseOutDetailsByIds(Long[] ids);

    /**
     * 删除领料出库详细信息
     * 
     * @param id 领料出库详细主键
     * @return 结果
     */
    int deleteLeaseOutDetailsById(Long id);

    public AjaxResult leaseOut(LeaseOutDetails record);

    /**
     * app领料出库退回
     * @param leaseOutDetails
     * @return
     */
    AjaxResult leaseOutBack(LeaseOutDetails leaseOutDetails);

    /**
     * 信息采集领料出库
     * @param bean
     * @return
     */
    AjaxResult leaseOutByInfo(LeaseOutDetails bean);
}
