package com.usky.fire.service;

import com.usky.common.core.bean.CommonPage;
import com.usky.common.mybatis.core.CrudService;
import com.usky.fire.domain.DemMicroStation;
import com.usky.fire.service.vo.DemMicroStationExportVO;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 微型消防站 服务类
 * </p>
 *
 * @author JCB
 * @since 2022-10-24
 */
public interface DemMicroStationService extends CrudService<DemMicroStation> {

    /**
     * 消防站点管理-列表
     *
     * @param squadron    所属中队
     * @param stationName 消防站名称
     * @param stationType 消防站类型（1：微消站;2：专职站，3：重点微消站）
     * @param id          主键ID
     * @param pageNum     当前页
     * @param pageSize    每页条数
     * @return
     */
    CommonPage<Map<String, Object>> microStationList(String squadron, String stationName,String stationType, Integer id, Integer pageNum, Integer pageSize);

    /**
     * 消防站点管理-列表-导出
     *
     * @param squadron    所属中队
     * @param stationName 消防站名称
     * @param stationType 消防站类型（1：微消站;2：专职站，3：重点微消站）
     */
    List<DemMicroStationExportVO> microStationListExport(String squadron, String stationName, String stationType);

    /**
     * 消防站点管理-修改
     *
     * @param demMicroStation
     */
    void updateMicroStation(DemMicroStation demMicroStation);

    /**
     * 消防站点管理-删除
     *
     * @param id 主键ID
     */
    void delMicroStation(Integer id);

    /**
     * 消防水源管理-天然水源维护-所属中队下拉框
     *
     * @param branchName 支队名称
     * @return
     */
    List<Map<String, Object>> microStationDroplistList(String branchName);

    List<Object> microStationScatterer(String streetTown);

    List<Object> synthesizePoliceSituationScatterer(String streetTown, String scattererType);

    CommonPage<DemMicroStation> page(Integer current, Integer size, String stationName);
}
