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

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.casic.missiles.modular.system.dto.*;
import com.casic.missiles.modular.system.model.BusWellInfo;
import com.casic.missiles.core.datascope.DataScope;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 闸井信息表 Mapper 接口
 * </p>
 *
 * @author stylefeng123
 * @since 2019-05-13
 */
public interface BusWellInfoMapper extends BaseMapper<BusWellInfo> {

    List<BusWellInfo> selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page<BusWellInfo> page, @Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") String deptid, @Param("bfzt") String bfzt);



    List<WatchDataDto> watchData(@Param("id") Long id);



    List<BatchExportDataDto> selectDataScope(@Param("scope") DataScope dataScope, @Param("page") Page<BatchExportDataDto> page, @Param("wellType") String deviceType, @Param("deptid") String deptid, @Param("keywords") String keywords);

    List<BatchExportDataDto> getBatchExportData(@Param("scope") DataScope dataScope, @Param("page") Page<BatchExportDataDto> page, @Param("wellType") String deviceType, @Param("deptid") String deptid, @Param("keywords") String keywords);


    Integer deviceCountData(@Param("id") Long id);

    String deptNameData(@Param("deptid") String deptid);

    String getAreaId(@Param("qu") String qu, @Param("area") String area);

    String getAreaPId(@Param("id") String id);

    List<BusWellInfoDto> getWellList(@Param("scope") DataScope dataScope, @Param("keywords") String keywords, @Param("wellType") String deviceType, @Param("deptid") String deptid);


    void updateBatchBfcf(@Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") String deptid, @Param("bfzt") String bfzt, @Param("deptIds") List<Long> deptIds);

    void updateCoordinates(@Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") String deptid, @Param("bfzt") String bfzt, @Param("LNG_BAIDU") List<Long> deptIds);

    Boolean isExistWellCode(@Param("wellCode") String wellCode);

    List<BusWellInfo> getWellListAll();




}
