package cn.iocoder.yudao.module.mdm.service.warehouse; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.module.mdm.controller.admin.warehouse.vo.MdmWarehousePageReqVO; import cn.iocoder.yudao.module.mdm.controller.admin.warehouse.vo.MdmWarehouseSaveReqVO; import cn.iocoder.yudao.module.mdm.dal.dataobject.warehouse.MdmWarehouseDO; import jakarta.validation.Valid; import java.util.Collection; import java.util.List; /** * MDM 仓库 Service 接口 * * @author 芋道源码 */ public interface MdmWarehouseService { /** * 创建仓库 * * @param createReqVO 创建信息 * @return 编号 */ Long createWarehouse(@Valid MdmWarehouseSaveReqVO createReqVO); /** * 更新仓库 * * @param updateReqVO 更新信息 */ void updateWarehouse(@Valid MdmWarehouseSaveReqVO updateReqVO); /** * 更新仓库状态 * * @param id 编号 * @param status 状态 */ void updateWarehouseStatus(Long id, Integer status); /** * 删除仓库 * * @param id 编号 */ void deleteWarehouse(Long id); /** * 获得仓库 * * @param id 编号 * @return 仓库 */ MdmWarehouseDO getWarehouse(Long id); /** * 校验仓库存在 * * @param id 编号 * @return 仓库 */ MdmWarehouseDO validateWarehouseExists(Long id); /** * 校验仓库存在且启用 * * @param id 编号 * @return 仓库 */ MdmWarehouseDO validateWarehouseExistsAndEnable(Long id); /** * 获得仓库分页 * * @param pageReqVO 分页查询 * @return 仓库分页 */ PageResult getWarehousePage(MdmWarehousePageReqVO pageReqVO); /** * 获得仓库列表 * * @param ids 编号数组 * @return 仓库列表 */ List getWarehouseList(Collection ids); /** * 根据编码获取仓库 * * @param code 仓库编码 * @return 仓库 */ MdmWarehouseDO getWarehouseByCode(String code); }