66 lines
2.8 KiB
C#
66 lines
2.8 KiB
C#
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">设备分类Id(0表示不过滤)</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);
|
||
}
|
||
}
|