package cn.iocoder.yudao.module.system.service.houselane;

import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.system.controller.admin.houselane.vo.HouseLaneVO;
import cn.iocoder.yudao.module.system.controller.admin.houselane.vo.WareHouseLanePageReqVO;
import cn.iocoder.yudao.module.system.controller.admin.houselane.vo.WareHouseLaneSaveReqVO;
import cn.iocoder.yudao.module.system.dal.dataobject.houselane.WareHouseLaneDO;
import com.baomidou.mybatisplus.extension.service.IService;

import javax.validation.Valid;
import java.util.List;

/**
 * 线库 Service 接口
 *
 * @author 陈宾顺
 */
public interface WareHouseLaneService extends IService<WareHouseLaneDO> {

    /**
     * 获得线库
     *
     * @param id 编号
     * @return 线库
     */
    WareHouseLaneDO getHouseLane(Long id);

    /**
     * 获得线库分页
     *
     * @param pageReqVO 分页查询
     * @return 线库分页
     */
    PageResult<WareHouseLaneDO> getHouseLanePage(WareHouseLanePageReqVO pageReqVO);

    /**
     * 创建修改删除线库
     *
     * @param createReqVO
     */
    HouseLaneVO createOrEditOrDel(@Valid WareHouseLaneSaveReqVO createReqVO);

    /**
     * 删除线库
     * @param id
     */
    void delete(Long id);

    /**
     * 根据地图id删除
     * @param mapId
     */
    void deleteHouseLaneByMapId(Long mapId);
}
