using GB5Shared.DTO.Framework.Login; using MMDAL.DTO.Scheduling; namespace MMBLL.Scheduling { public interface ISchedulingRunBLL { Task ProcessSchedulingRunAsync( SchedulingRunTriggerDTO trigger, int schedulingRunId, LoginDTO loginDTO, IProgress progress, CancellationToken ct); Task RescheduleAsync( SchedulingRunTriggerDTO trigger, LoginDTO loginDTO, CancellationToken ct); Task GetSchedulingRunLog( int runId, LoginDTO loginDTO, CancellationToken ct = default); Task> GetSchedulingRunLogList( LoginDTO loginDTO, CancellationToken ct = default); Task> GetResourcePlanByIndent( int indentDetailId, LoginDTO loginDTO, CancellationToken ct = default); Task> GetResourcePlanByMachine( int machineId, DateTime dateFrom, DateTime dateTo, LoginDTO loginDTO, CancellationToken ct = default); Task LockResourcePlan(int resourcePlanId, LoginDTO loginDTO); Task GetESERunTraceAsync(int runId, LoginDTO loginDTO, CancellationToken ct = default); Task GetSchedulingRunDetailLogAsync(int runId, LoginDTO loginDTO, CancellationToken ct = default); // ── Plan Lifecycle ──────────────────────────────────────────────────── Task FirmPlanAsync(FirmPlanDTO dto, LoginDTO loginDTO, CancellationToken ct = default); Task ReleasePlanAsync(IEnumerable resourcePlanIds, LoginDTO loginDTO, CancellationToken ct = default); Task StartWorkOrderAsync(int resourcePlanId, DateTime actualStart, LoginDTO loginDTO, CancellationToken ct = default); Task StopWorkOrderAsync(StopWorkOrderDTO dto, LoginDTO loginDTO, CancellationToken ct = default); } }