package com.zhyc.module.stock.service;

import java.util.List;

import com.zhyc.module.stock.domain.WzStockOut;

/**
 * 出库记录Service接口
 * 
 * @author HashMap
 * @date 2025-08-05
 */
public interface IWzStockOutService 
{
    /**
     * 查询出库记录
     * 
     * @param stockOutCode 出库记录主键
     * @return 出库记录
     */
    WzStockOut selectWzStockOutByStockOutCode(Long stockOutCode);

    /**
     * 查询出库记录列表
     * 
     * @param wzStockOut 出库记录
     * @return 出库记录集合
     */
    List<WzStockOut> selectWzStockOutList(WzStockOut wzStockOut);

    /**
     * 新增出库记录
     * 
     * @param wzStockOut 出库记录
     * @return 结果
     */
    int insertWzStockOut(WzStockOut wzStockOut);

    /**
     * 修改出库记录
     * 
     * @param wzStockOut 出库记录
     * @return 结果
     */
    int updateWzStockOut(WzStockOut wzStockOut);

    /**
     * 批量删除出库记录
     * 
     * @param stockOutCodes 需要删除的出库记录主键集合
     * @return 结果
     */
    int deleteWzStockOutByStockOutCodes(Long[] stockOutCodes);

    /**
     * 删除出库记录信息
     * 
     * @param stockOutCode 出库记录主键
     * @return 结果
     */
    int deleteWzStockOutByStockOutCode(Long stockOutCode);

    /**
     * 导入入库数据
     *
     * @param WzStockOutList 入库数据列表
     * @param isUpdateSupport 是否更新支持，如果已存在，则进行更新数据
     * @param operName 操作用户
     * @return 结果
     */
    String importUser(List<WzStockOut> WzStockOutList, Boolean isUpdateSupport, String operName) throws Exception;
}
