package net.lab1024.sa.admin.module.business.wms.base.stock.service;


import java.util.List;

import net.lab1024.sa.admin.module.business.wms.base.stock.domain.entity.StockEntity;
import net.lab1024.sa.admin.module.business.wms.base.stock.domain.form.StockAddForm;
import net.lab1024.sa.admin.module.business.wms.base.stock.domain.form.StockUpdateForm;
import net.lab1024.sa.base.common.domain.ResponseDTO;
import org.springframework.web.multipart.MultipartFile;

/**
 * 容器信息 Service
 *
 * @author 霍锦
 * @since 2024-11-26 11:37:48
 * copyright 友仓
 */

public interface StockService {

    /**
     * 添加
     *
     * @param addForm 添加参数
     * @return ResponseDTO<String>
     */
    ResponseDTO<String> add(StockAddForm addForm);

    /**
     * 更新
     *
     * @param updateForm 更新参数
     * @return ResponseDTO<String>
     */
    ResponseDTO<String> update(StockUpdateForm updateForm);

    /**
     * 批量删除
     *
     * @param idList id集合
     * @return ResponseDTO<String>
     */
    ResponseDTO<String> batchDelete(List<Long> idList);

    /**
     * 单个删除
     *
     * @param stockId 容器Id
     * @return ResponseDTO<String>
     */
    ResponseDTO<String> delete(Long stockId);

    /**
     * 容器导入
     *
     * @param file 上传文件
     * @return ResponseDTO<String>
     */
    ResponseDTO<String> importStocks(MultipartFile file);

    /**
     * 创建容器
     *
     * @param stockCode 容器编码
     * @param stockType 容器类型
     * @return StockEntity
     */
    StockEntity createStock(String stockCode, String stockType);
}
