package com.aucma.base.mapper;

import java.util.List;
import com.aucma.base.domain.BaseDeviceLedger;
import org.apache.ibatis.annotations.Param;

/**
 * 设备台账Mapper接口
 * 
 * @author Yinq
 * @date 2023-09-19
 */
public interface BaseDeviceLedgerMapper 
{
    /**
     * 查询设备台账
     * 
     * @param objId 设备台账主键
     * @return 设备台账
     */
    public BaseDeviceLedger selectBaseDeviceLedgerByObjId(@Param("objId") Long objId);

    /**
     * 查询设备台账列表
     * 
     * @param baseDeviceLedger 设备台账
     * @return 设备台账集合
     */
    public List<BaseDeviceLedger> selectBaseDeviceLedgerList(BaseDeviceLedger baseDeviceLedger);

    /**
     * 新增设备台账
     * 
     * @param baseDeviceLedger 设备台账
     * @return 结果
     */
    public int insertBaseDeviceLedger(BaseDeviceLedger baseDeviceLedger);

    /**
     * 修改设备台账
     * 
     * @param baseDeviceLedger 设备台账
     * @return 结果
     */
    public int updateBaseDeviceLedger(BaseDeviceLedger baseDeviceLedger);

    /**
     * 删除设备台账
     * 
     * @param objId 设备台账主键
     * @return 结果
     */
    public int deleteBaseDeviceLedgerByObjId(@Param("objId") Long objId);

    /**
     * 批量删除设备台账
     * 
     * @param objIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteBaseDeviceLedgerByObjIds(@Param("objIds") Long[] objIds);

    /**
     * 获取设备编号
     * @return
     */
    public String getDeviceCode();

    /**
     * 统计有效设备数量
     * @return 设备数量
     */
    public int countValidDevices();
}
