@flowselections/pick-schermen-kwekers 1.0.72 → 1.0.74

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.
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=pickLoadOrder.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pickLoadOrder.test.d.ts","sourceRoot":"","sources":["../../../src/lib/__tests__/pickLoadOrder.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,37 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { QueryClient, QueryObserver } from "@tanstack/react-query";
3
+ import { pickDayLoadEnabled, showSyncingNotice } from "../pickLoadOrder.js";
4
+ describe("laadvolgorde pickstation", () => {
5
+ it("pickdag laadt al terwijl de synchronisatie nog loopt", () => {
6
+ expect(pickDayLoadEnabled({ enabled: true, syncPending: true })).toBe(true);
7
+ });
8
+ it("niets laden als het scherm niet actief is", () => {
9
+ expect(pickDayLoadEnabled({ enabled: false, syncPending: false })).toBe(false);
10
+ });
11
+ it("de lijst staat klaar vóór de synchronisatie klaar is", async () => {
12
+ const qc = new QueryClient({ defaultOptions: { queries: { retry: false } } });
13
+ let syncDone = false;
14
+ let releaseSync = () => { };
15
+ const sync = new QueryObserver(qc, {
16
+ queryKey: ["sync"],
17
+ queryFn: () => new Promise((r) => { releaseSync = () => { syncDone = true; r(1); }; }),
18
+ });
19
+ const unsubSync = sync.subscribe(() => { });
20
+ const queue = new QueryObserver(qc, {
21
+ queryKey: ["queue"],
22
+ enabled: pickDayLoadEnabled({ enabled: true, syncPending: sync.getCurrentResult().isPending }),
23
+ queryFn: async () => ["rij-1", "rij-2"],
24
+ });
25
+ const unsubQueue = queue.subscribe(() => { });
26
+ await new Promise((r) => setTimeout(r, 10));
27
+ expect(queue.getCurrentResult().data).toEqual(["rij-1", "rij-2"]);
28
+ expect(syncDone).toBe(false);
29
+ releaseSync();
30
+ unsubSync();
31
+ unsubQueue();
32
+ });
33
+ it("melding 'wordt bijgewerkt' alleen zonder syncfout", () => {
34
+ expect(showSyncingNotice({ syncing: true, syncError: null })).toBe(true);
35
+ expect(showSyncingNotice({ syncing: true, syncError: "fout" })).toBe(false);
36
+ });
37
+ });
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=pickSharedCart.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pickSharedCart.test.d.ts","sourceRoot":"","sources":["../../../src/lib/__tests__/pickSharedCart.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,14 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { alreadyPrintedResults, ALREADY_PRINTED_MESSAGE } from "../pickCartResults.js";
3
+ const kar = (cartId) => ({ cartId, cartLabel: "Kar 1" });
4
+ const uitleg = "Deze kar is al geprint (gedeelde kar, al geprint met PAK-FO-2601463-01, 27 okt 15:03).";
5
+ describe("gedeelde kar al geprint", () => {
6
+ it("toont de uitleg uit de database bij een gedeelde kar", () => {
7
+ const [r] = alreadyPrintedResults([kar("931e9ebc")], { "931e9ebc": uitleg });
8
+ expect(r.reason).toBe(uitleg);
9
+ });
10
+ it("niet-gedeelde kar houdt de korte melding", () => {
11
+ const [r] = alreadyPrintedResults([kar("abc")], {});
12
+ expect(r.reason).toBe(ALREADY_PRINTED_MESSAGE);
13
+ });
14
+ });
@@ -1 +1 @@
1
- {"version":3,"file":"pick159.d.ts","sourceRoot":"","sources":["../../src/lib/pick159.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,eAAe,yFAAyF,CAAC;AACtH,eAAO,MAAM,WAAW,8CAA8C,CAAC;AAUvE,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAOzD;AACD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,QAEtD;AAKD,MAAM,MAAM,YAAY,GAAG;IAAE,aAAa,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAAC;AAErG,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,YAAY,CAI5D;AAED,sGAAsG;AACtG,wBAAgB,QAAQ,CAAC,CAAC,EAAE,YAAY,GAAG,OAAO,CAEjD;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAOjG;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC,CAI/F;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;QAfhC,IAAI;SAAO,MAAM;;QAAW,KAAK;WAAS,MAAM;GAmB/F;AAED,MAAM,MAAM,SAAS,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC;AAE7I,wBAAsB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAMpG;AACD,wBAAsB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAIzE;AACD,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,iBAGlD;AAID,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,QAEpD;AACD,wBAAgB,eAAe,kBAE9B;AAED,+DAA+D;AAC/D,eAAO,MAAM,UAAU,aAerB,CAAC;AACH,gFAAgF;AAChF,eAAO,MAAM,cAAc,aAIzB,CAAC;AAEH,+DAA+D;AAC/D,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;;;EAIlG;AAED,gFAAgF;AAChF,wBAAgB,QAAQ,CAAC,CAAC,SAAS;IAAE,GAAG,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAA;CAAE,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAQjH"}
1
+ {"version":3,"file":"pick159.d.ts","sourceRoot":"","sources":["../../src/lib/pick159.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,eAAe,yFAAyF,CAAC;AACtH,eAAO,MAAM,WAAW,8CAA8C,CAAC;AAUvE,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAOzD;AACD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,QAEtD;AAKD,MAAM,MAAM,YAAY,GAAG;IAAE,aAAa,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAAC;AAErG,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,YAAY,CAI5D;AAED,sGAAsG;AACtG,wBAAgB,QAAQ,CAAC,CAAC,EAAE,YAAY,GAAG,OAAO,CAEjD;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAOjG;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC,CAI/F;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;QAfhC,IAAI;SAAO,MAAM;;QAAW,KAAK;WAAS,MAAM;GAmB/F;AAED,MAAM,MAAM,SAAS,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC;AAE7I,wBAAsB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAMpG;AACD,wBAAsB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAIzE;AACD,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,iBAGlD;AAID,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,QAEpD;AACD,wBAAgB,eAAe,kBAE9B;AAED,+DAA+D;AAC/D,eAAO,MAAM,UAAU,aAgBrB,CAAC;AACH,gFAAgF;AAChF,eAAO,MAAM,cAAc,aAIzB,CAAC;AAEH,+DAA+D;AAC/D,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;;;EAIlG;AAED,gFAAgF;AAChF,wBAAgB,QAAQ,CAAC,CAAC,SAAS;IAAE,GAAG,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAA;CAAE,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAQjH"}
@@ -98,6 +98,7 @@ export const KEYED_RPCS = new Set([
98
98
  "pickstation_sticker_reprint", "pickstation_print_status", "pickstation_cart_sticker_states",
99
99
  "pick_read_station", "pick_read_locks", "pick_read_queue", "pick_read_country_counts", "pick_read_by_code",
100
100
  "pick_read_unscanned_earlier", "pick_resolve_scan_code", "pick_read_print_job_uitwijk", "pick_read_vroege_sticker_waarschuwing",
101
+ "pick_read_shared_cart_messages",
101
102
  ]);
102
103
  /** Engine-functies: via een eigen pickstation_-omhulsel met sleutelcontrole. */
103
104
  export const ENGINE_WRAPPED = new Set([
@@ -185,6 +185,8 @@ export declare const pickApi: {
185
185
  * meteen opnieuw opgebouwd vanuit de Engine. Geprinte karren blijven staan;
186
186
  * deze module telt of hernummert nooit zelf.
187
187
  */
188
+ /** 1.0.73: uitleg per kar bij een gedeelde kar ({ cartId: tekst }); leeg bij fout. */
189
+ sharedCartMessages(queueItemId: string, cartIds: string[]): Promise<Record<string, string>>;
188
190
  applyBufferEvents(): Promise<{
189
191
  events: number;
190
192
  removed: number;
@@ -1 +1 @@
1
- {"version":3,"file":"pickApi.d.ts","sourceRoot":"","sources":["../../src/lib/pickApi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pickApi.d.ts","sourceRoot":"","sources":["../../src/lib/pickApi.ts"],"names":[],"mappings":"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"}
@@ -352,6 +352,22 @@ export const pickApi = {
352
352
  * meteen opnieuw opgebouwd vanuit de Engine. Geprinte karren blijven staan;
353
353
  * deze module telt of hernummert nooit zelf.
354
354
  */
355
+ /** 1.0.73: uitleg per kar bij een gedeelde kar ({ cartId: tekst }); leeg bij fout. */
356
+ async sharedCartMessages(queueItemId, cartIds) {
357
+ try {
358
+ const { data, error } = await db.rpc("pick_read_shared_cart_messages", { _queue_item_id: queueItemId, _cart_ids: cartIds });
359
+ if (error || !data || typeof data !== "object" || Array.isArray(data))
360
+ return {};
361
+ const out = {};
362
+ for (const [k, v] of Object.entries(data))
363
+ if (typeof v === "string")
364
+ out[k] = v;
365
+ return out;
366
+ }
367
+ catch {
368
+ return {};
369
+ }
370
+ },
355
371
  async applyBufferEvents() {
356
372
  const { data, error } = await db.rpc("pick_apply_buffer_events");
357
373
  if (error)
@@ -39,7 +39,7 @@ export declare function resultsFromBatch(requested: PickCart[], jobs: Array<{
39
39
  elsewhere?: SentElsewhere | null;
40
40
  }>, alreadyPrinted: string[]): CartPrintResult[];
41
41
  /** Alle karren al geprint: geen opdracht, per kar "al geprint; kies Herprint". */
42
- export declare function alreadyPrintedResults(carts: PickCart[]): CartPrintResult[];
42
+ export declare function alreadyPrintedResults(carts: PickCart[], sharedMessages?: Record<string, string>): CartPrintResult[];
43
43
  /** Weigert de database de hele aanvraag, dan is elke gevraagde kar "fout". */
44
44
  export declare function resultsFromBatchError(requested: PickCart[], e: unknown, alreadyPrinted: string[]): CartPrintResult[];
45
45
  /** Alleen echt aangemaakte opdrachten gaan naar de statusvolging. */
@@ -1 +1 @@
1
- {"version":3,"file":"pickCartResults.d.ts","sourceRoot":"","sources":["../../src/lib/pickCartResults.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pickCartResults.d.ts","sourceRoot":"","sources":["../../src/lib/pickCartResults.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAClE,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,EAAa,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE1D,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,aAAa,GAAG,OAAO,CAAC;AAEnE,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,yEAAyE;IACzE,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;CACtC;AAED,8FAA8F;AAC9F,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,aAAa,GAAG,MAAM,CAS7D;AAED,eAAO,MAAM,oBAAoB,4EACgC,CAAC;AAElE,qBAAa,gBAAiB,SAAQ,KAAK;;CAK1C;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAOtD;AAQD;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,GAAG,IAAI,GAAG,QAAQ,EAAE,CAStF;AAED,0EAA0E;AAC1E,wBAAsB,wBAAwB,CAC5C,KAAK,EAAE,QAAQ,EAAE,EACjB,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,GAClD,OAAO,CAAC,eAAe,EAAE,CAAC,CA0B5B;AAED,iFAAiF;AACjF,wEAAwE;AACxE,eAAO,MAAM,uBAAuB,8BAA8B,CAAC;AAEnE,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,QAAQ,EAAE,EACrB,IAAI,EAAE,KAAK,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,SAAS,CAAC,EAAE,aAAa,GAAG,IAAI,CAAA;CAAE,CAAC,EAClK,cAAc,EAAE,MAAM,EAAE,GACvB,eAAe,EAAE,CA8BnB;AAED,kFAAkF;AAClF,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,QAAQ,EAAE,EACjB,cAAc,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GAC1C,eAAe,EAAE,CAYnB;AAED,8EAA8E;AAC9E,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,eAAe,EAAE,CAWpH;AAED,qEAAqE;AACrE,wBAAgB,aAAa,CAAC,OAAO,EAAE,eAAe,EAAE,GAAG,iBAAiB,EAAE,CAM7E;AAED,6EAA6E;AAC7E,wBAAgB,cAAc,CAAC,CAAC,SAAS;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAEhF;AAQD,wBAAgB,cAAc,CAAC,CAAC,EAAE,eAAe,GAAG,MAAM,CAIzD;AAED,kEAAkE;AAClE,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,eAAe,EAAE,GAAG;IAChE,IAAI,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB,CAYA;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAE5B;;;GAGG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAS3G"}
@@ -108,14 +108,17 @@ export function resultsFromBatch(requested, jobs, alreadyPrinted) {
108
108
  });
109
109
  }
110
110
  /** Alle karren al geprint: geen opdracht, per kar "al geprint; kies Herprint". */
111
- export function alreadyPrintedResults(carts) {
111
+ export function alreadyPrintedResults(carts, sharedMessages = {}) {
112
+ // 1.0.73: gedeelde kar krijgt dezelfde uitleg als de database bij printen geeft.
112
113
  return carts.map((cart) => ({
113
114
  cartId: cart.cartId,
114
115
  cartLabel: cart.cartLabel,
115
116
  outcome: "not_created",
116
117
  jobId: null,
117
118
  reprint: true,
118
- reason: ALREADY_PRINTED_MESSAGE,
119
+ reason: typeof sharedMessages[cart.cartId] === "string" && sharedMessages[cart.cartId]
120
+ ? sharedMessages[cart.cartId]
121
+ : ALREADY_PRINTED_MESSAGE,
119
122
  }));
120
123
  }
121
124
  /** Weigert de database de hele aanvraag, dan is elke gevraagde kar "fout". */
@@ -0,0 +1,15 @@
1
+ /**
2
+ * 1.0.73: laadvolgorde bij openen. De pickdag (en daarmee de wachtrij) mag
3
+ * laden zodra het scherm actief is; de Engine-synchronisatie loopt los op de
4
+ * achtergrond en hoeft niet eerst klaar te zijn.
5
+ */
6
+ export declare function pickDayLoadEnabled(args: {
7
+ enabled: boolean;
8
+ syncPending: boolean;
9
+ }): boolean;
10
+ /** Klein tekstje tijdens bijwerken; niet bij een syncfout (die heeft eigen melding). */
11
+ export declare function showSyncingNotice(args: {
12
+ syncing: boolean;
13
+ syncError: string | null;
14
+ }): boolean;
15
+ //# sourceMappingURL=pickLoadOrder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pickLoadOrder.d.ts","sourceRoot":"","sources":["../../src/lib/pickLoadOrder.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAG5F;AAED,wFAAwF;AACxF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG,OAAO,CAE/F"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * 1.0.73: laadvolgorde bij openen. De pickdag (en daarmee de wachtrij) mag
3
+ * laden zodra het scherm actief is; de Engine-synchronisatie loopt los op de
4
+ * achtergrond en hoeft niet eerst klaar te zijn.
5
+ */
6
+ export function pickDayLoadEnabled(args) {
7
+ void args.syncPending;
8
+ return args.enabled;
9
+ }
10
+ /** Klein tekstje tijdens bijwerken; niet bij een syncfout (die heeft eigen melding). */
11
+ export function showSyncingNotice(args) {
12
+ return args.syncing && !args.syncError;
13
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flowselections/pick-schermen-kwekers",
3
- "version": "1.0.72",
3
+ "version": "1.0.74",
4
4
  "flowselections": {
5
5
  "moduleId": "pick-schermen",
6
6
  "schema": {
@@ -338,6 +338,8 @@ CREATE TABLE IF NOT EXISTS public.pick_sync_state (
338
338
  );
339
339
 
340
340
  ALTER TABLE public.pick_sync_state ENABLE ROW LEVEL SECURITY;
341
+ ALTER TABLE public.pick_sync_state ADD COLUMN IF NOT EXISTS sync_requested_at timestamptz;
342
+ ALTER TABLE public.pick_sync_state ADD COLUMN IF NOT EXISTS last_duration_ms integer;
341
343
 
342
344
  ALTER TABLE public.pick_queue
343
345
  ADD COLUMN IF NOT EXISTS printed_cart_ids jsonb NOT NULL DEFAULT '[]'::jsonb;
@@ -601,7 +603,11 @@ BEGIN
601
603
  END IF;
602
604
 
603
605
  PERFORM public.logistics_cancel_stale_cart_pick_rows(v_ids);
604
- PERFORM public.logistics_sync_pick_queue();
606
+ -- 1.0.73: geen eigen, ongeknepen Engine-sync meer. Verzoek vastleggen en de
607
+ -- gedeelde afgeknepen sync laten draaien (één Engine-sync per ronde). Is die
608
+ -- al bezig, dan pakt de volgende aanroep het verzoek op.
609
+ UPDATE public.pick_sync_state SET sync_requested_at = now(), updated_at = now() WHERE id;
610
+ PERFORM public.pick_sync_queue_throttled(_min_seconds => 5);
605
611
 
606
612
  UPDATE public.pick_buffer_event_cursor
607
613
  SET last_event_at = GREATEST(last_event_at, v_max), updated_at = now()
@@ -990,6 +996,81 @@ CREATE OR REPLACE FUNCTION public.pick_complete_print_cart(p_device_key text, _q
990
996
  SET search_path TO 'public'
991
997
  AS $function$ BEGIN PERFORM public.pick_device_check(p_device_key, NULL, _queue_item_id::uuid, _cart_id::text, NULL, NULL); RETURN public.pick_complete_print_cart(_queue_item_id => _queue_item_id, _printer_id => _printer_id, _session_id => _session_id, _cart_id => _cart_id); END $function$;
992
998
 
999
+ CREATE OR REPLACE FUNCTION public.pick_read_shared_cart_messages(_queue_item_id uuid, _cart_ids text[])
1000
+ RETURNS jsonb
1001
+ LANGUAGE plpgsql
1002
+ STABLE SECURITY DEFINER
1003
+ SET search_path TO 'public'
1004
+ AS $function$
1005
+ -- 1.0.73: uitleg bij gedeelde karren voor het scherm (zelfde tekst als de printfuncties).
1006
+ -- Toegang: ingelogd of server via pick_device_gate; anoniem zonder sleutel 42501.
1007
+ DECLARE item public.pick_queue; c text; res jsonb := '{}'::jsonb; m text;
1008
+ BEGIN
1009
+ PERFORM public.pick_device_check(NULL, NULL, _queue_item_id, NULL, NULL, NULL);
1010
+ SELECT * INTO item FROM public.pick_queue WHERE id = _queue_item_id;
1011
+ IF NOT FOUND OR _cart_ids IS NULL THEN RETURN res; END IF;
1012
+ FOREACH c IN ARRAY _cart_ids LOOP
1013
+ m := public.pick_shared_cart_message(c, item);
1014
+ IF m IS NOT NULL THEN res := res || jsonb_build_object(c, m); END IF;
1015
+ END LOOP;
1016
+ RETURN res;
1017
+ END $function$;
1018
+
1019
+ CREATE OR REPLACE FUNCTION public.pick_read_shared_cart_messages(p_device_key text, _queue_item_id uuid, _cart_ids text[])
1020
+ RETURNS jsonb
1021
+ LANGUAGE plpgsql
1022
+ STABLE SECURITY DEFINER
1023
+ SET search_path TO 'public'
1024
+ AS $function$
1025
+ DECLARE item public.pick_queue; c text; res jsonb := '{}'::jsonb; m text;
1026
+ BEGIN
1027
+ -- Sleutel geldig en regel hoort bij dit station, anders 42501.
1028
+ PERFORM public.pick_device_check(p_device_key, NULL, _queue_item_id, NULL, NULL, NULL);
1029
+ SELECT * INTO item FROM public.pick_queue WHERE id = _queue_item_id;
1030
+ IF NOT FOUND OR _cart_ids IS NULL THEN RETURN res; END IF;
1031
+ FOREACH c IN ARRAY _cart_ids LOOP
1032
+ m := public.pick_shared_cart_message(c, item);
1033
+ IF m IS NOT NULL THEN res := res || jsonb_build_object(c, m); END IF;
1034
+ END LOOP;
1035
+ RETURN res;
1036
+ END $function$;
1037
+
1038
+ CREATE OR REPLACE FUNCTION public.pick_shared_cart_message(_cart_id text, _item public.pick_queue)
1039
+ RETURNS text
1040
+ LANGUAGE plpgsql
1041
+ STABLE SECURITY INVOKER
1042
+ SET search_path TO 'public'
1043
+ AS $function$
1044
+ -- 1.0.73: eerste pakbon voor deze kar (op cart_id). Hoort die bij een andere
1045
+ -- order, dan uitleg met documentnaam en tijdstip (vestigingstijdzone); anders
1046
+ -- null zodat de bestaande melding blijft. Fout: ook null.
1047
+ DECLARE v_order text; v_naam text; v_eerste_order text; v_at timestamptz; v_tz text; v_tijd text := NULL;
1048
+ v_maand text[] := ARRAY['jan','feb','mrt','apr','mei','jun','jul','aug','sep','okt','nov','dec'];
1049
+ BEGIN
1050
+ IF nullif(btrim(_cart_id), '') IS NULL THEN RETURN NULL; END IF;
1051
+ v_order := nullif(coalesce(_item.payload->>'orderId', _item.payload->>'order_id'), '');
1052
+ IF v_order IS NULL THEN RETURN NULL; END IF;
1053
+ SELECT pj.documentnaam, pj.created_at, pj.payload->>'order_id' INTO v_naam, v_at, v_eerste_order
1054
+ FROM public.print_jobs pj
1055
+ WHERE pj.documenttype = 'pakbon' AND pj.payload->>'cart_id' = _cart_id
1056
+ ORDER BY pj.created_at ASC LIMIT 1;
1057
+ IF v_naam IS NULL OR v_eerste_order IS NULL OR v_eerste_order = v_order THEN RETURN NULL; END IF;
1058
+ BEGIN
1059
+ IF to_regprocedure('public.logistics_opening_timezone()') IS NOT NULL THEN
1060
+ EXECUTE 'SELECT public.logistics_opening_timezone()' INTO v_tz;
1061
+ END IF;
1062
+ IF nullif(v_tz, '') IS NOT NULL THEN
1063
+ v_tijd := to_char(v_at AT TIME ZONE v_tz, 'FMDD') || ' '
1064
+ || v_maand[extract(month FROM v_at AT TIME ZONE v_tz)::int] || ' '
1065
+ || to_char(v_at AT TIME ZONE v_tz, 'HH24:MI');
1066
+ END IF;
1067
+ EXCEPTION WHEN others THEN v_tijd := NULL;
1068
+ END;
1069
+ RETURN 'Deze kar is al geprint (gedeelde kar, al geprint met ' || v_naam
1070
+ || CASE WHEN v_tijd IS NULL THEN '' ELSE ', ' || v_tijd END || ').';
1071
+ EXCEPTION WHEN others THEN RETURN NULL;
1072
+ END $function$;
1073
+
993
1074
  CREATE OR REPLACE FUNCTION public.pick_complete_print_cart(_queue_item_id uuid, _printer_id uuid, _session_id text, _cart_id text)
994
1075
  RETURNS pick_queue
995
1076
  LANGUAGE plpgsql
@@ -1024,7 +1105,8 @@ BEGIN
1024
1105
  END IF;
1025
1106
 
1026
1107
  IF COALESCE(item.printed_cart_ids, '[]'::jsonb) @> jsonb_build_array(_cart_id) THEN
1027
- RAISE EXCEPTION 'Deze kar is al geprint.';
1108
+ -- 1.0.73: gedeelde kar krijgt uitleg met de eerste pakbon van de andere order.
1109
+ RAISE EXCEPTION '%', COALESCE(public.pick_shared_cart_message(_cart_id, item), 'Deze kar is al geprint.');
1028
1110
  END IF;
1029
1111
 
1030
1112
  BEGIN
@@ -1190,7 +1272,8 @@ BEGIN
1190
1272
  IF next_cart_ids @> jsonb_build_array(requested_cart_id) THEN
1191
1273
  skipped_count := skipped_count + 1;
1192
1274
  INSERT INTO pg_temp.pick_batch_jobs(cart_id, cart_label, job_id, status, message)
1193
- VALUES (requested_cart_id, selected_cart->>'cartLabel', NULL, 'already_printed', 'al geprint; kies Herprint');
1275
+ VALUES (requested_cart_id, selected_cart->>'cartLabel', NULL, 'already_printed',
1276
+ COALESCE(public.pick_shared_cart_message(requested_cart_id, item), 'al geprint; kies Herprint'));
1194
1277
  CONTINUE;
1195
1278
  END IF;
1196
1279
 
@@ -3794,26 +3877,29 @@ CREATE OR REPLACE FUNCTION public.pick_sync_queue_throttled(_min_seconds integer
3794
3877
  SECURITY DEFINER
3795
3878
  SET search_path TO 'public'
3796
3879
  AS $function$
3797
- DECLARE last_at timestamptz; needs_cleanup boolean; res jsonb; err text; prev_err text;
3880
+ DECLARE last_at timestamptz; needs_cleanup boolean; res jsonb; err text; prev_err text; req_at timestamptz; t0 timestamptz;
3798
3881
  BEGIN
3799
3882
  SELECT s.last_error INTO prev_err FROM public.pick_sync_state s WHERE s.id;
3800
3883
  IF NOT pg_try_advisory_xact_lock(hashtext('pick_sync_queue')) THEN
3801
3884
  RETURN jsonb_build_object('synced', false, 'reason', 'busy', 'error', prev_err);
3802
3885
  END IF;
3803
3886
 
3804
- SELECT s.last_sync_at, COALESCE(s.last_cleanup_at, 'epoch'::timestamptz) < now() - interval '6 hours'
3805
- INTO last_at, needs_cleanup
3887
+ SELECT s.last_sync_at, COALESCE(s.last_cleanup_at, 'epoch'::timestamptz) < now() - interval '6 hours', s.sync_requested_at
3888
+ INTO last_at, needs_cleanup, req_at
3806
3889
  FROM public.pick_sync_state s WHERE s.id FOR UPDATE;
3807
3890
 
3808
- IF last_at IS NOT NULL AND last_at > now() - make_interval(secs => GREATEST(_min_seconds, 5)) THEN
3891
+ IF last_at IS NOT NULL AND last_at > now() - make_interval(secs => GREATEST(_min_seconds, 5))
3892
+ AND (req_at IS NULL OR req_at <= last_at) THEN
3809
3893
  RETURN jsonb_build_object('synced', false, 'reason', 'throttled', 'last_sync_at', last_at, 'error', prev_err);
3810
3894
  END IF;
3811
3895
 
3896
+ t0 := clock_timestamp();
3812
3897
  res := to_jsonb(public.logistics_sync_pick_queue());
3813
3898
  err := CASE WHEN jsonb_typeof(res) = 'object' THEN NULLIF(res->>'error', '') ELSE NULL END;
3814
3899
 
3815
3900
  UPDATE public.pick_sync_state
3816
- SET last_sync_at = now(), updated_at = now(),
3901
+ SET last_sync_at = now(), updated_at = now(), sync_requested_at = NULL,
3902
+ last_duration_ms = (extract(epoch FROM clock_timestamp() - t0) * 1000)::integer,
3817
3903
  last_error = err, last_error_at = CASE WHEN err IS NULL THEN NULL ELSE now() END
3818
3904
  WHERE id;
3819
3905
 
@@ -3826,7 +3912,7 @@ BEGIN
3826
3912
  PERFORM public.pick_cleanup_maintenance();
3827
3913
  END IF;
3828
3914
 
3829
- RETURN jsonb_build_object('synced', true, 'last_sync_at', now());
3915
+ RETURN jsonb_build_object('synced', true, 'last_sync_at', now(), 'duur_ms', (extract(epoch FROM clock_timestamp() - t0) * 1000)::integer);
3830
3916
  END $function$;
3831
3917
 
3832
3918
  CREATE OR REPLACE FUNCTION public.pick_sync_queue_throttled(p_device_key text, _min_seconds integer DEFAULT 60)
@@ -4048,6 +4134,14 @@ BEGIN
4048
4134
  ELSE
4049
4135
  v := v || jsonb_build_object('niveau','info','tekst','Pickschermen: controle pickregels set-based (één karplan per order).');
4050
4136
  END IF;
4137
+ -- 1.0.73: bufferseintjes doen geen eigen Engine-sync; één gedeelde sync per ronde.
4138
+ v_oid := to_regprocedure('public.pick_apply_buffer_events()');
4139
+ IF v_oid IS NULL OR position('logistics_sync_pick_queue()' IN pg_get_functiondef(v_oid)) > 0
4140
+ OR NOT EXISTS (SELECT 1 FROM information_schema.columns WHERE table_schema='public' AND table_name='pick_sync_state' AND column_name='sync_requested_at') THEN
4141
+ v := v || jsonb_build_object('niveau','waarschuwing','tekst','Pickschermen: bufferseintjes synchroniseren nog apart; openen kan traag zijn.');
4142
+ ELSE
4143
+ v := v || jsonb_build_object('niveau','info','tekst','Pickschermen: openen wacht niet op synchronisatie (één Engine-sync per ronde).');
4144
+ END IF;
4051
4145
  IF NOT EXISTS (SELECT 1 FROM information_schema.columns WHERE table_schema='public' AND table_name='order_items' AND column_name='needs_sticker') THEN
4052
4146
  v := v || jsonb_build_object('niveau','waarschuwing','tekst','Pickschermen: stickervraag per orderregel niet leesbaar (order_items.needs_sticker ontbreekt, Verkoop).');
4053
4147
  END IF;
@@ -4102,7 +4196,7 @@ BEGIN
4102
4196
  FOREACH t IN ARRAY ARRAY['pick_buffer_event_cursor','pick_countries','pick_document_statuses','pick_document_types','pick_queue','pick_queue_locks','pick_screen_document_types','pick_settings','pick_station_devices','pick_station_heartbeats','pick_station_history','pick_station_logs','pick_station_pair_codes','pick_station_permissions','pick_station_printers','pick_station_screens','pick_station_signals','pick_station_tasks','pick_station_types','pick_station_users','pick_stations','pick_sync_state','pick_taken','pick_task_document_types'] LOOP
4103
4197
  IF to_regclass('public.'||t) IS NULL THEN v_mis := v_mis || ('tabel '||t); END IF;
4104
4198
  END LOOP;
4105
- FOREACH t IN ARRAY string_to_array('_pick_job_of_station(uuid,uuid);_pick_printstatus_via_engine();_pick_station_for_cart(uuid);_pick_sticker_ids_for_cart(uuid);pick_active_printers();pick_active_printers(text);pick_apply_buffer_events();pick_apply_buffer_events(text);pick_assert_printable(pick_queue);pick_assert_station(text);pick_available_pick_days(integer);pick_available_pick_days(text,integer);pick_buffer_order_ids(uuid);pick_build_key_variants();pick_cart_breakdown(uuid);pick_claim_document(text,uuid,uuid,uuid,text,integer);pick_claim_document(uuid,uuid,uuid,text,integer);pick_claim_next_document(text,uuid,uuid,text,text,integer,date);pick_claim_next_document(uuid,uuid,text,text,integer,date);pick_cleanup_maintenance(integer,integer);pick_complete_print(text,uuid,uuid,text);pick_complete_print(uuid,uuid,text);pick_complete_print_cart(text,uuid,uuid,text,text);pick_complete_print_cart(uuid,uuid,text,text);pick_complete_print_carts(text,uuid,text,text[]);pick_complete_print_carts(uuid,text,text[]);pick_create_pair_code(uuid);pick_current_pick_day();pick_current_pick_day(text);pick_day_counts(text,uuid,uuid,date);pick_day_counts(uuid,uuid,date);pick_device_check(text,uuid,uuid,text,text,text);pick_device_gate(text);pick_device_key_required();pick_document_layout_data(uuid);pick_enqueue_print_job(text,uuid,uuid,text,boolean);pick_enqueue_print_job(text,uuid,uuid,text,boolean,text);pick_enqueue_print_job(uuid,uuid,text,boolean);pick_enqueue_print_job(uuid,uuid,text,boolean,text);pick_enqueue_print_job_from_cart(uuid,uuid,text,boolean,text,jsonb);pick_ensure_settings();pick_find_sent_elsewhere(uuid,text);pick_has_station_role();pick_is_reference_admin();pick_is_server();pick_key_hash(text);pick_mark_printed(text,uuid,text,text);pick_mark_printed(uuid,text,text);pick_order_context(uuid,text);pick_preview_job(text,text,uuid);pick_preview_job(text,uuid);pick_print_job_status(text,uuid);pick_print_job_status(uuid);pick_print_jobs_status(text,uuid[]);pick_print_jobs_status(uuid[]);pick_print_plekken();pick_print_plekken(text);pick_protect_required_reference_rows();pick_queue_apply_cart_breakdown();pick_queue_audit();pick_queue_cart_plan(text,uuid);pick_queue_cart_plan(uuid);pick_queue_cart_plan_v152(uuid);pick_queue_cart_plans(uuid[]);pick_queue_enforce_routing();pick_read_by_code(text,text,uuid);pick_read_country_counts(text,uuid,uuid);pick_read_locks(text,uuid);pick_read_print_job_uitwijk(text,uuid[]);pick_read_queue(text,uuid,uuid,text,text,uuid,boolean,boolean,text,jsonb,integer,integer);pick_read_station(text,text);pick_read_unscanned_earlier(text,uuid,text);pick_read_vroege_sticker_waarschuwing(text,uuid);pick_reference_data_status();pick_reference_data_status(text);pick_release_expired_locks();pick_release_expired_locks(text);pick_release_lock(text,uuid);pick_release_lock(uuid);pick_report_missing_cart_plan();pick_report_missing_cart_plan(text);pick_reprint_cart(text,uuid,text,text,integer);pick_reprint_cart(uuid,text,text,integer);pick_reprint_document(text,uuid,text,integer);pick_reprint_document(uuid,text,integer);pick_reset_print(text,uuid,text);pick_reset_print(text,uuid,text,text);pick_reset_print(uuid,text);pick_reset_print(uuid,text,text);pick_reset_print_job(text,uuid,text,text,uuid);pick_reset_print_job(uuid,text,text,uuid);pick_reset_print_jobs(text,uuid,text,uuid[],text[]);pick_reset_print_jobs(uuid,text,uuid[],text[]);pick_resolve_scan_code(text,text);pick_restore_to_queue(text,uuid,text);pick_restore_to_queue(uuid,text);pick_revoke_device(uuid);pick_role_allowed(text);pick_seed_reference_data();pick_set_station_print_plek(text,uuid,uuid);pick_set_station_print_plek(uuid,uuid);pick_signal_station(uuid);pick_signal_trg();pick_station_cleanup_print_plek();pick_station_dashboard();pick_station_dashboard(text);pick_station_devices_list(uuid);pick_station_print_plek(text,uuid);pick_station_print_plek(uuid);pick_station_print_plekken();pick_station_print_plekken(text);pick_station_slugify(text,uuid);pick_stations_set_slug();pick_sticker_past_controle(uuid);pick_sync_pick_day(date);pick_sync_pick_day(text,date);pick_sync_queue_throttled(integer);pick_sync_queue_throttled(text,integer);pick_touch_updated_at();pick_verify_rows(jsonb);pick_verify_rows(text,jsonb);pickschermen_install_check();pickschermen_missing_objects();pickstation_auto_send_status(text,text,uuid);pickstation_auto_send_status(text,uuid);pickstation_cart_sticker_state(text,text,uuid);pickstation_cart_sticker_state(text,uuid);pickstation_cart_sticker_states(text,text,uuid[]);pickstation_cart_sticker_states(text,uuid[]);pickstation_device_status(text,text);pickstation_document_for_order(text,text,uuid);pickstation_document_for_order(text,uuid);pickstation_get_orders_raw();pickstation_get_orders_raw(text);pickstation_get_planning_context();pickstation_get_planning_context(text);pickstation_get_settings();pickstation_get_settings(text);pickstation_log_print(text,text,text,text,text[],text);pickstation_log_print(text,text,text,text[],text);pickstation_logistics_barcode_lookup(text,text);pickstation_logistics_cart_plan_status(text,text);pickstation_logistics_cart_slip_plan(text,uuid);pickstation_logistics_is_pick_workday(text,date);pickstation_logistics_order_released(text,text);pickstation_logistics_pick_mode(text);pickstation_logistics_shipping_note_from_barcode(text,text,boolean,uuid);pickstation_logistics_working_hours_status(text);pickstation_order_sticker_meldingen(text,text,uuid);pickstation_order_sticker_meldingen(text,uuid);pickstation_pair_device(text,text,text);pickstation_print_status(text,text,uuid[]);pickstation_print_status(text,uuid[]);pickstation_resolve_delivery_orders(text,text[]);pickstation_resolve_delivery_orders(text[]);pickstation_set_cart_status(text,text,integer,text);pickstation_sticker_past_controle(text,text,uuid);pickstation_sticker_past_controle(text,uuid);pickstation_sticker_reprint(text,text,uuid,text);pickstation_sticker_reprint(text,uuid,text);sync_order_cart_totals()', ';') LOOP
4199
+ FOREACH t IN ARRAY string_to_array('_pick_job_of_station(uuid,uuid);_pick_printstatus_via_engine();_pick_station_for_cart(uuid);_pick_sticker_ids_for_cart(uuid);pick_active_printers();pick_active_printers(text);pick_apply_buffer_events();pick_apply_buffer_events(text);pick_assert_printable(pick_queue);pick_assert_station(text);pick_available_pick_days(integer);pick_available_pick_days(text,integer);pick_buffer_order_ids(uuid);pick_build_key_variants();pick_cart_breakdown(uuid);pick_claim_document(text,uuid,uuid,uuid,text,integer);pick_claim_document(uuid,uuid,uuid,text,integer);pick_claim_next_document(text,uuid,uuid,text,text,integer,date);pick_claim_next_document(uuid,uuid,text,text,integer,date);pick_cleanup_maintenance(integer,integer);pick_complete_print(text,uuid,uuid,text);pick_complete_print(uuid,uuid,text);pick_complete_print_cart(text,uuid,uuid,text,text);pick_complete_print_cart(uuid,uuid,text,text);pick_complete_print_carts(text,uuid,text,text[]);pick_complete_print_carts(uuid,text,text[]);pick_create_pair_code(uuid);pick_current_pick_day();pick_current_pick_day(text);pick_day_counts(text,uuid,uuid,date);pick_day_counts(uuid,uuid,date);pick_device_check(text,uuid,uuid,text,text,text);pick_device_gate(text);pick_device_key_required();pick_document_layout_data(uuid);pick_enqueue_print_job(text,uuid,uuid,text,boolean);pick_enqueue_print_job(text,uuid,uuid,text,boolean,text);pick_enqueue_print_job(uuid,uuid,text,boolean);pick_enqueue_print_job(uuid,uuid,text,boolean,text);pick_enqueue_print_job_from_cart(uuid,uuid,text,boolean,text,jsonb);pick_ensure_settings();pick_find_sent_elsewhere(uuid,text);pick_has_station_role();pick_is_reference_admin();pick_is_server();pick_key_hash(text);pick_mark_printed(text,uuid,text,text);pick_mark_printed(uuid,text,text);pick_order_context(uuid,text);pick_preview_job(text,text,uuid);pick_preview_job(text,uuid);pick_print_job_status(text,uuid);pick_print_job_status(uuid);pick_print_jobs_status(text,uuid[]);pick_print_jobs_status(uuid[]);pick_print_plekken();pick_print_plekken(text);pick_protect_required_reference_rows();pick_queue_apply_cart_breakdown();pick_queue_audit();pick_queue_cart_plan(text,uuid);pick_queue_cart_plan(uuid);pick_queue_cart_plan_v152(uuid);pick_queue_cart_plans(uuid[]);pick_queue_enforce_routing();pick_read_by_code(text,text,uuid);pick_read_country_counts(text,uuid,uuid);pick_read_locks(text,uuid);pick_read_print_job_uitwijk(text,uuid[]);pick_read_queue(text,uuid,uuid,text,text,uuid,boolean,boolean,text,jsonb,integer,integer);pick_read_station(text,text);pick_read_unscanned_earlier(text,uuid,text);pick_read_vroege_sticker_waarschuwing(text,uuid);pick_reference_data_status();pick_reference_data_status(text);pick_release_expired_locks();pick_release_expired_locks(text);pick_release_lock(text,uuid);pick_release_lock(uuid);pick_report_missing_cart_plan();pick_report_missing_cart_plan(text);pick_reprint_cart(text,uuid,text,text,integer);pick_reprint_cart(uuid,text,text,integer);pick_reprint_document(text,uuid,text,integer);pick_reprint_document(uuid,text,integer);pick_reset_print(text,uuid,text);pick_reset_print(text,uuid,text,text);pick_reset_print(uuid,text);pick_reset_print(uuid,text,text);pick_reset_print_job(text,uuid,text,text,uuid);pick_reset_print_job(uuid,text,text,uuid);pick_reset_print_jobs(text,uuid,text,uuid[],text[]);pick_reset_print_jobs(uuid,text,uuid[],text[]);pick_resolve_scan_code(text,text);pick_restore_to_queue(text,uuid,text);pick_restore_to_queue(uuid,text);pick_revoke_device(uuid);pick_role_allowed(text);pick_seed_reference_data();pick_set_station_print_plek(text,uuid,uuid);pick_shared_cart_message(text,pick_queue);pick_read_shared_cart_messages(uuid,text[]);pick_read_shared_cart_messages(text,uuid,text[]);pick_set_station_print_plek(uuid,uuid);pick_signal_station(uuid);pick_signal_trg();pick_station_cleanup_print_plek();pick_station_dashboard();pick_station_dashboard(text);pick_station_devices_list(uuid);pick_station_print_plek(text,uuid);pick_station_print_plek(uuid);pick_station_print_plekken();pick_station_print_plekken(text);pick_station_slugify(text,uuid);pick_stations_set_slug();pick_sticker_past_controle(uuid);pick_sync_pick_day(date);pick_sync_pick_day(text,date);pick_sync_queue_throttled(integer);pick_sync_queue_throttled(text,integer);pick_touch_updated_at();pick_verify_rows(jsonb);pick_verify_rows(text,jsonb);pickschermen_install_check();pickschermen_missing_objects();pickstation_auto_send_status(text,text,uuid);pickstation_auto_send_status(text,uuid);pickstation_cart_sticker_state(text,text,uuid);pickstation_cart_sticker_state(text,uuid);pickstation_cart_sticker_states(text,text,uuid[]);pickstation_cart_sticker_states(text,uuid[]);pickstation_device_status(text,text);pickstation_document_for_order(text,text,uuid);pickstation_document_for_order(text,uuid);pickstation_get_orders_raw();pickstation_get_orders_raw(text);pickstation_get_planning_context();pickstation_get_planning_context(text);pickstation_get_settings();pickstation_get_settings(text);pickstation_log_print(text,text,text,text,text[],text);pickstation_log_print(text,text,text,text[],text);pickstation_logistics_barcode_lookup(text,text);pickstation_logistics_cart_plan_status(text,text);pickstation_logistics_cart_slip_plan(text,uuid);pickstation_logistics_is_pick_workday(text,date);pickstation_logistics_order_released(text,text);pickstation_logistics_pick_mode(text);pickstation_logistics_shipping_note_from_barcode(text,text,boolean,uuid);pickstation_logistics_working_hours_status(text);pickstation_order_sticker_meldingen(text,text,uuid);pickstation_order_sticker_meldingen(text,uuid);pickstation_pair_device(text,text,text);pickstation_print_status(text,text,uuid[]);pickstation_print_status(text,uuid[]);pickstation_resolve_delivery_orders(text,text[]);pickstation_resolve_delivery_orders(text[]);pickstation_set_cart_status(text,text,integer,text);pickstation_sticker_past_controle(text,text,uuid);pickstation_sticker_past_controle(text,uuid);pickstation_sticker_reprint(text,text,uuid,text);pickstation_sticker_reprint(text,uuid,text);sync_order_cart_totals()', ';') LOOP
4106
4200
  IF to_regprocedure('public.'||t) IS NULL THEN v_mis := v_mis || ('functie '||t); END IF;
4107
4201
  END LOOP;
4108
4202
  -- Alleen verwacht als de Engine-tabel logistics_tasks bestaat.