package com.aucma.base.service;

import java.util.List;
import com.aucma.base.domain.BaseDeviceParamVal;

/**
 * 设备工艺参数当前值Service接口
 * 
 * @author zch
 * @date 2025-10-15
 */
public interface IBaseDeviceParamValService 
{
    /**
     * 查询设备工艺参数当前值
     * 
     * @param recordId 设备工艺参数当前值主键
     * @return 设备工艺参数当前值
     */
    public BaseDeviceParamVal selectBaseDeviceParamValByRecordId(Long recordId);

    /**
     * 查询设备工艺参数当前值列表
     * 
     * @param baseDeviceParamVal 设备工艺参数当前值
     * @return 设备工艺参数当前值集合
     */
    public List<BaseDeviceParamVal> selectBaseDeviceParamValList(BaseDeviceParamVal baseDeviceParamVal);

    /**
     * 查询每设备每参数的最新记录列表（聚合最新值）
     *
     * @param baseDeviceParamVal 查询条件
     * @return 最新记录集合
     */
    public List<BaseDeviceParamVal> selectLatestBaseDeviceParamValList(BaseDeviceParamVal baseDeviceParamVal);

    /**
     * 新增设备工艺参数当前值
     * 
     * @param baseDeviceParamVal 设备工艺参数当前值
     * @return 结果
     */
    public int insertBaseDeviceParamVal(BaseDeviceParamVal baseDeviceParamVal);

    /**
     * 修改设备工艺参数当前值
     * 
     * @param baseDeviceParamVal 设备工艺参数当前值
     * @return 结果
     */
    public int updateBaseDeviceParamVal(BaseDeviceParamVal baseDeviceParamVal);

    /**
     * 批量删除设备工艺参数当前值
     * 
     * @param recordIds 需要删除的设备工艺参数当前值主键集合
     * @return 结果
     */
    public int deleteBaseDeviceParamValByRecordIds(Long[] recordIds);

    /**
     * 删除设备工艺参数当前值信息
     * 
     * @param recordId 设备工艺参数当前值主键
     * @return 结果
     */
    public int deleteBaseDeviceParamValByRecordId(Long recordId);
}
