package com.njcn.mapper.configuration;

import com.njcn.pojo.configuration.DicData;
import com.njcn.pojo.excelBody.DicDataExcelBody;
import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.common.Mapper;

import java.util.List;

public interface DicDataMapper extends Mapper<DicData> {
    // 删除
    int deleteData(DicData dic);

    // 修改
    int updateData(DicData dic);

    // 根據id查詢
    DicData selectId(String dicIndex);

    // 查询区域
    List<DicData> setArea(@Param("sysType") String sysType,@Param("dicTypeName")String dicTypeName);

    // 查询区域
    List<DicData> setAreaNo(@Param("deptIndex") String deptIndex, @Param("sysType") String sysType,@Param("dicTypeName")String dicTypeName);

    // 查找接线方式
    List<DicData> selectWring(@Param("dicTypeName")String dicTypeName);

    // 查询排序的最大
    int selNumMax();

    // 查询除此之外的所有名称
    List<DicData> selectName(@Param(value = "dicIndex") String dicIndex, @Param(value = "dicType") String dicType);

    // 查询总条数
    int selCount(String dicTypeIndex);

    // 根据typeID查询所有
    List<DicData> selAll(@Param("typeId") String typeId);

    // 查询省份区域
    List<DicData> queryDicPro(@Param("typeId") String typeId);

    //根据字典名称查询省份区域index
    DicData queryProIdByname(String dicName);

    // 查询所有
    List<DicData> seleAll(@Param("name") String name);

    List<DicData> selAllId(@Param("typeId") String typeId);

    List<DicData> selAllType(@Param("typeId")List<String> typeId);

    List<DicData> selectDataName(@Param(value = "dicIndex") String dicIndex);

    DicData getSelName(String name);

    List<DicData> selectWiring(@Param(value = "typeId") String typeId,@Param("dicTypeName")String dicTypeName);

    // 查询重复
    List<DicData> selectdicName(String dicName);

    //获取该表所有数据，提供excel导出
    List<DicDataExcelBody> selectAllExcelData();

    //查询资源类目
    List<DicData> getMangType(@Param("dicTypeName")String dicTypeName);

    //获取出字典表指定索引
    String getDicDataIndex(@Param("type") String type, @Param("temp")int temp);

    List<DicData> getOffTreeType(List<Integer> index);

    List<DicData> getTreeScale(List<Integer> index);
    List<DicData> getTreeManc(List<Integer> index);
    List<DicData> getTreeLoadType(List<Integer> index);

    //更新字典表
    void updateByPrimaryKeyBySql(DicData dicDataTemp);

    String getDicName(@Param("dicIndex")String dicIndex);

    //根据类型获取所有类型数据
    List<DicData> getTartgetTypeForDic(String type);
}
