package com.usky.sas.service;

import com.usky.common.core.bean.CommonPage;
import com.usky.sas.service.vo.*;

/**
 * 一标六实 服务接口
 */
public interface SasOneStandardSixRealitiesService {

    /**
     * 1.1 实有力量分页查询
     */
    CommonPage<PowerListItem> powerPage(OneStandardSixRealitiesPageRequest request);

    /**
     * 1.2 同步实有力量
     */
    int syncPower();

    /**
     * 2.1 实有设施分页查询
     */
    CommonPage<FacilityListItem> facilityPage(OneStandardSixRealitiesPageRequest request);

    /**
     * 2.2 同步实有设施
     */
    int syncFacility();

    /**
     * 3.1 出入口分页查询
     */
    CommonPage<EntranceListItem> entrancePage(OneStandardSixRealitiesPageRequest request);

    /**
     * 3.2 同步出入口
     */
    int syncEntrance();

    /**
     * 4.1 区域信息分页查询
     */
    CommonPage<AreaListItem> areaPage(OneStandardSixRealitiesPageRequest request);

    /**
     * 4.2 同步区域信息
     */
    int syncArea();

    /**
     * 5.1 房屋信息分页查询
     */
    CommonPage<HouseListItem> housePage(OneStandardSixRealitiesPageRequest request);

    /**
     * 5.2 同步房屋信息
     * @param buildingCode 区域编码（楼栋编码），可选，传入时请求 AG 仅返回该楼栋下的房屋
     */
    int syncHouse(String buildingCode);

    /**
     * 6.1 地块信息分页查询
     */
    CommonPage<VillageListItem> villagePage(OneStandardSixRealitiesPageRequest request);

    /**
     * 6.2 同步地块信息
     */
    int syncVillage();

    /**
     * 6.3 设置默认地块
     */
    void setVillageDefault(String villageCode);
}

