package com.bonus.sgzb.base.service;

import com.bonus.sgzb.base.domain.MaHouse;
import com.bonus.sgzb.base.domain.vo.TreeSelect;

import java.util.List;

/**
 * 仓库信息 服务层
 *
 * @author ruoyi
 */
public interface IhouseService {

    /**
     * 校验工程项目名称
     *
     * @param house 仓库信息
     * @return 结果
     */
    public boolean checkHouseNameUnique(MaHouse house);

    /**
     * 新增保存仓库信息
     *
     * @param house 仓库信息
     * @return 结果
     */
    public int insertHouse(MaHouse house);

    /**
     * 修改仓库信息
     * @param house
     * @return
     */
    public int updatetHouse(MaHouse house);

    /**
     * 删除仓库货架
     * @param houseId
     * @return
     */
    int deleteHouseById(Long houseId);

    /**
     * 查询仓库列表
     * @param house
     * @return
     */
    List<MaHouse> selectHouseList(MaHouse house);

    /**
     * 是否存在子仓库
     * @param houseId
     * @return
     */
    boolean hasChildByHouseId(Long houseId);

    List<TreeSelect> getHouseTree(MaHouse house);

    /**
     * 构建前端所需要下拉树结构
     *
     * @param maHouseList 部门列表
     * @return 下拉树结构列表
     */
    public List<TreeSelect> buildDeptTreeSelect(List<MaHouse> maHouseList);


    /**
     * 构建前端所需要树结构
     *
     * @param maHouseList 部门列表
     * @return 树结构列表
     */
    public List<MaHouse> buildDeptTree(List<MaHouse> maHouseList);

    /**
     * 查询仓库管理ma_house_info
     *
     * @param houseId 仓库管理ma_house_info主键
     * @return 仓库管理ma_house_info
     */
    public MaHouse selectMaHouseByHouseId(Long houseId);
}
