@seedtactics/insight-client 16.8.4-beta.0 → 16.8.4-beta.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/dist/assets/index-BLYS5tHD.js +388 -0
- package/dist/assets/index-DXfAwuj-.css +1 -0
- package/dist/assets/roboto-cyrillic-300-normal-D0x1uCa7.woff +0 -0
- package/dist/assets/roboto-cyrillic-400-normal-BepgbcUK.woff +0 -0
- package/dist/assets/roboto-cyrillic-500-normal-C8ZOEKN4.woff +0 -0
- package/dist/assets/roboto-cyrillic-700-normal-D8g9KsRf.woff +0 -0
- package/dist/assets/roboto-cyrillic-ext-300-normal-C0UYUNTV.woff +0 -0
- package/dist/assets/roboto-cyrillic-ext-400-normal-DhDk0Xwi.woff +0 -0
- package/dist/assets/roboto-cyrillic-ext-500-normal-SCgicl0l.woff +0 -0
- package/dist/assets/roboto-cyrillic-ext-700-normal-BWOtdzfy.woff +0 -0
- package/dist/assets/roboto-greek-300-normal-xS8CB6LN.woff +0 -0
- package/dist/assets/roboto-greek-400-normal-D904r64h.woff +0 -0
- package/dist/assets/roboto-greek-500-normal-XBIQOowA.woff +0 -0
- package/dist/assets/roboto-greek-700-normal-xQsEWSIA.woff +0 -0
- package/dist/assets/roboto-latin-300-normal-Dqn3NW0Y.woff +0 -0
- package/dist/assets/roboto-latin-400-normal-D27F5sTu.woff +0 -0
- package/dist/assets/roboto-latin-500-normal-fsTFPL3E.woff +0 -0
- package/dist/assets/roboto-latin-700-normal-YuyVweIx.woff +0 -0
- package/dist/assets/roboto-latin-ext-300-normal-B0-sTZUp.woff +0 -0
- package/dist/assets/roboto-latin-ext-400-normal-CIveymTr.woff +0 -0
- package/dist/assets/roboto-latin-ext-500-normal-C1cK9xmS.woff +0 -0
- package/dist/assets/roboto-latin-ext-700-normal-BDePAh3g.woff +0 -0
- package/dist/assets/roboto-math-300-normal-CkwMvXpj.woff +0 -0
- package/dist/assets/roboto-math-400-normal-D6sS4O5l.woff +0 -0
- package/dist/assets/roboto-math-500-normal-BNGXE_xU.woff +0 -0
- package/dist/assets/roboto-math-700-normal-DbhUef31.woff +0 -0
- package/dist/assets/roboto-symbols-300-normal-CBIeSvs3.woff +0 -0
- package/dist/assets/roboto-symbols-400-normal-C7tGlxgb.woff +0 -0
- package/dist/assets/roboto-symbols-500-normal-DFnofPUt.woff +0 -0
- package/dist/assets/roboto-symbols-700-normal-C59U6HqI.woff +0 -0
- package/dist/assets/roboto-vietnamese-300-normal-CYjuQheQ.woff +0 -0
- package/dist/assets/roboto-vietnamese-400-normal-Bf76hAzZ.woff +0 -0
- package/dist/assets/roboto-vietnamese-500-normal-BgoYVz-9.woff +0 -0
- package/dist/assets/roboto-vietnamese-700-normal-kpkdMgbf.woff +0 -0
- package/dist/bootstrap.d.ts +5 -0
- package/dist/bootstrap.js +56 -0
- package/dist/cell-status/custom-state.d.ts +9 -0
- package/dist/cell-status/custom-state.js +42 -0
- package/dist/cell-status/loading.js +5 -0
- package/dist/components/App.d.ts +2 -0
- package/dist/components/App.js +1 -1
- package/dist/components/operations/Programs.js +1 -1
- package/dist/components/station-monitor/BasketLoadStationWork.d.ts +15 -0
- package/dist/components/station-monitor/BasketLoadStationWork.js +147 -0
- package/dist/components/station-monitor/LoadStation.d.ts +2 -0
- package/dist/components/station-monitor/LoadStation.js +26 -17
- package/dist/components/station-monitor/Material.js +21 -4
- package/dist/components/station-monitor/MoveMaterialArrows.js +1 -1
- package/dist/components/station-monitor/QuarantineButton.js +5 -2
- package/dist/components/station-monitor/QueuesAddMaterial.js +2 -1
- package/dist/components/station-monitor/SystemOverview.js +8 -4
- package/dist/data/all-material-bins.js +10 -0
- package/dist/data/current-cycles.js +22 -20
- package/dist/data/move-arrows.d.ts +1 -0
- package/dist/data/move-arrows.js +18 -2
- package/dist/data/queue-material.js +2 -0
- package/dist/index.html +2 -2
- package/dist/index.js +7 -15
- package/dist/network/api.d.ts +10 -1
- package/dist/network/api.js +9 -0
- package/dist/network/backend.d.ts +2 -0
- package/dist/network/backend.js +14 -9
- package/package.json +8 -7
- package/dist/assets/index-4ivKxo2f.js +0 -388
- package/dist/assets/index-CbqW4-gR.css +0 -1
- package/dist/assets/roboto-cyrillic-300-normal-DEFNdjk5.woff +0 -0
- package/dist/assets/roboto-cyrillic-400-normal-Bjg-1-sg.woff +0 -0
- package/dist/assets/roboto-cyrillic-500-normal-CBKMylY4.woff +0 -0
- package/dist/assets/roboto-cyrillic-700-normal-DhZFXDSN.woff +0 -0
- package/dist/assets/roboto-cyrillic-ext-300-normal-D7ank4TF.woff +0 -0
- package/dist/assets/roboto-cyrillic-ext-400-normal-CaK1767H.woff +0 -0
- package/dist/assets/roboto-cyrillic-ext-500-normal-DqF2hftb.woff +0 -0
- package/dist/assets/roboto-cyrillic-ext-700-normal-CI7FH63F.woff +0 -0
- package/dist/assets/roboto-greek-300-normal-C_Dgaih9.woff +0 -0
- package/dist/assets/roboto-greek-400-normal-Bb5mj_fZ.woff +0 -0
- package/dist/assets/roboto-greek-500-normal-oCqhoyfc.woff +0 -0
- package/dist/assets/roboto-greek-700-normal-DjRqqLBV.woff +0 -0
- package/dist/assets/roboto-latin-300-normal-BARJ-h6h.woff +0 -0
- package/dist/assets/roboto-latin-400-normal-DyYNIH4P.woff +0 -0
- package/dist/assets/roboto-latin-500-normal-DQZyH_nt.woff +0 -0
- package/dist/assets/roboto-latin-700-normal-DLgJJpmK.woff +0 -0
- package/dist/assets/roboto-latin-ext-300-normal-CTCCHkZF.woff +0 -0
- package/dist/assets/roboto-latin-ext-400-normal-scX0fKtV.woff +0 -0
- package/dist/assets/roboto-latin-ext-500-normal-Cyc0AKLz.woff +0 -0
- package/dist/assets/roboto-latin-ext-700-normal-BUhwtWwy.woff +0 -0
- package/dist/assets/roboto-math-300-normal-Ds0YpBw2.woff +0 -0
- package/dist/assets/roboto-math-400-normal-C9RxBKAh.woff +0 -0
- package/dist/assets/roboto-math-500-normal-C-7mKPO3.woff +0 -0
- package/dist/assets/roboto-math-700-normal-DVoD5t2k.woff +0 -0
- package/dist/assets/roboto-symbols-300-normal-BCnjhQd_.woff +0 -0
- package/dist/assets/roboto-symbols-400-normal-DLYbZahX.woff +0 -0
- package/dist/assets/roboto-symbols-500-normal-F7c8nfcH.woff +0 -0
- package/dist/assets/roboto-symbols-700-normal-BoS6HWkc.woff +0 -0
- package/dist/assets/roboto-vietnamese-300-normal-INUupD3o.woff +0 -0
- package/dist/assets/roboto-vietnamese-400-normal-DnpnVwnf.woff +0 -0
- package/dist/assets/roboto-vietnamese-500-normal-D380IkQ8.woff +0 -0
- package/dist/assets/roboto-vietnamese-700-normal-DsFyXAL4.woff +0 -0
|
@@ -61,6 +61,7 @@ import { useAtomValue, useSetAtom } from "jotai";
|
|
|
61
61
|
import { PrintLabelButton } from "./PrintedLabel.js";
|
|
62
62
|
import { hideNonLoadingMaterialOnLoadStation } from "../../data/queue-material.js";
|
|
63
63
|
import { basketDisplayName, loadStationDisplayName } from "../../cell-status/station-cycles.js";
|
|
64
|
+
import { BasketLoadStationWorkflow, } from "./BasketLoadStationWork.js";
|
|
64
65
|
function encodeLoadStationRegionIdPart(value) {
|
|
65
66
|
return encodeURIComponent(value.toString());
|
|
66
67
|
}
|
|
@@ -75,9 +76,15 @@ function materialColumnTestId(region) {
|
|
|
75
76
|
}
|
|
76
77
|
}
|
|
77
78
|
function isLoadingToDisplayedTarget(mat, pallet, activeBasket) {
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
(
|
|
79
|
+
switch (mat.action.type) {
|
|
80
|
+
case api.ActionType.Loading:
|
|
81
|
+
return ((pallet !== undefined && mat.action.loadOntoPalletNum === pallet.palletNum) ||
|
|
82
|
+
(activeBasket !== undefined && mat.action.loadFromBasketId === activeBasket.basketId));
|
|
83
|
+
case api.ActionType.LoadingToBasket:
|
|
84
|
+
return activeBasket !== undefined && mat.action.loadToBasketId === activeBasket.basketId;
|
|
85
|
+
default:
|
|
86
|
+
return false;
|
|
87
|
+
}
|
|
81
88
|
}
|
|
82
89
|
function selectLoadStationAndQueueProps(loadNum, queues, curSt, hideNonLoading) {
|
|
83
90
|
// search for pallet
|
|
@@ -148,8 +155,7 @@ function selectLoadStationAndQueueProps(loadNum, queues, curSt, hideNonLoading)
|
|
|
148
155
|
}
|
|
149
156
|
if (m.location.type === api.LocType.InQueue &&
|
|
150
157
|
m.location.currentQueue &&
|
|
151
|
-
m
|
|
152
|
-
m.action.loadFromBasketId === activeBasket.basketId) {
|
|
158
|
+
isLoadingToDisplayedTarget(m, undefined, activeBasket)) {
|
|
153
159
|
queuesToShow.add(m.location.currentQueue);
|
|
154
160
|
}
|
|
155
161
|
}
|
|
@@ -205,6 +211,11 @@ function selectLoadStationAndQueueProps(loadNum, queues, curSt, hideNonLoading)
|
|
|
205
211
|
if (isLoadingToDisplayedTarget(m, pal, activeBasket) && m.action.elapsedLoadUnloadTime) {
|
|
206
212
|
elapsedLoadingTime = m.action.elapsedLoadUnloadTime;
|
|
207
213
|
}
|
|
214
|
+
if (m.action.type === api.ActionType.LoadingToBasket &&
|
|
215
|
+
m.action.loadToBasketId === activeBasket.basketId &&
|
|
216
|
+
m.location.type === api.LocType.Free) {
|
|
217
|
+
freeLoading.push(m);
|
|
218
|
+
}
|
|
208
219
|
if (m.location.type === api.LocType.InBasket &&
|
|
209
220
|
m.location.basketId === activeBasket.basketId) {
|
|
210
221
|
if ((m.action.type === api.ActionType.UnloadToCompletedMaterial ||
|
|
@@ -274,6 +285,7 @@ function selectLoadStationAndQueueProps(loadNum, queues, curSt, hideNonLoading)
|
|
|
274
285
|
return {
|
|
275
286
|
pallet: pal,
|
|
276
287
|
activeBasket,
|
|
288
|
+
allMaterial: curSt.material,
|
|
277
289
|
face: palFaces,
|
|
278
290
|
freeLoadingMaterial: freeLoading,
|
|
279
291
|
queues: queueMat,
|
|
@@ -346,7 +358,7 @@ function ElapsedLoadTime({ elapsedLoadTime }) {
|
|
|
346
358
|
return null;
|
|
347
359
|
}
|
|
348
360
|
}
|
|
349
|
-
function PalletFace({ data, faceNum }) {
|
|
361
|
+
function PalletFace({ data, faceNum, loadNum, submitBasketLoadStationCommand, }) {
|
|
350
362
|
const face = data.face.get(faceNum);
|
|
351
363
|
const fmsInfo = useAtomValue(fmsInformation);
|
|
352
364
|
const basketName = basketDisplayName(fmsInfo.basketName);
|
|
@@ -358,17 +370,10 @@ function PalletFace({ data, faceNum }) {
|
|
|
358
370
|
gridTemplateColumns: "1fr auto",
|
|
359
371
|
}, children: [_jsxs(Typography, { variant: "h4", children: [basketName, " ", data.activeBasket.basketId] }), _jsx(Box, { sx: {
|
|
360
372
|
justifySelf: "flex-end",
|
|
361
|
-
}, children: _jsx(ElapsedLoadTime, { elapsedLoadTime: data.elapsedLoadingTime }) })] })) : null, _jsx(Box, { sx: {
|
|
362
|
-
ml: "4em",
|
|
363
|
-
mr: "4em",
|
|
364
|
-
}, children: _jsx(MoveMaterialArrowNode, { kind: {
|
|
373
|
+
}, children: _jsx(ElapsedLoadTime, { elapsedLoadTime: data.elapsedLoadingTime }) })] })) : null, _jsx(Box, { sx: { ml: "4em", mr: "4em" }, children: _jsx(MoveMaterialArrowNode, { kind: {
|
|
365
374
|
type: MoveMaterialNodeKindType.BasketZone,
|
|
366
375
|
basketId: data.activeBasket.basketId,
|
|
367
|
-
}, children: _jsx(
|
|
368
|
-
display: "flex",
|
|
369
|
-
flexWrap: "wrap",
|
|
370
|
-
justifyContent: "space-around",
|
|
371
|
-
}, children: face.map((m, idx) => (_jsx(MoveMaterialArrowNode, { kind: { type: MoveMaterialNodeKindType.Material, material: m }, children: _jsx(InProcMaterial, { mat: m, fsize: data.fsize }) }, idx))) }) }) })] }));
|
|
376
|
+
}, children: _jsx(BasketLoadStationWorkflow, { stationNumber: loadNum, basket: data.activeBasket, material: data.allMaterial, fsize: data.fsize, submitCommand: submitBasketLoadStationCommand }) }) })] }));
|
|
372
377
|
}
|
|
373
378
|
if (!data.pallet)
|
|
374
379
|
return null;
|
|
@@ -395,6 +400,9 @@ function MaterialRegion({ data, mat, }) {
|
|
|
395
400
|
return (_jsxs("div", { children: [mat.label !== "" ? _jsx(Typography, { variant: "h4", children: mat.label }) : null, mat.material.mats.map((m, matIdx) => (_jsx(MoveMaterialArrowNode, { kind: {
|
|
396
401
|
type: MoveMaterialNodeKindType.Material,
|
|
397
402
|
material: m,
|
|
403
|
+
identifier: m.materialID < 0
|
|
404
|
+
? `raw-${mat.isFree ? "free" : "queue"}-${mat.label}-${matIdx}`
|
|
405
|
+
: undefined,
|
|
398
406
|
}, children: mat.isFree || mat.sortable === false ? (_jsx(InProcMaterial, { mat: m, displayActionForSinglePallet: data.pallet ? data.pallet.palletNum : 0, fsize: data.fsize, showRawMaterial: true, showJobComment: true })) : (_jsx(SortableInProcMaterial, { mat: m, displayActionForSinglePallet: data.pallet ? data.pallet.palletNum : 0, shake: m.action.type === api.ActionType.Loading &&
|
|
399
407
|
m.action.loadOntoPalletNum === data.pallet?.palletNum, fsize: m.action.type === api.ActionType.Loading &&
|
|
400
408
|
m.action.loadOntoPalletNum === data.pallet?.palletNum
|
|
@@ -534,7 +542,8 @@ function AddMatButton({ queues, onClose, toQueue, showAddToQueue, setShowAddToQu
|
|
|
534
542
|
const [addExistingMat, addingExistingMat] = matDetails.useAddExistingMaterialToQueue();
|
|
535
543
|
if (!existingMat ||
|
|
536
544
|
inProcMat?.location.type === api.LocType.OnPallet ||
|
|
537
|
-
inProcMat?.action.type === api.ActionType.Loading
|
|
545
|
+
inProcMat?.action.type === api.ActionType.Loading ||
|
|
546
|
+
inProcMat?.action.type === api.ActionType.LoadingToBasket) {
|
|
538
547
|
return null;
|
|
539
548
|
}
|
|
540
549
|
if (queues.length === 0)
|
|
@@ -695,7 +704,7 @@ export function LoadStation(props) {
|
|
|
695
704
|
gridArea: `palface${idx}`,
|
|
696
705
|
padding: "8px",
|
|
697
706
|
borderTop: data.pallet && idx !== 0 ? "1px solid black" : undefined,
|
|
698
|
-
}, children: _jsx(PalletFace, { data: data, faceNum: faceNum }) }, faceNum))), _jsx(Box, { "data-testid": "load-station-completed", sx: {
|
|
707
|
+
}, children: _jsx(PalletFace, { data: data, faceNum: faceNum, loadNum: props.loadNum, submitBasketLoadStationCommand: props.submitBasketLoadStationCommand }) }, faceNum))), _jsx(Box, { "data-testid": "load-station-completed", sx: {
|
|
699
708
|
borderLeft: fillViewPort ? "1px solid black" : undefined,
|
|
700
709
|
borderTop: !fillViewPort ? "1px solid black" : undefined,
|
|
701
710
|
gridArea: "completed",
|
|
@@ -89,11 +89,12 @@ function shakeAnimationIteration(event) {
|
|
|
89
89
|
}
|
|
90
90
|
const MatCardHeader = styled("div", { shouldForwardProp: (prop) => prop !== "fsize" })(({ fsize, theme }) => {
|
|
91
91
|
if (!fsize)
|
|
92
|
-
return { fontSize: "1.25rem" };
|
|
92
|
+
return { fontSize: "1.25rem", fontWeight: "500" };
|
|
93
93
|
switch (fsize) {
|
|
94
94
|
case "normal":
|
|
95
95
|
return {
|
|
96
96
|
fontSize: "1rem",
|
|
97
|
+
fontWeight: "500",
|
|
97
98
|
[theme.breakpoints.up("md")]: {
|
|
98
99
|
fontSize: "1.25rem",
|
|
99
100
|
},
|
|
@@ -104,6 +105,7 @@ const MatCardHeader = styled("div", { shouldForwardProp: (prop) => prop !== "fsi
|
|
|
104
105
|
case "large":
|
|
105
106
|
return {
|
|
106
107
|
fontSize: "1.5rem",
|
|
108
|
+
fontWeight: "500",
|
|
107
109
|
[theme.breakpoints.up("lg")]: {
|
|
108
110
|
fontSize: "1.75rem",
|
|
109
111
|
},
|
|
@@ -114,6 +116,7 @@ const MatCardHeader = styled("div", { shouldForwardProp: (prop) => prop !== "fsi
|
|
|
114
116
|
case "x-large":
|
|
115
117
|
return {
|
|
116
118
|
fontSize: "1.5rem",
|
|
119
|
+
fontWeight: "500",
|
|
117
120
|
[theme.breakpoints.up("md")]: {
|
|
118
121
|
fontSize: "1.75rem",
|
|
119
122
|
},
|
|
@@ -128,11 +131,12 @@ const MatCardHeader = styled("div", { shouldForwardProp: (prop) => prop !== "fsi
|
|
|
128
131
|
});
|
|
129
132
|
const MatCardDetail = styled("div", { shouldForwardProp: (prop) => prop !== "fsize" })(({ fsize, theme }) => {
|
|
130
133
|
if (!fsize)
|
|
131
|
-
return { fontSize: "0.75rem" };
|
|
134
|
+
return { fontSize: "0.75rem", fontWeight: "500" };
|
|
132
135
|
switch (fsize) {
|
|
133
136
|
case "normal":
|
|
134
137
|
return {
|
|
135
138
|
fontSize: "0.75rem",
|
|
139
|
+
fontWeight: "500",
|
|
136
140
|
[theme.breakpoints.up("md")]: {
|
|
137
141
|
fontSize: "1rem",
|
|
138
142
|
},
|
|
@@ -140,6 +144,7 @@ const MatCardDetail = styled("div", { shouldForwardProp: (prop) => prop !== "fsi
|
|
|
140
144
|
case "large":
|
|
141
145
|
return {
|
|
142
146
|
fontSize: "1rem",
|
|
147
|
+
fontWeight: "500",
|
|
143
148
|
[theme.breakpoints.up("lg")]: {
|
|
144
149
|
fontSize: "1.5rem",
|
|
145
150
|
},
|
|
@@ -150,6 +155,7 @@ const MatCardDetail = styled("div", { shouldForwardProp: (prop) => prop !== "fsi
|
|
|
150
155
|
case "x-large":
|
|
151
156
|
return {
|
|
152
157
|
fontSize: "1rem",
|
|
158
|
+
fontWeight: "500",
|
|
153
159
|
[theme.breakpoints.up("md")]: {
|
|
154
160
|
fontSize: "1.5rem",
|
|
155
161
|
},
|
|
@@ -228,16 +234,25 @@ export function MaterialAction({ mat, displayActionForSinglePallet, fsize, }) {
|
|
|
228
234
|
}
|
|
229
235
|
}
|
|
230
236
|
}
|
|
237
|
+
case api.ActionType.LoadingToBasket:
|
|
238
|
+
return (_jsxs(MatCardDetail, { fsize: fsize, children: ["Load into ", basketName, " ", mat.action.loadToBasketId ?? "", mat.action.loadToBasketSlot !== undefined ? ` slot ${mat.action.loadToBasketSlot}` : ""] }));
|
|
231
239
|
case api.ActionType.UnloadToInProcess:
|
|
232
240
|
case api.ActionType.UnloadToCompletedMaterial:
|
|
233
241
|
if (mat.action.unloadToBasketId) {
|
|
234
242
|
return (_jsxs(MatCardDetail, { fsize: fsize, children: ["Unload to ", basketName, " ", mat.action.unloadToBasketId, mat.action.unloadToBasketSlot !== undefined
|
|
235
|
-
? ` slot ${mat.action.unloadToBasketSlot
|
|
243
|
+
? ` slot ${mat.action.unloadToBasketSlot}`
|
|
236
244
|
: ""] }));
|
|
237
245
|
}
|
|
238
246
|
else if (mat.action.unloadIntoQueue) {
|
|
239
247
|
return (_jsxs(MatCardDetail, { fsize: fsize, children: ["Unload into queue ", mat.action.unloadIntoQueue] }));
|
|
240
248
|
}
|
|
249
|
+
else if (mat.action.type === api.ActionType.UnloadToCompletedMaterial &&
|
|
250
|
+
mat.location.type === api.LocType.InBasket) {
|
|
251
|
+
return (_jsxs(MatCardDetail, { fsize: fsize, children: ["Unload from ", basketName, " ", mat.location.basketId, " to completed material"] }));
|
|
252
|
+
}
|
|
253
|
+
else if (mat.location.type === api.LocType.InBasket) {
|
|
254
|
+
return (_jsxs(MatCardDetail, { fsize: fsize, children: ["Unload from ", basketName, " ", mat.location.basketId] }));
|
|
255
|
+
}
|
|
241
256
|
else {
|
|
242
257
|
return _jsx(MatCardDetail, { fsize: fsize, children: "Unload from pallet" });
|
|
243
258
|
}
|
|
@@ -282,7 +297,9 @@ function Warning({ mat }) {
|
|
|
282
297
|
function JobRawMaterial({ fsize, mat, }) {
|
|
283
298
|
const job = useAtomValue(currentStatus).jobs[mat.jobUnique];
|
|
284
299
|
let path = mat.path;
|
|
285
|
-
if (mat.action.type === api.ActionType.Loading
|
|
300
|
+
if ((mat.action.type === api.ActionType.Loading ||
|
|
301
|
+
mat.action.type === api.ActionType.LoadingToBasket) &&
|
|
302
|
+
mat.action.pathAfterLoad) {
|
|
286
303
|
path = mat.action.pathAfterLoad;
|
|
287
304
|
}
|
|
288
305
|
if (!job) {
|
|
@@ -116,5 +116,5 @@ export function useMoveMaterialArrowRef(kind) {
|
|
|
116
116
|
}
|
|
117
117
|
export function MoveMaterialArrowNode({ kind, children, }) {
|
|
118
118
|
const ref = useMoveMaterialArrowRef(kind);
|
|
119
|
-
return _jsx("div", { ref: ref, children: children });
|
|
119
|
+
return (_jsx("div", { ref: ref, "data-move-material-identifier": uniqueIdForNodeKind(kind), children: children }));
|
|
120
120
|
}
|
|
@@ -116,10 +116,13 @@ function useQuarantineMaterial(ignoreOperator) {
|
|
|
116
116
|
}
|
|
117
117
|
break;
|
|
118
118
|
case LocType.InQueue:
|
|
119
|
-
if (inProcMat.action.type === ActionType.Loading
|
|
119
|
+
if ((inProcMat.action.type === ActionType.Loading ||
|
|
120
|
+
inProcMat.action.type === ActionType.LoadingToBasket) &&
|
|
121
|
+
!fmsInfo.allowQuarantineToCancelLoad) {
|
|
120
122
|
return null;
|
|
121
123
|
}
|
|
122
|
-
else if (inProcMat.action.type === ActionType.Loading
|
|
124
|
+
else if (inProcMat.action.type === ActionType.Loading ||
|
|
125
|
+
inProcMat.action.type === ActionType.LoadingToBasket) {
|
|
123
126
|
type = "CancelLoad";
|
|
124
127
|
}
|
|
125
128
|
else {
|
|
@@ -54,7 +54,8 @@ function useAllowAddToQueue(queueNames) {
|
|
|
54
54
|
return false;
|
|
55
55
|
if (inProcMat?.location.type === api.LocType.OnPallet)
|
|
56
56
|
return false;
|
|
57
|
-
if (inProcMat?.action.type === api.ActionType.Loading
|
|
57
|
+
if (inProcMat?.action.type === api.ActionType.Loading ||
|
|
58
|
+
inProcMat?.action.type === api.ActionType.LoadingToBasket)
|
|
58
59
|
return false;
|
|
59
60
|
if (existingMat === null && !possibleNewMats) {
|
|
60
61
|
return false;
|
|
@@ -59,10 +59,13 @@ function useCellOverview() {
|
|
|
59
59
|
.filter((m) => m.location.type === LocType.OnPallet || m.action.type === ActionType.Loading)
|
|
60
60
|
.toRLookup((m) => m.location.palletNum ?? m.action.loadOntoPalletNum ?? 0);
|
|
61
61
|
const matByBasket = LazySeq.of(currentSt.material)
|
|
62
|
-
.filter((m) => m.location.type === LocType.InBasket &&
|
|
62
|
+
.filter((m) => (m.location.type === LocType.InBasket &&
|
|
63
63
|
m.location.basketId !== null &&
|
|
64
|
-
m.location.basketId !== undefined)
|
|
65
|
-
|
|
64
|
+
m.location.basketId !== undefined) ||
|
|
65
|
+
(m.action.type === ActionType.LoadingToBasket &&
|
|
66
|
+
m.action.loadToBasketId !== null &&
|
|
67
|
+
m.action.loadToBasketId !== undefined))
|
|
68
|
+
.toRLookup((m) => m.location.basketId ?? m.action.loadToBasketId ?? 0);
|
|
66
69
|
let loads = LazySeq.ofObject(currentSt.pallets)
|
|
67
70
|
.filter(([_, p]) => p.currentPalletLocation.loc === PalletLocationEnum.LoadUnload)
|
|
68
71
|
.toOrderedMap(([_, p]) => [
|
|
@@ -443,7 +446,7 @@ function PalletFaces({ maxNumFaces, mats: allMats, loadingOntoPallet, noFilter,
|
|
|
443
446
|
}
|
|
444
447
|
}
|
|
445
448
|
function BasketContents({ mats }) {
|
|
446
|
-
const byPosition = LazySeq.of(mats).orderedGroupBy((m) =>
|
|
449
|
+
const byPosition = LazySeq.of(mats).orderedGroupBy((m) => m.location.basketSlot ?? 0);
|
|
447
450
|
return (_jsx(Box, { sx: {
|
|
448
451
|
display: "flex",
|
|
449
452
|
flexWrap: "wrap",
|
|
@@ -582,6 +585,7 @@ function Machine({ maxNumFaces, machine }) {
|
|
|
582
585
|
}
|
|
583
586
|
function useElapsedLoadTime(material) {
|
|
584
587
|
const mat = material?.find((m) => m.action.type === ActionType.Loading ||
|
|
588
|
+
m.action.type === ActionType.LoadingToBasket ||
|
|
585
589
|
m.action.type === ActionType.UnloadToCompletedMaterial ||
|
|
586
590
|
m.action.type === ActionType.UnloadToInProcess);
|
|
587
591
|
const elapsedDurationFromCurSt = mat?.action?.elapsedLoadUnloadTime;
|
|
@@ -126,6 +126,16 @@ export function selectAllMaterialIntoBins(curSt, curBinOrder) {
|
|
|
126
126
|
addToMap(loadStations, lul, mat);
|
|
127
127
|
break;
|
|
128
128
|
}
|
|
129
|
+
case api.ActionType.LoadingToBasket: {
|
|
130
|
+
const basket = curSt.baskets?.[mat.action.loadToBasketId ?? 0];
|
|
131
|
+
if (basket?.position.location === api.BasketLocationEnum.LoadUnload) {
|
|
132
|
+
addToMap(loadStations, basket.position.locationNum, mat);
|
|
133
|
+
}
|
|
134
|
+
else {
|
|
135
|
+
addToMap(queues, "Free Material", mat);
|
|
136
|
+
}
|
|
137
|
+
break;
|
|
138
|
+
}
|
|
129
139
|
default:
|
|
130
140
|
addToMap(queues, "Free Material", mat);
|
|
131
141
|
break;
|
|
@@ -47,24 +47,17 @@ function basketsAtLoad(currentSt) {
|
|
|
47
47
|
})
|
|
48
48
|
.toRMap(([basketId, loc]) => [basketId, loc]);
|
|
49
49
|
}
|
|
50
|
-
function locationForLoadActivity(material,
|
|
51
|
-
if (material.action.type === ActionType.
|
|
50
|
+
function locationForLoadActivity(material, palToLoc, basketToLoad) {
|
|
51
|
+
if (material.action.type === ActionType.LoadingToBasket) {
|
|
52
|
+
return basketToLoad.get(material.action.loadToBasketId ?? 0) ?? null;
|
|
53
|
+
}
|
|
54
|
+
else if (material.action.type === ActionType.Loading) {
|
|
52
55
|
if (material.action.loadOntoPalletNum) {
|
|
53
56
|
return palToLoc.get(material.action.loadOntoPalletNum) ?? null;
|
|
54
57
|
}
|
|
55
58
|
if (material.action.loadFromBasketId) {
|
|
56
59
|
return basketToLoad.get(material.action.loadFromBasketId) ?? null;
|
|
57
60
|
}
|
|
58
|
-
// queue → basket: neither pallet nor source basket set. Find a basket at a load station
|
|
59
|
-
// that is a basket-load station for this job/process.
|
|
60
|
-
const proc = material.action.processAfterLoad ?? material.process;
|
|
61
|
-
const procInfo = jobs[material.jobUnique]?.procsAndPaths?.[proc - 1];
|
|
62
|
-
const basketLoadStations = procInfo?.basketLoadStations ?? [];
|
|
63
|
-
for (const [, loc] of basketToLoad) {
|
|
64
|
-
if (basketLoadStations.length === 0 || basketLoadStations.includes(loc.num)) {
|
|
65
|
-
return loc;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
61
|
return null;
|
|
69
62
|
}
|
|
70
63
|
else {
|
|
@@ -110,13 +103,14 @@ function loadCurrentCycles(currentSt, estimated, palToLoc, loadStationNames) {
|
|
|
110
103
|
.collect((m) => {
|
|
111
104
|
if (m.action.type === ActionType.UnloadToCompletedMaterial ||
|
|
112
105
|
m.action.type === ActionType.UnloadToInProcess) {
|
|
113
|
-
const loc = locationForLoadActivity(m,
|
|
106
|
+
const loc = locationForLoadActivity(m, palToLoc, basketToLoad);
|
|
114
107
|
if (!loc)
|
|
115
108
|
return null;
|
|
116
109
|
return { mat: m, material: [m], proc: m.process, path: m.path, loc };
|
|
117
110
|
}
|
|
118
|
-
else if (m.action.type === ActionType.Loading
|
|
119
|
-
|
|
111
|
+
else if (m.action.type === ActionType.Loading ||
|
|
112
|
+
m.action.type === ActionType.LoadingToBasket) {
|
|
113
|
+
const loc = locationForLoadActivity(m, palToLoc, basketToLoad);
|
|
120
114
|
if (!loc)
|
|
121
115
|
return null;
|
|
122
116
|
return {
|
|
@@ -133,8 +127,9 @@ function loadCurrentCycles(currentSt, estimated, palToLoc, loadStationNames) {
|
|
|
133
127
|
const job = currentSt.jobs[m.mat.jobUnique];
|
|
134
128
|
const procInfo = job?.procsAndPaths?.[m.proc - 1];
|
|
135
129
|
const pathData = job?.procsAndPaths?.[m.proc - 1]?.paths?.[m.path - 1];
|
|
136
|
-
if (m.mat.action.type === ActionType.Loading
|
|
137
|
-
|
|
130
|
+
if (m.mat.action.type === ActionType.Loading ||
|
|
131
|
+
m.mat.action.type === ActionType.LoadingToBasket) {
|
|
132
|
+
const expected = m.mat.action.type === ActionType.Loading
|
|
138
133
|
? pathData?.expectedLoadTime
|
|
139
134
|
: (procInfo?.expectedBasketLoadTime ?? pathData?.expectedLoadTime);
|
|
140
135
|
return { ...m, expectedLoadSecs: durationToSeconds(expected ?? "PT0S") };
|
|
@@ -152,7 +147,8 @@ function loadCurrentCycles(currentSt, estimated, palToLoc, loadStationNames) {
|
|
|
152
147
|
let outlier = false;
|
|
153
148
|
let expectedSecs = 0;
|
|
154
149
|
for (const { cycle: m, elapsedForSingleMaterialMinutes } of matsWithTime) {
|
|
155
|
-
const stats = estimated.get(new PartAndStationOperation(m.mat.partName, statGroup, m.mat.action.type === ActionType.Loading
|
|
150
|
+
const stats = estimated.get(new PartAndStationOperation(m.mat.partName, statGroup, m.mat.action.type === ActionType.Loading ||
|
|
151
|
+
m.mat.action.type === ActionType.LoadingToBasket
|
|
156
152
|
? "LOAD-" + m.proc.toString()
|
|
157
153
|
: "UNLOAD-" + m.proc.toString()));
|
|
158
154
|
if (stats && isOutlierAbove(stats, elapsedForSingleMaterialMinutes)) {
|
|
@@ -172,10 +168,16 @@ function loadCurrentCycles(currentSt, estimated, palToLoc, loadStationNames) {
|
|
|
172
168
|
expectedEnd: addSeconds(currentSt.timeOfCurrentStatusUTC, -elapsedSec + expectedSecs),
|
|
173
169
|
isOutlier: outlier,
|
|
174
170
|
parts: LazySeq.of(mats)
|
|
175
|
-
.distinctAndSortBy((m) => m.mat.partName, (m) => m.proc, (m) =>
|
|
171
|
+
.distinctAndSortBy((m) => m.mat.partName, (m) => m.proc, (m) => m.mat.action.type === ActionType.Loading ||
|
|
172
|
+
m.mat.action.type === ActionType.LoadingToBasket
|
|
173
|
+
? "LOAD"
|
|
174
|
+
: "UNLOAD")
|
|
176
175
|
.map((m) => ({
|
|
177
176
|
part: m.mat.partName + "-" + m.proc.toString(),
|
|
178
|
-
oper: m.mat.action.type === ActionType.Loading
|
|
177
|
+
oper: m.mat.action.type === ActionType.Loading ||
|
|
178
|
+
m.mat.action.type === ActionType.LoadingToBasket
|
|
179
|
+
? "LOAD"
|
|
180
|
+
: "UNLOAD",
|
|
179
181
|
}))
|
|
180
182
|
.toRArray(),
|
|
181
183
|
};
|
|
@@ -12,6 +12,7 @@ export declare enum MoveMaterialNodeKindType {
|
|
|
12
12
|
export type MoveMaterialNodeKind = {
|
|
13
13
|
readonly type: MoveMaterialNodeKindType.Material;
|
|
14
14
|
readonly material: Readonly<api.IInProcessMaterial> | null;
|
|
15
|
+
readonly identifier?: string;
|
|
15
16
|
} | {
|
|
16
17
|
readonly type: MoveMaterialNodeKindType.FreeMaterialZone;
|
|
17
18
|
} | {
|
package/dist/data/move-arrows.js
CHANGED
|
@@ -45,7 +45,7 @@ export var MoveMaterialNodeKindType;
|
|
|
45
45
|
export function uniqueIdForNodeKind(kind) {
|
|
46
46
|
switch (kind.type) {
|
|
47
47
|
case MoveMaterialNodeKindType.Material:
|
|
48
|
-
return "Material-" + (kind.material?.materialID ?? -1).toString();
|
|
48
|
+
return "Material-" + (kind.identifier ?? (kind.material?.materialID ?? -1).toString());
|
|
49
49
|
case MoveMaterialNodeKindType.FreeMaterialZone:
|
|
50
50
|
return "FreeMaterialZone";
|
|
51
51
|
case MoveMaterialNodeKindType.CompletedCollapsedMaterialZone:
|
|
@@ -63,7 +63,7 @@ export function uniqueIdForNodeKind(kind) {
|
|
|
63
63
|
export function memoPropsForNodeKind(kind) {
|
|
64
64
|
switch (kind.type) {
|
|
65
65
|
case MoveMaterialNodeKindType.Material:
|
|
66
|
-
return [kind.type, kind.material];
|
|
66
|
+
return [kind.type, kind.material, kind.identifier];
|
|
67
67
|
case MoveMaterialNodeKindType.FreeMaterialZone:
|
|
68
68
|
case MoveMaterialNodeKindType.CompletedCollapsedMaterialZone:
|
|
69
69
|
case MoveMaterialNodeKindType.CompletedExpandedMaterialZone:
|
|
@@ -257,6 +257,22 @@ export function computeArrows(container, allNodes) {
|
|
|
257
257
|
}
|
|
258
258
|
}
|
|
259
259
|
break;
|
|
260
|
+
case api.ActionType.LoadingToBasket: {
|
|
261
|
+
const basketId = mat.action.loadToBasketId;
|
|
262
|
+
if (basketId === undefined)
|
|
263
|
+
break;
|
|
264
|
+
const dest = byKind.baskets.get(basketId);
|
|
265
|
+
const lastSlotUsed = basketDestUsed.get(basketId) ?? 0;
|
|
266
|
+
basketDestUsed.set(basketId, lastSlotUsed + 1);
|
|
267
|
+
arrows.push({
|
|
268
|
+
fromX: rect.right,
|
|
269
|
+
fromY: rect.top + rect.height / 2,
|
|
270
|
+
toX: dest !== undefined ? dest.left + 20 : container.right - 10,
|
|
271
|
+
toY: dest !== undefined ? dest.top + 50 + 20 * lastSlotUsed : rect.top + rect.height / 2,
|
|
272
|
+
curveDirection: -1,
|
|
273
|
+
});
|
|
274
|
+
break;
|
|
275
|
+
}
|
|
260
276
|
}
|
|
261
277
|
}
|
|
262
278
|
return arrows.map((arr) => ({
|
|
@@ -107,12 +107,14 @@ function isMatAssignedRaw(unique, m) {
|
|
|
107
107
|
return (m.jobUnique === unique &&
|
|
108
108
|
m.location.type === api.LocType.InQueue &&
|
|
109
109
|
m.action.type !== api.ActionType.Loading &&
|
|
110
|
+
m.action.type !== api.ActionType.LoadingToBasket &&
|
|
110
111
|
m.process === 0);
|
|
111
112
|
}
|
|
112
113
|
function isMatUnassignedRaw(rawMatName, m) {
|
|
113
114
|
return (m.partName === rawMatName &&
|
|
114
115
|
m.location.type === api.LocType.InQueue &&
|
|
115
116
|
m.action.type !== api.ActionType.Loading &&
|
|
117
|
+
m.action.type !== api.ActionType.LoadingToBasket &&
|
|
116
118
|
m.process === 0 &&
|
|
117
119
|
!m.jobUnique);
|
|
118
120
|
}
|
package/dist/index.html
CHANGED
|
@@ -44,8 +44,8 @@
|
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
46
|
</style>
|
|
47
|
-
<script type="module" crossorigin src="/assets/index-
|
|
48
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
47
|
+
<script type="module" crossorigin src="/assets/index-BLYS5tHD.js"></script>
|
|
48
|
+
<link rel="stylesheet" crossorigin href="/assets/index-DXfAwuj-.css">
|
|
49
49
|
</head>
|
|
50
50
|
<body>
|
|
51
51
|
<noscript> You need to enable JavaScript to run this app. </noscript>
|
package/dist/index.js
CHANGED
|
@@ -30,16 +30,15 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
|
30
30
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
31
31
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
32
32
|
*/
|
|
33
|
-
import {
|
|
34
|
-
import { registerNetworkBackend } from "./network/backend.js";
|
|
35
|
-
import { fmsInformation, loadInfo } from "./network/server-settings.js";
|
|
33
|
+
import { bootstrapInsight } from "./bootstrap.js";
|
|
36
34
|
import { ApiException } from "./network/api.js";
|
|
37
|
-
import { createStore } from "jotai";
|
|
38
35
|
async function main() {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
36
|
+
const developmentProps = import.meta.env.DEV
|
|
37
|
+
? {
|
|
38
|
+
submitBasketLoadStationCommand: async () => "accepted",
|
|
39
|
+
}
|
|
40
|
+
: {};
|
|
41
|
+
await bootstrapInsight(developmentProps);
|
|
43
42
|
}
|
|
44
43
|
main().catch((e) => {
|
|
45
44
|
console.log(e);
|
|
@@ -51,10 +50,3 @@ main().catch((e) => {
|
|
|
51
50
|
p.textContent = msg;
|
|
52
51
|
(document.getElementById("loading") ?? document.body).appendChild(p);
|
|
53
52
|
});
|
|
54
|
-
if ("serviceWorker" in navigator) {
|
|
55
|
-
void navigator.serviceWorker.getRegistrations().then((registrations) => {
|
|
56
|
-
for (const reg of registrations) {
|
|
57
|
-
void reg.unregister();
|
|
58
|
-
}
|
|
59
|
-
});
|
|
60
|
-
}
|
package/dist/network/api.d.ts
CHANGED
|
@@ -722,6 +722,7 @@ export declare class CurrentStatus implements ICurrentStatus {
|
|
|
722
722
|
[key: string]: BasketStatus;
|
|
723
723
|
} | undefined;
|
|
724
724
|
basketMoveInstructions?: BasketMoveInstruction[] | undefined;
|
|
725
|
+
customState?: unknown | undefined;
|
|
725
726
|
constructor(data?: ICurrentStatus);
|
|
726
727
|
init(_data?: any): void;
|
|
727
728
|
static fromJS(data: any): CurrentStatus;
|
|
@@ -746,6 +747,7 @@ export interface ICurrentStatus {
|
|
|
746
747
|
[key: string]: BasketStatus;
|
|
747
748
|
} | undefined;
|
|
748
749
|
basketMoveInstructions?: BasketMoveInstruction[] | undefined;
|
|
750
|
+
customState?: unknown | undefined;
|
|
749
751
|
}
|
|
750
752
|
export declare class HistoricJob extends Job implements IHistoricJob {
|
|
751
753
|
scheduleId?: string | undefined;
|
|
@@ -902,11 +904,14 @@ export declare enum LocType {
|
|
|
902
904
|
}
|
|
903
905
|
export declare class InProcessMaterialAction implements IInProcessMaterialAction {
|
|
904
906
|
type: ActionType;
|
|
907
|
+
workId?: string | undefined;
|
|
905
908
|
loadOntoPalletNum?: number | undefined;
|
|
906
909
|
loadOntoFace?: number | undefined;
|
|
907
910
|
processAfterLoad?: number | undefined;
|
|
908
911
|
pathAfterLoad?: number | undefined;
|
|
909
912
|
loadFromBasketId?: number | undefined;
|
|
913
|
+
loadToBasketId?: number | undefined;
|
|
914
|
+
loadToBasketSlot?: number | undefined;
|
|
910
915
|
unloadIntoQueue?: string | undefined;
|
|
911
916
|
unloadToBasketId?: number | undefined;
|
|
912
917
|
unloadToBasketSlot?: number | undefined;
|
|
@@ -921,11 +926,14 @@ export declare class InProcessMaterialAction implements IInProcessMaterialAction
|
|
|
921
926
|
}
|
|
922
927
|
export interface IInProcessMaterialAction {
|
|
923
928
|
type: ActionType;
|
|
929
|
+
workId?: string | undefined;
|
|
924
930
|
loadOntoPalletNum?: number | undefined;
|
|
925
931
|
loadOntoFace?: number | undefined;
|
|
926
932
|
processAfterLoad?: number | undefined;
|
|
927
933
|
pathAfterLoad?: number | undefined;
|
|
928
934
|
loadFromBasketId?: number | undefined;
|
|
935
|
+
loadToBasketId?: number | undefined;
|
|
936
|
+
loadToBasketSlot?: number | undefined;
|
|
929
937
|
unloadIntoQueue?: string | undefined;
|
|
930
938
|
unloadToBasketId?: number | undefined;
|
|
931
939
|
unloadToBasketSlot?: number | undefined;
|
|
@@ -939,7 +947,8 @@ export declare enum ActionType {
|
|
|
939
947
|
Loading = "Loading",
|
|
940
948
|
UnloadToInProcess = "UnloadToInProcess",
|
|
941
949
|
UnloadToCompletedMaterial = "UnloadToCompletedMaterial",
|
|
942
|
-
Machining = "Machining"
|
|
950
|
+
Machining = "Machining",
|
|
951
|
+
LoadingToBasket = "LoadingToBasket"
|
|
943
952
|
}
|
|
944
953
|
export declare class QueueInfo implements IQueueInfo {
|
|
945
954
|
maxSizeBeforeStopUnloading?: number | undefined;
|
package/dist/network/api.js
CHANGED
|
@@ -3561,6 +3561,7 @@ export class CurrentStatus {
|
|
|
3561
3561
|
for (let item of _data["BasketMoveInstructions"])
|
|
3562
3562
|
this.basketMoveInstructions.push(BasketMoveInstruction.fromJS(item));
|
|
3563
3563
|
}
|
|
3564
|
+
this.customState = _data["CustomState"];
|
|
3564
3565
|
}
|
|
3565
3566
|
}
|
|
3566
3567
|
static fromJS(data) {
|
|
@@ -3635,6 +3636,7 @@ export class CurrentStatus {
|
|
|
3635
3636
|
for (let item of this.basketMoveInstructions)
|
|
3636
3637
|
data["BasketMoveInstructions"].push(item ? item.toJSON() : undefined);
|
|
3637
3638
|
}
|
|
3639
|
+
data["CustomState"] = this.customState;
|
|
3638
3640
|
return data;
|
|
3639
3641
|
}
|
|
3640
3642
|
}
|
|
@@ -3979,11 +3981,14 @@ export class InProcessMaterialAction {
|
|
|
3979
3981
|
init(_data) {
|
|
3980
3982
|
if (_data) {
|
|
3981
3983
|
this.type = _data["Type"];
|
|
3984
|
+
this.workId = _data["WorkId"];
|
|
3982
3985
|
this.loadOntoPalletNum = _data["LoadOntoPalletNum"];
|
|
3983
3986
|
this.loadOntoFace = _data["LoadOntoFace"];
|
|
3984
3987
|
this.processAfterLoad = _data["ProcessAfterLoad"];
|
|
3985
3988
|
this.pathAfterLoad = _data["PathAfterLoad"];
|
|
3986
3989
|
this.loadFromBasketId = _data["LoadFromBasketId"];
|
|
3990
|
+
this.loadToBasketId = _data["LoadToBasketId"];
|
|
3991
|
+
this.loadToBasketSlot = _data["LoadToBasketSlot"];
|
|
3987
3992
|
this.unloadIntoQueue = _data["UnloadIntoQueue"];
|
|
3988
3993
|
this.unloadToBasketId = _data["UnloadToBasketId"];
|
|
3989
3994
|
this.unloadToBasketSlot = _data["UnloadToBasketSlot"];
|
|
@@ -4002,11 +4007,14 @@ export class InProcessMaterialAction {
|
|
|
4002
4007
|
toJSON(data) {
|
|
4003
4008
|
data = typeof data === "object" ? data : {};
|
|
4004
4009
|
data["Type"] = this.type;
|
|
4010
|
+
data["WorkId"] = this.workId;
|
|
4005
4011
|
data["LoadOntoPalletNum"] = this.loadOntoPalletNum;
|
|
4006
4012
|
data["LoadOntoFace"] = this.loadOntoFace;
|
|
4007
4013
|
data["ProcessAfterLoad"] = this.processAfterLoad;
|
|
4008
4014
|
data["PathAfterLoad"] = this.pathAfterLoad;
|
|
4009
4015
|
data["LoadFromBasketId"] = this.loadFromBasketId;
|
|
4016
|
+
data["LoadToBasketId"] = this.loadToBasketId;
|
|
4017
|
+
data["LoadToBasketSlot"] = this.loadToBasketSlot;
|
|
4010
4018
|
data["UnloadIntoQueue"] = this.unloadIntoQueue;
|
|
4011
4019
|
data["UnloadToBasketId"] = this.unloadToBasketId;
|
|
4012
4020
|
data["UnloadToBasketSlot"] = this.unloadToBasketSlot;
|
|
@@ -4024,6 +4032,7 @@ export var ActionType;
|
|
|
4024
4032
|
ActionType["UnloadToInProcess"] = "UnloadToInProcess";
|
|
4025
4033
|
ActionType["UnloadToCompletedMaterial"] = "UnloadToCompletedMaterial";
|
|
4026
4034
|
ActionType["Machining"] = "Machining";
|
|
4035
|
+
ActionType["LoadingToBasket"] = "LoadingToBasket";
|
|
4027
4036
|
})(ActionType || (ActionType = {}));
|
|
4028
4037
|
export class QueueInfo {
|
|
4029
4038
|
constructor(data) {
|
|
@@ -54,4 +54,6 @@ export declare function registerNetworkBackend(): void;
|
|
|
54
54
|
export declare function setOtherLogBackends(servers: ReadonlyArray<string>): void;
|
|
55
55
|
export declare function registerBackend(log: LogAPI, job: JobAPI, fms: FmsAPI, machine: MachineAPI): void;
|
|
56
56
|
export declare function setUserToken(u: User): void;
|
|
57
|
+
/** Performs a request using the authenticated Insight user's bearer token, when present. */
|
|
58
|
+
export declare function authenticatedFetch(url: RequestInfo, init?: RequestInit): Promise<Response>;
|
|
57
59
|
export declare function instructionUrl(partName: string, type: string, matId: number, pallet: number | null, proc: number | null | undefined, operator: string | null): string;
|