using System;
using System.Threading.Tasks;
using System.Collections.Generic;
using ZhonTai.Admin.Core.Dto;
using NPP.SmartSchedue.Api.Contracts.Services.Work.Input;
using NPP.SmartSchedue.Api.Contracts.Services.Work.Output;
using NPP.SmartSchedue.Api.Contracts.Core.Enums;
namespace NPP.SmartSchedue.Api.Contracts.Services.Work;
///
/// 工作任务服务接口
///
public interface IWorkOrderService
{
///
/// 查询
///
///
///
Task GetAsync(long id);
///
/// 查询分页
///
///
///
Task> GetPageAsync(PageInput input);
///
/// 添加
///
///
///
Task AddAsync(WorkOrderAddInput input);
///
/// 批量添加
///
///
///
Task BatchAddAsync(BatchWorkOrderAddInput input);
///
/// 修改
///
///
///
Task UpdateAsync(WorkOrderUpdateInput input);
///
/// 删除
///
///
///
Task DeleteAsync(long id);
///
/// 软删除
///
///
///
Task SoftDeleteAsync(long id);
///
/// 批量软删除
///
///
///
Task BatchSoftDeleteAsync(long[] ids);
///
/// 更新任务状态
///
///
///
///
Task UpdateStatusAsync(long id, WorkOrderStatusEnum status);
///
/// 开始任务
///
///
///
Task StartAsync(long id);
///
/// 完成任务
///
///
///
///
Task CompleteAsync(long id, decimal? actualWorkHours = null);
///
/// 单个任务自检
///
///
///
Task ValidateWorkOrderAsync(SingleWorkOrderValidationInput input);
///
/// 多个任务自检
///
///
///
Task ValidateMultipleWorkOrdersAsync(WorkOrderValidationInput input);
///
/// 根据用户ID查询任务列表
///
/// 用户ID
///
Task> GetByUserIdAsync(long userId);
}