package com.klp.service; import com.klp.domain.WmsStockIo; import com.klp.domain.bo.WmsStockIoDetailBo; import com.klp.domain.vo.WmsStockIoDetailVo; import com.klp.domain.vo.WmsStockIoVo; import com.klp.domain.bo.WmsStockIoBo; import com.klp.domain.bo.WmsStockIoWithDetailBo; import com.klp.common.core.page.TableDataInfo; import com.klp.common.core.domain.PageQuery; import java.util.Collection; import java.util.List; /** * 出入库单主Service接口 * * @author Joshi * @date 2025-07-18 */ public interface IWmsStockIoService { /** * 查询出入库单主 */ WmsStockIoVo queryById(Long stockIoId); /** * 查询出入库单主列表 */ TableDataInfo queryPageList(WmsStockIoBo bo, PageQuery pageQuery); /** * 查询出入库单主列表 */ List queryList(WmsStockIoBo bo); /** * 新增出入库单主 */ Boolean insertByBo(WmsStockIoBo bo); /** * 修改出入库单主 */ Boolean updateByBo(WmsStockIoBo bo); /** * 校验并批量删除出入库单主信息 */ Boolean deleteWithValidByIds(Collection ids, Boolean isValid); /** * 审核出入库/移库单,变更库存,含库存校验 */ Boolean auditStockIo(Long stockIoId); /** * 撤销出入库/移库单,库存回滚 */ Boolean cancelStockIo(Long stockIoId); /** * 根据ioType和stockIoId联查明细 */ java.util.List detailByTypeAndId(String ioType, Long stockIoId); /** * 更新出入库单状态 */ Boolean updateStatus(Long stockIoId, Integer status); /** * 批量新增主表和明细 */ void addWithDetail(WmsStockIoWithDetailBo bo); boolean scanInStockByBo(WmsStockIoDetailBo bo); boolean scanOutStockByBo(WmsStockIoDetailBo bo); boolean scanReturnStockByBo(WmsStockIoBo bo); }