Files
IOT_API/Service/Interface/Asset/IEquipmentService.cs
T

66 lines
2.8 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using Model;
using Model.Entity.Asset;
using SqlSugar;
using System.Collections.Generic;
using System.Threading.Tasks;
namespace Service.Interface
{
/// <summary>
/// 设备台账服务接口(资产管理)
/// </summary>
public interface IEquipmentService : IBaseService<EquipmentEntity>
{
/// <summary>
/// 分页查询设备台账(支持按关键字、分类、状态筛选)
/// </summary>
/// <param name="pageIndex">页码(从1开始)</param>
/// <param name="pageSize">每页数量</param>
/// <param name="total">总页数(输出参数)</param>
/// <param name="keyword">关键字(模糊匹配设备编号/名称)</param>
/// <param name="categoryId">设备分类Id0表示不过滤)</param>
/// <param name="status">设备状态(null表示不过滤)</param>
/// <returns>返回包含分页数据的 Result</returns>
Task<Result<List<EquipmentEntity>>> GetPagedAsync(int pageIndex, int pageSize, RefAsync<int> total,
string? keyword, long categoryId = 0, EquipmentStatusEnum? status = null);
/// <summary>
/// 根据 Id 获取设备台账详情
/// </summary>
/// <param name="id">主键 Id</param>
/// <returns>返回包含设备详情的 Result</returns>
Task<Result<EquipmentEntity>> GetByIdAsync(long id);
/// <summary>
/// 更新设备台账
/// </summary>
/// <param name="entity">设备实体(必须包含 Id</param>
/// <returns>返回操作是否成功的 Result</returns>
Task<Result<bool>> UpdateAsync(EquipmentEntity entity);
/// <summary>
/// 软删除设备台账(置 IsDel = 1)
/// </summary>
/// <param name="id">主键 Id</param>
/// <returns>返回操作是否成功的 Result</returns>
Task<Result<bool>> DeleteEquipmentAsync(long id);
/// <summary>
/// 变更设备状态,并记录状态变更历史(事务保证一致性)
/// </summary>
/// <param name="equipmentId">设备 Id</param>
/// <param name="toStatus">目标状态</param>
/// <param name="operatorName">操作人</param>
/// <param name="remark">变更原因/备注</param>
/// <returns>返回操作是否成功的 Result</returns>
Task<Result<bool>> ChangeStatusAsync(long equipmentId, EquipmentStatusEnum toStatus, string? operatorName, string? remark);
/// <summary>
/// 查询指定设备的状态变更历史记录(按变更时间倒序)
/// </summary>
/// <param name="equipmentId">设备 Id</param>
/// <returns>返回包含状态记录列表的 Result</returns>
Task<Result<List<EquipmentStatusRecordEntity>>> GetStatusRecordsAsync(long equipmentId);
}
}