package com.ruoyi.asset.service;

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

/**
 * 资产履历公共服务
 *
 * @author Yangk
 */
public interface IAssetLifecycleService
{
    /**
     * 按资产ID查询履历
     *
     * @param assetId 资产ID
     * @return 资产履历集合
     */
    public List<AmsAssetLifecycleLog> selectByAssetId(Long assetId);

    /**
     * 判断标签是否已有RFID绑定或解绑履历
     *
     * @param tagId 标签ID
     * @return 是否已有RFID履历
     */
    public boolean hasRfidLifecycle(Long tagId);

    /**
     * 记录资产业务变化履历
     *
     * @param beforeAsset 变更前资产快照
     * @param afterAsset 变更后资产快照
     * @param lifecycleLog 业务来源、操作人和变更摘要
     * @return 结果
     */
    public int recordLifecycle(AmsAsset beforeAsset, AmsAsset afterAsset, AmsAssetLifecycleLog lifecycleLog);
}
