package com.zbf.system.service;

import com.zbf.common.core.domain.AjaxResult;
import com.zbf.system.domain.TCkOrderdetail;

import java.util.List;

/**
 * 出库物料明细Service接口
 *
 * @author sunits
 * @date 2024-06-21
 */
public interface ITCkOrderdetailService {
    /**
     * 查询出库物料明细
     *
     * @param id 出库物料明细主键
     * @return 出库物料明细
     */
    public TCkOrderdetail selectTCkOrderdetailById(String id);

    /**
     * 查询出库物料明细列表
     *
     * @param tCkOrderdetail 出库物料明细
     * @return 出库物料明细集合
     */
    public List<TCkOrderdetail> selectTCkOrderdetailList(TCkOrderdetail tCkOrderdetail);

    /**
     * 新增出库物料明细
     *
     * @param tCkOrderdetail 出库物料明细
     * @return 结果
     */
    public int insertTCkOrderdetail(TCkOrderdetail tCkOrderdetail);

    /**
     * 修改出库物料明细
     *
     * @param tCkOrderdetail 出库物料明细
     * @return 结果
     */
    public AjaxResult updateTCkOrderdetail(TCkOrderdetail tCkOrderdetail);

    /**
     * 批量删除出库物料明细
     *
     * @param ids 需要删除的出库物料明细主键集合
     * @return 结果
     */
    public int deleteTCkOrderdetailByIds(String[] ids);

    /**
     * 删除出库物料明细信息
     *
     * @param id 出库物料明细主键
     * @return 结果
     */
    public int deleteTCkOrderdetailById(String id);

    /**
     * 批量禁用出库物料明细
     *
     * @param ids 需要禁用的出库物料明细主键集合
     * @return 结果
     */
    public int disabledTCkOrderdetailByIds(String[] ids);

    /**
     * 批量启用出库物料明细
     *
     * @param ids 需要启用的出库物料明细主键集合
     * @return 结果
     */
    public int enableTCkOrderdetailByIds(String[] ids);

    /**
     * 改变状态
     *
     * @param tCkOrderdetail
     * @return 结果
     */
    public int updateStatus(TCkOrderdetail tCkOrderdetail);

    /**
     * 批量新增出库单物料明细
     *
     * @param tCkOrderdetails 出库单物料明细List
     * @return 结果
     */
    public int batchInsertTCkOrderdetail(List<TCkOrderdetail> tCkOrderdetails);
}

