package com.fjhx.service.stock;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fjhx.base.BaseService;
import com.fjhx.base.Condition;
import com.fjhx.entity.stock.Stock;
import com.fjhx.entity.stock.StockJournal;
import com.fjhx.params.stock.*;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 库存 服务类
 * </p>
 *
 * @author ${author}
 * @since 2022-11-24
 */
public interface StockService extends BaseService<Stock> {

    Page<Stock> getPage(Map<String, Object> condition);

    void add(StockVo stockVo);

    void edit(StockVo stockVo);

    void delete(StockVo stockVo);

    List<StockJournal> changeQuantity(StockChangeVo stockChangeVo);

    Page<Map<String, Object>> pageByWarehouseId(Condition condition);

    Page<PageByWarehouseVo> pageByWarehouse(Condition condition);

    Page<PageByProductVo> pageByProduct(Condition condition);

    Page<PageByCombinationVo> pageByCombination(Condition condition);

}
