// @ts-ignore
/* eslint-disable */

declare namespace KANBAN.ProductionProgress {
  type ServiceResult<T> = {
    success: boolean;
    data: T;
    errorCode: string;
    errorMessage: string;
    showType: number;
    traceId: string;
    host: string;
  };

  type SgNoSourceType = {
    id: string;
    code: string;
  };

  type Progress = {
    steps: ProgressStep[];
  };

  type ProgressStep = {
    code: string;
    ordinal: number;
    name: string;
  };

  type ProductionProgressKanbanSetting = {
    id: string;
    subTitle1: string;
    subTitle2: string;
    werks: string;
    fevor: string;
    overdueNone: number;
    overdueWarn: number;
    overdueSeverity: number;
    sgNoSourceType: SgNoSourceType;
    progress: Progress;
  };

  type ProductionProgressKanbanDataCriteria = {
    productionProgressKanbanSettingId: string;
    gstrpFrom: string;
    gstrpTo: string;
  };

  type ProductionProgressKanbanDataDto = {
    aufnr: string;
    gstrp: string;
    werks: string;
    fevor: string;
    zgh?: string;
    sgNo?: string;
    planQuantity: number;
    stepData: StepData[];
  };

  type StepData = {
    aufnr: string;
    stepCode: string;
    stepName: string;
    actualQuantity: number;
    plannedEndDate: string;
    actualEndDate: string;
  };
}
