package com.ho.business.service;

import com.ho.business.entity.DeviceTypeCol;
import com.ho.business.vo.req.DeviceTypeColImportVO;
import com.ho.business.vo.req.deviceModel.SynchronousReqVo;
import com.ho.business.vo.req.deviceTypeCol.DeviceTypeColQueryVo;
import com.ho.business.vo.resp.deviceTypeCol.DeviceTypeColCountResp;
import com.ho.common.tools.util.PageResult;

import java.util.List;
import java.util.Set;

/**
 * @Description 针对表【device_type_col】的数据库操作Service
 * @Author xueweizhi
 * @Date 2023/3/16 14:09
 */
public interface DeviceTypeColService {

    int insertList(List<DeviceTypeColImportVO> list,Integer GroupId);

    List<DeviceTypeCol> selectByDeviceType(String deviceType,String lang);

    DeviceTypeCol selectById(Integer id);


    DeviceTypeCol selectTypeAndCol(String col, String deviceType,String lang);

    List<DeviceTypeCol> selectDeviceTypeColList(String deviceType,List<String> collect,String lang);

    Integer selectCountByDeviceType(DeviceTypeCol deviceTypeCol);

    /**
     * 分页查询点表信息
     * @param vo
     * @return
     */
    PageResult<DeviceTypeCol> selectPage(DeviceTypeColQueryVo vo);

    List<DeviceTypeCol> selectDeviceTypeCol(DeviceTypeColQueryVo vo);

    void syPointTable(SynchronousReqVo vo);

    List<String> selectType(Set<String> collect);

    List<DeviceTypeCol> selectAllData(Integer colBeginId, Integer allNum);

    List<DeviceTypeCol> selectByBatchId(List<Integer> devictTypeIdList);

    /**
     * 跟据设备类型统计个测点数据个数
     * @param typeList
     * @return
     */
    List<DeviceTypeColCountResp> countByDeviceType(List<String> typeList);
}
