@flowselections/logistiek-engine 1.0.200 → 1.0.203
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/db/schema/logistiek-engine.sql +655 -0
- package/dist-lib/components/BeladingIndelingCard.d.ts.map +1 -1
- package/dist-lib/components/BeladingIndelingCard.js +2 -4
- package/dist-lib/components/DataGereedheidCard.d.ts.map +1 -1
- package/dist-lib/components/DataGereedheidCard.js +22 -2
- package/dist-lib/components/HerindelingMeldingCard.js +2 -2
- package/dist-lib/components/StartlijstCard.d.ts.map +1 -1
- package/dist-lib/components/StartlijstCard.js +4 -1
- package/dist-lib/index.d.ts +1 -0
- package/dist-lib/index.d.ts.map +1 -1
- package/dist-lib/index.js +1 -0
- package/dist-lib/integrations/supabase/types.d.ts +371 -0
- package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
- package/dist-lib/lib/extraPlaten.d.ts +13 -0
- package/dist-lib/lib/extraPlaten.d.ts.map +1 -0
- package/dist-lib/lib/extraPlaten.js +41 -0
- package/dist-lib/lib/floridayCartCarriers.d.ts +3 -0
- package/dist-lib/lib/floridayCartCarriers.d.ts.map +1 -1
- package/dist-lib/lib/floridayCartCarriers.js +8 -1
- package/dist-lib/lib/floridayPush.server.d.ts.map +1 -1
- package/dist-lib/lib/floridayPush.server.js +2 -1
- package/dist-lib/lib/moduleVersion.d.ts +1 -1
- package/dist-lib/lib/moduleVersion.js +1 -1
- package/dist-lib/lib/shippingNoteQueue.server.d.ts.map +1 -1
- package/dist-lib/lib/shippingNoteQueue.server.js +11 -0
- package/dist-lib/lib/stickerQueue.server.d.ts.map +1 -1
- package/dist-lib/lib/stickerQueue.server.js +13 -0
- package/package.json +1 -1
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare function extraPlaten(lagenGebruikt: unknown): number | null;
|
|
2
|
+
/** "Deense container + 3 platen (3,2 lagen, 41 %)" — alleen voor eigen documenten en het orderscherm. */
|
|
3
|
+
export declare function ladingdragerPlatenTekst(naam: string, lagenGebruikt: unknown, pct?: unknown): string;
|
|
4
|
+
/** 1.0.201: blokkade per kar. Zelfde regel als public.logistics_kar_blokkade(text, numeric, numeric). */
|
|
5
|
+
export type KarBlokkade = {
|
|
6
|
+
teHoog: boolean;
|
|
7
|
+
blokkade: {
|
|
8
|
+
code: "kar_te_hoog";
|
|
9
|
+
tekst: string;
|
|
10
|
+
} | null;
|
|
11
|
+
};
|
|
12
|
+
export declare function karBlokkade(kar: unknown, lagenGebruikt: unknown, maxLagen: unknown): KarBlokkade;
|
|
13
|
+
//# sourceMappingURL=extraPlaten.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extraPlaten.d.ts","sourceRoot":"","sources":["../../src/lib/extraPlaten.ts"],"names":[],"mappings":"AAIA,wBAAgB,WAAW,CAAC,aAAa,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAKjE;AAED,yGAAyG;AACzG,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,MAAM,CAWnG;AAED,yGAAyG;AACzG,MAAM,MAAM,WAAW,GAAG;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE;QAAE,IAAI,EAAE,aAAa,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;CAAE,CAAC;AAEvG,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,GAAG,WAAW,CAahG"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
// 1.0.201: aantal EXTRA platen bovenop de bodem voor Floriday (numberOfAdditionalLayers).
|
|
2
|
+
// lagenGebruikt mag een decimaal getal zijn (som van laagfracties). Altijd een heel getal;
|
|
3
|
+
// ongeldige invoer geeft null (de aanroeper blokkeert dan, nooit stil 0).
|
|
4
|
+
// Dezelfde regel staat in SQL als public.logistics_extra_platen(numeric).
|
|
5
|
+
export function extraPlaten(lagenGebruikt) {
|
|
6
|
+
if (lagenGebruikt === null || lagenGebruikt === undefined || lagenGebruikt === "")
|
|
7
|
+
return null;
|
|
8
|
+
const n = Number(lagenGebruikt);
|
|
9
|
+
if (!Number.isFinite(n) || n < 0)
|
|
10
|
+
return null;
|
|
11
|
+
return Math.max(0, Math.ceil(n - 0.001) - 1);
|
|
12
|
+
}
|
|
13
|
+
/** "Deense container + 3 platen (3,2 lagen, 41 %)" — alleen voor eigen documenten en het orderscherm. */
|
|
14
|
+
export function ladingdragerPlatenTekst(naam, lagenGebruikt, pct) {
|
|
15
|
+
const platen = extraPlaten(lagenGebruikt);
|
|
16
|
+
let t = naam || "Ladingdrager";
|
|
17
|
+
if (platen && platen > 0)
|
|
18
|
+
t += platen === 1 ? " + 1 plaat" : ` + ${platen} platen`;
|
|
19
|
+
const l = Number(lagenGebruikt);
|
|
20
|
+
if (lagenGebruikt !== null && lagenGebruikt !== undefined && Number.isFinite(l)) {
|
|
21
|
+
const p = Number(pct);
|
|
22
|
+
const lagen = String(Math.round(l * 100) / 100).replace(".", ",");
|
|
23
|
+
t += ` (${lagen} lagen${pct !== null && pct !== undefined && Number.isFinite(p) ? `, ${Math.round(p)} %` : ""})`;
|
|
24
|
+
}
|
|
25
|
+
return t;
|
|
26
|
+
}
|
|
27
|
+
const nl = (n) => String(Math.round(n * 100) / 100).replace(".", ",");
|
|
28
|
+
export function karBlokkade(kar, lagenGebruikt, maxLagen) {
|
|
29
|
+
const l = Number(lagenGebruikt);
|
|
30
|
+
const m = Number(maxLagen);
|
|
31
|
+
if (lagenGebruikt == null || maxLagen == null || !Number.isFinite(l) || !Number.isFinite(m) || m <= 0 || l <= m + 0.001) {
|
|
32
|
+
return { teHoog: false, blokkade: null };
|
|
33
|
+
}
|
|
34
|
+
return {
|
|
35
|
+
teHoog: true,
|
|
36
|
+
blokkade: {
|
|
37
|
+
code: "kar_te_hoog",
|
|
38
|
+
tekst: `Kar ${kar ?? "?"} heeft ${nl(l)} lagen, maximaal ${nl(m)}. Deel de order opnieuw in of pas de belading aan.`,
|
|
39
|
+
},
|
|
40
|
+
};
|
|
41
|
+
}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export interface CartInput {
|
|
2
2
|
cartNumber: number | null;
|
|
3
3
|
layersUsed: number | null;
|
|
4
|
+
/** 1.0.201: maximaal aantal lagen van de ladingdrager; te hoog = niet versturen. */
|
|
5
|
+
maxLayers?: number | null;
|
|
4
6
|
barcode?: string | null;
|
|
5
7
|
items: Array<{
|
|
6
8
|
fulfillmentRequestId: string | null;
|
|
@@ -50,6 +52,7 @@ export declare function groupOwnCartLines(lines: Array<Record<string, unknown>>,
|
|
|
50
52
|
cart_number: number | null;
|
|
51
53
|
carrier_type: string | null;
|
|
52
54
|
total_layers_used: number | null;
|
|
55
|
+
max_layers: number | null;
|
|
53
56
|
order_cart_items: Array<Record<string, unknown>>;
|
|
54
57
|
}>;
|
|
55
58
|
export declare function buildCartCarriers(carts: CartInput[], requests: DeliveryRequestInput[]): CartCarriersResult;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"floridayCartCarriers.d.ts","sourceRoot":"","sources":["../../src/lib/floridayCartCarriers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"floridayCartCarriers.d.ts","sourceRoot":"","sources":["../../src/lib/floridayCartCarriers.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
// niet met de delivery-order, dan wordt er niets opgebouwd en komt er een
|
|
8
8
|
// duidelijke reden terug. Er wordt nooit stil teruggevallen op 0 lagen.
|
|
9
9
|
// ============================================================================
|
|
10
|
+
import { extraPlaten, karBlokkade } from "./extraPlaten.js";
|
|
10
11
|
/**
|
|
11
12
|
* Groepeert karregels (met geneste `order_carts`) per kar en houdt alleen de
|
|
12
13
|
* regels van de eigen orderregels over. Werkt ook voor een gedeelde bufferkar
|
|
@@ -30,6 +31,7 @@ export function groupOwnCartLines(lines, ownItemIds) {
|
|
|
30
31
|
cart_number: cart?.["cart_number"] ?? null,
|
|
31
32
|
carrier_type: cart?.["carrier_type"] ?? null,
|
|
32
33
|
total_layers_used: cart?.["total_layers_used"] ?? null,
|
|
34
|
+
max_layers: cart?.["max_layers"] ?? null,
|
|
33
35
|
order_cart_items: [],
|
|
34
36
|
};
|
|
35
37
|
carts.set(id, entry);
|
|
@@ -56,6 +58,10 @@ export function buildCartCarriers(carts, requests) {
|
|
|
56
58
|
error: `Kar ${label} heeft geen geldig aantal lagen; de belading wordt niet verstuurd.`,
|
|
57
59
|
};
|
|
58
60
|
}
|
|
61
|
+
const hoog = karBlokkade(label, layers, cart.maxLayers ?? null);
|
|
62
|
+
if (hoog.blokkade) {
|
|
63
|
+
return { ok: false, code: hoog.blokkade.code, error: hoog.blokkade.tekst };
|
|
64
|
+
}
|
|
59
65
|
const perRequest = new Map();
|
|
60
66
|
for (const item of cart.items) {
|
|
61
67
|
const id = String(item.fulfillmentRequestId ?? "").trim();
|
|
@@ -92,7 +98,8 @@ export function buildCartCarriers(carts, requests) {
|
|
|
92
98
|
return { ok: false, code: "lege_kar", error: `Kar ${label} bevat geen fusten.` };
|
|
93
99
|
}
|
|
94
100
|
const carrier = {
|
|
95
|
-
|
|
101
|
+
// 1.0.201: Floriday wil het aantal EXTRA platen boven de bodem, als heel getal.
|
|
102
|
+
numberOfAdditionalLayers: extraPlaten(layers) ?? 0,
|
|
96
103
|
sortIndex: index + 1,
|
|
97
104
|
loadCarrierReference: String(label),
|
|
98
105
|
items,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"floridayPush.server.d.ts","sourceRoot":"","sources":["../../src/lib/floridayPush.server.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAG5D,eAAO,MAAM,mBAAmB,KAAK,CAAC;AACtC,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAc/C,mFAAmF;AACnF,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAUlD;AAaD,MAAM,WAAW,mBAAmB;IAClC,eAAe,EAAE,MAAM,CAAC;IACxB,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,YAAY,EAAE,OAAO,2BAA2B,EAAE,WAAW,EAAE,CAAC;CACjE;AAED,MAAM,MAAM,WAAW,GACnB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,mBAAmB,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACxD;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAAC;AAUnE;;;;GAIG;AACH,wBAAsB,8BAA8B,CAClD,EAAE,EAAE,cAAc,EAClB,YAAY,EAAE,MAAM,GACnB,OAAO,CACN;IACE,EAAE,EAAE,IAAI,CAAC;IACT,eAAe,EAAE,MAAM,CAAC;IACxB,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,cAAc,EAAE,OAAO,2BAA2B,EAAE,oBAAoB,EAAE,CAAC;IAC3E,OAAO,EAAE,MAAM,CAAC;CACjB,GACD;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAC7C,CAoEA;AAED,8CAA8C;AAC9C,wBAAsB,oBAAoB,CACxC,EAAE,EAAE,cAAc,EAClB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"floridayPush.server.d.ts","sourceRoot":"","sources":["../../src/lib/floridayPush.server.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAG5D,eAAO,MAAM,mBAAmB,KAAK,CAAC;AACtC,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAc/C,mFAAmF;AACnF,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAUlD;AAaD,MAAM,WAAW,mBAAmB;IAClC,eAAe,EAAE,MAAM,CAAC;IACxB,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,YAAY,EAAE,OAAO,2BAA2B,EAAE,WAAW,EAAE,CAAC;CACjE;AAED,MAAM,MAAM,WAAW,GACnB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,mBAAmB,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACxD;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAAC;AAUnE;;;;GAIG;AACH,wBAAsB,8BAA8B,CAClD,EAAE,EAAE,cAAc,EAClB,YAAY,EAAE,MAAM,GACnB,OAAO,CACN;IACE,EAAE,EAAE,IAAI,CAAC;IACT,eAAe,EAAE,MAAM,CAAC;IACxB,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,cAAc,EAAE,OAAO,2BAA2B,EAAE,oBAAoB,EAAE,CAAC;IAC3E,OAAO,EAAE,MAAM,CAAC;CACjB,GACD;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAC7C,CAoEA;AAED,8CAA8C;AAC9C,wBAAsB,oBAAoB,CACxC,EAAE,EAAE,cAAc,EAClB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,WAAW,CAAC,CAmItB;AAQD,wBAAsB,iBAAiB,CAAC,EAAE,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAW3F;AAED,wBAAsB,mBAAmB,CAAC,EAAE,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAGhG;AA6BD;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,OAAO,GAAG,mBAAmB,GAAG,gBAAgB,CAAC;AAElF,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,8EAA8E;IAC9E,OAAO,EAAE,MAAM,CAAC;IAChB,sEAAsE;IACtE,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB;AAYD,wBAAsB,oBAAoB,CACxC,EAAE,EAAE,cAAc,EAClB,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAO,GACjD,OAAO,CAAC,eAAe,CAAC,CAqN1B;AAQD,wBAAsB,wBAAwB,CAAC,EAAE,EAAE,cAAc,EAAE,IAAI,SAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAS3F"}
|
|
@@ -163,7 +163,7 @@ export async function buildFloridayPayload(sb, orderRef) {
|
|
|
163
163
|
if (ownItemIds.length > 0) {
|
|
164
164
|
const { data: lines, error: cartsError } = await sb
|
|
165
165
|
.from("order_cart_items")
|
|
166
|
-
.select("cart_id, order_item_id, product_id, product_name, crates, boxes, plants_per_crate, order_carts!inner(id, cart_number, carrier_type, total_layers_used)")
|
|
166
|
+
.select("cart_id, order_item_id, product_id, product_name, crates, boxes, plants_per_crate, order_carts!inner(id, cart_number, carrier_type, total_layers_used, max_layers)")
|
|
167
167
|
.in("order_item_id", ownItemIds)
|
|
168
168
|
.is("order_carts.archived_at", null);
|
|
169
169
|
if (cartsError) {
|
|
@@ -199,6 +199,7 @@ export async function buildFloridayPayload(sb, orderRef) {
|
|
|
199
199
|
const carriers = buildCartCarriers(cartRows.map((cart) => ({
|
|
200
200
|
cartNumber: cart["cart_number"] ?? null,
|
|
201
201
|
layersUsed: cart["total_layers_used"] ?? null,
|
|
202
|
+
maxLayers: cart["max_layers"] ?? null,
|
|
202
203
|
items: (Array.isArray(cart["order_cart_items"])
|
|
203
204
|
? cart["order_cart_items"]
|
|
204
205
|
: []).map((i) => ({
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const MODULE_VERSION = "1.0.
|
|
1
|
+
export declare const MODULE_VERSION = "1.0.203";
|
|
2
2
|
//# sourceMappingURL=moduleVersion.d.ts.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// Automatisch gegenereerd door prebuild:lib; niet handmatig aanpassen.
|
|
2
|
-
export const MODULE_VERSION = "1.0.
|
|
2
|
+
export const MODULE_VERSION = "1.0.203";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shippingNoteQueue.server.d.ts","sourceRoot":"","sources":["../../src/lib/shippingNoteQueue.server.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAS5D,MAAM,WAAW,eAAe;IAC9B,uDAAuD;IACvD,OAAO,EAAE,MAAM,CAAC;IAChB,uDAAuD;IACvD,OAAO,EAAE,MAAM,CAAC;IAChB,qEAAqE;IACrE,OAAO,EAAE,MAAM,CAAC;IAChB,iFAAiF;IACjF,QAAQ,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAoCD,wBAAsB,oBAAoB,CACxC,EAAE,EAAE,cAAc,EAClB,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GAC/B,OAAO,CAAC,eAAe,CAAC,
|
|
1
|
+
{"version":3,"file":"shippingNoteQueue.server.d.ts","sourceRoot":"","sources":["../../src/lib/shippingNoteQueue.server.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAS5D,MAAM,WAAW,eAAe;IAC9B,uDAAuD;IACvD,OAAO,EAAE,MAAM,CAAC;IAChB,uDAAuD;IACvD,OAAO,EAAE,MAAM,CAAC;IAChB,qEAAqE;IACrE,OAAO,EAAE,MAAM,CAAC;IAChB,iFAAiF;IACjF,QAAQ,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAoCD,wBAAsB,oBAAoB,CACxC,EAAE,EAAE,cAAc,EAClB,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GAC/B,OAAO,CAAC,eAAe,CAAC,CA0gB1B;AAMD,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,aAAa,GAAG,IAAI,CAAC;AAElE,qGAAqG;AACrG,wBAAsB,uBAAuB,CAAC,EAAE,EAAE,cAAc,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAQ9F;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,mBAAmB,CAG5E;AAED,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,mBAAmB,GAAG,MAAM,CAI3E"}
|
|
@@ -376,6 +376,17 @@ export async function runShippingNoteQueue(sb, options = {}) {
|
|
|
376
376
|
const slipPayload = slipRow["payload"] ?? {};
|
|
377
377
|
const printPlekId = String(slipPayload["print_plek_id"] ?? "").trim() || null;
|
|
378
378
|
const cartId = slipPayload["cart_id"] ?? row.cart_id;
|
|
379
|
+
// 1.0.201: een te hoge kar krijgt geen verzendbrief (fail-closed, wacht zonder poging).
|
|
380
|
+
if (cartId) {
|
|
381
|
+
const { data: hoog, error: hoogFout } = await sb.rpc("logistics_cart_te_hoog", { p_cart_id: cartId });
|
|
382
|
+
const tekst = hoogFout
|
|
383
|
+
? `Kon niet controleren of de kar te hoog is: ${hoogFout.message}`
|
|
384
|
+
: hoog?.blokkade?.tekst;
|
|
385
|
+
if (tekst) {
|
|
386
|
+
await houdVast(tekst);
|
|
387
|
+
continue;
|
|
388
|
+
}
|
|
389
|
+
}
|
|
379
390
|
// Layout op id: de actieve Floriday-afleverbrief (bij meerdere de standaard).
|
|
380
391
|
const layout = await floridayLayout(sb, "afleverbrief", row.order_id);
|
|
381
392
|
if (!layout.layoutId) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stickerQueue.server.d.ts","sourceRoot":"","sources":["../../src/lib/stickerQueue.server.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAuB5D,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,wEAAwE;IACxE,UAAU,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACpE;AAED,UAAU,GAAG;IACX,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,SAAS,GAAG,aAAa,GAAG,eAAe,GAAG,mBAAmB,CAAC;IACzE,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvC;AAKD,6EAA6E;AAC7E,eAAO,MAAM,oBAAoB,sBAAsB,CAAC;AAExD,sGAAsG;AACtG,eAAO,MAAM,sBAAsB,UAA0F,CAAC;AAE9H,oDAAoD;AACpD,wBAAgB,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,MAAM,CAEzD;AAaD,wBAAsB,eAAe,CAAC,EAAE,EAAE,cAAc,EAAE,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,OAAO,CAAC,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"stickerQueue.server.d.ts","sourceRoot":"","sources":["../../src/lib/stickerQueue.server.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAuB5D,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,wEAAwE;IACxE,UAAU,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACpE;AAED,UAAU,GAAG;IACX,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,SAAS,GAAG,aAAa,GAAG,eAAe,GAAG,mBAAmB,CAAC;IACzE,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvC;AAKD,6EAA6E;AAC7E,eAAO,MAAM,oBAAoB,sBAAsB,CAAC;AAExD,sGAAsG;AACtG,eAAO,MAAM,sBAAsB,UAA0F,CAAC;AAE9H,oDAAoD;AACpD,wBAAgB,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,MAAM,CAEzD;AAaD,wBAAsB,eAAe,CAAC,EAAE,EAAE,cAAc,EAAE,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,OAAO,CAAC,UAAU,CAAC,CAyc5G;AAoGD,kFAAkF;AAClF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAGzD;AAwGD;;;;GAIG;AACH,wBAAsB,wBAAwB,CAC5C,EAAE,EAAE,cAAc,EAClB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,GACd,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CAatD;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAEtF"}
|
|
@@ -248,6 +248,19 @@ export async function runStickerQueue(sb, opts = {}) {
|
|
|
248
248
|
run.blocked++;
|
|
249
249
|
await trace(sb, { ...basis, step: `${label} niet geprint`, status: "waarschuwing", reason: reden });
|
|
250
250
|
};
|
|
251
|
+
// 1.0.201: een kar die hoger is dan de ladingdrager toestaat krijgt geen stickers (fail-closed).
|
|
252
|
+
if (r.cart_id) {
|
|
253
|
+
const { data: hoog, error: hoogFout } = await sb.rpc("logistics_cart_te_hoog", { p_cart_id: r.cart_id });
|
|
254
|
+
if (hoogFout) {
|
|
255
|
+
await blokkeer(`Kon niet controleren of kar ${r.cart_id} te hoog is: ${hoogFout.message}`);
|
|
256
|
+
continue;
|
|
257
|
+
}
|
|
258
|
+
const tekst = hoog?.blokkade?.tekst;
|
|
259
|
+
if (tekst) {
|
|
260
|
+
await blokkeer(tekst);
|
|
261
|
+
continue;
|
|
262
|
+
}
|
|
263
|
+
}
|
|
251
264
|
const later = async (reden) => {
|
|
252
265
|
if (isHerprint) {
|
|
253
266
|
await trace(sb, { ...basis, step: `${label}: herprint opnieuw proberen`, status: "wachtend", reason: reden });
|