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