@seedtactics/insight-client 16.8.0 → 16.8.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +23 -29
- package/dist/assets/index-BDPKYaRT.js +388 -0
- package/dist/cell-status/current-status.js +4 -1
- package/dist/cell-status/estimated-cycle-times.js +2 -1
- package/dist/cell-status/inspections.js +1 -1
- package/dist/cell-status/loading.js +1 -1
- package/dist/cell-status/material-summary.js +4 -2
- package/dist/cell-status/names.js +1 -1
- package/dist/cell-status/rebookings.js +3 -1
- package/dist/cell-status/scheduled-jobs.js +1 -1
- package/dist/cell-status/sim-production.js +6 -2
- package/dist/cell-status/station-cycles.js +3 -1
- package/dist/cell-status/tool-replacements.js +21 -7
- package/dist/cell-status/tool-usage.js +7 -2
- package/dist/components/App.d.ts +2 -2
- package/dist/components/App.js +13 -5
- package/dist/components/AxisAndGrid.d.ts +6 -6
- package/dist/components/BarcodeScanning.d.ts +2 -2
- package/dist/components/BarcodeScanning.js +9 -3
- package/dist/components/ChartTooltip.d.ts +2 -2
- package/dist/components/ChooseMode.js +6 -1
- package/dist/components/ChooseOperator.d.ts +1 -1
- package/dist/components/ChooseOperator.js +1 -1
- package/dist/components/ErrorsAndLoading.d.ts +3 -3
- package/dist/components/ErrorsAndLoading.js +1 -1
- package/dist/components/LoadingIcon.d.ts +1 -1
- package/dist/components/LoadingIcon.js +2 -2
- package/dist/components/LogEntry.d.ts +2 -2
- package/dist/components/LogEntry.js +31 -29
- package/dist/components/ManualSerialEntry.d.ts +2 -2
- package/dist/components/ManualSerialEntry.js +1 -1
- package/dist/components/MonthSelect.d.ts +1 -1
- package/dist/components/MonthSelect.js +4 -2
- package/dist/components/Navigation.d.ts +2 -2
- package/dist/components/Navigation.js +2 -2
- package/dist/components/VerboseLogging.d.ts +1 -1
- package/dist/components/analysis/AnalysisSelectToolbar.d.ts +1 -1
- package/dist/components/analysis/BasketCycleCards.d.ts +1 -1
- package/dist/components/analysis/BasketCycleCards.js +2 -2
- package/dist/components/analysis/BufferChart.d.ts +1 -1
- package/dist/components/analysis/BufferChart.js +23 -4
- package/dist/components/analysis/CostPerPiece.d.ts +2 -2
- package/dist/components/analysis/CostPerPiece.js +3 -3
- package/dist/components/analysis/CycleChart.d.ts +1 -1
- package/dist/components/analysis/CycleChart.js +19 -6
- package/dist/components/analysis/DataTable.js +5 -3
- package/dist/components/analysis/EfficiencyPage.d.ts +2 -2
- package/dist/components/analysis/EfficiencyPage.js +1 -1
- package/dist/components/analysis/HeatChart.d.ts +1 -1
- package/dist/components/analysis/HeatChart.js +13 -4
- package/dist/components/analysis/InspectionDataTable.d.ts +1 -1
- package/dist/components/analysis/InspectionDataTable.js +6 -1
- package/dist/components/analysis/InspectionSankey.d.ts +1 -1
- package/dist/components/analysis/InspectionSankey.js +16 -6
- package/dist/components/analysis/PalletCycleCards.d.ts +1 -1
- package/dist/components/analysis/PalletCycleCards.js +5 -3
- package/dist/components/analysis/PartCycleCards.d.ts +2 -2
- package/dist/components/analysis/PartCycleCards.js +16 -6
- package/dist/components/analysis/QualityPage.d.ts +1 -1
- package/dist/components/analysis/ScheduleHistory.d.ts +1 -1
- package/dist/components/analysis/ScheduleHistory.js +2 -2
- package/dist/components/analysis/StationDataTable.d.ts +1 -1
- package/dist/components/analysis/ToolReplacements.d.ts +1 -1
- package/dist/components/analysis/ToolReplacements.js +8 -4
- package/dist/components/operations/AllMaterial.d.ts +1 -1
- package/dist/components/operations/AllMaterial.js +1 -1
- package/dist/components/operations/ChartRangeEdit.d.ts +1 -1
- package/dist/components/operations/ChartRangeEdit.js +14 -5
- package/dist/components/operations/CloseoutReport.js +2 -2
- package/dist/components/operations/CompletedParts.js +3 -3
- package/dist/components/operations/CurrentWorkorders.js +3 -3
- package/dist/components/operations/Dashboard.d.ts +2 -2
- package/dist/components/operations/Dashboard.js +1 -1
- package/dist/components/operations/OEEChart.d.ts +4 -4
- package/dist/components/operations/OEEChart.js +7 -2
- package/dist/components/operations/Outliers.d.ts +1 -1
- package/dist/components/operations/Outliers.js +1 -1
- package/dist/components/operations/Programs.js +10 -5
- package/dist/components/operations/Rebookings.d.ts +1 -1
- package/dist/components/operations/Rebookings.js +4 -2
- package/dist/components/operations/RecentCycleChart.d.ts +1 -1
- package/dist/components/operations/RecentCycleChart.js +3 -3
- package/dist/components/operations/RecentProduction.js +3 -3
- package/dist/components/operations/RecentSchedules.js +6 -4
- package/dist/components/operations/RecentStationCycles.d.ts +1 -1
- package/dist/components/operations/RecentStationCycles.js +2 -2
- package/dist/components/operations/ShiftSettings.d.ts +1 -1
- package/dist/components/operations/SimDayUsage.d.ts +1 -1
- package/dist/components/operations/SimDayUsage.js +1 -1
- package/dist/components/operations/ToolReport.js +21 -10
- package/dist/components/operations/WorkorderGantt.d.ts +1 -1
- package/dist/components/operations/WorkorderGantt.js +1 -1
- package/dist/components/quality/QualityMaterial.d.ts +2 -2
- package/dist/components/quality/QualityMaterial.js +2 -2
- package/dist/components/quality/QualityPaths.d.ts +1 -1
- package/dist/components/quality/RecentFailedInspections.d.ts +1 -1
- package/dist/components/quality/RecentFailedInspections.js +1 -1
- package/dist/components/routes.d.ts +1 -1
- package/dist/components/routes.js +1 -1
- package/dist/components/station-monitor/BulkRawMaterial.d.ts +2 -2
- package/dist/components/station-monitor/BulkRawMaterial.js +12 -6
- package/dist/components/station-monitor/Closeout.js +7 -3
- package/dist/components/station-monitor/CustomStationMonitorDialog.js +1 -1
- package/dist/components/station-monitor/Inspection.js +4 -2
- package/dist/components/station-monitor/InvalidateCycle.d.ts +3 -3
- package/dist/components/station-monitor/InvalidateCycle.js +11 -4
- package/dist/components/station-monitor/JobDetails.js +5 -3
- package/dist/components/station-monitor/LoadStation.d.ts +1 -1
- package/dist/components/station-monitor/LoadStation.js +11 -8
- package/dist/components/station-monitor/Material.d.ts +10 -10
- package/dist/components/station-monitor/Material.js +31 -23
- package/dist/components/station-monitor/Material.test.js +1 -1
- package/dist/components/station-monitor/MoveMaterialArrows.d.ts +2 -2
- package/dist/components/station-monitor/PrintedLabel.d.ts +3 -3
- package/dist/components/station-monitor/PrintedLabel.js +10 -5
- package/dist/components/station-monitor/QuarantineButton.d.ts +1 -1
- package/dist/components/station-monitor/QuarantineButton.js +5 -3
- package/dist/components/station-monitor/Queues.d.ts +2 -2
- package/dist/components/station-monitor/Queues.js +8 -6
- package/dist/components/station-monitor/QueuesAddMaterial.d.ts +3 -3
- package/dist/components/station-monitor/QueuesAddMaterial.js +22 -9
- package/dist/components/station-monitor/SelectInspType.d.ts +2 -2
- package/dist/components/station-monitor/SelectInspType.js +1 -1
- package/dist/components/station-monitor/SelectWorkorder.d.ts +1 -1
- package/dist/components/station-monitor/SelectWorkorder.js +1 -1
- package/dist/components/station-monitor/StationToolbar.d.ts +1 -1
- package/dist/components/station-monitor/StationToolbar.js +13 -3
- package/dist/components/station-monitor/SystemOverview.d.ts +4 -4
- package/dist/components/station-monitor/SystemOverview.js +45 -23
- package/dist/components/station-monitor/Whiteboard.d.ts +1 -1
- package/dist/data/all-material-bins.d.ts +1 -1
- package/dist/data/all-material-bins.js +7 -6
- package/dist/data/chart-times.d.ts +1 -1
- package/dist/data/cost-per-piece.js +3 -1
- package/dist/data/current-cycles.js +3 -3
- package/dist/data/move-arrows.js +3 -1
- package/dist/data/operators.d.ts +1 -1
- package/dist/data/part-summary.js +1 -1
- package/dist/data/results.cycles.js +13 -4
- package/dist/data/tools-programs.d.ts +2 -2
- package/dist/data/tools-programs.js +3 -2
- package/dist/index.html +1 -1
- package/dist/network/api.d.ts +75 -9
- package/dist/network/api.js +626 -379
- package/dist/util/chart-colors.js +12 -1
- package/docs/client-efficiency.md +226 -263
- package/docs/client-engineering.md +27 -28
- package/docs/client-launch.md +32 -33
- package/docs/client-operations.md +50 -53
- package/docs/client-quality.md +39 -43
- package/docs/client-sales.md +36 -40
- package/docs/client-scanners.md +27 -27
- package/docs/client-station-monitor.md +86 -96
- package/docs/client-tools-programs.md +47 -44
- package/docs/improve-fms.md +73 -78
- package/docs/makino.md +21 -25
- package/docs/material-quarantine.md +50 -64
- package/docs/material-tracking.md +162 -195
- package/docs/mazak.md +78 -91
- package/docs/niigata.md +145 -168
- package/docs/operator-procedures.md +72 -76
- package/docs/part-instructions.md +36 -36
- package/docs/security.md +87 -81
- package/docs/server-config.md +36 -45
- package/docs/server-errors.md +21 -22
- package/package.json +27 -26
- package/dist/assets/index-BwbaiELK.js +0 -364
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
/* Copyright (c) 2024, John Lenz
|
|
3
3
|
|
|
4
4
|
All rights reserved.
|
|
@@ -212,9 +212,11 @@ function useCellOverview() {
|
|
|
212
212
|
return "Loading";
|
|
213
213
|
if (m.lastCompletedMachiningRouteStopIndex !== null &&
|
|
214
214
|
m.lastCompletedMachiningRouteStopIndex !== undefined) {
|
|
215
|
-
const stop = currentSt.jobs[m.jobUnique]?.procsAndPaths?.[m.process - 1]?.paths?.[m.path - 1]
|
|
215
|
+
const stop = currentSt.jobs[m.jobUnique]?.procsAndPaths?.[m.process - 1]?.paths?.[m.path - 1]
|
|
216
|
+
?.stops?.[m.lastCompletedMachiningRouteStopIndex];
|
|
216
217
|
if (!stop ||
|
|
217
|
-
(stop.stationGroup === mach.machineGroup &&
|
|
218
|
+
(stop.stationGroup === mach.machineGroup &&
|
|
219
|
+
stop.stationNums.includes(mach.machineNum))) {
|
|
218
220
|
return "Loading";
|
|
219
221
|
}
|
|
220
222
|
}
|
|
@@ -223,7 +225,9 @@ function useCellOverview() {
|
|
|
223
225
|
const newStatus = {
|
|
224
226
|
lulNum,
|
|
225
227
|
machineMoving: mach.moving,
|
|
226
|
-
machineCurrentlyAtLoad: lulNum === mach.currentLoadStation
|
|
228
|
+
machineCurrentlyAtLoad: lulNum === mach.currentLoadStation
|
|
229
|
+
? { group: mach.machineGroup, num: mach.machineNum }
|
|
230
|
+
: null,
|
|
227
231
|
readyMats: allMats.get("Ready") ?? [],
|
|
228
232
|
machiningMats: allMats.get("Machining") ?? [],
|
|
229
233
|
loadingMats: allMats.get("Loading") ?? [],
|
|
@@ -244,7 +248,7 @@ function useCellOverview() {
|
|
|
244
248
|
basket,
|
|
245
249
|
mats: matByBasket.get(basket.basketId) ?? [],
|
|
246
250
|
};
|
|
247
|
-
switch (basket.location) {
|
|
251
|
+
switch (basket.position.location) {
|
|
248
252
|
case BasketLocationEnum.Storage:
|
|
249
253
|
if (basketWithMaterial.mats.length > 0) {
|
|
250
254
|
storageFilled += 1;
|
|
@@ -255,12 +259,14 @@ function useCellOverview() {
|
|
|
255
259
|
break;
|
|
256
260
|
case BasketLocationEnum.LoadUnload:
|
|
257
261
|
case BasketLocationEnum.LoadStationStaging: {
|
|
258
|
-
const loadNum = basket.locationNum;
|
|
262
|
+
const loadNum = basket.position.locationNum;
|
|
259
263
|
if (loadNum === null) {
|
|
260
264
|
floatingBaskets.set(basket.basketId, basketWithMaterial);
|
|
261
265
|
break;
|
|
262
266
|
}
|
|
263
|
-
const byLoad = basket.location === BasketLocationEnum.LoadUnload
|
|
267
|
+
const byLoad = basket.position.location === BasketLocationEnum.LoadUnload
|
|
268
|
+
? activeBaskets
|
|
269
|
+
: stagedBaskets;
|
|
264
270
|
const prev = byLoad.get(loadNum) ?? [];
|
|
265
271
|
prev.push(basketWithMaterial);
|
|
266
272
|
byLoad.set(loadNum, prev);
|
|
@@ -310,7 +316,7 @@ function useCellOverview() {
|
|
|
310
316
|
}
|
|
311
317
|
}
|
|
312
318
|
const currentBasket = LazySeq.of(activeBaskets.get(load.lulNum) ?? [])
|
|
313
|
-
.sortBy((b) => b.basket.locationNum)
|
|
319
|
+
.sortBy((b) => b.basket.position.locationNum)
|
|
314
320
|
.toRArray();
|
|
315
321
|
// Extras beyond the first active basket at this station fall back to floating
|
|
316
322
|
for (const extra of currentBasket.slice(1)) {
|
|
@@ -321,7 +327,7 @@ function useCellOverview() {
|
|
|
321
327
|
.toRArray());
|
|
322
328
|
const staging = LazySeq.of(stagedBaskets.get(load.lulNum) ?? [])
|
|
323
329
|
.filter((basket) => !loadingFromBasketIds.has(basket.basket.basketId))
|
|
324
|
-
.sortBy((b) => b.basket.locationNum)
|
|
330
|
+
.sortBy((b) => b.basket.position.locationNum)
|
|
325
331
|
.toRArray();
|
|
326
332
|
maxNumStagingRows = Math.max(maxNumStagingRows, staging.length);
|
|
327
333
|
const sources = LazySeq.of(sourceRows)
|
|
@@ -379,10 +385,17 @@ function MaterialIcon({ mats }) {
|
|
|
379
385
|
function faceName(pallet, faceNum) {
|
|
380
386
|
if (faceNum === null || faceNum === undefined)
|
|
381
387
|
return null;
|
|
382
|
-
const name = pallet != null && pallet != undefined
|
|
388
|
+
const name = pallet != null && pallet != undefined
|
|
389
|
+
? curSt.pallets[pallet]?.faceNames?.[faceNum - 1]
|
|
390
|
+
: null;
|
|
383
391
|
return name ?? "Face: " + faceNum.toString();
|
|
384
392
|
}
|
|
385
|
-
return (_jsxs(Box, { sx: { width: CollapsedIconSize, height: CollapsedIconSize, overflow: "visible" }, children: [_jsx(Paper, { elevation: 4, onPointerEnter: enter, onPointerLeave: leave, sx: {
|
|
393
|
+
return (_jsxs(Box, { sx: { width: CollapsedIconSize, height: CollapsedIconSize, overflow: "visible" }, children: [_jsx(Paper, { elevation: 4, onPointerEnter: enter, onPointerLeave: leave, sx: {
|
|
394
|
+
position: "relative",
|
|
395
|
+
zIndex: open ? 10 : 0,
|
|
396
|
+
width: "max-content",
|
|
397
|
+
height: "max-content",
|
|
398
|
+
}, children: _jsx(Badge, { badgeContent: mats.length > 1 ? mats.length : 0, color: "secondary", children: _jsx(ButtonBase, { focusRipple: true, onClick: click, ref: btnRef, children: _jsx(Collapse, { orientation: "horizontal", in: open, collapsedSize: CollapsedIconSize, children: _jsxs(Box, { sx: {
|
|
386
399
|
display: "flex",
|
|
387
400
|
}, children: [_jsx(PartIdenticon, { part: mats[0].partName, size: CollapsedIconSize }), _jsx(Box, { sx: {
|
|
388
401
|
marginLeft: "10px",
|
|
@@ -412,7 +425,9 @@ function PalletFaces({ maxNumFaces, mats: allMats, loadingOntoPallet, noFilter,
|
|
|
412
425
|
.orderedGroupBy((m) => m.action.loadOntoFace ?? 1)
|
|
413
426
|
: LazySeq.of(allMats)
|
|
414
427
|
.filter((m) => noFilter || m.location.type === LocType.OnPallet)
|
|
415
|
-
.orderedGroupBy((m) => m.action.type === ActionType.Loading
|
|
428
|
+
.orderedGroupBy((m) => m.action.type === ActionType.Loading
|
|
429
|
+
? (m.action.loadOntoFace ?? 1)
|
|
430
|
+
: (m.location.face ?? 1));
|
|
416
431
|
return (_jsx(Box, { sx: {
|
|
417
432
|
display: "grid",
|
|
418
433
|
gridTemplateRows: `${CollapsedIconSize}px`,
|
|
@@ -428,7 +443,7 @@ function PalletFaces({ maxNumFaces, mats: allMats, loadingOntoPallet, noFilter,
|
|
|
428
443
|
}
|
|
429
444
|
}
|
|
430
445
|
function BasketContents({ mats }) {
|
|
431
|
-
const byPosition = LazySeq.of(mats).orderedGroupBy((m) => (m.location.
|
|
446
|
+
const byPosition = LazySeq.of(mats).orderedGroupBy((m) => (m.location.basketSlot ?? 0) + 1);
|
|
432
447
|
return (_jsx(Box, { sx: {
|
|
433
448
|
display: "flex",
|
|
434
449
|
flexWrap: "wrap",
|
|
@@ -487,12 +502,14 @@ function useRemainingMachineTime(material) {
|
|
|
487
502
|
let remainingSecs = null;
|
|
488
503
|
if (remainingDurationFromCurSt) {
|
|
489
504
|
const remainingSecsInCurSt = durationToSeconds(remainingDurationFromCurSt);
|
|
490
|
-
remainingSecs =
|
|
505
|
+
remainingSecs =
|
|
506
|
+
remainingSecsInCurSt - (secondsSinceEpoch - Math.floor(currentStTime.getTime() / 1000));
|
|
491
507
|
}
|
|
492
508
|
let elapsedSecs = null;
|
|
493
509
|
if (elapsedDurationFromCurSt) {
|
|
494
510
|
const elapsedSecsInCurSt = durationToSeconds(elapsedDurationFromCurSt);
|
|
495
|
-
elapsedSecs =
|
|
511
|
+
elapsedSecs =
|
|
512
|
+
elapsedSecsInCurSt + (secondsSinceEpoch - Math.floor(currentStTime.getTime() / 1000));
|
|
496
513
|
}
|
|
497
514
|
if (remainingSecs !== null && elapsedSecs !== null) {
|
|
498
515
|
return [
|
|
@@ -539,7 +556,7 @@ function Machine({ maxNumFaces, machine }) {
|
|
|
539
556
|
}, children: machine.inbound.pallet.palletNum })) : undefined] }) }), _jsx(Box, { sx: {
|
|
540
557
|
gridArea: "inboundmat",
|
|
541
558
|
borderBottom: "1px solid black",
|
|
542
|
-
}, children: machine.inbound ? _jsx(PalletFaces, { mats: machine.inbound.mats, maxNumFaces: maxNumFaces }) : undefined }), _jsx(Box, { sx: {
|
|
559
|
+
}, children: machine.inbound ? (_jsx(PalletFaces, { mats: machine.inbound.mats, maxNumFaces: maxNumFaces })) : undefined }), _jsx(Box, { sx: {
|
|
543
560
|
gridArea: "worktablepal",
|
|
544
561
|
borderRight: "1px solid black",
|
|
545
562
|
borderBottom: "1px solid black",
|
|
@@ -573,7 +590,8 @@ function useElapsedLoadTime(material) {
|
|
|
573
590
|
let elapsedSecs = null;
|
|
574
591
|
if (elapsedDurationFromCurSt) {
|
|
575
592
|
const elapsedSecsInCurSt = durationToSeconds(elapsedDurationFromCurSt);
|
|
576
|
-
elapsedSecs =
|
|
593
|
+
elapsedSecs =
|
|
594
|
+
elapsedSecsInCurSt + (secondsSinceEpoch - Math.floor(currentStTime.getTime() / 1000));
|
|
577
595
|
}
|
|
578
596
|
if (elapsedSecs !== null) {
|
|
579
597
|
return formatSeconds(elapsedSecs);
|
|
@@ -676,15 +694,17 @@ function LoadStation({ maxNumFaces, maxNumStagingRows, maxNumSourceRows, load, }
|
|
|
676
694
|
function MachineAtLoadLabel({ status }) {
|
|
677
695
|
const lulStatus = useElapsedLoadTime(status.loadingMats);
|
|
678
696
|
const [machining, mcStatus, mcElapsed] = useRemainingMachineTime(status.machiningMats);
|
|
679
|
-
return (_jsxs("div", { children: [_jsxs(Typography, { variant: "h5", children: ["Station ", status.lulNum] }), status.machineCurrentlyAtLoad ? (_jsxs(_Fragment, { children: [_jsxs(Typography, { variant: "h5", children: [status.machineCurrentlyAtLoad.group, " ", status.machineCurrentlyAtLoad.num] }), _jsx(Typography, { variant: "subtitle1", children: mcStatus === "Idle" ? lulStatus : mcStatus }), machining ? (mcElapsed === null ? (_jsx(LinearProgress, {})) : mcElapsed < 0 ? (_jsx(LinearProgress, { color: "error" })) : (_jsx(LinearProgress, { variant: "determinate", value: mcElapsed }))) : undefined] })) : (_jsxs(_Fragment, { children: [status.machineMoving ? _jsx(Typography, { variant: "subtitle2", children: "Machine Moving" }) : undefined, _jsxs(Typography, { variant: "subtitle1", children: ["Loading ", lulStatus] })] }))] }));
|
|
697
|
+
return (_jsxs("div", { children: [_jsxs(Typography, { variant: "h5", children: ["Station ", status.lulNum] }), status.machineCurrentlyAtLoad ? (_jsxs(_Fragment, { children: [_jsxs(Typography, { variant: "h5", children: [status.machineCurrentlyAtLoad.group, " ", status.machineCurrentlyAtLoad.num] }), _jsx(Typography, { variant: "subtitle1", children: mcStatus === "Idle" ? lulStatus : mcStatus }), machining ? (mcElapsed === null ? (_jsx(LinearProgress, {})) : mcElapsed < 0 ? (_jsx(LinearProgress, { color: "error" })) : (_jsx(LinearProgress, { variant: "determinate", value: mcElapsed }))) : undefined] })) : (_jsxs(_Fragment, { children: [status.machineMoving ? (_jsx(Typography, { variant: "subtitle2", children: "Machine Moving" })) : undefined, _jsxs(Typography, { variant: "subtitle1", children: ["Loading ", lulStatus] })] }))] }));
|
|
680
698
|
}
|
|
681
|
-
function MachineAtLoad({ maxNumFaces, status }) {
|
|
699
|
+
function MachineAtLoad({ maxNumFaces, status, }) {
|
|
682
700
|
return (_jsxs(Box, { sx: {
|
|
683
701
|
display: "grid",
|
|
684
702
|
border: "1px solid black",
|
|
685
703
|
margin: "5px",
|
|
686
704
|
gridTemplateRows: `minmax(104px, max-content) repeat(3, ${maxNumFaces > 1 ? rowSize.toString() + "px" : "minmax(110px, max-content)"})`,
|
|
687
|
-
gridTemplateColumns: maxNumFaces === 1
|
|
705
|
+
gridTemplateColumns: maxNumFaces === 1
|
|
706
|
+
? "60px minmax(230px, max-content)"
|
|
707
|
+
: gridTemplateColumns(maxNumFaces, true),
|
|
688
708
|
gridTemplateAreas: `"name name" "ready readymat" "machining machiningmat" "loadstation loadstationmat"`,
|
|
689
709
|
}, children: [_jsx(Box, { sx: {
|
|
690
710
|
gridArea: "name",
|
|
@@ -731,7 +751,7 @@ function MachineAtLoad({ maxNumFaces, status }) {
|
|
|
731
751
|
justifyContent: "center",
|
|
732
752
|
}, children: _jsx(PalletFaces, { mats: status.loadingMats, maxNumFaces: maxNumFaces, showExpanded: true, noFilter: true }) })] }));
|
|
733
753
|
}
|
|
734
|
-
function StockerPallet({ maxNumFaces, pallet }) {
|
|
754
|
+
function StockerPallet({ maxNumFaces, pallet, }) {
|
|
735
755
|
return (_jsxs(Box, { sx: {
|
|
736
756
|
display: "grid",
|
|
737
757
|
border: "1px solid black",
|
|
@@ -773,7 +793,7 @@ function BasketStorageSummary({ empty, filled }) {
|
|
|
773
793
|
minWidth: "170px",
|
|
774
794
|
}, children: [_jsxs(Typography, { variant: "h5", children: [basketName, " Storage"] }), _jsxs(Typography, { variant: "body1", children: ["Empty: ", empty] }), _jsxs(Typography, { variant: "body1", children: ["Filled: ", filled] })] }));
|
|
775
795
|
}
|
|
776
|
-
export const SystemOverview = memo(function SystemOverview({ overview }) {
|
|
796
|
+
export const SystemOverview = memo(function SystemOverview({ overview, }) {
|
|
777
797
|
return (_jsxs("div", { children: [overview.machines.toAscLazySeq().map(([group, machines]) => (_jsx(Box, { sx: {
|
|
778
798
|
display: "flex",
|
|
779
799
|
flexWrap: "wrap",
|
|
@@ -786,7 +806,9 @@ export const SystemOverview = memo(function SystemOverview({ overview }) {
|
|
|
786
806
|
display: "flex",
|
|
787
807
|
flexWrap: "wrap",
|
|
788
808
|
justifyContent: "space-evenly",
|
|
789
|
-
}, children: overview.machineAtLoad.map((status) => (_jsx(MachineAtLoad, { status: status, maxNumFaces: overview.maxNumFacesOnPallet }, status.lulNum))) })) : undefined, overview.stockerPals.length > 0 ||
|
|
809
|
+
}, children: overview.machineAtLoad.map((status) => (_jsx(MachineAtLoad, { status: status, maxNumFaces: overview.maxNumFacesOnPallet }, status.lulNum))) })) : undefined, overview.stockerPals.length > 0 ||
|
|
810
|
+
overview.floatingBaskets.length > 0 ||
|
|
811
|
+
overview.storageBaskets ? (_jsxs(Box, { sx: {
|
|
790
812
|
display: "flex",
|
|
791
813
|
flexWrap: "wrap",
|
|
792
814
|
justifyContent: "space-evenly",
|
|
@@ -7,4 +7,4 @@ export interface SortableRegionProps {
|
|
|
7
7
|
readonly renderDragOverlay: (mat: Readonly<IInProcessMaterial>) => ReactNode;
|
|
8
8
|
readonly children?: ReactNode;
|
|
9
9
|
}
|
|
10
|
-
export declare const SortableRegion: import("react").MemoExoticComponent<(props: SortableRegionProps) => import("react
|
|
10
|
+
export declare const SortableRegion: import("react").MemoExoticComponent<(props: SortableRegionProps) => import("react").JSX.Element>;
|
|
@@ -8,7 +8,7 @@ export declare const BasketsBinId: MaterialBinId;
|
|
|
8
8
|
export interface MaterialBinState {
|
|
9
9
|
readonly curBinOrder: ReadonlyArray<MaterialBinId>;
|
|
10
10
|
}
|
|
11
|
-
export declare const currentMaterialBinOrder: import("jotai").WritableAtom<readonly string[], [
|
|
11
|
+
export declare const currentMaterialBinOrder: import("jotai").WritableAtom<readonly string[], [typeof import("jotai/utils").RESET | readonly string[] | ((prev: readonly string[]) => typeof import("jotai/utils").RESET | readonly string[])], void>;
|
|
12
12
|
export declare function moveMaterialBin(curBinOrder: ReadonlyArray<MaterialBinId>, oldIdx: number, newIdx: number): ReadonlyArray<MaterialBinId>;
|
|
13
13
|
export declare enum MaterialBinType {
|
|
14
14
|
LoadStations = "Bin_LoadStations",
|
|
@@ -63,14 +63,14 @@ export var MaterialBinType;
|
|
|
63
63
|
})(MaterialBinType || (MaterialBinType = {}));
|
|
64
64
|
function basketLocation(st) {
|
|
65
65
|
let loc;
|
|
66
|
-
if (st.locationTitle && st.locationTitle.length > 0) {
|
|
67
|
-
loc = st.locationTitle;
|
|
66
|
+
if (st.position.locationTitle && st.position.locationTitle.length > 0) {
|
|
67
|
+
loc = st.position.locationTitle;
|
|
68
68
|
}
|
|
69
69
|
else {
|
|
70
|
-
loc = st.location + " " + st.locationNum.toString();
|
|
70
|
+
loc = st.position.location + " " + st.position.locationNum.toString();
|
|
71
71
|
}
|
|
72
|
-
if (st.
|
|
73
|
-
loc += `-${st.
|
|
72
|
+
if (st.position.zone) {
|
|
73
|
+
loc += `-${st.position.zone}`;
|
|
74
74
|
}
|
|
75
75
|
return loc;
|
|
76
76
|
}
|
|
@@ -150,7 +150,8 @@ export function selectAllMaterialIntoBins(curSt, curBinOrder) {
|
|
|
150
150
|
return q;
|
|
151
151
|
})
|
|
152
152
|
.concat(LazySeq.ofObject(curSt.queues)
|
|
153
|
-
.filter(([, info]) => info.role === api.QueueRole.RawMaterial ||
|
|
153
|
+
.filter(([, info]) => info.role === api.QueueRole.RawMaterial ||
|
|
154
|
+
info.role === api.QueueRole.InProcessTransfer)
|
|
154
155
|
.map(([qname, _]) => qname))
|
|
155
156
|
.toRSet((x) => x);
|
|
156
157
|
const quarantineQueues = LazySeq.ofObject(curSt.queues)
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Atom, WritableAtom } from "jotai";
|
|
2
2
|
export type Last30ChartStart = "StartOfToday" | "StartOfYesterday" | "StartOfWeek" | "StartOfLastWeek" | "Last30";
|
|
3
3
|
export type Last30ChartEnd = "Now" | "EndOfYesterday" | "EndOfLastWeek";
|
|
4
|
-
export declare const last30WeekdayStartIdx: WritableAtom<0 |
|
|
4
|
+
export declare const last30WeekdayStartIdx: WritableAtom<0 | 1 | 2 | 3 | 4 | 5 | 6, [0 | 1 | 2 | 3 | 4 | 5 | 6 | typeof import("jotai/utils").RESET | ((prev: 0 | 1 | 2 | 3 | 4 | 5 | 6) => 0 | 1 | 2 | 3 | 4 | 5 | 6 | typeof import("jotai/utils").RESET)], void>;
|
|
5
5
|
export declare const last30WeekdayStartMinuteOffset: WritableAtom<number, [number | typeof import("jotai/utils").RESET | ((prev: number) => number | typeof import("jotai/utils").RESET)], void>;
|
|
6
6
|
export declare const last30ChartStartTimes: import("jotai-family").AtomFamily<Last30ChartStart, Atom<Date>>;
|
|
7
7
|
export declare const last30ChartEndTimes: import("jotai-family").AtomFamily<Last30ChartEnd, Atom<Date | null>>;
|
|
@@ -116,7 +116,9 @@ export function convert_cost_percent_to_cost_per_piece(costs, machineCostPerYear
|
|
|
116
116
|
parts: costs.parts.map((p) => ({
|
|
117
117
|
part: p.part,
|
|
118
118
|
parts_completed: p.parts_completed,
|
|
119
|
-
machine: p.machine.mapValues((pct, statGroup) => p.parts_completed > 0
|
|
119
|
+
machine: p.machine.mapValues((pct, statGroup) => p.parts_completed > 0
|
|
120
|
+
? (pct * (stationCostForPeriod.get(statGroup) ?? 0)) / p.parts_completed
|
|
121
|
+
: 0),
|
|
120
122
|
labor: p.parts_completed > 0 ? (p.labor * totalLaborCostForPeriod) / p.parts_completed : 0,
|
|
121
123
|
automation: p.parts_completed > 0 ? (p.automation * automationCostForPeriod) / p.parts_completed : 0,
|
|
122
124
|
})),
|
|
@@ -39,9 +39,9 @@ import { durationToMinutes, durationToSeconds } from "../util/parseISODuration.j
|
|
|
39
39
|
function basketsAtLoad(currentSt) {
|
|
40
40
|
return LazySeq.ofObject(currentSt.baskets ?? {})
|
|
41
41
|
.collect(([, basket]) => {
|
|
42
|
-
if (basket.location === BasketLocationEnum.LoadUnload ||
|
|
43
|
-
basket.location === BasketLocationEnum.LoadStationStaging) {
|
|
44
|
-
return [basket.basketId, { group: "L/U", num: basket.locationNum }];
|
|
42
|
+
if (basket.position.location === BasketLocationEnum.LoadUnload ||
|
|
43
|
+
basket.position.location === BasketLocationEnum.LoadStationStaging) {
|
|
44
|
+
return [basket.basketId, { group: "L/U", num: basket.position.locationNum }];
|
|
45
45
|
}
|
|
46
46
|
return null;
|
|
47
47
|
})
|
package/dist/data/move-arrows.js
CHANGED
|
@@ -145,7 +145,9 @@ export function computeArrows(container, allNodes) {
|
|
|
145
145
|
fromX: rect.right,
|
|
146
146
|
fromY: rect.top + rect.height / 2,
|
|
147
147
|
toY: rect.top + rect.height / 2,
|
|
148
|
-
toX: byKind.completedMaterial
|
|
148
|
+
toX: byKind.completedMaterial
|
|
149
|
+
? byKind.completedMaterial.left + 2
|
|
150
|
+
: container.right - 10,
|
|
149
151
|
curveDirection: 1,
|
|
150
152
|
});
|
|
151
153
|
}
|
package/dist/data/operators.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const allOperators: import("jotai").WritableAtom<readonly string[], [
|
|
1
|
+
export declare const allOperators: import("jotai").WritableAtom<readonly string[], [typeof import("jotai/utils").RESET | readonly string[] | ((prev: readonly string[]) => typeof import("jotai/utils").RESET | readonly string[])], void>;
|
|
2
2
|
export declare const currentOperator: import("jotai").WritableAtom<string | null, [newVal: string | null], void>;
|
|
@@ -31,7 +31,7 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
|
31
31
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
32
32
|
*/
|
|
33
33
|
import { LazySeq, OrderedMap, OrderedSet } from "@seedtactics/immutable-collections";
|
|
34
|
-
import { last30MaterialSummary } from "../cell-status/material-summary";
|
|
34
|
+
import { last30MaterialSummary, } from "../cell-status/material-summary";
|
|
35
35
|
import { atom } from "jotai";
|
|
36
36
|
import { isLaborCycle, last30StationCycles } from "../cell-status/station-cycles";
|
|
37
37
|
import { chartRangeAtom } from "./chart-times";
|
|
@@ -91,7 +91,11 @@ export function emptyStationCycles(allCycles) {
|
|
|
91
91
|
}
|
|
92
92
|
export function filterStationCycles(allCycles, { zoom, partAndProc, pallet, station, operation, carrierKind }) {
|
|
93
93
|
const groupByPal = partAndProc && station && station !== FilterAnyMachineKey && station !== FilterAnyLoadKey;
|
|
94
|
-
const groupByPart = pallet &&
|
|
94
|
+
const groupByPart = pallet &&
|
|
95
|
+
!operation &&
|
|
96
|
+
station &&
|
|
97
|
+
station !== FilterAnyMachineKey &&
|
|
98
|
+
station !== FilterAnyLoadKey;
|
|
95
99
|
return {
|
|
96
100
|
...extractFilterOptions(allCycles, partAndProc),
|
|
97
101
|
seriesLabel: groupByPal ? "Carrier" : groupByPart ? "Part" : "Station",
|
|
@@ -182,7 +186,8 @@ export function loadOccupancyCycles(allCycles, { zoom, partAndProc, pallet, stat
|
|
|
182
186
|
return false;
|
|
183
187
|
}
|
|
184
188
|
if (partAndProc &&
|
|
185
|
-
(e.part !== partAndProc.part ||
|
|
189
|
+
(e.part !== partAndProc.part ||
|
|
190
|
+
!e.material.some((m) => m.proc === partAndProc.proc))) {
|
|
186
191
|
return false;
|
|
187
192
|
}
|
|
188
193
|
if (pallet && palletForCycle(e) !== pallet) {
|
|
@@ -324,7 +329,10 @@ export function buildCycleTable(cycles, matsById, startD, endD, hideMedian, load
|
|
|
324
329
|
.toRArray()
|
|
325
330
|
.join(":") +
|
|
326
331
|
"</td>";
|
|
327
|
-
table +=
|
|
332
|
+
table +=
|
|
333
|
+
"<td>" +
|
|
334
|
+
displayStationName(cycle.stationGroup, cycle.stationNumber, loadStationNames) +
|
|
335
|
+
"</td>";
|
|
328
336
|
table += "<td>" + carrierLabel(cycle, basketDisplayName(basketName)) + "</td>";
|
|
329
337
|
table +=
|
|
330
338
|
"<td>" +
|
|
@@ -438,7 +446,8 @@ function result(e) {
|
|
|
438
446
|
export function buildLogEntriesTable(cycles) {
|
|
439
447
|
let table = "<table>\n<thead><tr>";
|
|
440
448
|
table += "<th>Date</th><th>Part</th><th>Station</th><th>Pallet</th>";
|
|
441
|
-
table +=
|
|
449
|
+
table +=
|
|
450
|
+
"<th>Serial</th><th>Workorder</th><th>Result</th><th>Elapsed Min</th><th>Active Min</th>";
|
|
442
451
|
table += "</tr></thead>\n<tbody>\n";
|
|
443
452
|
for (const cycle of cycles) {
|
|
444
453
|
if (cycle.startofcycle) {
|
|
@@ -55,8 +55,8 @@ export interface ProgramReport {
|
|
|
55
55
|
readonly cellNameDifferentFromProgName: boolean;
|
|
56
56
|
}
|
|
57
57
|
export declare function calcProgramReport(usage: ToolUsage, cycleTimes: EstimatedCycleTimes, jobs: HashMap<string, Readonly<IHistoricJob>> | null, progsInCellCtrl: ReadonlyArray<Readonly<IProgramInCellController>>, progsToShow: ReadonlySet<string> | null): ProgramReport;
|
|
58
|
-
export declare const programFilter: import("jotai").PrimitiveAtom<"
|
|
59
|
-
init: "
|
|
58
|
+
export declare const programFilter: import("jotai").PrimitiveAtom<"ActivePrograms" | "AllPrograms"> & {
|
|
59
|
+
init: "ActivePrograms" | "AllPrograms";
|
|
60
60
|
};
|
|
61
61
|
export declare const programReportRefreshTime: import("jotai").WritableAtom<Date | null, [Date], Promise<void>>;
|
|
62
62
|
export declare const currentProgramReport: import("jotai").Atom<ProgramReport | null>;
|
|
@@ -35,7 +35,7 @@ import { durationToMinutes } from "../util/parseISODuration.js";
|
|
|
35
35
|
import { MachineBackend } from "../network/backend.js";
|
|
36
36
|
import { currentStatus } from "../cell-status/current-status.js";
|
|
37
37
|
import copy from "copy-to-clipboard";
|
|
38
|
-
import { last30ToolUse } from "../cell-status/tool-usage.js";
|
|
38
|
+
import { last30ToolUse, } from "../cell-status/tool-usage.js";
|
|
39
39
|
import { last30EstimatedCycleTimes, PartAndStationOperation, } from "../cell-status/estimated-cycle-times.js";
|
|
40
40
|
import { stat_name_and_num } from "../cell-status/station-cycles.js";
|
|
41
41
|
import { LazySeq, HashMap, hashValues, OrderedSet } from "@seedtactics/immutable-collections";
|
|
@@ -258,7 +258,8 @@ function buildToolReportHTML(tools) {
|
|
|
258
258
|
if (showTime) {
|
|
259
259
|
const schUse = LazySeq.of(tool.parts).sumBy((p) => p.scheduledUseMinutes * p.quantity);
|
|
260
260
|
table += "<td>" + schUse.toFixed(1) + "</td>";
|
|
261
|
-
table +=
|
|
261
|
+
table +=
|
|
262
|
+
"<td>" + (mach.currentUseMinutes ? mach.currentUseMinutes.toFixed(1) : "") + "</td>";
|
|
262
263
|
table += "<td>" + (mach.lifetimeMinutes ? mach.lifetimeMinutes.toFixed(1) : "") + "</td>";
|
|
263
264
|
table += "<td>" + (mach.remainingMinutes ? mach.remainingMinutes.toFixed(1) : "") + "</td>";
|
|
264
265
|
}
|
package/dist/index.html
CHANGED
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
46
|
</style>
|
|
47
|
-
<script type="module" crossorigin src="/assets/index-
|
|
47
|
+
<script type="module" crossorigin src="/assets/index-BDPKYaRT.js"></script>
|
|
48
48
|
<link rel="stylesheet" crossorigin href="/assets/index-CbqW4-gR.css">
|
|
49
49
|
</head>
|
|
50
50
|
<body>
|
package/dist/network/api.d.ts
CHANGED
|
@@ -409,6 +409,7 @@ export declare class Job implements IJob {
|
|
|
409
409
|
allocationAlgorithm?: string | undefined;
|
|
410
410
|
bookings?: string[] | undefined;
|
|
411
411
|
provisionalWorkorderId?: string | undefined;
|
|
412
|
+
artifactRunDate?: Date | undefined;
|
|
412
413
|
manuallyCreated?: boolean;
|
|
413
414
|
holdEntireJob?: HoldPattern | undefined;
|
|
414
415
|
cycles: number;
|
|
@@ -428,6 +429,7 @@ export interface IJob {
|
|
|
428
429
|
allocationAlgorithm?: string | undefined;
|
|
429
430
|
bookings?: string[] | undefined;
|
|
430
431
|
provisionalWorkorderId?: string | undefined;
|
|
432
|
+
artifactRunDate?: Date | undefined;
|
|
431
433
|
manuallyCreated?: boolean;
|
|
432
434
|
holdEntireJob?: HoldPattern | undefined;
|
|
433
435
|
cycles: number;
|
|
@@ -707,6 +709,7 @@ export declare class CurrentStatus implements ICurrentStatus {
|
|
|
707
709
|
baskets?: {
|
|
708
710
|
[key: string]: BasketStatus;
|
|
709
711
|
} | undefined;
|
|
712
|
+
basketMoveInstructions?: BasketMoveInstruction[] | undefined;
|
|
710
713
|
constructor(data?: ICurrentStatus);
|
|
711
714
|
init(_data?: any): void;
|
|
712
715
|
static fromJS(data: any): CurrentStatus;
|
|
@@ -730,6 +733,7 @@ export interface ICurrentStatus {
|
|
|
730
733
|
baskets?: {
|
|
731
734
|
[key: string]: BasketStatus;
|
|
732
735
|
} | undefined;
|
|
736
|
+
basketMoveInstructions?: BasketMoveInstruction[] | undefined;
|
|
733
737
|
}
|
|
734
738
|
export declare class HistoricJob extends Job implements IHistoricJob {
|
|
735
739
|
scheduleId?: string | undefined;
|
|
@@ -863,7 +867,7 @@ export declare class InProcessMaterialLocation implements IInProcessMaterialLoca
|
|
|
863
867
|
currentQueue?: string | undefined;
|
|
864
868
|
queuePosition?: number | undefined;
|
|
865
869
|
basketId?: number | undefined;
|
|
866
|
-
|
|
870
|
+
basketSlot?: number | undefined;
|
|
867
871
|
constructor(data?: IInProcessMaterialLocation);
|
|
868
872
|
init(_data?: any): void;
|
|
869
873
|
static fromJS(data: any): InProcessMaterialLocation;
|
|
@@ -876,7 +880,7 @@ export interface IInProcessMaterialLocation {
|
|
|
876
880
|
currentQueue?: string | undefined;
|
|
877
881
|
queuePosition?: number | undefined;
|
|
878
882
|
basketId?: number | undefined;
|
|
879
|
-
|
|
883
|
+
basketSlot?: number | undefined;
|
|
880
884
|
}
|
|
881
885
|
export declare enum LocType {
|
|
882
886
|
Free = "Free",
|
|
@@ -893,7 +897,7 @@ export declare class InProcessMaterialAction implements IInProcessMaterialAction
|
|
|
893
897
|
loadFromBasketId?: number | undefined;
|
|
894
898
|
unloadIntoQueue?: string | undefined;
|
|
895
899
|
unloadToBasketId?: number | undefined;
|
|
896
|
-
|
|
900
|
+
unloadToBasketSlot?: number | undefined;
|
|
897
901
|
elapsedLoadUnloadTime?: string | undefined;
|
|
898
902
|
program?: string | undefined;
|
|
899
903
|
elapsedMachiningTime?: string | undefined;
|
|
@@ -912,7 +916,7 @@ export interface IInProcessMaterialAction {
|
|
|
912
916
|
loadFromBasketId?: number | undefined;
|
|
913
917
|
unloadIntoQueue?: string | undefined;
|
|
914
918
|
unloadToBasketId?: number | undefined;
|
|
915
|
-
|
|
919
|
+
unloadToBasketSlot?: number | undefined;
|
|
916
920
|
elapsedLoadUnloadTime?: string | undefined;
|
|
917
921
|
program?: string | undefined;
|
|
918
922
|
elapsedMachiningTime?: string | undefined;
|
|
@@ -1038,10 +1042,9 @@ export declare enum WorkorderSerialCloseout {
|
|
|
1038
1042
|
}
|
|
1039
1043
|
export declare class BasketStatus implements IBasketStatus {
|
|
1040
1044
|
basketId: number;
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
slot?: number | undefined;
|
|
1045
|
+
position: BasketPosition;
|
|
1046
|
+
emptySlots?: number[];
|
|
1047
|
+
unknownSlots?: number[];
|
|
1045
1048
|
constructor(data?: IBasketStatus);
|
|
1046
1049
|
init(_data?: any): void;
|
|
1047
1050
|
static fromJS(data: any): BasketStatus;
|
|
@@ -1049,10 +1052,25 @@ export declare class BasketStatus implements IBasketStatus {
|
|
|
1049
1052
|
}
|
|
1050
1053
|
export interface IBasketStatus {
|
|
1051
1054
|
basketId: number;
|
|
1055
|
+
position: BasketPosition;
|
|
1056
|
+
emptySlots?: number[];
|
|
1057
|
+
unknownSlots?: number[];
|
|
1058
|
+
}
|
|
1059
|
+
export declare class BasketPosition implements IBasketPosition {
|
|
1052
1060
|
location: BasketLocationEnum;
|
|
1053
1061
|
locationNum: number;
|
|
1054
1062
|
locationTitle?: string | undefined;
|
|
1055
|
-
|
|
1063
|
+
zone?: number | undefined;
|
|
1064
|
+
constructor(data?: IBasketPosition);
|
|
1065
|
+
init(_data?: any): void;
|
|
1066
|
+
static fromJS(data: any): BasketPosition;
|
|
1067
|
+
toJSON(data?: any): any;
|
|
1068
|
+
}
|
|
1069
|
+
export interface IBasketPosition {
|
|
1070
|
+
location: BasketLocationEnum;
|
|
1071
|
+
locationNum: number;
|
|
1072
|
+
locationTitle?: string | undefined;
|
|
1073
|
+
zone?: number | undefined;
|
|
1056
1074
|
}
|
|
1057
1075
|
export declare enum BasketLocationEnum {
|
|
1058
1076
|
LoadUnload = "LoadUnload",
|
|
@@ -1060,6 +1078,38 @@ export declare enum BasketLocationEnum {
|
|
|
1060
1078
|
Storage = "Storage",
|
|
1061
1079
|
InTransit = "InTransit"
|
|
1062
1080
|
}
|
|
1081
|
+
export declare class BasketMoveInstruction implements IBasketMoveInstruction {
|
|
1082
|
+
instructionId: string;
|
|
1083
|
+
basketId: number;
|
|
1084
|
+
source: BasketPosition;
|
|
1085
|
+
destination: BasketPosition;
|
|
1086
|
+
reason: BasketMoveReason;
|
|
1087
|
+
displayText: string;
|
|
1088
|
+
prerequisiteInstructionId?: string | undefined;
|
|
1089
|
+
constructor(data?: IBasketMoveInstruction);
|
|
1090
|
+
init(_data?: any): void;
|
|
1091
|
+
static fromJS(data: any): BasketMoveInstruction;
|
|
1092
|
+
toJSON(data?: any): any;
|
|
1093
|
+
}
|
|
1094
|
+
export interface IBasketMoveInstruction {
|
|
1095
|
+
instructionId: string;
|
|
1096
|
+
basketId: number;
|
|
1097
|
+
source: BasketPosition;
|
|
1098
|
+
destination: BasketPosition;
|
|
1099
|
+
reason: BasketMoveReason;
|
|
1100
|
+
displayText: string;
|
|
1101
|
+
prerequisiteInstructionId?: string | undefined;
|
|
1102
|
+
}
|
|
1103
|
+
export declare enum BasketMoveReason {
|
|
1104
|
+
LoadMaterial = "LoadMaterial",
|
|
1105
|
+
UnloadMaterial = "UnloadMaterial",
|
|
1106
|
+
ProcessTransfer = "ProcessTransfer",
|
|
1107
|
+
SupplyMaterialToCell = "SupplyMaterialToCell",
|
|
1108
|
+
SupplyEmptyBasket = "SupplyEmptyBasket",
|
|
1109
|
+
ReturnToStorage = "ReturnToStorage",
|
|
1110
|
+
RemoveForCorrection = "RemoveForCorrection",
|
|
1111
|
+
Other = "Other"
|
|
1112
|
+
}
|
|
1063
1113
|
export declare class EditMaterialInLogEvents implements IEditMaterialInLogEvents {
|
|
1064
1114
|
oldMaterialID: number;
|
|
1065
1115
|
newMaterialID: number;
|
|
@@ -1204,6 +1254,7 @@ export declare class MostRecentSchedule implements IMostRecentSchedule {
|
|
|
1204
1254
|
extraParts: {
|
|
1205
1255
|
[key: string]: number;
|
|
1206
1256
|
};
|
|
1257
|
+
recentArtifactRuns?: ScheduledArtifactRun[] | undefined;
|
|
1207
1258
|
unscheduledRebookings?: Rebooking[] | undefined;
|
|
1208
1259
|
constructor(data?: IMostRecentSchedule);
|
|
1209
1260
|
init(_data?: any): void;
|
|
@@ -1216,8 +1267,23 @@ export interface IMostRecentSchedule {
|
|
|
1216
1267
|
extraParts: {
|
|
1217
1268
|
[key: string]: number;
|
|
1218
1269
|
};
|
|
1270
|
+
recentArtifactRuns?: ScheduledArtifactRun[] | undefined;
|
|
1219
1271
|
unscheduledRebookings?: Rebooking[] | undefined;
|
|
1220
1272
|
}
|
|
1273
|
+
export declare class ScheduledArtifactRun implements IScheduledArtifactRun {
|
|
1274
|
+
jobUnique: string;
|
|
1275
|
+
partName: string;
|
|
1276
|
+
artifactRunDate: Date;
|
|
1277
|
+
constructor(data?: IScheduledArtifactRun);
|
|
1278
|
+
init(_data?: any): void;
|
|
1279
|
+
static fromJS(data: any): ScheduledArtifactRun;
|
|
1280
|
+
toJSON(data?: any): any;
|
|
1281
|
+
}
|
|
1282
|
+
export interface IScheduledArtifactRun {
|
|
1283
|
+
jobUnique: string;
|
|
1284
|
+
partName: string;
|
|
1285
|
+
artifactRunDate: Date;
|
|
1286
|
+
}
|
|
1221
1287
|
export declare class Rebooking implements IRebooking {
|
|
1222
1288
|
bookingId: string;
|
|
1223
1289
|
partName: string;
|