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;
namespace NPP.SmartSchedue.Api.Contracts.Services.Work;
///
/// 工序组服务接口
///
public interface IProcessGroupService
{
Task GetAsync(long id);
Task> GetPageAsync(PageInput input);
///
/// 获取所有工序组列表
///
/// 工序组列表
Task> GetAllAsync();
Task AddAsync(ProcessGroupAddInput input);
Task UpdateAsync(ProcessGroupUpdateInput input);
Task DeleteAsync(long id);
Task SoftDeleteAsync(long id);
Task BatchSoftDeleteAsync(long[] ids);
///
/// 获取工序组的所有工序
///
/// 工序组ID
/// 工序列表
Task> GetGroupProcessesAsync(long groupId);
///
/// 为工序组添加工序
///
/// 添加工序参数
/// 添加结果
Task AddProcessToGroupAsync(ProcessGroupRelationInput input);
///
/// 从工序组移除工序
///
/// 工序组ID
/// 工序ID
/// 移除结果
Task RemoveProcessFromGroupAsync(long groupId, long processId);
}