@flowselections/pick-schermen-kwekers 1.0.68 → 1.0.72
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-lib/components/pick/PickScherm.d.ts.map +1 -1
- package/dist-lib/components/pick/PickScherm.js +19 -4
- package/dist-lib/components/pick/StickerState.d.ts.map +1 -1
- package/dist-lib/components/pick/StickerState.js +4 -2
- package/dist-lib/hooks/useCartStickerStates.js +1 -1
- package/dist-lib/integrations/supabase/types.d.ts +558 -0
- package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
- package/dist-lib/lib/__tests__/pick167b.test.d.ts +2 -0
- package/dist-lib/lib/__tests__/pick167b.test.d.ts.map +1 -0
- package/dist-lib/lib/__tests__/pick167b.test.js +33 -0
- package/dist-lib/lib/__tests__/pickBackoff.test.d.ts +2 -0
- package/dist-lib/lib/__tests__/pickBackoff.test.d.ts.map +1 -0
- package/dist-lib/lib/__tests__/pickBackoff.test.js +10 -0
- package/dist-lib/lib/pick161.d.ts +5 -2
- package/dist-lib/lib/pick161.d.ts.map +1 -1
- package/dist-lib/lib/pick161.js +21 -2
- package/dist-lib/lib/pickBackoff.d.ts +12 -0
- package/dist-lib/lib/pickBackoff.d.ts.map +1 -0
- package/dist-lib/lib/pickBackoff.js +16 -0
- package/dist-lib/lib/pickStickerBundle.d.ts +2 -0
- package/dist-lib/lib/pickStickerBundle.d.ts.map +1 -1
- package/dist-lib/lib/pickStickerBundle.js +1 -0
- package/dist-lib/lib/pickStickers.d.ts +4 -0
- package/dist-lib/lib/pickStickers.d.ts.map +1 -1
- package/dist-lib/lib/pickStickers.js +3 -0
- package/package.json +1 -1
- package/schema/pickschermen.sql +155 -12
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PickScherm.d.ts","sourceRoot":"","sources":["../../../src/components/pick/PickScherm.tsx"],"names":[],"mappings":"AA0DA,OAAO,EAaL,KAAK,WAAW,EACjB,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"PickScherm.d.ts","sourceRoot":"","sources":["../../../src/components/pick/PickScherm.tsx"],"names":[],"mappings":"AA0DA,OAAO,EAaL,KAAK,WAAW,EACjB,MAAM,qBAAqB,CAAC;AA+D7B,UAAU,KAAK;IACb,OAAO,EAAE,WAAW,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAGD,wCAAwC;AACxC,eAAO,MAAM,cAAc,GAAI,WAAW,MAAM,WAAuC,CAAC;AAsBxF;;;GAGG;AACH,wBAAgB,UAAU,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,sCA+sEpD"}
|
|
@@ -16,6 +16,7 @@ import { CART_PLAN_MISMATCH_MESSAGE, formatSiteTime, WORKDAYS_UNKNOWN, autoSendM
|
|
|
16
16
|
import { completeLogisticsTaskForItem, documentTypeOf } from "../../lib/pickPrint.js";
|
|
17
17
|
import { cartRowOf, isPdfOnlyFailure, pickReadiness, printedCartIdsOf, pdfSaveWarning, unitRefOf, statusRefOf, unitTitleOf, } from "../../lib/pickTypes.js";
|
|
18
18
|
import { rowFingerprint, rowsToVerify } from "../../lib/pickVerify.js";
|
|
19
|
+
import { VERIFY_SLOW_MESSAGE, VERIFY_SLOW_TOAST_ID, verifyDelayMs } from "../../lib/pickBackoff.js";
|
|
19
20
|
import { alreadyPrintedResults, CART_MISSING_MESSAGE, cartResultLine, cartsForRow, isCartMissingError, reprintCartsIndividually, resettableJobs, runExclusive, resultsFromBatch, resultsFromBatchError, summarizeCartResults, trackableJobs, } from "../../lib/pickCartResults.js";
|
|
20
21
|
import { getPickTranslator } from "../../lib/pickI18n.js";
|
|
21
22
|
import { friendlyPickError, getPickUiTexts } from "../../lib/pickUiText.js";
|
|
@@ -419,6 +420,7 @@ export function PickScherm({ station, onBack }) {
|
|
|
419
420
|
const itemsRef = useRef([]);
|
|
420
421
|
itemsRef.current = Array.isArray(items) ? items : [];
|
|
421
422
|
const verifyMemo = useRef(new Map());
|
|
423
|
+
const verifyFailures = useRef(0);
|
|
422
424
|
useEffect(() => {
|
|
423
425
|
let cancelled = false;
|
|
424
426
|
let running = false;
|
|
@@ -472,9 +474,15 @@ export function PickScherm({ station, onBack }) {
|
|
|
472
474
|
checkedAt: now,
|
|
473
475
|
});
|
|
474
476
|
}
|
|
477
|
+
if (verifyFailures.current > 0)
|
|
478
|
+
toast.dismiss(VERIFY_SLOW_TOAST_ID);
|
|
479
|
+
verifyFailures.current = 0;
|
|
475
480
|
}
|
|
476
481
|
catch {
|
|
477
|
-
// fail closed: bestaande uitkomst blijft staan; nooit bevestigde regels blijven "Pakbon ophalen"
|
|
482
|
+
// fail closed: bestaande uitkomst blijft staan; nooit bevestigde regels blijven "Pakbon ophalen".
|
|
483
|
+
// Steeds langer wachten (10 → 20 → 40 s, max 2 min) en één melding tonen.
|
|
484
|
+
verifyFailures.current += 1;
|
|
485
|
+
toast.warning(VERIFY_SLOW_MESSAGE, { id: VERIFY_SLOW_TOAST_ID });
|
|
478
486
|
}
|
|
479
487
|
finally {
|
|
480
488
|
running = false;
|
|
@@ -485,11 +493,18 @@ export function PickScherm({ station, onBack }) {
|
|
|
485
493
|
setReadinessById((prev) => ({ ...prev, ...next }));
|
|
486
494
|
setCheckProgress({ done: 0, total: 0 });
|
|
487
495
|
};
|
|
488
|
-
|
|
489
|
-
const
|
|
496
|
+
let timer;
|
|
497
|
+
const loop = async () => {
|
|
498
|
+
await verifyVisibleRows();
|
|
499
|
+
if (cancelled)
|
|
500
|
+
return;
|
|
501
|
+
timer = window.setTimeout(() => void loop(), verifyDelayMs(verifyFailures.current));
|
|
502
|
+
};
|
|
503
|
+
void loop();
|
|
490
504
|
return () => {
|
|
491
505
|
cancelled = true;
|
|
492
|
-
|
|
506
|
+
if (timer !== undefined)
|
|
507
|
+
window.clearTimeout(timer);
|
|
493
508
|
};
|
|
494
509
|
}, [visibleIdsKey]);
|
|
495
510
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StickerState.d.ts","sourceRoot":"","sources":["../../../src/components/pick/StickerState.tsx"],"names":[],"mappings":"AAcA,+EAA+E;AAC/E,wBAAgB,mBAAmB,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,sCAwC5F;AAED,6EAA6E;AAC7E,wBAAgB,qBAAqB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;IAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,sCAoBvG;AAED,sEAAsE;AACtE,wBAAgB,gBAAgB,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"StickerState.d.ts","sourceRoot":"","sources":["../../../src/components/pick/StickerState.tsx"],"names":[],"mappings":"AAcA,+EAA+E;AAC/E,wBAAgB,mBAAmB,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,sCAwC5F;AAED,6EAA6E;AAC7E,wBAAgB,qBAAqB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;IAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,sCAoBvG;AAED,sEAAsE;AACtE,wBAAgB,gBAAgB,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,sCAyDzF;AAED,6HAA6H;AAC7H,wBAAgB,yBAAyB,CAAC,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,sCAiBpF"}
|
|
@@ -77,7 +77,9 @@ export function CartStickerState({ cartId, slug }) {
|
|
|
77
77
|
queryFn: () => null,
|
|
78
78
|
enabled: false, // gevuld door useCartStickerStates
|
|
79
79
|
});
|
|
80
|
-
|
|
80
|
+
// Openbaar: uit de bundel. Ingelogd: uit Engine 1.0.201 (ontbreekt bij oudere Engine → oud gedrag).
|
|
81
|
+
const opdrachten = jobs.data?.opdrachten ?? q.data?.printopdrachten ?? null;
|
|
82
|
+
const gevraagd = jobs.data ? jobs.data.gevraagd : q.data?.stickerGevraagd;
|
|
81
83
|
const hasJobs = Array.isArray(opdrachten) && opdrachten.length > 0;
|
|
82
84
|
if (q.data === undefined && !q.isError && !hasJobs)
|
|
83
85
|
return null;
|
|
@@ -85,7 +87,7 @@ export function CartStickerState({ cartId, slug }) {
|
|
|
85
87
|
return _jsx("p", { className: "mt-3 text-xs text-muted-foreground", children: STICKER_UNKNOWN });
|
|
86
88
|
}
|
|
87
89
|
const s = q.data ?? null;
|
|
88
|
-
const line = stickerLineWithJobs(s, opdrachten, jobs.data?.tijdzone ?? null, u.data);
|
|
90
|
+
const line = stickerLineWithJobs(s, opdrachten, jobs.data?.tijdzone ?? null, u.data, new Date(), gevraagd);
|
|
89
91
|
if (!s)
|
|
90
92
|
return _jsx("p", { className: "mt-3 text-sm text-foreground", children: line });
|
|
91
93
|
const regels = Array.isArray(s.regels) ? s.regels : [];
|
|
@@ -35,7 +35,7 @@ export function useCartStickerStates(cartIds, slug) {
|
|
|
35
35
|
if (k.orderId)
|
|
36
36
|
qc.setQueryData(["pick", "sticker-meldingen", k.orderId, slug], k.meldingen);
|
|
37
37
|
qc.setQueryData(["pick", "uitwijk", k.jobIds.join(",")], k.uitwijk);
|
|
38
|
-
qc.setQueryData(["pick", "sticker-jobs", k.cartId, slug], { opdrachten: k.opdrachten, tijdzone: k.tijdzone });
|
|
38
|
+
qc.setQueryData(["pick", "sticker-jobs", k.cartId, slug], { opdrachten: k.opdrachten, tijdzone: k.tijdzone, gevraagd: k.gevraagd });
|
|
39
39
|
}
|
|
40
40
|
}, [q.data, qc, slug]);
|
|
41
41
|
return q;
|