@flowselections/logistiek-engine 1.0.27 → 1.0.29
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -24
- package/dist-lib/components/AfmetingenBronnenCard.d.ts +2 -0
- package/dist-lib/components/AfmetingenBronnenCard.d.ts.map +1 -0
- package/dist-lib/components/AfmetingenBronnenCard.js +46 -0
- package/dist-lib/components/BufferDebugCard.d.ts.map +1 -1
- package/dist-lib/components/BufferDebugCard.js +6 -1
- package/dist-lib/components/ConsistentieCard.d.ts.map +1 -1
- package/dist-lib/components/ConsistentieCard.js +1 -1
- package/dist-lib/components/GeblokkeerdeOrdersCard.d.ts +2 -0
- package/dist-lib/components/GeblokkeerdeOrdersCard.d.ts.map +1 -0
- package/dist-lib/components/GeblokkeerdeOrdersCard.js +44 -0
- package/dist-lib/components/KarplanStatusCard.d.ts +2 -0
- package/dist-lib/components/KarplanStatusCard.d.ts.map +1 -0
- package/dist-lib/components/KarplanStatusCard.js +31 -0
- package/dist-lib/components/RegiePage.d.ts.map +1 -1
- package/dist-lib/components/RegiePage.js +4 -1
- package/dist-lib/components/RuleEnginePage.d.ts.map +1 -1
- package/dist-lib/components/RuleEnginePage.js +7 -4
- package/dist-lib/components/rule-engine/FloridayConnectionBanner.d.ts +2 -0
- package/dist-lib/components/rule-engine/FloridayConnectionBanner.d.ts.map +1 -0
- package/dist-lib/components/rule-engine/FloridayConnectionBanner.js +41 -0
- package/dist-lib/components/rule-engine/RuleFieldInput.d.ts.map +1 -1
- package/dist-lib/components/rule-engine/RuleFieldInput.js +9 -0
- package/dist-lib/hooks/useGeblokkeerdeOrders.d.ts +28 -0
- package/dist-lib/hooks/useGeblokkeerdeOrders.d.ts.map +1 -0
- package/dist-lib/hooks/useGeblokkeerdeOrders.js +94 -0
- package/dist-lib/hooks/useRecalcJob.d.ts.map +1 -1
- package/dist-lib/hooks/useRecalcJob.js +26 -1
- package/dist-lib/hooks/useScannersPrinters.d.ts +11 -0
- package/dist-lib/hooks/useScannersPrinters.d.ts.map +1 -0
- package/dist-lib/hooks/useScannersPrinters.js +65 -0
- package/dist-lib/index.d.ts +3 -0
- package/dist-lib/index.d.ts.map +1 -1
- package/dist-lib/index.js +3 -0
- package/dist-lib/integrations/supabase/auth-middleware.d.ts +2105 -68
- package/dist-lib/integrations/supabase/auth-middleware.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/client.d.ts +20293 -0
- package/dist-lib/integrations/supabase/client.d.ts.map +1 -0
- package/dist-lib/integrations/supabase/client.js +13 -0
- package/dist-lib/integrations/supabase/client.server.d.ts +2105 -68
- package/dist-lib/integrations/supabase/client.server.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/client.server.js +1 -1
- package/dist-lib/integrations/supabase/moduleClient.d.ts +2105 -68
- package/dist-lib/integrations/supabase/moduleClient.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/types.d.ts +2135 -54
- package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/types.js +1 -0
- package/dist-lib/lib/attachAuthToken.d.ts +2 -0
- package/dist-lib/lib/attachAuthToken.d.ts.map +1 -0
- package/dist-lib/lib/attachAuthToken.js +50 -0
- package/dist-lib/lib/bufferMatching.d.ts.map +1 -1
- package/dist-lib/lib/bufferMatching.js +1 -0
- package/dist-lib/lib/cartPlanRequests.server.d.ts +13 -0
- package/dist-lib/lib/cartPlanRequests.server.d.ts.map +1 -0
- package/dist-lib/lib/cartPlanRequests.server.js +168 -0
- package/dist-lib/lib/controlScan.server.d.ts +12 -0
- package/dist-lib/lib/controlScan.server.d.ts.map +1 -0
- package/dist-lib/lib/controlScan.server.js +197 -0
- package/dist-lib/lib/dimensionData.server.d.ts +11 -1
- package/dist-lib/lib/dimensionData.server.d.ts.map +1 -1
- package/dist-lib/lib/dimensionData.server.js +58 -48
- package/dist-lib/lib/dimensionPlanner.d.ts +26 -1
- package/dist-lib/lib/dimensionPlanner.d.ts.map +1 -1
- package/dist-lib/lib/dimensionPlanner.js +37 -6
- package/dist-lib/lib/floridayDocuments.functions.d.ts +6314 -203
- package/dist-lib/lib/floridayDocuments.functions.d.ts.map +1 -1
- package/dist-lib/lib/floridayDocuments.functions.js +4 -3
- package/dist-lib/lib/floridayPush.functions.d.ts +2106 -69
- package/dist-lib/lib/floridayPush.functions.d.ts.map +1 -1
- package/dist-lib/lib/floridayPush.functions.js +2 -1
- package/dist-lib/lib/handlers/logistics-tick.server.d.ts.map +1 -1
- package/dist-lib/lib/handlers/logistics-tick.server.js +64 -0
- package/dist-lib/lib/loadCarrierPlanning.functions.d.ts +10480 -295
- package/dist-lib/lib/loadCarrierPlanning.functions.d.ts.map +1 -1
- package/dist-lib/lib/loadCarrierPlanning.functions.js +6 -5
- package/dist-lib/lib/loadCarrierPlanning.server.d.ts +42 -0
- package/dist-lib/lib/loadCarrierPlanning.server.d.ts.map +1 -1
- package/dist-lib/lib/loadCarrierPlanning.server.js +583 -31
- package/dist-lib/lib/logisticsPlanner.d.ts.map +1 -1
- package/dist-lib/lib/logisticsPlanner.js +24 -9
- package/dist-lib/lib/logisticsRecalcJob.functions.d.ts +4231 -157
- package/dist-lib/lib/logisticsRecalcJob.functions.d.ts.map +1 -1
- package/dist-lib/lib/logisticsRecalcJob.functions.js +3 -2
- package/dist-lib/lib/logisticsRecalcJob.server.d.ts.map +1 -1
- package/dist-lib/lib/logisticsRecalcJob.server.js +1 -0
- package/dist-lib/lib/logisticsRecalculate.functions.d.ts +2106 -69
- package/dist-lib/lib/logisticsRecalculate.functions.d.ts.map +1 -1
- package/dist-lib/lib/logisticsRecalculate.functions.js +3 -1
- package/dist-lib/lib/modulePrompts.d.ts.map +1 -1
- package/dist-lib/lib/modulePrompts.js +2560 -1586
- package/dist-lib/lib/planQueue.server.d.ts.map +1 -1
- package/dist-lib/lib/planQueue.server.js +6 -0
- package/dist-lib/lib/readableServerErrors.d.ts +2 -0
- package/dist-lib/lib/readableServerErrors.d.ts.map +1 -0
- package/dist-lib/lib/readableServerErrors.js +36 -0
- package/dist-lib/lib/ruleEngineSchema.d.ts +1 -1
- package/dist-lib/lib/ruleEngineSchema.d.ts.map +1 -1
- package/dist-lib/lib/ruleEngineSchema.js +72 -51
- package/dist-lib/lib/ruleEngineWizard.d.ts.map +1 -1
- package/dist-lib/lib/ruleEngineWizard.js +5 -6
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"planQueue.server.d.ts","sourceRoot":"","sources":["../../src/lib/planQueue.server.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAI5D,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,2FAA2F;IAC3F,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAwBD,wFAAwF;AACxF,wBAAsB,YAAY,CAChC,EAAE,EAAE,cAAc,EAClB,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAO,GAC3D,OAAO,CAAC,eAAe,CAAC,CAsG1B;
|
|
1
|
+
{"version":3,"file":"planQueue.server.d.ts","sourceRoot":"","sources":["../../src/lib/planQueue.server.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAI5D,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,2FAA2F;IAC3F,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAwBD,wFAAwF;AACxF,wBAAsB,YAAY,CAChC,EAAE,EAAE,cAAc,EAClB,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAO,GAC3D,OAAO,CAAC,eAAe,CAAC,CAsG1B;AA0CD,4EAA4E;AAE5E,wBAAsB,cAAc,CAAC,EAAE,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAEtE"}
|
|
@@ -132,6 +132,7 @@ async function runDayLevelSteps(sb, dates, result) {
|
|
|
132
132
|
{ fn: "logistics_schedule_tasks", args: {} },
|
|
133
133
|
{ fn: "logistics_sync_task_carriers", args: { p_order_ref: null } },
|
|
134
134
|
{ fn: "logistics_sync_pick_queue", args: {} },
|
|
135
|
+
{ fn: "logistics_prune_buffer_member_queue", args: {} },
|
|
135
136
|
{ fn: "logistics_apply_document_layouts", args: {} },
|
|
136
137
|
{ fn: "logistics_capacity_day_check", args: { p_from: from, p_to: to >= from ? to : from } },
|
|
137
138
|
];
|
|
@@ -146,6 +147,11 @@ async function syncPickQueue(sb, result) {
|
|
|
146
147
|
const { error } = await sb.rpc("logistics_sync_pick_queue", {});
|
|
147
148
|
if (error && result.errors.length < 10) {
|
|
148
149
|
result.errors.push(`logistics_sync_pick_queue: ${error.message}`);
|
|
150
|
+
return;
|
|
151
|
+
}
|
|
152
|
+
const { error: pruneError } = await sb.rpc("logistics_prune_buffer_member_queue", {});
|
|
153
|
+
if (pruneError && result.errors.length < 10) {
|
|
154
|
+
result.errors.push(`logistics_prune_buffer_member_queue: ${pruneError.message}`);
|
|
149
155
|
}
|
|
150
156
|
}
|
|
151
157
|
/** Ruimt afgeronde wachtrijrijen op volgens de ingestelde bewaartermijn. */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"readableServerErrors.d.ts","sourceRoot":"","sources":["../../src/lib/readableServerErrors.ts"],"names":[],"mappings":"AA2BA,eAAO,MAAM,oBAAoB,yIAWhC,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
// ============================================================================
|
|
2
|
+
// src/lib/readableServerErrors.ts — foutmeldingen die de browser kan tonen
|
|
3
|
+
// ============================================================================
|
|
4
|
+
// De auth-middleware gooit bij een probleem een Response. Zo'n object kan niet
|
|
5
|
+
// over de serverfunctie-verbinding worden verstuurd; de browser kreeg daardoor
|
|
6
|
+
// "[object Response]" en een leeg scherm. Deze middleware zet elke Response om
|
|
7
|
+
// in een gewone fout met leesbare tekst.
|
|
8
|
+
// ============================================================================
|
|
9
|
+
import { createMiddleware } from "@tanstack/react-start";
|
|
10
|
+
async function describe(e) {
|
|
11
|
+
if (typeof Response !== "undefined" && e instanceof Response) {
|
|
12
|
+
let body = "";
|
|
13
|
+
try {
|
|
14
|
+
body = (await e.clone().text()).slice(0, 300);
|
|
15
|
+
}
|
|
16
|
+
catch {
|
|
17
|
+
/* body niet leesbaar */
|
|
18
|
+
}
|
|
19
|
+
if (e.status === 401) {
|
|
20
|
+
return "Je sessie is verlopen of ontbreekt. Log opnieuw in en probeer het nog een keer.";
|
|
21
|
+
}
|
|
22
|
+
return body || `Serverfout (${e.status})`;
|
|
23
|
+
}
|
|
24
|
+
return String(e?.message ?? e);
|
|
25
|
+
}
|
|
26
|
+
export const readableServerErrors = createMiddleware({ type: "function" }).server(async ({ next }) => {
|
|
27
|
+
try {
|
|
28
|
+
return await next();
|
|
29
|
+
}
|
|
30
|
+
catch (e) {
|
|
31
|
+
if (typeof Response !== "undefined" && e instanceof Response) {
|
|
32
|
+
throw new Error(await describe(e));
|
|
33
|
+
}
|
|
34
|
+
throw e;
|
|
35
|
+
}
|
|
36
|
+
});
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type FieldType = "toggle" | "select" | "number" | "text" | "textarea" | "time" | "priority" | "radio" | "days" | "layout" | "pickstation" | "guidance";
|
|
1
|
+
export type FieldType = "toggle" | "select" | "number" | "text" | "textarea" | "time" | "priority" | "radio" | "days" | "layout" | "pickstation" | "scanner" | "printer" | "guidance";
|
|
2
2
|
export interface FieldOption {
|
|
3
3
|
value: string;
|
|
4
4
|
label: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ruleEngineSchema.d.ts","sourceRoot":"","sources":["../../src/lib/ruleEngineSchema.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,SAAS,GACjB,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,UAAU,GACV,MAAM,GACN,UAAU,GACV,OAAO,GACP,MAAM,GACN,QAAQ,GACR,aAAa,GACb,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"ruleEngineSchema.d.ts","sourceRoot":"","sources":["../../src/lib/ruleEngineSchema.ts"],"names":[],"mappings":"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"}
|
|
@@ -66,15 +66,27 @@ export const RULE_STEPS = [
|
|
|
66
66
|
{ value: "order_type", label: "Zelfde ordertype" },
|
|
67
67
|
],
|
|
68
68
|
},
|
|
69
|
+
{
|
|
70
|
+
key: "buffer_close_reference",
|
|
71
|
+
label: "Buffer sluit ten opzichte van",
|
|
72
|
+
type: "select",
|
|
73
|
+
default: "checkin",
|
|
74
|
+
options: [
|
|
75
|
+
{ value: "checkin", label: "De aanmeldtijd" },
|
|
76
|
+
{ value: "pick_start", label: "De start van het picken" },
|
|
77
|
+
],
|
|
78
|
+
description: "Kies waar de sluittijd vanaf wordt teruggerekend. Bij \u201cstart van het picken\u201d is de buffer dicht zodra de order richting het pickstation gaat.",
|
|
79
|
+
dependsOn: { key: "buffer_enabled", in: [true] },
|
|
80
|
+
},
|
|
69
81
|
{
|
|
70
82
|
key: "buffer_close_before_minutes",
|
|
71
|
-
label: "Buffer sluit ... minuten v\u00f3\u00f3r
|
|
83
|
+
label: "Buffer sluit ... minuten v\u00f3\u00f3r",
|
|
72
84
|
type: "number",
|
|
73
85
|
unit: "minuten",
|
|
74
86
|
min: 0,
|
|
75
87
|
max: 1440,
|
|
76
88
|
default: 60,
|
|
77
|
-
description: "De gecombineerde order wordt zoveel minuten v\u00f3\u00f3r
|
|
89
|
+
description: "De gecombineerde order wordt zoveel minuten v\u00f3\u00f3r het gekozen moment gesloten. Daarna kan er geen order meer bij.",
|
|
78
90
|
dependsOn: { key: "buffer_enabled", in: [true] },
|
|
79
91
|
},
|
|
80
92
|
],
|
|
@@ -238,6 +250,27 @@ export const RULE_STEPS = [
|
|
|
238
250
|
dependsOn: { key: "mode", in: ["auto"] },
|
|
239
251
|
},
|
|
240
252
|
{ key: "max_boxes_per_pallet", label: "Maximaal aantal dozen per pallet", type: "number", min: 1, max: 200, default: 40, dependsOn: [{ key: "mode", in: ["auto"] }, { key: "fill_boxes_as_much_as_fits", in: [false] }] },
|
|
253
|
+
{
|
|
254
|
+
key: "full_cart_min_layers",
|
|
255
|
+
label: "Vanaf hoeveel lagen telt een kar als volle kar",
|
|
256
|
+
type: "number",
|
|
257
|
+
min: 1,
|
|
258
|
+
max: 20,
|
|
259
|
+
default: 5,
|
|
260
|
+
description: "Een kar met dit aantal gevulde lagen of meer geldt als volle kar; daaronder als deelkar. Dat bepaalt welke pakbon-variant wordt meegestuurd.",
|
|
261
|
+
dependsOn: { key: "mode", in: ["auto"] },
|
|
262
|
+
},
|
|
263
|
+
{
|
|
264
|
+
key: "full_cart_min_percentage",
|
|
265
|
+
label: "Of vanaf hoeveel beladingspercentage telt een kar als volle kar",
|
|
266
|
+
type: "number",
|
|
267
|
+
min: 1,
|
|
268
|
+
max: 100,
|
|
269
|
+
default: 80,
|
|
270
|
+
unit: "%",
|
|
271
|
+
description: "Een kar met dit beladingspercentage of meer geldt óók als volle kar, ook als het aantal lagen onder de drempel blijft. Handig als je met verschillende fusthoogtes werkt.",
|
|
272
|
+
dependsOn: { key: "mode", in: ["auto"] },
|
|
273
|
+
},
|
|
241
274
|
{ key: "optimal_fill", label: "Optimale vulling berekenen", type: "toggle", default: true, dependsOn: { key: "mode", in: ["auto"] } },
|
|
242
275
|
],
|
|
243
276
|
},
|
|
@@ -641,14 +674,6 @@ export const RULE_STEPS = [
|
|
|
641
674
|
unit: "uur",
|
|
642
675
|
dependsOn: { key: "packing_slip_release", in: ["hours_before_pick"] },
|
|
643
676
|
},
|
|
644
|
-
{
|
|
645
|
-
key: "packing_slip_group_identical_carts",
|
|
646
|
-
label: "Gelijke karren op één pakbon",
|
|
647
|
-
type: "toggle",
|
|
648
|
-
default: true,
|
|
649
|
-
description: "Bij picken per kar: karren met dezelfde inhoud komen op één pakbon, met bovenaan hoe vaak die kar gemaakt moet worden.",
|
|
650
|
-
dependsOn: { step: "order_picken", key: "pick_mode", in: ["cart", "smallest"] },
|
|
651
|
-
},
|
|
652
677
|
{
|
|
653
678
|
key: "packing_slip_carts_per_print",
|
|
654
679
|
label: "Aantal karren dat je in één keer uitprint",
|
|
@@ -660,32 +685,15 @@ export const RULE_STEPS = [
|
|
|
660
685
|
description: "Hoeveel karren je tegelijk uitprint. Elke afwijkende karindeling levert een eigen pakbon op: 3 karren met 3 verschillende indelingen worden dus 3 pakbonnen. Hoeveel karindelingen op één vel passen bepaalt de pakbon-layout.",
|
|
661
686
|
dependsOn: [
|
|
662
687
|
{ step: "order_picken", key: "pick_mode", in: ["cart", "smallest"] },
|
|
663
|
-
{ key: "packing_slip_group_identical_carts", in: [true] },
|
|
664
688
|
],
|
|
665
689
|
},
|
|
666
690
|
{ key: "packing_slip_station", label: "Pickstation", type: "pickstation" },
|
|
667
|
-
{
|
|
668
|
-
key: "packing_slip_barcode",
|
|
669
|
-
label: "Barcode op de pakbon",
|
|
670
|
-
type: "toggle",
|
|
671
|
-
default: true,
|
|
672
|
-
description: "Elke kar krijgt een eigen barcode op de pakbon. Die barcode scan je later om de juiste verzendbrief te maken. Waar de barcode staat, bepaal je in de Layout maker.",
|
|
673
|
-
},
|
|
674
691
|
{
|
|
675
692
|
key: "packing_slip_layout",
|
|
676
|
-
label: "Pakbon
|
|
693
|
+
label: "Pakbon layout",
|
|
677
694
|
type: "layout",
|
|
678
695
|
layoutTypes: ["pakbon"],
|
|
679
|
-
description: "De pakbon voor een
|
|
680
|
-
},
|
|
681
|
-
{
|
|
682
|
-
key: "packing_slip_partial_layout",
|
|
683
|
-
label: "Pakbon resterende order / deelkar",
|
|
684
|
-
type: "layout",
|
|
685
|
-
layoutTypes: ["pakbon"],
|
|
686
|
-
fallbackKey: "packing_slip_layout",
|
|
687
|
-
description: "De pakbon voor de laatste kar die niet helemaal vol is, of voor een order die binnen \u00e9\u00e9n kar past. Leeg laten betekent: dezelfde layout als de volle kar.",
|
|
688
|
-
dependsOn: { step: "order_picken", key: "pick_mode", in: ["order", "cart", "smallest"] },
|
|
696
|
+
description: "De pakbon-layout voor dit soort orders. Of gelijke karren gebundeld worden, of er een barcode op staat en hoe een volle kar en een deelkar eruitzien, stel je in de Layout maker in. Op \u201cAutomatisch\u201d pakt de Layout maker zijn eigen actieve layout. Levert Floriday een kant-en-klare pakbon als PDF, dan wordt die altijd gebruikt.",
|
|
689
697
|
},
|
|
690
698
|
{
|
|
691
699
|
key: "packing_slip_help",
|
|
@@ -714,6 +722,11 @@ export const RULE_STEPS = [
|
|
|
714
722
|
label: "Zodra de order wordt vrijgegeven",
|
|
715
723
|
description: "Volgt exact de instellingen bij \u201c3. Order picken\u201d.",
|
|
716
724
|
},
|
|
725
|
+
{
|
|
726
|
+
value: "with_packing_slip",
|
|
727
|
+
label: "Gelijk met de bijbehorende pakbon",
|
|
728
|
+
description: "De sticker komt op hetzelfde moment vrij als de pakbon van die order of kar.",
|
|
729
|
+
},
|
|
717
730
|
{
|
|
718
731
|
value: "hours_before_pick",
|
|
719
732
|
label: "X uur v\u00f3\u00f3r het geplande pickmoment",
|
|
@@ -731,7 +744,13 @@ export const RULE_STEPS = [
|
|
|
731
744
|
unit: "uur",
|
|
732
745
|
dependsOn: { key: "sticker_release", in: ["hours_before_pick"] },
|
|
733
746
|
},
|
|
734
|
-
{
|
|
747
|
+
{
|
|
748
|
+
key: "sticker_station",
|
|
749
|
+
label: "Pickstation",
|
|
750
|
+
type: "pickstation",
|
|
751
|
+
dependsOn: { key: "sticker_release", in: ["with_pick_release", "hours_before_pick"] },
|
|
752
|
+
description: "Bij \u201cgelijk met de bijbehorende pakbon\u201d volgt de sticker automatisch het pickstation waar de pakbon geprint wordt; dat geldt dan voor alle pickstations gelijk.",
|
|
753
|
+
},
|
|
735
754
|
{
|
|
736
755
|
key: "sticker_layout",
|
|
737
756
|
label: "Welke layout voor dit soort orders?",
|
|
@@ -770,28 +789,16 @@ export const RULE_STEPS = [
|
|
|
770
789
|
{ key: "shipping_note_station", label: "Pickstation", type: "pickstation" },
|
|
771
790
|
{
|
|
772
791
|
key: "shipping_note_layout",
|
|
773
|
-
label: "
|
|
792
|
+
label: "Verzendbrief voor BVO orders",
|
|
774
793
|
type: "layout",
|
|
775
|
-
layoutTypes: [
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
fallbackKey: "shipping_note_layout",
|
|
784
|
-
fallbackLabel: "verzendbrieven",
|
|
785
|
-
description: "Geldt alleen voor afleverbrieven en afleverbonnen. Laat je dit leeg, dan volgt de afleverbrief de instelling voor verzendbrieven.",
|
|
786
|
-
},
|
|
787
|
-
{
|
|
788
|
-
key: "auction_note_layout",
|
|
789
|
-
label: "Layout voor de veilingbrief",
|
|
790
|
-
type: "layout",
|
|
791
|
-
layoutTypes: ["veilingbrief", "veilingbon", "transportdocument"],
|
|
792
|
-
fallbackKey: "shipping_note_layout",
|
|
793
|
-
fallbackLabel: "verzendbrieven",
|
|
794
|
-
description: "Geldt alleen voor veilingbrieven en veilingbonnen. Laat je dit leeg, dan volgt de veilingbrief de instelling voor verzendbrieven.",
|
|
794
|
+
layoutTypes: [
|
|
795
|
+
"verzendlabel",
|
|
796
|
+
"transportdocument",
|
|
797
|
+
"afleverbrief",
|
|
798
|
+
"veilingbrief",
|
|
799
|
+
"veilingbon",
|
|
800
|
+
],
|
|
801
|
+
description: "\u00c9\u00e9n layout voor de verzend-, aflever- en veilingbrief van BVO orders. Op \u201cAutomatisch\u201d pakt de Layout maker zijn eigen actieve layout. Levert Floriday een kant-en-klare brief als PDF, dan wordt die altijd gebruikt.",
|
|
795
802
|
},
|
|
796
803
|
{
|
|
797
804
|
key: "shipping_note_help",
|
|
@@ -881,6 +888,20 @@ export const RULE_STEPS = [
|
|
|
881
888
|
{ value: "skip", label: "Controle overslaan" },
|
|
882
889
|
],
|
|
883
890
|
},
|
|
891
|
+
{
|
|
892
|
+
key: "control_scanner_id",
|
|
893
|
+
label: "Scanner",
|
|
894
|
+
type: "scanner",
|
|
895
|
+
dependsOn: [{ key: "control_mode", in: ["scanner"] }],
|
|
896
|
+
description: "De scanner die bij deze controlepost hoort. Alle pakbonnen die gecontroleerd moeten worden, komen bij deze scanner binnen.",
|
|
897
|
+
},
|
|
898
|
+
{
|
|
899
|
+
key: "control_printer_id",
|
|
900
|
+
label: "Printer voor de afleverbrief",
|
|
901
|
+
type: "printer",
|
|
902
|
+
dependsOn: [{ key: "control_mode", in: ["scanner"] }],
|
|
903
|
+
description: "De printer waarop de afleverbrief automatisch wordt uitgeprint zodra een pakbon is goedgekeurd. Bij een Floriday-order is dat de officiële afleverbrief van Floriday.",
|
|
904
|
+
},
|
|
884
905
|
{
|
|
885
906
|
key: "control_print_items",
|
|
886
907
|
label: "Wat wordt er uitgeprint?",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ruleEngineWizard.d.ts","sourceRoot":"","sources":["../../src/lib/ruleEngineWizard.ts"],"names":[],"mappings":"AAQA,OAAO,EAGL,KAAK,SAAS,EACd,KAAK,SAAS,EAEf,MAAM,oBAAoB,CAAC;AAE5B,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,sEAAsE;IACtE,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,2EAA2E;IAC3E,cAAc,EAAE,OAAO,CAAC;CACzB;AAeD,eAAO,MAAM,YAAY,EAAE,UAAU,EAsDpC,CAAC;AA+BF,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAEzD;
|
|
1
|
+
{"version":3,"file":"ruleEngineWizard.d.ts","sourceRoot":"","sources":["../../src/lib/ruleEngineWizard.ts"],"names":[],"mappings":"AAQA,OAAO,EAGL,KAAK,SAAS,EACd,KAAK,SAAS,EAEf,MAAM,oBAAoB,CAAC;AAE5B,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,sEAAsE;IACtE,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,2EAA2E;IAC3E,cAAc,EAAE,OAAO,CAAC;CACzB;AAeD,eAAO,MAAM,YAAY,EAAE,UAAU,EAsDpC,CAAC;AA+BF,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAEzD;AAkED,wBAAgB,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,CAE9D;AAyCD,sEAAsE;AACtE,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAStF"}
|
|
@@ -106,6 +106,7 @@ export function isAdvancedField(field) {
|
|
|
106
106
|
// ── Extra uitleg ────────────────────────────────────────────────────────────
|
|
107
107
|
// Aanvullende tooltipteksten voor velden die nog geen uitleg hadden.
|
|
108
108
|
const EXTRA_HELP = {
|
|
109
|
+
buffer_close_reference: "Aanmeldtijd: de buffer sluit vóór het moment dat de order wordt aangemeld. Start van het picken: de buffer sluit vóór het moment dat het picken begint, zodat er niets meer bij kan zodra de order naar het pickstation gaat.",
|
|
109
110
|
load_carrier_types: "Zet alleen de ladingdragers aan die je in de praktijk gebruikt.",
|
|
110
111
|
mix_carrier_types: "Aan: één order mag over verschillende soorten dragers verdeeld worden.",
|
|
111
112
|
cart_layout_method: "Belading: het systeem rekent met het aantal planten per fust, fusten per laag en lagen per kar. Afmetingen: het systeem legt de fusten fysiek in op lengte, breedte en hoogte en draait ze waar nodig. Deze keuze geldt voor alle orders.",
|
|
@@ -117,6 +118,7 @@ const EXTRA_HELP = {
|
|
|
117
118
|
max_boxes_per_pallet: "Het aantal dozen dat je fysiek op één pallet kwijt kunt.",
|
|
118
119
|
optimal_fill: "Aan: het systeem zoekt de indeling waarbij de minste dragers nodig zijn.",
|
|
119
120
|
pick_mode: "Bepaalt waar een pickopdracht over gaat: één order, één kar, een hele buffer, of \u201ckleinste telt\u201d — dan pick je per order zolang de order binnen één kar past en per kar zodra hij over meerdere karren gaat.",
|
|
121
|
+
full_cart_min_percentage: "Een kar geldt als vol zodra het beladingspercentage dit percentage bereikt, ook als het aantal gevulde lagen onder de lagen-drempel blijft.",
|
|
120
122
|
scanner: "Met scanner werk je foutlozer; zonder scanner werk je op papier.",
|
|
121
123
|
capacity_alert_email: "Stuurt naast de melding ook een e-mail naar de opgegeven adressen.",
|
|
122
124
|
internal_alert_enabled: "Je eigen team krijgt bericht zodra een levering vertraagd raakt.",
|
|
@@ -133,16 +135,13 @@ const EXTRA_HELP = {
|
|
|
133
135
|
packing_slip_release: "Bepaalt op welk moment de pakbon bij het pickstation verschijnt.",
|
|
134
136
|
packing_slip_hours_before: "Zoveel uur vóór het picken staat de pakbon klaar.",
|
|
135
137
|
packing_slip_station: "Het pickstation waar de pakbon uitgeprint wordt.",
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
sticker_release: "Bepaalt op welk moment de stickers bij het pickstation verschijnen.",
|
|
138
|
+
packing_slip_layout: "De layout die de Engine bij elke pakbon meestuurt. Bundelen van gelijke karren, de barcode en het verschil tussen een volle kar en een deelkar stel je in de Layout maker in.",
|
|
139
|
+
sticker_release: "Bepaalt op welk moment de stickers bij het pickstation verschijnen. Kies \u201cgelijk met de bijbehorende pakbon\u201d als sticker en pakbon altijd samen uit de printer moeten komen.",
|
|
139
140
|
sticker_hours_before: "Zoveel uur vóór het picken staan de stickers klaar.",
|
|
140
141
|
sticker_station: "Het pickstation waar de stickers uitgeprint worden.",
|
|
141
142
|
shipping_note_release: "Bepaalt op welk moment de verzendbrief beschikbaar komt.",
|
|
142
143
|
shipping_note_station: "Het pickstation waar de verzendbrief uitgeprint wordt.",
|
|
143
|
-
shipping_note_layout: "
|
|
144
|
-
delivery_note_layout: "Alleen voor afleverbrieven en afleverbonnen. Leeg laten betekent: dezelfde layout als de verzendbrief.",
|
|
145
|
-
auction_note_layout: "Alleen voor veilingbrieven en veilingbonnen. Leeg laten betekent: dezelfde layout als de verzendbrief.",
|
|
144
|
+
shipping_note_layout: "\u00c9\u00e9n layout voor de verzend-, aflever- en veilingbrief van BVO orders.",
|
|
146
145
|
production_note_release: "Bepaalt op welk moment de productiebon beschikbaar komt.",
|
|
147
146
|
production_note_station: "Het pickstation waar de productiebon uitgeprint wordt.",
|
|
148
147
|
control_mode: "Hoe je controleert of de kar klopt voordat hij weggaat.",
|