package com.fjhx.wms.service.stock; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.fjhx.common.entity.InOutBo; import com.fjhx.wms.entity.stock.dto.StockDto; import com.fjhx.wms.entity.stock.dto.StockSelectDto; import com.fjhx.wms.entity.stock.emums.JournalType; import com.fjhx.wms.entity.stock.po.Stock; import com.fjhx.wms.entity.stock.vo.StockVo; import com.ruoyi.common.core.service.BaseService; import java.util.List; /** * <p> * 库存 服务类 * </p> * * @author * @since 2023-03-20 */ public interface StockService extends BaseService<Stock> { /** * 库存查询 */ Page<StockVo> getPage(StockSelectDto dto); /** * 维多利亚 按仓库分类分页 */ Page<StockVo> pageByWarehouse(StockSelectDto dto); /** * 维多利亚 按产品分类分页 */ Page<StockVo> pageByProduct(StockSelectDto dto); /** * 维多利亚 按产品spu分类分页 */ Page<StockVo> pageByProductSpu(StockSelectDto dto); /** * 库存明细 */ Stock detail(StockDto dto); /** * 手动入库 */ void add(StockDto stockDto); /** * 手动出库 */ void edit(StockDto stockDto); /** * 库存删除 */ void delete(Long id); /** * 良品转次品 */ void qualifiedToDefective(Stock stock); /** * 次品转良品 */ void defectiveToQualified(Stock stock); /** * 通用出/入库方法 * * <p> * 调用时记得加上事务注解 * </P> * * @param list 产品改变数量 * @param warehouseId 仓库id * @param journalType 出/入库类型 * @param businessId 业务id */ void inOut(List<? extends InOutBo> list, Long warehouseId, JournalType journalType, Long businessId); void changeStock(List<? extends InOutBo> list, Long warehouseId, JournalType journalType); }