@flowselections/floriday-verkoop-module 1.0.49 → 1.0.51
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/integrations/supabase/auth-middleware.d.ts +288 -1
- package/dist-lib/integrations/supabase/auth-middleware.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/client.d.ts +288 -1
- package/dist-lib/integrations/supabase/client.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/client.server.d.ts +288 -1
- package/dist-lib/integrations/supabase/client.server.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/types.d.ts +294 -1
- package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
- package/dist-lib/lib/cart-lock.functions.d.ts +288 -1
- package/dist-lib/lib/cart-lock.functions.d.ts.map +1 -1
- package/dist-lib/lib/cart-planner.d.ts +15 -4
- package/dist-lib/lib/cart-planner.d.ts.map +1 -1
- package/dist-lib/lib/cart-planner.js +44 -12
- package/dist-lib/lib/cart-planning-settings.functions.d.ts +3600 -443
- package/dist-lib/lib/cart-planning-settings.functions.d.ts.map +1 -1
- package/dist-lib/lib/cart-replan.functions.d.ts +876 -3
- package/dist-lib/lib/cart-replan.functions.d.ts.map +1 -1
- package/dist-lib/lib/cart-replan.functions.js +49 -3
- package/dist-lib/lib/create-order.functions.d.ts +5657 -773
- package/dist-lib/lib/create-order.functions.d.ts.map +1 -1
- package/dist-lib/lib/create-order.functions.js +48 -4
- package/dist-lib/lib/floriday-auto-fulfillment.functions.d.ts +864 -3
- package/dist-lib/lib/floriday-auto-fulfillment.functions.d.ts.map +1 -1
- package/dist-lib/lib/floriday-logistic-labels.functions.d.ts +288 -1
- package/dist-lib/lib/floriday-logistic-labels.functions.d.ts.map +1 -1
- package/dist-lib/lib/floriday-mirror.functions.d.ts +288 -1
- package/dist-lib/lib/floriday-mirror.functions.d.ts.map +1 -1
- package/dist-lib/lib/floriday-mirror.functions.js +28 -1
- package/dist-lib/lib/floriday-public.functions.d.ts +2232 -223
- package/dist-lib/lib/floriday-public.functions.d.ts.map +1 -1
- package/dist-lib/lib/floriday-writes.functions.d.ts +1548 -113
- package/dist-lib/lib/floriday-writes.functions.d.ts.map +1 -1
- package/dist-lib/lib/invoice-timing.functions.d.ts +1260 -112
- package/dist-lib/lib/invoice-timing.functions.d.ts.map +1 -1
- package/dist-lib/lib/load-carriers.functions.d.ts +288 -1
- package/dist-lib/lib/load-carriers.functions.d.ts.map +1 -1
- package/dist-lib/lib/logistics-engine.functions.d.ts +1548 -113
- package/dist-lib/lib/logistics-engine.functions.d.ts.map +1 -1
- package/dist-lib/lib/logistics-stock.functions.d.ts +576 -2
- package/dist-lib/lib/logistics-stock.functions.d.ts.map +1 -1
- package/dist-lib/lib/order-addresses.functions.d.ts +288 -1
- package/dist-lib/lib/order-addresses.functions.d.ts.map +1 -1
- package/dist-lib/lib/order-buffers.functions.d.ts +864 -3
- package/dist-lib/lib/order-buffers.functions.d.ts.map +1 -1
- package/dist-lib/lib/order-carrier.functions.d.ts +576 -2
- package/dist-lib/lib/order-carrier.functions.d.ts.map +1 -1
- package/dist-lib/lib/order-pickup.functions.d.ts +576 -2
- package/dist-lib/lib/order-pickup.functions.d.ts.map +1 -1
- package/dist-lib/lib/order-shipments.functions.d.ts +1260 -112
- package/dist-lib/lib/order-shipments.functions.d.ts.map +1 -1
- package/dist-lib/lib/salesorders-list.functions.d.ts +288 -1
- package/dist-lib/lib/salesorders-list.functions.d.ts.map +1 -1
- package/dist-lib/lib/salesorders-list.server.d.ts.map +1 -1
- package/dist-lib/lib/salesorders-list.server.js +61 -3
- package/dist-lib/lib/salesorders.functions.d.ts +1548 -113
- package/dist-lib/lib/salesorders.functions.d.ts.map +1 -1
- package/dist-lib/lib/stock-consumption-alerts.functions.d.ts +576 -2
- package/dist-lib/lib/stock-consumption-alerts.functions.d.ts.map +1 -1
- package/dist-lib/lib/tradeitems.functions.d.ts +288 -1
- package/dist-lib/lib/tradeitems.functions.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cart-planner.d.ts","sourceRoot":"","sources":["../../src/lib/cart-planner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cart-planner.d.ts","sourceRoot":"","sources":["../../src/lib/cart-planner.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAEtC,MAAM,WAAW,gBAAgB;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,oDAAoD;IACpD,gBAAgB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC5C,gBAAgB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC5C,eAAe,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CAC5C;AAGD,MAAM,WAAW,eAAe;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,uEAAuE;IACvE,cAAc,EAAE,MAAM,CAAC;IACvB,kEAAkE;IAClE,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,KAAK,EAAE,eAAe,EAAE,CAAC;CAC1B;AAED,2EAA2E;AAC3E,MAAM,WAAW,kBAAkB;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,eAAe,GAAG,sBAAsB,CAAC;IACjD,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,uDAAuD;IACvD,OAAO,EAAE,kBAAkB,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,cAAc;IAC7B,gFAAgF;IAChF,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,0EAA0E;IAC1E,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,kDAAkD;IAClD,kBAAkB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAClC;AA+JD,wBAAgB,SAAS,CAAC,MAAM,EAAE,gBAAgB,EAAE,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,aAAa,CAqJ7F"}
|
|
@@ -10,7 +10,9 @@
|
|
|
10
10
|
// * som per laag ≤ 100%,
|
|
11
11
|
// * laag-hoogte bij combinatie = max(laag-hoogte partijen) (veiligheid),
|
|
12
12
|
// * totaal-hoogte per kar ≤ 100%.
|
|
13
|
-
|
|
13
|
+
// Houd deze waarde gelijk aan LOAD_CARRIER_PLANNER_VERSION in de
|
|
14
|
+
// logistiek-engine: beide worden SAMEN opgehoogd bij een algoritmewijziging.
|
|
15
|
+
export const CART_PLANNER_VERSION = 3;
|
|
14
16
|
const DEFAULT_OPTIONS = {
|
|
15
17
|
maxPartySharePerLayerPct: 50,
|
|
16
18
|
maxBeladingenPerLayer: 2,
|
|
@@ -129,18 +131,48 @@ export function planCarts(inputs, options) {
|
|
|
129
131
|
neverMixProductIds: options?.neverMixProductIds ?? DEFAULT_OPTIONS.neverMixProductIds,
|
|
130
132
|
};
|
|
131
133
|
const warnings = [];
|
|
134
|
+
const blocked = [];
|
|
132
135
|
const carts = [];
|
|
133
136
|
let cartNumber = 1;
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
.
|
|
137
|
+
const num = (v) => {
|
|
138
|
+
if (v === null || v === undefined)
|
|
139
|
+
return null;
|
|
140
|
+
const n = Math.round(Number(v));
|
|
141
|
+
return Number.isFinite(n) && n > 0 ? n : null;
|
|
142
|
+
};
|
|
143
|
+
// Normaliseer inputs. GEEN terugval op 1: ontbrekende belading blokkeert.
|
|
144
|
+
const items = [];
|
|
145
|
+
for (const i of inputs) {
|
|
146
|
+
const plants = Math.max(0, Math.round(Number(i.plants) || 0));
|
|
147
|
+
if (plants <= 0)
|
|
148
|
+
continue;
|
|
149
|
+
const ppc = num(i.plants_per_crate);
|
|
150
|
+
const cpl = num(i.crates_per_layer);
|
|
151
|
+
const lpc = num(i.layers_per_cart);
|
|
152
|
+
const missing = [
|
|
153
|
+
ppc === null ? "plants_per_crate" : null,
|
|
154
|
+
cpl === null ? "crates_per_layer" : null,
|
|
155
|
+
lpc === null ? "layers_per_cart" : null,
|
|
156
|
+
].filter((m) => m !== null);
|
|
157
|
+
if (missing.length > 0) {
|
|
158
|
+
blocked.push({
|
|
159
|
+
order_item_id: i.order_item_id,
|
|
160
|
+
product_id: i.product_id,
|
|
161
|
+
product_name: i.product_name,
|
|
162
|
+
reason: missing.length === 3 ? "geen_belading" : "onvolledige_belading",
|
|
163
|
+
missing,
|
|
164
|
+
});
|
|
165
|
+
warnings.push(`Geen karren gepland voor "${i.product_name}": belading onbekend (${missing.join(", ")}).`);
|
|
166
|
+
continue;
|
|
167
|
+
}
|
|
168
|
+
items.push({
|
|
169
|
+
...i,
|
|
170
|
+
plants,
|
|
171
|
+
plants_per_crate: ppc,
|
|
172
|
+
crates_per_layer: cpl,
|
|
173
|
+
layers_per_cart: lpc,
|
|
174
|
+
});
|
|
175
|
+
}
|
|
144
176
|
// Stap A: volledige karren per artikel.
|
|
145
177
|
const rests = [];
|
|
146
178
|
for (const it of items) {
|
|
@@ -230,5 +262,5 @@ export function planCarts(inputs, options) {
|
|
|
230
262
|
items,
|
|
231
263
|
});
|
|
232
264
|
}
|
|
233
|
-
return { carts, warnings };
|
|
265
|
+
return { carts, warnings, blocked };
|
|
234
266
|
}
|