package com.ruoyi.asset.service;

import java.util.List;
import com.ruoyi.asset.domain.AmsAsset;

/**
 * 资产台账Service接口
 * 
 * @author Yangk
 * @date 2026-06-04
 */
public interface IAmsAssetService 
{
    /**
     * 查询资产台账
     * 
     * @param assetId 资产台账主键
     * @return 资产台账
     */
    public AmsAsset selectAmsAssetByAssetId(Long assetId);

    /**
     * 查询资产台账列表
     * 
     * @param amsAsset 资产台账
     * @return 资产台账集合
     */
    public List<AmsAsset> selectAmsAssetList(AmsAsset amsAsset);

    /**
     * 查询可绑定RFID标签的资产列表
     *
     * @param amsAsset 查询条件
     * @return 可绑定资产集合
     */
    public List<AmsAsset> selectBindableAmsAssetList(AmsAsset amsAsset);

    /**
     * 校验资产编码是否唯一
     *
     * @param amsAsset 资产台账
     * @return 结果
     */
    public boolean checkAssetCodeUnique(AmsAsset amsAsset);

    /**
     * 导入资产台账数据
     *
     * @param assetList 资产台账数据列表
     * @param isUpdateSupport 是否更新支持，一期资产台账不覆盖已有资产
     * @param operName 操作用户
     * @return 结果
     */
    public String importAmsAsset(List<AmsAsset> assetList, Boolean isUpdateSupport, String operName);

    /**
     * 新增资产台账
     * 
     * @param amsAsset 资产台账
     * @return 结果
     */
    public int insertAmsAsset(AmsAsset amsAsset);

    /**
     * 修改资产台账
     * 
     * @param amsAsset 资产台账
     * @return 结果
     */
    public int updateAmsAsset(AmsAsset amsAsset);

    /**
     * 批量删除资产台账
     * 
     * @param assetIds 需要删除的资产台账主键集合
     * @return 结果
     */
    public int deleteAmsAssetByAssetIds(String assetIds);

    /**
     * 删除资产台账信息
     * 
     * @param assetId 资产台账主键
     * @return 结果
     */
    public int deleteAmsAssetByAssetId(Long assetId);
}
