package com.xinda.iot.service;

import com.xinda.iot.domain.ThingsModelStandard;
import com.xinda.iot.model.ImportStandardModelInput;

import java.util.List;

/**
 * 通用物模型Service接口
 *
 * @author kerwincui
 * @date 2021-12-16
 */
public interface IThingsModelStandardService
{
    /**
     * 查询通用物模型
     *
     * @param templateId 通用物模型主键
     * @return 通用物模型
     */
    public ThingsModelStandard selectThingsModelStandardByTemplateId(Long templateId);

    /**
     * 查询通用物模型列表
     *
     * @param thingsModelStandard 通用物模型
     * @return 通用物模型集合
     */
    public List<ThingsModelStandard> selectThingsModelStandardList(ThingsModelStandard thingsModelStandard);

    public List<ThingsModelStandard> selectModelListByStandardId(Long standardId);

    /**
     * 新增通用物模型
     *
     * @param thingsModelStandard 通用物模型
     * @return 结果
     */
    public int insertThingsModelStandard(ThingsModelStandard thingsModelStandard);

    /**
     * 修改通用物模型
     *
     * @param thingsModelStandard 通用物模型
     * @return 结果
     */
    public int updateThingsModelStandard(ThingsModelStandard thingsModelStandard);


    /**
     * 批量删除通用物模型
     *
     * @param templateIds 需要删除的通用物模型主键集合
     * @return 结果
     */
    public int deleteThingsModelStandardByTemplateIds(Long[] templateIds);

    /**
     * 删除通用物模型信息
     *
     * @param templateId 通用物模型主键
     * @return 结果
     */
    public int deleteThingsModelStandardByTemplateId(Long templateId);

    /**
     * 导入采集点数据
     * @param lists 数据列表
     * @param tempSlaveId 从机编码
     * @return 结果
     */
    public String importData(List<ThingsModelStandard> lists,String tempSlaveId);

    /**
     * 导出采集点数据
     *
     * @param thingsModelStandard 通用物模型
     * @return 通用物模型集合
     */
    public List<ThingsModelStandard> selectThingsModelStandardExport(ThingsModelStandard thingsModelStandard);

}
