package com.casic.missiles.modular.system.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.casic.missiles.core.datascope.DataScope;
import com.casic.missiles.model.response.SuccessResponseData;
import com.casic.missiles.modular.system.dto.BusConfigDTO;
import com.casic.missiles.modular.system.model.BusConfig;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * <p>
 * 设备配置表 服务类
 * </p>
 *
 * @author stylefeng123
 * @since 2019-05-16
 */
public interface IBusConfigService extends IService<BusConfig> {
    /**
     * 设备配置列表获取
     *
     * @param page       分页参数
     * @param keywords   关键字
     * @param deptid     组织id
     * @param deviceType 设备类型
     * @param dataScope  数据权限
     * @return
     */
    List<BusConfigDTO> getConfigList(Page<BusConfigDTO> page,
                                     String keywords,
                                     String deptid,
                                     Long deviceType,
                                     DataScope dataScope);

    /**
     * 根据设备获取集中器编号
     *
     * @param devID
     * @return
     */
    String getConcenCodeByDevId(Long devID);

    /**
     * 根据设备获取井深
     *
     * @param devID 设备主键
     * @return
     */
    String getWellDeepByDevId(Long devID);

    /**
     * 添加设备配置
     *
     * @param busConfigDTO 设备实体
     */
    void addConfig(BusConfigDTO busConfigDTO);

    /**
     * 修改设备配置
     *
     * @param busConfigDTO
     */
    void updateConfig(BusConfigDTO busConfigDTO);

    /**
     * 获取设备配置
     *
     * @param devId 设备主键
     * @return
     */
    List<BusConfig> getListBydevId(Long devId);

    /**
     * 液位设备配置导入
     *
     * @param busConfigDTOList 附件
     * @return
     */
    SuccessResponseData imp(List<BusConfigDTO> busConfigDTOList);

    /**
     * 设备配置导出
     *
     * @param busConfigDTOList 设备配置列表
     * @param response         请求响应
     */
    void exp(List<BusConfigDTO> busConfigDTOList, HttpServletResponse response);


}



