using GB5Shared.DTO.Framework.Criteria; using GB5Shared.DTO.Framework.Login; using MMDAL.DTO.Indent; namespace MMBLL.Indent { public interface IIndentBLL { // ── Picklist (existing) ──────────────────────────────────────────────── Task GetSelectListIndent(int FirstNumber, int MaxResult, CriteriaDTO CriteriaDTO, LoginDTO LoginDTO); Task AmendmentSelectList(int FirstNumber, int MaxResult, CriteriaDTO CriteriaDTO, LoginDTO LoginDTO); // ── Phase 7: Production.svc parity — combine-indent / report picklists ── Task GetCombineIndentSelectList(int FirstNumber, int MaxResult, CriteriaDTO CriteriaDTO, LoginDTO LoginDTO); Task GetIndentReportSelectList(int FirstNumber, int MaxResult, CriteriaDTO CriteriaDTO, LoginDTO LoginDTO); // ── Phase 1: CRUD ────────────────────────────────────────────────────── Task GetIndent(int indentId, LoginDTO login, CancellationToken ct); Task GetIndentList(int ouId, int firstNumber, int maxResult, LoginDTO login, CancellationToken ct); Task SaveIndent(IndentSaveDTO dto, LoginDTO login, CancellationToken ct); Task DeleteIndent(int indentId, LoginDTO login, CancellationToken ct); // ── Phase 2: Generate WO from SO ────────────────────────────────────── Task GetSOLineForWO(int mmDetailId, LoginDTO login, CancellationToken ct); Task GenerateWorkOrderFromSO(int mmDetailId, IndentGenerationParamsDTO genParams, LoginDTO login, CancellationToken ct); // ── Phase 3: Generate WO from Production Plan ───────────────────────── Task GetProductionPlanLineForWO(int productionPlanDetailId, LoginDTO login, CancellationToken ct); Task GenerateWorkOrderFromProductionPlan(int productionPlanDetailId, IndentGenerationParamsDTO genParams, LoginDTO login, CancellationToken ct); // ── Phase 6: Multi-level BOM WO generation ──────────────────────────── Task PreviewMultiLevelWO(MultiLevelWORequestDTO request, LoginDTO login, CancellationToken ct); Task GenerateMultiLevelWO(MultiLevelWORequestDTO request, LoginDTO login, CancellationToken ct); // ── Phase 2 (Production): WO lifecycle ──────────────────────────────── Task SplitWorkOrder(SplitWorkOrderDTO dto, LoginDTO login, CancellationToken ct); Task CloseWorkOrder(int indentDetailId, LoginDTO login, CancellationToken ct); Task ShortCloseWorkOrder(int indentDetailId, decimal closedQuantity, LoginDTO login, CancellationToken ct); Task AmendWorkOrder(IndentSaveDTO dto, int originalIndentId, LoginDTO login, CancellationToken ct); Task CheckBOMFeasibility(int indentDetailId, LoginDTO login, CancellationToken ct); Task GetSupervisorWorkbenchKPI(int ouId, LoginDTO login, CancellationToken ct); // ── Production Phase 6 (Supervisor Workbench) ───────────────────────── Task AssignResources(ResourceAssignmentDTO dto, LoginDTO login, CancellationToken ct); Task ReleaseWorkOrder(int indentDetailId, byte releaseMode, LoginDTO login, CancellationToken ct); Task GetSupervisorWOList(int ouId, int statusFilter, int firstNumber, int maxResult, LoginDTO login, CancellationToken ct); Task GetIndentById(int indentId, LoginDTO loginDTO, CancellationToken ct); Task SaveWorkOrder(IndentSaveDTO IndentSaveDTO, LoginDTO loginDTO); Task> GetListOfIndent(CriteriaDTO criteriaDTO, LoginDTO loginDTO); // ── Phase 7: Project-wise shortage report (GB4 port) ────────────────── Task GetProjectWiseShortage(int firstNumber, int maxResult, CriteriaDTO criteriaDTO, LoginDTO login, CancellationToken ct); // ── Phase 7: Indent reference-number picklist (GB4 port) ────────────── Task GetSelectListIndentRefNumber(int firstNumber, int maxResult, LoginDTO login, CancellationToken ct); } }