package com.cmvr.device.service;

import java.util.List;
import com.cmvr.device.domain.DeDeviceProfile;
import com.cmvr.device.domain.DeDeviceRegistration;
import com.cmvr.device.domain.vo.ProfileVo;
import com.cmvr.device.domain.vo.TeMechanicalArmVo;
import org.apache.ibatis.annotations.Param;

/**
 * 设备配置信息Service接口
 * 
 * @author cmvr-iot
 * @date 2025-05-09
 */
public interface IDeDeviceProfileService 
{
    /**
     * 根据设备id查询设备配置信息
     * 
     * @param id 设备id
     * @return 设备配置信息
     */
    public List<DeDeviceProfile> selectDeDeviceProfileById(String id);


    /**
     * 根据设备id和备注查询相关参数信息
     * @param id 设备id
     * @param remark 备注
     * @return
     */
    public List<DeDeviceProfile> selectProfileByIdAndRemark(String id,String remark);


    /**
     * 根据设备id和参数名称，修改参数值
     * @param mechanicalArmVo 配置参数信息
     * @return 结果
     */
    public int updateProfileByIdAndByName(TeMechanicalArmVo mechanicalArmVo);


    /**
     * 查询设备配置信息列表
     * 
     * @param deDeviceProfile 设备配置信息
     * @return 设备配置信息集合
     */
    public List<ProfileVo> selectDeDeviceProfileList(DeDeviceProfile deDeviceProfile);

    /**
     * 新增设备配置信息
     * 
     * @param deDeviceProfile 设备配置信息
     * @return 结果
     */
    public int insertDeDeviceProfile(List<DeDeviceProfile> deDeviceProfile);

    /**
     * 修改设备配置信息
     * 
     * @param deDeviceProfiles 设备配置信息
     * @return 结果
     */
    public int updateDeDeviceProfile(List<DeDeviceProfile> deDeviceProfiles);

    /**
     * 批量删除设备配置信息
     * 
     * @param ids 需要删除的设备配置信息主键集合
     * @return 结果
     */
    public int deleteDeDeviceProfileByIds(String[] ids);

    /**
     * 删除设备配置信息信息
     * 
     * @param id 设备配置信息主键
     * @return 结果
     */
    public int deleteDeDeviceProfileById(String id);
}
