package com.ruoyi.ems.service;

import com.ruoyi.ems.domain.AreaBuilding;

import java.util.List;

/**
 * 建筑基本信息Service接口
 *
 * @author ruoyi
 * @date 2024-07-09
 */
public interface IAreaBuildingService {
    /**
     * 查询建筑基本信息
     *
     * @param id 建筑基本信息主键
     * @return 建筑基本信息
     */
    AreaBuilding selectAreaBuildingById(Long id);

    /**
     * 查询建筑基本信息
     *
     * @param code 建筑基本信息主键
     * @return 建筑基本信息
     */
    AreaBuilding selectAreaBuildingByCode(String code);

    /**
     * 查询建筑基本信息列表
     *
     * @param areaBuilding 建筑基本信息
     * @return 建筑基本信息集合
     */
    List<AreaBuilding> selectAreaBuildingList(AreaBuilding areaBuilding);

    /**
     * 查询区域下的建筑
     * @param areaCode 区域编码
     * @return 建筑列表
     */
    List<AreaBuilding> selectBuildingByAreaCode(String areaCode);

    /**
     * 新增建筑基本信息
     *
     * @param areaBuilding 建筑基本信息
     * @return 结果
     */
    int insertAreaBuilding(AreaBuilding areaBuilding);

    /**
     * 修改建筑基本信息
     *
     * @param areaBuilding 建筑基本信息
     * @return 结果
     */
    int updateAreaBuilding(AreaBuilding areaBuilding);

    /**
     * 批量删除建筑基本信息
     *
     * @param ids 需要删除的建筑基本信息主键集合
     * @return 结果
     */
    int deleteAreaBuildingByIds(Long[] ids);

    /**
     * 删除建筑基本信息信息
     *
     * @param id 建筑基本信息主键
     * @return 结果
     */
    int deleteAreaBuildingById(Long id);

    /**
     * 删除建筑基本信息信息
     *
     * @param areaBuilding 建筑基本信息对象
     * @return 结果
     */
    int deleteAreaBuilding(AreaBuilding areaBuilding);
}
