using OrpaonVision.Core.Results; using OrpaonVision.Model.Production; namespace OrpaonVision.Core.Production; /// /// 运行部件判定仓储接口。 /// public interface IRunPartJudgmentRepository { /// /// 创建部件判定。 /// /// 部件判定模型。 /// 取消令牌。 /// 创建结果。 Task> CreateAsync(RunPartJudgmentModel judgment, CancellationToken cancellationToken = default); /// /// 更新部件判定。 /// /// 部件判定模型。 /// 取消令牌。 /// 更新结果。 Task> UpdateAsync(RunPartJudgmentModel judgment, CancellationToken cancellationToken = default); /// /// 根据ID获取部件判定。 /// /// 判定ID。 /// 取消令牌。 /// 部件判定模型。 Task> GetByIdAsync(Guid judgmentId, CancellationToken cancellationToken = default); /// /// 根据层级会话ID获取部件判定列表。 /// /// 层级会话ID。 /// 取消令牌。 /// 部件判定列表。 Task>> GetByLayerSessionIdAsync(Guid layerSessionId, CancellationToken cancellationToken = default); /// /// 根据产品会话ID获取部件判定列表。 /// /// 产品会话ID。 /// 取消令牌。 /// 部件判定列表。 Task>> GetBySessionIdAsync(Guid sessionId, CancellationToken cancellationToken = default); /// /// 根据结果获取部件判定列表。 /// /// 判定结果。 /// 取消令牌。 /// 部件判定列表。 Task>> GetByResultAsync(RunPartJudgmentResult result, CancellationToken cancellationToken = default); /// /// 分页查询部件判定。 /// /// 页索引。 /// 页大小。 /// 产品类型编码(可选)。 /// 判定结果(可选)。 /// 开始时间(可选)。 /// 结束时间(可选)。 /// 取消令牌。 /// 分页结果。 Task>> GetPagedAsync( int pageIndex, int pageSize, string? productTypeCode = null, RunPartJudgmentResult? result = null, DateTime? startTime = null, DateTime? endTime = null, CancellationToken cancellationToken = default); /// /// 删除部件判定。 /// /// 判定ID。 /// 取消令牌。 /// 删除结果。 Task> DeleteAsync(Guid judgmentId, CancellationToken cancellationToken = default); /// /// 批量删除部件判定。 /// /// 产品会话ID列表。 /// 取消令牌。 /// 删除结果。 Task> DeleteBySessionIdsAsync(List sessionIds, CancellationToken cancellationToken = default); /// /// 批量删除层级会话的部件判定。 /// /// 层级会话ID列表。 /// 取消令牌。 /// 删除结果。 Task> DeleteByLayerSessionIdsAsync(List layerSessionIds, CancellationToken cancellationToken = default); }