{"version":3,"file":"6277.35adf4e860513b3a.js","mappings":"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","names":["getColoredYarnSetPaths","productionSchedulePathsOfColoredYarnSets","reedDensityInDentsPerMeter","map","productionSchedulePathsOfColoredYarnSet","coloredYarnSet","productionScheduleColoredYarnSet","result","toJSON","technicalWidthInDents","commercialWidthInMM","convertCommercialUnit","from","unit","Unit","METER","value","convertDentsToWidthInMeter","to","MILLIMETER","Floorplan","constructor","dimensionsInPx","machines","this","_dimensionsInPx","_machines","addMachine","machine","push","HttpMachineOverviewService","_HttpMachineOverviewService","httpClient","backendConfiguration","getListOfCustomSettings","get","getMachineOverviewEndpoint","pipe","rxjsMap","saveCustomSettings","chosenSettings","put","updateMachinePosition","coordinatesInPx","x","Math","round","y","newPositionObject","machineId","id","addMachineToFloorplan","post","getFloorplan","OverviewMachine","fromJSON","heightInPx","widthInPx","hasAlreadyAdjustedCustomSettings","alreadyAdjustedCustomSettings","getMessages","start","count","filter","messages","message","Message","saveMachineFiles","files","deleteMachineFiles","options","headers","body","delete","getRemoteAccessUrl","getRootGroup","machineGroupJSON","OverviewMachineGroup","i0","i1","i2","factory","ɵfac","HttpProductionSchedulesService","_HttpProductionSchedulesService","isIdentifierAvailable","name","params","HttpParams","set","getAggregatorEndpoint","response","productionScheduleNameAvailable","createProductionSchedule","machineSummary","machineQuality","practicalPickDensityInPicksPerMM","coloredYarnSets","creel","runId","mappingForCurrentPositionOnMachine","productConfiguration","isSample","canAddJute","hmiVersion","addToPlanboard","preselectionId","getProductionScheduleEndpoint","productionScheduleJSON","ProductionSchedule","decreateProductionOrder","decreatedProductionOrder","switchMap","saveDesignsAndOrderLines","designs","orderLines","getAll","of","getById","save","productionSchedule","update","updateWithMachineQualityChanged","isMachineQualityChanged","query","getConflicts","conflictsJSON","conflictJSON","Conflict","setProductionSchedulePlan","productionScheduleId","patch","coloredYarnSetPaths","productionSchedulePlanJSON","verifyProductionSchedule","manualSave","productionSchedulePhase","cancelTemporarySavedChanges","getProductionOrderEndpoint","checkVerifyProductionSchedule","type","startDent","coloredYarnSetPathNr","completeAndPlan","completeAndQueue","process","designIds","drawing","orderLineIds","orderLine","getEndpoint","savePreselectionList","orderLinesIds","gridModel","configurationIds","updatePreselectionList","getDesignsAndOrderLines","status","ProductionScheduleStatus","designJSON","isEqual","DrawingType","drawingType","BMP","BmpDrawing","EP","EpDrawing","orderLineJSON","ProductionScheduleOrderLine","getPreselectionListById","orderlinesIds","checkPossibleConflictsWithOrderLines","getDuplicatedProductionOrder","productionscheduleJSON","duplicateProductionOrder","productionOrderToDuplicate","tap","productionOrderJSON","getGeneratedProductionOrderName","qualityId","creelId","OverviewMachineColoredYarnSet","_id","_name","_startDent","coloredYarnSetJSON","OverviewMachineCreel","creelColoredYarnSets","_creelColoredYarnSets","creelJSON","coloredYarnSetId","coloredYarnSetName","floorplanId","groups","machineIds","reportItems","_floorplanId","_groups","_machineIds","_reportItems","subMachineGroupJSON","reportItemJSON","ReportItem","getReportItem","reportItemTemplateField","find","reportItem","field","addOrUpdateReportItem","reportItemToAddOrUpdate","getNestedChildMachineIds","nestedChildMachineIds","AssertionUtils","isNullOrUndefined","flatMap","group","ArrayUtils","distinctBy","getNestedChildGroupIds","nestedChildGroupIds","groupId","fromMachineGroupOverviewList","machineGroupOverviewList","_machineGroupOverview","_machineGroupOverview2","OverviewMachineProductionOrder","progress","_progress","BaseOverviewMachineGroup","efficiency","machineType","queue","activeQuality","activeCreel","productionOrder","orderId","rotationsPerMinute","amountOfWarningMessages","roleCode","stopReason","machineGroups","remoteMachine","endTime","speed","_coordinatesInPx","_machineType","_status","_queue","_efficiency","_activeQuality","_activeCreel","_messages","_productionOrder","_orderId","_rotationsPerMinute","_amountOfWarningMessages","_roleCode","_stopReason","_machineGroups","_remoteMachine","_endTime","_speed","machineJSON","_machineJSON$reportIt","isNil","activeMachineQuality","OverviewListMachineQuality","level","MachineType","MachineStatus","currentPick","totalNumberOfPicks","timeSpentInSeconds","durationInSeconds","currentStopReason","abbreviation","pattern","Pattern","color","machineGroup","StringUtils","toDate","amountOfJobsOnQueue","amount","queueRemainingTimeInMs","duration","isStopped","STOPPED_MANUAL","STOPPED_CRITICAL","isDisconnected","DISCONNECTED","isPremium","getReportItemValue","_this$reportItems","updateMachineReportItems","data","_this$reportItems2","updatedReportItem","ReportItemTemplateField","some","updateMachineEfficiency","currentEfficiency","updateMachineStatus","getMachineStatusByLabel","currentStatus","updateMachineMessage","unshift","updateMachineProductionOrder","order","orderProgressChange","updateMachineSpeed","calculateCachedMachineIcon","highestSeverityContextService","getHighestSeverityDataForMachine","cachedMachineIcon","getIconNameForMachineType","highestPriorityLevel","toLowerCase","PlasticProductionOrderModule","_PlasticProductionOrderModule","StockLocationOverviewService","StockLocationSelectionService","MachineOverviewService","provide","PRODUCTION_SCHEDULES","useClass","MACHINE_OVERVIEW","imports","plasticProductionOrderRouting","CrudOverviewDataModule","SharedModule","EditorHeaderModule","MatchingCriteriaModule","ToolSelectionModule","PlasticProductSelectionModule","CustomSettingsDialogHeaderComponent"],"ignoreList":[],"sourceRoot":"webpack:///","sources":["./apps/texconnect/src/app/infrastructure/http/helper/get-colored-yarn-sets-path.ts","./apps/texconnect/src/app/domain/machine/floorplan.ts","./apps/texconnect/src/app/infrastructure/http/machine-overview/http-machine-overview.service.ts","./apps/texconnect/src/app/infrastructure/http/production-schedule/http-production-schedules.service.ts","./apps/texconnect/src/app/presentation/pages/machine-overview/overview-machine-colored-yarn-set.ts","./apps/texconnect/src/app/presentation/pages/machine-overview/overview-machine-creel.ts","./apps/texconnect/src/app/presentation/pages/machine-overview/overview-machine-group.ts","./apps/texconnect/src/app/domain/machine/overview-machine-production-order.ts","./apps/texconnect/src/app/presentation/pages/machine-overview/base-overview-machine-group.ts","./apps/texconnect/src/app/presentation/pages/machine-overview/overview-machine.ts","./apps/texconnect/src/app/presentation/pages/texfab/plastic-production-order/plastic-production-order.module.ts"],"sourcesContent":["import {ProductionSchedulePathsOfColoredYarnSet} from '@domain/production-schedule/production-schedule-paths-of-colored-yarn-set';\nimport {OverviewListColoredYarnSetWithStartDent} from '@domain/textile-data/creel/overview-list-colored-yarn-set-with-start-dent';\nimport {convertCommercialUnit, convertDentsToWidthInMeter, Unit} from '@vdw/angular-component-library';\nimport {map} from 'lodash-es';\n\nexport function getColoredYarnSetPaths(productionSchedulePathsOfColoredYarnSets: ProductionSchedulePathsOfColoredYarnSet[], reedDensityInDentsPerMeter: number): any {\n return map(productionSchedulePathsOfColoredYarnSets, (productionSchedulePathsOfColoredYarnSet: ProductionSchedulePathsOfColoredYarnSet) => {\n const coloredYarnSet: OverviewListColoredYarnSetWithStartDent = productionSchedulePathsOfColoredYarnSet.productionScheduleColoredYarnSet;\n const result: any = productionSchedulePathsOfColoredYarnSet.toJSON();\n\n result.technicalWidthInDents = coloredYarnSet.technicalWidthInDents;\n result.commercialWidthInMM = convertCommercialUnit({\n from: {unit: Unit.METER, value: convertDentsToWidthInMeter(coloredYarnSet.technicalWidthInDents, reedDensityInDentsPerMeter)},\n to: Unit.MILLIMETER\n });\n\n return result;\n });\n}\n","import {DimensionsInPx} from '@domain/dimensions-in-px';\nimport {OverviewMachine} from '@presentation/pages/machine-overview/overview-machine';\n\nexport class Floorplan {\n private _machines: OverviewMachine[];\n private _dimensionsInPx: DimensionsInPx;\n\n public constructor(dimensionsInPx: DimensionsInPx, machines: OverviewMachine[]) {\n this._dimensionsInPx = dimensionsInPx;\n this._machines = machines;\n }\n\n public get dimensionsInPx(): DimensionsInPx {\n return this._dimensionsInPx;\n }\n\n public set dimensionsInPx(dimensionsInPx: DimensionsInPx) {\n this._dimensionsInPx = dimensionsInPx;\n }\n\n public get machines(): OverviewMachine[] {\n return this._machines;\n }\n\n public set machines(machines: OverviewMachine[]) {\n this._machines = machines;\n }\n\n public addMachine(machine: OverviewMachine): void {\n this._machines.push(machine);\n }\n}\n","import {HttpClient} from '@angular/common/http';\nimport {Injectable} from '@angular/core';\nimport {BackendConfiguration} from '@application/configuration/backend-configuration';\nimport {Floorplan} from '@domain/machine/floorplan';\nimport {MachineFile} from '@domain/machine/machine-file';\nimport {PropertyValue} from '@domain/property-value';\nimport {OverviewMachine} from '@presentation/pages/machine-overview/overview-machine';\nimport {OverviewMachineGroup} from '@presentation/pages/machine-overview/overview-machine-group';\nimport {MachineOverviewMessageFilter} from '@presentation/pages/machine-overview/sidebar/machine-overview-message-filter';\nimport {Message} from '@vdw/angular-component-library';\nimport {map} from 'lodash-es';\nimport {Observable} from 'rxjs';\nimport {map as rxjsMap} from 'rxjs/operators';\nimport {MachineOverview} from './machine-overview';\n\n@Injectable()\nexport class HttpMachineOverviewService implements MachineOverview {\n private httpClient: HttpClient;\n private backendConfiguration: BackendConfiguration;\n\n public constructor(httpClient: HttpClient, backendConfiguration: BackendConfiguration) {\n this.httpClient = httpClient;\n this.backendConfiguration = backendConfiguration;\n }\n\n public getListOfCustomSettings(): Observable {\n return this.httpClient.get(`${this.backendConfiguration.getMachineOverviewEndpoint()}machineoverview/custom-settings`).pipe(\n rxjsMap((result: PropertyValue[]) => {\n return result;\n })\n );\n }\n\n public saveCustomSettings(chosenSettings: PropertyValue[]): Observable {\n return this.httpClient.put(`${this.backendConfiguration.getMachineOverviewEndpoint()}machineoverview/custom-settings`, chosenSettings);\n }\n\n public updateMachinePosition(machine: OverviewMachine): Observable {\n machine.coordinatesInPx.x = Math.round(machine.coordinatesInPx.x);\n machine.coordinatesInPx.y = Math.round(machine.coordinatesInPx.y);\n const newPositionObject = {\n machineId: machine.id,\n coordinatesInPx: machine.coordinatesInPx\n };\n return this.httpClient.put(`${this.backendConfiguration.getMachineOverviewEndpoint()}machineoverview/floorplan/machineposition`, newPositionObject);\n }\n\n public addMachineToFloorplan(machine: OverviewMachine): Observable {\n machine.coordinatesInPx.x = Math.round(machine.coordinatesInPx.x);\n machine.coordinatesInPx.y = Math.round(machine.coordinatesInPx.y);\n const newPositionObject = {\n machineId: machine.id,\n coordinatesInPx: machine.coordinatesInPx\n };\n return this.httpClient.post(`${this.backendConfiguration.getMachineOverviewEndpoint()}machineoverview/floorplan/machine`, newPositionObject);\n }\n\n public getFloorplan(): Observable {\n return this.httpClient.get(`${this.backendConfiguration.getMachineOverviewEndpoint()}machineoverview/floorplan`).pipe(\n rxjsMap((result: {machines}) => {\n const machines = map(result.machines, (machine: any) => {\n return OverviewMachine.fromJSON(machine);\n });\n\n return new Floorplan({heightInPx: null, widthInPx: null}, machines);\n })\n );\n }\n\n public hasAlreadyAdjustedCustomSettings(): Observable {\n return this.httpClient.get(`${this.backendConfiguration.getMachineOverviewEndpoint()}machineoverview/custom-settings/already-adjusted`).pipe(\n rxjsMap((result: {alreadyAdjustedCustomSettings}) => {\n return result.alreadyAdjustedCustomSettings;\n })\n );\n }\n\n public getMessages(start: number, count: number, filter: MachineOverviewMessageFilter): Observable {\n return this.httpClient.post(`${this.backendConfiguration.getMachineOverviewEndpoint()}machineoverview/messages?count=${count}&start=${start}`, filter).pipe(\n rxjsMap((messages: any[]) => {\n return map(messages, (message: any) => Message.fromJSON(message));\n })\n );\n }\n\n public saveMachineFiles(machineId: number, files: MachineFile[]): Observable {\n return this.httpClient.post(`${this.backendConfiguration.getMachineOverviewEndpoint()}machinefiles/machine/${machineId}`, files);\n }\n\n public deleteMachineFiles(machineId: number, files: MachineFile[]): Observable {\n const options = {\n headers: {},\n body: map(files, 'name')\n };\n\n return this.httpClient.delete(`${this.backendConfiguration.getMachineOverviewEndpoint()}machinefiles/machine/${machineId}`, options);\n }\n\n public getRemoteAccessUrl(machineId: number): Observable {\n return this.httpClient.get(`${this.backendConfiguration.getMachineOverviewEndpoint()}machineoverview/${machineId}/remote-access-url`);\n }\n\n public getRootGroup(): Observable {\n return this.httpClient\n .get(`${this.backendConfiguration.getMachineOverviewEndpoint()}machineoverview/machine-groups`)\n .pipe(rxjsMap((machineGroupJSON: any) => OverviewMachineGroup.fromJSON(machineGroupJSON)));\n }\n}\n","import {HttpClient, HttpParams} from '@angular/common/http';\nimport {Injectable} from '@angular/core';\nimport {BackendConfiguration} from '@application/configuration/backend-configuration';\nimport {BmpDrawing} from '@domain/production-schedule/bmp-drawing';\nimport {CreelForProductionSchedule} from '@domain/production-schedule/creel-for-production-schedule';\nimport {Drawing} from '@domain/production-schedule/drawing';\nimport {DrawingType} from '@domain/production-schedule/drawing-type.enum';\nimport {EpDrawing} from '@domain/production-schedule/ep-drawing';\nimport {MachineQualityForProductionSchedule} from '@domain/production-schedule/machine-quality-for-production-schedule';\nimport {MachineSummary} from '@domain/production-schedule/machine-summary';\nimport {ProductionSchedule} from '@domain/production-schedule/production-schedule';\nimport {ProductionScheduleOrderLine} from '@domain/production-schedule/production-schedule-order-line';\nimport {ProductionSchedulePathsOfColoredYarnSet} from '@domain/production-schedule/production-schedule-paths-of-colored-yarn-set';\nimport {ProductionSchedulePhase} from '@domain/production-schedule/production-schedule-phase.enum';\nimport {ProductionScheduleProductConfiguration} from '@domain/production-schedule/production-schedule-product-configuration';\nimport {ProductionScheduleStatus} from '@domain/production-schedule/production-schedule-status.enum';\nimport {CreelMap} from '@domain/textile-data/creel/creel-map';\nimport {OverviewListColoredYarnSetWithStartDent} from '@domain/textile-data/creel/overview-list-colored-yarn-set-with-start-dent';\nimport {ZoneType} from '@domain/zone-type.enum';\nimport {ProductionSchedules} from '@infrastructure/http/production-schedule/production-schedules';\nimport {ParametersForPreselection} from '@presentation/pages/texfab/production-schedule/add/plan/parameters-for-preselection';\nimport {ConflictedOrderLine} from '@presentation/pages/texfab/production-schedule/confirm/conflicted-order-line';\nimport {Conflict, GridModel} from '@vdw/angular-component-library';\nimport {isEqual, map} from 'lodash-es';\nimport {Observable, of} from 'rxjs';\nimport {map as rxjsMap, switchMap, tap} from 'rxjs/operators';\nimport {getColoredYarnSetPaths} from '../helper/get-colored-yarn-sets-path';\n\n@Injectable()\nexport class HttpProductionSchedulesService implements ProductionSchedules {\n private httpClient: HttpClient;\n private backendConfiguration: BackendConfiguration;\n\n public constructor(httpClient: HttpClient, backendConfiguration: BackendConfiguration) {\n this.httpClient = httpClient;\n this.backendConfiguration = backendConfiguration;\n }\n\n public isIdentifierAvailable(name: string): Observable {\n const params = new HttpParams().set('name', name);\n\n return this.httpClient.get(`${this.backendConfiguration.getAggregatorEndpoint()}productionschedules/check-name`, {params}).pipe(\n rxjsMap((response: {productionScheduleNameAvailable: boolean}) => {\n return response.productionScheduleNameAvailable;\n })\n );\n }\n\n public createProductionSchedule(\n machineSummary: MachineSummary,\n machineQuality: MachineQualityForProductionSchedule,\n practicalPickDensityInPicksPerMM: number,\n coloredYarnSets: OverviewListColoredYarnSetWithStartDent[],\n creel: CreelForProductionSchedule,\n runId: number,\n mappingForCurrentPositionOnMachine: CreelMap[],\n productConfiguration: ProductionScheduleProductConfiguration,\n isSample: boolean,\n canAddJute: boolean,\n hmiVersion: string,\n addToPlanboard: boolean,\n preselectionId: number\n ): Observable {\n return this.httpClient\n .post(`${this.backendConfiguration.getProductionScheduleEndpoint(2)}productionschedules/initial-create`, {\n machine: machineSummary.toJSON(),\n machineQuality: machineQuality.toJSON(),\n practicalPickDensityInPicksPerMM,\n coloredYarnSets: map(coloredYarnSets, (productionScheduleColoredYarnSet: OverviewListColoredYarnSetWithStartDent) => productionScheduleColoredYarnSet.toJSON()),\n creel: creel.toJSON(),\n runId,\n mappingForCurrentPositionOnMachine,\n productConfiguration: productConfiguration?.toJSON(),\n isSample,\n canAddJute,\n hmiVersion,\n addToPlanboard,\n preselectionId\n })\n .pipe(rxjsMap((productionScheduleJSON: any) => ProductionSchedule.fromJSON(productionScheduleJSON)));\n }\n\n public decreateProductionOrder(decreatedProductionOrder: ProductionSchedule): Observable {\n return this.httpClient\n .post(`${this.backendConfiguration.getProductionScheduleEndpoint(2)}productionschedules/initial-create`, decreatedProductionOrder.toJSON(true))\n .pipe(switchMap(() => this.saveDesignsAndOrderLines(decreatedProductionOrder.id, decreatedProductionOrder.designs, decreatedProductionOrder.orderLines, decreatedProductionOrder.name)));\n }\n\n public delete(id: number | string): Observable {\n return this.httpClient.delete(`${this.backendConfiguration.getAggregatorEndpoint()}productionschedules/${id}`);\n }\n\n public getAll(): Observable {\n return of([]);\n }\n\n public getById(id: number | string): Observable {\n return this.httpClient\n .get(`${this.backendConfiguration.getAggregatorEndpoint()}productionschedules/${id}`)\n .pipe(rxjsMap((productionScheduleJSON: any) => ProductionSchedule.fromJSON(productionScheduleJSON)));\n }\n\n public save(productionSchedule: ProductionSchedule): Observable {\n return of();\n }\n\n public update(productionSchedule: ProductionSchedule): Observable {\n return of();\n }\n\n public updateWithMachineQualityChanged(productionSchedule: ProductionSchedule, isMachineQualityChanged: boolean = false): Observable {\n const query = isMachineQualityChanged ? '?updatePaths=true' : '';\n\n return this.httpClient.put(\n `${this.backendConfiguration.getProductionScheduleEndpoint()}productionschedules/${productionSchedule.id}${query}`,\n productionSchedule.toJSON(false, isMachineQualityChanged)\n );\n }\n\n public getConflicts(id: number): Observable {\n return this.httpClient.get(`${this.backendConfiguration.getAggregatorEndpoint()}productionschedules/${id}/conflicts`).pipe(\n rxjsMap((conflictsJSON: any) => {\n return map(conflictsJSON, (conflictJSON: any) => {\n return Conflict.fromJSON(conflictJSON);\n });\n })\n );\n }\n\n public setProductionSchedulePlan(\n productionScheduleId: string,\n productionSchedulePathsOfColoredYarnSets: ProductionSchedulePathsOfColoredYarnSet[],\n reedDensityInDentsPerMeter: number\n ): Observable {\n return this.httpClient\n .patch(`${this.backendConfiguration.getProductionScheduleEndpoint()}productionschedules/${productionScheduleId}`, {\n coloredYarnSetPaths: getColoredYarnSetPaths(productionSchedulePathsOfColoredYarnSets, reedDensityInDentsPerMeter)\n })\n .pipe(rxjsMap((productionSchedulePlanJSON: any) => ProductionSchedule.fromJSON(productionSchedulePlanJSON)));\n }\n\n public verifyProductionSchedule(id: string, manualSave: boolean = false, productionSchedulePhase: ProductionSchedulePhase = null): Observable {\n const query = manualSave ? `?manualSave=true&step=${productionSchedulePhase}` : `?manualSave=false&step=${productionSchedulePhase}`;\n\n return this.httpClient\n .get(`${this.backendConfiguration.getAggregatorEndpoint()}productionschedules/${id}/verify${query}`)\n .pipe(rxjsMap((productionSchedulePlanJSON: any) => ProductionSchedule.fromJSON(productionSchedulePlanJSON)));\n }\n\n public cancelTemporarySavedChanges(id: string): Observable {\n return this.httpClient.delete(`${this.backendConfiguration.getProductionOrderEndpoint()}productionschedules/${id}`);\n }\n\n public checkVerifyProductionSchedule(productionScheduleId: string, type: ZoneType, startDent: number, value: number, coloredYarnSetPathNr: number): Observable {\n return this.httpClient\n .post(`${this.backendConfiguration.getProductionScheduleEndpoint()}productionschedules/${productionScheduleId}/verify/check`, {\n type,\n startDent,\n value,\n coloredYarnSetPathNr\n })\n .pipe(rxjsMap((productionSchedulePlanJSON: any) => ProductionSchedule.fromJSON(productionSchedulePlanJSON)));\n }\n\n public completeAndPlan(productionSchedule: ProductionSchedule): Observable {\n return this.httpClient.put(`${this.backendConfiguration.getAggregatorEndpoint()}productionschedules/${productionSchedule.id}/complete-and-plan`, productionSchedule.toJSON(true));\n }\n\n public completeAndQueue(productionSchedule: ProductionSchedule): Observable {\n return this.httpClient.put(`${this.backendConfiguration.getAggregatorEndpoint()}productionschedules/${productionSchedule.id}/complete-and-queue`, productionSchedule.toJSON(true));\n }\n\n public process(productionSchedule: ProductionSchedule): Observable {\n return this.httpClient.put(`${this.backendConfiguration.getAggregatorEndpoint()}productionschedules/${productionSchedule.id}/complete`, productionSchedule.toJSON(true));\n }\n\n public saveDesignsAndOrderLines(id: number | string, designs: Drawing[], orderLines: ProductionScheduleOrderLine[], name: string): Observable {\n const designIds: number[] = designs.map((drawing: Drawing) => drawing.id);\n const orderLineIds: number[] = orderLines.map((orderLine: ProductionScheduleOrderLine) => orderLine.id);\n\n return this.httpClient.post(`${this.backendConfiguration.getEndpoint()}productionschedules/${id}/designs-and-order-lines`, {designIds, orderLineIds, name});\n }\n\n public savePreselectionList(id: number | string, designIds: number[], orderLinesIds: number[], gridModel: GridModel, configurationIds: number[] = []): Observable {\n return this.httpClient\n .post(`${this.backendConfiguration.getProductionOrderEndpoint()}preselections`, {id, designIds, orderLinesIds, configurationIds, filter: gridModel})\n .pipe(rxjsMap((response: any) => response));\n }\n\n public updatePreselectionList(id: number | string, designIds: number[], orderLinesIds: number[], gridModel: GridModel, configurationIds: number[] = []): Observable {\n return this.httpClient.put(`${this.backendConfiguration.getProductionOrderEndpoint()}preselections`, {id, designIds, orderLinesIds, configurationIds, filter: gridModel});\n }\n\n public getDesignsAndOrderLines(id: number | string, status: ProductionScheduleStatus): Observable<{designs: Drawing[]; orderLines: ProductionScheduleOrderLine[]}> {\n return this.httpClient.get(`${this.backendConfiguration.getEndpoint()}productionschedules/${id}/designs-and-order-lines?status=${ProductionScheduleStatus[status]}`).pipe(\n rxjsMap((response: any) => {\n return {\n designs: map(response.designs, (designJSON: any) => {\n let result: Drawing;\n\n if (isEqual(DrawingType[designJSON.drawingType], DrawingType.BMP)) {\n result = BmpDrawing.fromJSON(designJSON);\n } else if (isEqual(DrawingType[designJSON.drawingType], DrawingType.EP)) {\n result = EpDrawing.fromJSON(designJSON);\n }\n\n return result;\n }),\n orderLines: map(response.orderLines, (orderLineJSON: any) => ProductionScheduleOrderLine.fromJSON(orderLineJSON))\n };\n })\n );\n }\n\n public getPreselectionListById(id: number | string): Observable {\n return this.httpClient.get(`${this.backendConfiguration.getProductionOrderEndpoint()}preselections/${id}`).pipe(\n rxjsMap((response: any) => {\n return {\n designIds: response.designIds,\n configurationIds: response.configurationIds,\n orderlinesIds: response.orderlinesIds,\n gridModel: response.filter\n } as ParametersForPreselection;\n })\n );\n }\n\n public checkPossibleConflictsWithOrderLines(id: string): Observable {\n return this.httpClient.get(`${this.backendConfiguration.getAggregatorEndpoint()}productionschedules/${id}/order-lines/amount-check`);\n }\n\n public getDuplicatedProductionOrder(id: number | string): Observable {\n return this.httpClient.get(`${this.backendConfiguration.getAggregatorEndpoint()}productionschedules/${id}/duplicate`).pipe(\n rxjsMap((productionscheduleJSON: any) => {\n return ProductionSchedule.fromJSON(productionscheduleJSON);\n })\n );\n }\n\n public duplicateProductionOrder(productionOrderToDuplicate: ProductionSchedule): Observable {\n return this.httpClient.post(`${this.backendConfiguration.getProductionScheduleEndpoint(2)}productionschedules/initial-create`, productionOrderToDuplicate.toJSON(true)).pipe(\n tap((productionOrderJSON: any) => {\n productionOrderToDuplicate.id = productionOrderJSON.id;\n productionOrderToDuplicate.status = ProductionScheduleStatus[productionOrderJSON.status];\n }),\n switchMap(() => this.saveDesignsAndOrderLines(productionOrderToDuplicate.id, productionOrderToDuplicate.designs, productionOrderToDuplicate.orderLines, productionOrderToDuplicate.name)),\n rxjsMap(() => productionOrderToDuplicate)\n );\n }\n\n public getGeneratedProductionOrderName(machineId: number, qualityId: number, creelId: number): Observable {\n return this.httpClient\n .post(`${this.backendConfiguration.getAggregatorEndpoint()}productionschedules/generate-name?machineId=${machineId}&qualityId=${qualityId}&creelId=${creelId}`, null)\n .pipe(rxjsMap((response: string) => response));\n }\n}\n","export class OverviewMachineColoredYarnSet {\n private _id: number;\n private _name: string;\n private _startDent: number;\n\n public constructor(id: number = null, name: string = null, startDent: number = null) {\n this._id = id;\n this._name = name;\n this._startDent = startDent;\n }\n\n public static fromJSON(coloredYarnSetJSON: any): OverviewMachineColoredYarnSet {\n return new OverviewMachineColoredYarnSet(coloredYarnSetJSON.id, coloredYarnSetJSON.name, coloredYarnSetJSON.startDent);\n }\n\n public get id(): number {\n return this._id;\n }\n\n public set id(id: number) {\n this._id = id;\n }\n\n public get name(): string {\n return this._name;\n }\n\n public set name(name: string) {\n this._name = name;\n }\n\n public get startDent(): number {\n return this._startDent;\n }\n\n public set startDent(startDent: number) {\n this._startDent = startDent;\n }\n}\n","import {map} from 'lodash-es';\nimport {OverviewMachineColoredYarnSet} from './overview-machine-colored-yarn-set';\n\nexport class OverviewMachineCreel {\n public _id: number;\n public _name: string;\n public _creelColoredYarnSets: OverviewMachineColoredYarnSet[];\n\n public constructor(id: number = null, name: string = null, creelColoredYarnSets: OverviewMachineColoredYarnSet[] = []) {\n this._id = id;\n this._name = name;\n this._creelColoredYarnSets = creelColoredYarnSets;\n }\n\n public static fromJSON(creelJSON: any): OverviewMachineCreel {\n return new OverviewMachineCreel(\n creelJSON.id,\n creelJSON.name,\n map(creelJSON.creelColoredYarnSets, (coloredYarnSet: any) => new OverviewMachineColoredYarnSet(coloredYarnSet.coloredYarnSetId, coloredYarnSet.coloredYarnSetName, coloredYarnSet.startDent))\n );\n }\n\n public get id(): number {\n return this._id;\n }\n\n public set id(id: number) {\n this._id = id;\n }\n\n public get name(): string {\n return this._name;\n }\n\n public set name(name: string) {\n this._name = name;\n }\n\n public get creelColoredYarnSets(): OverviewMachineColoredYarnSet[] {\n return this._creelColoredYarnSets;\n }\n\n public set creelColoredYarnSets(creelColoredYarnSets: OverviewMachineColoredYarnSet[]) {\n this._creelColoredYarnSets = creelColoredYarnSets;\n }\n}\n","import {ReportItemTemplateField} from '@domain/report-data-set/report-item-template-field.enum';\nimport {OverviewMachine} from '@presentation/pages/machine-overview/overview-machine';\nimport {ReportItem} from '@presentation/pages/machine-overview/report-item';\nimport {ArrayUtils, AssertionUtils} from '@vdw/angular-component-library';\nimport {MachineGroupOverviewList} from './sidebar/group-editor/machine-group-overview-list';\nimport {MachineOverviewList} from './sidebar/group-editor/machine-overview-list';\n\nexport class OverviewMachineGroup {\n private _id: number;\n private _name: string;\n private _floorplanId: number;\n private _groups: OverviewMachineGroup[];\n private _machineIds: number[];\n private _machines: OverviewMachine[];\n private _reportItems: ReportItem[];\n\n public constructor(id: number, name: string, floorplanId: number, groups: OverviewMachineGroup[], machineIds: number[], reportItems: ReportItem[]) {\n this._id = id;\n this._name = name;\n this._floorplanId = floorplanId;\n this._groups = groups;\n this._machineIds = machineIds;\n this._reportItems = reportItems;\n }\n\n public static fromJSON(machineGroupJSON: any): OverviewMachineGroup {\n return new OverviewMachineGroup(\n machineGroupJSON.id,\n machineGroupJSON.name,\n machineGroupJSON.floorplanId,\n machineGroupJSON.groups.map((subMachineGroupJSON: any) => OverviewMachineGroup.fromJSON(subMachineGroupJSON)),\n machineGroupJSON.machineIds,\n machineGroupJSON.reportItems.map((reportItemJSON: any) => ReportItem.fromJSON(reportItemJSON))\n );\n }\n\n public get id(): number {\n return this._id;\n }\n\n public get name(): string {\n return this._name;\n }\n\n public set name(value: string) {\n this._name = value;\n }\n\n public get floorplanId(): number {\n return this._floorplanId;\n }\n\n public set floorplanId(value: number) {\n this._floorplanId = value;\n }\n\n public get groups(): OverviewMachineGroup[] {\n return this._groups;\n }\n\n public set groups(value: OverviewMachineGroup[]) {\n this._groups = value;\n }\n\n public get machineIds(): number[] {\n return this._machineIds;\n }\n\n public set machineIds(value: number[]) {\n this._machineIds = value;\n }\n\n public get machines(): OverviewMachine[] {\n return this._machines;\n }\n\n public set machines(value: OverviewMachine[]) {\n this._machines = value;\n }\n\n public get reportItems(): ReportItem[] {\n return this._reportItems;\n }\n\n public set reportItems(value: ReportItem[]) {\n this._reportItems = value;\n }\n\n public getReportItem(reportItemTemplateField: ReportItemTemplateField): ReportItem {\n return this._reportItems.find((reportItem: ReportItem) => reportItem.field === reportItemTemplateField);\n }\n\n public addOrUpdateReportItem(reportItemToAddOrUpdate: ReportItem): void {\n this._reportItems = this._reportItems.filter((reportItem: ReportItem) => reportItem.field !== reportItemToAddOrUpdate.field);\n this._reportItems.push(reportItemToAddOrUpdate);\n }\n\n public getNestedChildMachineIds(): number[] {\n const nestedChildMachineIds: number[] = [];\n\n if (!AssertionUtils.isNullOrUndefined(this._machineIds)) {\n nestedChildMachineIds.push(...this._machineIds);\n }\n\n if (!AssertionUtils.isNullOrUndefined(this._groups)) {\n nestedChildMachineIds.push(...this._groups.flatMap((group: OverviewMachineGroup) => group.getNestedChildMachineIds()));\n }\n\n return ArrayUtils.distinctBy([...nestedChildMachineIds], (machineId: number) => machineId);\n }\n\n public getNestedChildGroupIds(): number[] {\n const nestedChildGroupIds: number[] = [];\n\n if (!AssertionUtils.isNullOrUndefined(this._groups)) {\n nestedChildGroupIds.push(...this._groups.map((group: OverviewMachineGroup) => group.id), this.id);\n }\n\n if (!AssertionUtils.isNullOrUndefined(this._groups)) {\n nestedChildGroupIds.push(...this._groups.flatMap((group: OverviewMachineGroup) => group.getNestedChildGroupIds()));\n }\n\n return ArrayUtils.distinctBy([...nestedChildGroupIds], (groupId: number) => groupId);\n }\n\n public static fromMachineGroupOverviewList(machineGroupOverviewList: MachineGroupOverviewList): OverviewMachineGroup {\n return new OverviewMachineGroup(\n machineGroupOverviewList.id,\n machineGroupOverviewList.name,\n null,\n machineGroupOverviewList.groups?.map((group: MachineGroupOverviewList) => OverviewMachineGroup.fromMachineGroupOverviewList(group)),\n machineGroupOverviewList.machines?.map((machine: MachineOverviewList) => machine.id),\n []\n );\n }\n}\n","import {ProductionOrderProgress} from './production-order-progress';\n\nexport class OverviewMachineProductionOrder {\n private _name: string;\n private _progress: ProductionOrderProgress;\n\n public constructor(name: string, progress: ProductionOrderProgress) {\n this._name = name;\n this._progress = progress;\n }\n\n public get name(): string {\n return this._name;\n }\n\n public get progress(): ProductionOrderProgress {\n return this._progress;\n }\n}\n","export class BaseOverviewMachineGroup {\n private _id: number;\n private _name: string;\n\n public constructor(id: number, name: string) {\n this._id = id;\n this._name = name;\n }\n\n public static fromJSON(machineGroupJSON: any): BaseOverviewMachineGroup {\n return new BaseOverviewMachineGroup(machineGroupJSON.id, machineGroupJSON.name);\n }\n\n public get id(): number {\n return this._id;\n }\n\n public get name(): string {\n return this._name;\n }\n}\n","import {Coordinates} from '@domain/coordinates';\nimport {MachineEfficiency} from '@domain/machine/machine-efficiency';\nimport {MachineEfficiencyLevel} from '@domain/machine/machine-efficiency-level.enum';\nimport {MachineEfficiencyUpdate} from '@domain/machine/machine-information-update/machine-efficiency-update.interface';\nimport {MachineProductionOrderUpdate} from '@domain/machine/machine-information-update/machine-production-order-update.interface';\nimport {MachineReportItemUpdate} from '@domain/machine/machine-information-update/machine-report-item-update.interface';\nimport {MachineSpeedUpdate} from '@domain/machine/machine-information-update/machine-speed-update.interface';\nimport {MachineStatusUpdate} from '@domain/machine/machine-information-update/machine-status-update.interface';\nimport {MachineQueue} from '@domain/machine/machine-queue';\nimport {MachineStatus} from '@domain/machine/machine-status.enum';\nimport {MachineType} from '@domain/machine/machine-type.enum';\nimport {OverviewMachineProductionOrder} from '@domain/machine/overview-machine-production-order';\nimport {StopReason} from '@domain/machine/stop-reason.interface';\nimport {ReportItemTemplateField} from '@domain/report-data-set/report-item-template-field.enum';\nimport {OverviewListMachineQuality} from '@presentation/pages/textile-data/machine-quality/overview/overview-list-machine-quality';\nimport {AssertionUtils, Message, Pattern, StringUtils} from '@vdw/angular-component-library';\nimport {isEqual, isNil} from 'lodash-es';\nimport {BaseOverviewMachineGroup} from './base-overview-machine-group';\nimport {OverviewMachineCreel} from './overview-machine-creel';\nimport {ReportItem} from './report-item';\nimport {HighestSeverityNotificationContextService} from '@presentation/pages/machine-overview/highest-severity-notification-context/highest-severity-notification-context.service';\n\nexport class OverviewMachine {\n private _id: number;\n private _name: string;\n private _machineType: MachineType;\n private _coordinatesInPx: Coordinates;\n private _status: MachineStatus;\n private _queue: MachineQueue;\n private _efficiency: MachineEfficiency;\n private _activeQuality: OverviewListMachineQuality;\n private _activeCreel: OverviewMachineCreel;\n private _messages: Message[];\n private _productionOrder: OverviewMachineProductionOrder;\n private _orderId: string;\n private _rotationsPerMinute: number;\n private _amountOfWarningMessages: number;\n private _roleCode: string;\n private _stopReason: StopReason;\n private _machineGroups: BaseOverviewMachineGroup[];\n private _reportItems: ReportItem[];\n private _remoteMachine: boolean;\n private _endTime: Date;\n private _speed: number;\n\n public cachedMachineIcon: string;\n\n public constructor(\n id: number = null,\n name: string = null,\n efficiency: MachineEfficiency = null,\n coordinatesInPx: Coordinates = null,\n machineType: MachineType = null,\n status: MachineStatus = null,\n queue: MachineQueue = null,\n activeQuality: OverviewListMachineQuality = null,\n activeCreel: OverviewMachineCreel = null,\n messages: Message[] = [],\n productionOrder: OverviewMachineProductionOrder = null,\n orderId: string = null,\n rotationsPerMinute: number = null,\n amountOfWarningMessages: number = null,\n roleCode: string = null,\n stopReason: StopReason = null,\n machineGroups: BaseOverviewMachineGroup[] = [],\n reportItems: ReportItem[] = [],\n remoteMachine: boolean = false,\n endTime: Date = null,\n speed: number = null\n ) {\n this._id = id;\n this._name = name;\n this._coordinatesInPx = coordinatesInPx;\n this._machineType = machineType;\n this._status = status;\n this._queue = queue;\n this._efficiency = efficiency;\n this._activeQuality = activeQuality;\n this._activeCreel = activeCreel;\n this._messages = messages;\n this._productionOrder = productionOrder;\n this._orderId = orderId;\n this._rotationsPerMinute = rotationsPerMinute;\n this._amountOfWarningMessages = amountOfWarningMessages;\n this._roleCode = roleCode;\n this._stopReason = stopReason;\n this._machineGroups = machineGroups;\n this._reportItems = reportItems;\n this._remoteMachine = remoteMachine;\n this._endTime = endTime;\n this._speed = speed;\n }\n\n public static fromJSON(machineJSON: any): OverviewMachine {\n const activeQuality: OverviewListMachineQuality = isNil(machineJSON.activeMachineQuality) ? null : OverviewListMachineQuality.fromJSON(machineJSON.activeMachineQuality);\n\n const activeCreel: OverviewMachineCreel = isNil(machineJSON.activeCreel) ? null : OverviewMachineCreel.fromJSON(machineJSON.activeCreel);\n\n return new OverviewMachine(\n machineJSON.id,\n machineJSON.name,\n isNil(machineJSON.efficiency) ? machineJSON.efficiency : {value: machineJSON.efficiency.value, level: machineJSON.efficiency.level},\n machineJSON.coordinatesInPx,\n MachineType[`${machineJSON.machineType}`],\n isNil(machineJSON.status) ? machineJSON.status : MachineStatus[machineJSON.status],\n null,\n activeQuality,\n activeCreel,\n [],\n isNil(machineJSON.productionOrder)\n ? machineJSON.productionOrder\n : new OverviewMachineProductionOrder(machineJSON.productionOrder.name, {\n currentPick: machineJSON.productionOrder.progress.currentPick,\n totalNumberOfPicks: machineJSON.productionOrder.progress.totalNumberOfPicks,\n timeSpentInSeconds: machineJSON.productionOrder.progress.timeSpentInSeconds,\n durationInSeconds: machineJSON.productionOrder.progress.durationInSeconds\n }),\n machineJSON.orderId,\n machineJSON.rotationsPerMinute,\n machineJSON.amountOfWarningMessages,\n machineJSON.roleCode,\n isNil(machineJSON.currentStopReason)\n ? machineJSON.currentStopReason\n : {abbreviation: machineJSON.currentStopReason.abbreviation, pattern: Pattern[machineJSON.currentStopReason.pattern], color: machineJSON.currentStopReason.color},\n machineJSON.machineGroups.map((machineGroup: any) => BaseOverviewMachineGroup.fromJSON(machineGroup)),\n machineJSON.reportItems?.map((reportItem: any) => ReportItem.fromJSON(reportItem)),\n machineJSON.remoteMachine,\n StringUtils.toDate(machineJSON.endTime),\n machineJSON.speed\n );\n }\n\n public get id(): number {\n return this._id;\n }\n\n public set id(id: number) {\n this._id = id;\n }\n\n public get name(): string {\n return this._name;\n }\n\n public set name(name: string) {\n this._name = name;\n }\n\n public get coordinatesInPx(): Coordinates {\n return this._coordinatesInPx;\n }\n\n public set coordinatesInPx(coordinatesInPx: Coordinates) {\n this._coordinatesInPx = coordinatesInPx;\n }\n\n public get machineType(): MachineType {\n return this._machineType;\n }\n\n public set machineType(machineType: MachineType) {\n this._machineType = machineType;\n }\n\n public get status(): MachineStatus {\n return this._status;\n }\n\n public set status(status: MachineStatus) {\n this._status = status;\n }\n\n public get queue(): MachineQueue {\n return this._queue;\n }\n\n public set queue(queue: MachineQueue) {\n this._queue = queue;\n }\n\n public get efficiency(): MachineEfficiency {\n if (!AssertionUtils.isNullOrUndefined(this._efficiency)) {\n this._efficiency.value = this._efficiency.value > 100 ? 100 : Math.round(this._efficiency.value * 100) / 100;\n }\n return this._efficiency;\n }\n\n public set efficiency(efficiency: MachineEfficiency) {\n this._efficiency = efficiency;\n }\n\n public get activeQuality(): OverviewListMachineQuality {\n return this._activeQuality;\n }\n\n public set activeQuality(activeQuality: OverviewListMachineQuality) {\n this._activeQuality = activeQuality;\n }\n\n public get activeCreel(): OverviewMachineCreel {\n return this._activeCreel;\n }\n\n public set activeCreel(activeCreel: OverviewMachineCreel) {\n this._activeCreel = activeCreel;\n }\n\n public get messages(): Message[] {\n return this._messages;\n }\n\n public set messages(messages: Message[]) {\n this._messages = messages;\n }\n\n public get productionOrder(): OverviewMachineProductionOrder {\n return this._productionOrder;\n }\n\n public set productionOrder(productionOrder: OverviewMachineProductionOrder) {\n this._productionOrder = productionOrder;\n }\n\n public get orderId(): string {\n return this._orderId;\n }\n\n public set orderId(orderId: string) {\n this._orderId = orderId;\n }\n\n public get rotationsPerMinute(): number {\n return this._rotationsPerMinute;\n }\n\n public set rotationsPerMinute(rotationsPerMinute: number) {\n this._rotationsPerMinute = rotationsPerMinute;\n }\n\n public get amountOfWarningMessages(): number {\n return this._amountOfWarningMessages;\n }\n\n public set amountOfWarningMessages(amountOfWarningMessages: number) {\n this._amountOfWarningMessages = amountOfWarningMessages;\n }\n\n public get roleCode(): string {\n return this._roleCode;\n }\n\n public set roleCode(roleCode: string) {\n this._roleCode = roleCode;\n }\n\n public get stopReason(): StopReason {\n return this._stopReason;\n }\n\n public set stopReason(stopReason: StopReason) {\n this._stopReason = stopReason;\n }\n\n public get machineGroups(): BaseOverviewMachineGroup[] {\n return this._machineGroups;\n }\n\n public set machineGroups(machineGroups: BaseOverviewMachineGroup[]) {\n this._machineGroups = machineGroups;\n }\n\n public get reportItems(): ReportItem[] {\n return this._reportItems;\n }\n\n public set reportItems(reportItems: ReportItem[]) {\n this._reportItems = reportItems;\n }\n\n public get remoteMachine(): boolean {\n return this._remoteMachine;\n }\n\n public set remoteMachine(remoteMachine: boolean) {\n this._remoteMachine = remoteMachine;\n }\n\n public get endTime(): Date {\n return this._endTime;\n }\n\n public get speed(): number {\n return this._speed;\n }\n\n public get amountOfJobsOnQueue(): number {\n return !isNil(this.queue) ? this.queue.amount : null;\n }\n\n public get queueRemainingTimeInMs(): number {\n return typeof this.queue !== 'undefined' && this.queue !== null ? this.queue.duration : null;\n }\n\n public get isStopped(): boolean {\n return isEqual(this.status, MachineStatus.STOPPED_MANUAL) || isEqual(this.status, MachineStatus.STOPPED_CRITICAL);\n }\n\n public get isDisconnected(): boolean {\n return this.status === MachineStatus.DISCONNECTED;\n }\n\n public isPremium(): boolean {\n return isEqual(this._roleCode, 'M-P');\n }\n\n public getReportItemValue(field: ReportItemTemplateField): any {\n return this.reportItems?.find((reportItem: ReportItem) => reportItem.field === field)?.value;\n }\n\n public updateMachineReportItems(data: MachineReportItemUpdate): void {\n const updatedReportItem = new ReportItem(ReportItemTemplateField[data.field], data.value);\n\n const reportItemExists = this.reportItems?.some((reportItem: ReportItem) => reportItem.field === updatedReportItem.field);\n\n if (reportItemExists) {\n this.reportItems = this.reportItems.map((reportItem: ReportItem) => (reportItem.field === updatedReportItem.field ? updatedReportItem : reportItem));\n } else {\n this.reportItems.push(updatedReportItem);\n }\n }\n\n public updateMachineEfficiency(data: MachineEfficiencyUpdate): void {\n this.efficiency = {\n value: data.currentEfficiency.value,\n level: data.currentEfficiency.level as MachineEfficiencyLevel\n };\n }\n\n public updateMachineStatus(data: MachineStatusUpdate): void {\n this.status = MachineStatus.getMachineStatusByLabel(data.currentStatus);\n this.stopReason = isNil(data.stopReason) ? data.stopReason : {abbreviation: data.stopReason.abbreviation, color: data.stopReason.color, pattern: Pattern[data.stopReason.pattern as any as string]};\n }\n\n public updateMachineMessage(message: Message): void {\n this.messages.unshift(message);\n }\n\n public updateMachineProductionOrder(data: MachineProductionOrderUpdate): void {\n this.productionOrder = new OverviewMachineProductionOrder(data.order.name, data.orderProgressChange);\n }\n\n public updateMachineSpeed(data: MachineSpeedUpdate): void {\n this.rotationsPerMinute = data.rotationsPerMinute;\n }\n\n public calculateCachedMachineIcon(highestSeverityContextService: HighestSeverityNotificationContextService): void {\n const data = highestSeverityContextService?.getHighestSeverityDataForMachine(this.id);\n this.cachedMachineIcon = AssertionUtils.isNullOrUndefined(data) ? MachineType.getIconNameForMachineType(this.machineType) : `${data.highestPriorityLevel.toLowerCase()}-circle`;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {HttpMachineOverviewService} from '@infrastructure/http/machine-overview/http-machine-overview.service';\nimport {MACHINE_OVERVIEW} from '@infrastructure/http/machine-overview/machine-overview';\nimport {HttpProductionSchedulesService} from '@infrastructure/http/production-schedule/http-production-schedules.service';\nimport {PRODUCTION_SCHEDULES} from '@infrastructure/http/production-schedule/production-schedules';\nimport {CustomSettingsDialogHeaderComponent} from '@presentation/components/custom-settings-dialog/custom-settings-dialog-header.component';\nimport {MachineOverviewService} from '@presentation/pages/machine-overview/overview-machines-views/overview-machines-list/machine-overview.service';\nimport {PlasticProductSelectionModule} from '@presentation/pages/textile-data/plastic-product/plastic-product-selection.module';\nimport {MatchingCriteriaModule} from '@presentation/pages/utilities/tool/add/matching-criteria/matching-criteria.module';\nimport {StockLocationOverviewService} from '@presentation/pages/utilities/tool/add/tool-status/stock-location-overview.service';\nimport {StockLocationSelectionService} from '@presentation/pages/utilities/tool/add/tool-status/stock-location-selection.service';\nimport {ToolSelectionModule} from '@presentation/pages/utilities/tool/tool-selection.module';\nimport {SharedModule} from '@shared/shared.module';\nimport {CrudOverviewDataModule, EditorHeaderModule} from '@vdw/angular-component-library';\nimport {AddPlasticProductionOrderPageComponent} from './add/add-plastic-production-order-page.component';\nimport {PlasticProductionOrderCustomSettingsComponent} from './custom-settings/plastic-production-order-custom-settings.component';\nimport {PlasticProductionOrderOverviewPageComponent} from './overview/plastic-production-order-overview-page.component';\nimport {plasticProductionOrderRouting} from './plastic-production-order.routing';\n\n@NgModule({\n declarations: [PlasticProductionOrderOverviewPageComponent, AddPlasticProductionOrderPageComponent, PlasticProductionOrderCustomSettingsComponent],\n imports: [\n plasticProductionOrderRouting,\n CrudOverviewDataModule,\n SharedModule,\n EditorHeaderModule,\n MatchingCriteriaModule,\n ToolSelectionModule,\n PlasticProductSelectionModule,\n CustomSettingsDialogHeaderComponent\n ],\n providers: [\n StockLocationOverviewService,\n StockLocationSelectionService,\n MachineOverviewService,\n {provide: PRODUCTION_SCHEDULES, useClass: HttpProductionSchedulesService},\n {provide: MACHINE_OVERVIEW, useClass: HttpMachineOverviewService}\n ]\n})\nexport class PlasticProductionOrderModule {}\n"],"x_google_ignoreList":[]}