@flowselections/logistiek-engine 1.0.203 → 1.0.209
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 +1333 -0
- package/dist-lib/components/BeladingIndelingCard.d.ts.map +1 -1
- package/dist-lib/components/BeladingIndelingCard.js +14 -2
- package/dist-lib/components/LadingdragersPage.d.ts.map +1 -1
- package/dist-lib/components/LadingdragersPage.js +1 -1
- package/dist-lib/integrations/supabase/types.d.ts +498 -0
- package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
- package/dist-lib/lib/floridayPush.server.d.ts.map +1 -1
- package/dist-lib/lib/floridayPush.server.js +3 -2
- package/dist-lib/lib/hoofdverpakking.d.ts +7 -0
- package/dist-lib/lib/hoofdverpakking.d.ts.map +1 -0
- package/dist-lib/lib/hoofdverpakking.js +19 -0
- package/dist-lib/lib/loadCarrierPlanner.d.ts +80 -1
- package/dist-lib/lib/loadCarrierPlanner.d.ts.map +1 -1
- package/dist-lib/lib/loadCarrierPlanner.js +353 -280
- package/dist-lib/lib/loadCarrierPlanning.server.d.ts.map +1 -1
- package/dist-lib/lib/loadCarrierPlanning.server.js +39 -5
- package/dist-lib/lib/moduleVersion.d.ts +1 -1
- package/dist-lib/lib/moduleVersion.js +1 -1
- package/dist-lib/lib/quarantaine.d.ts +9 -0
- package/dist-lib/lib/quarantaine.d.ts.map +1 -0
- package/dist-lib/lib/quarantaine.js +13 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loadCarrierPlanning.server.d.ts","sourceRoot":"","sources":["../../src/lib/loadCarrierPlanning.server.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,eAAe,EAEpB,KAAK,gBAAgB,
|
|
1
|
+
{"version":3,"file":"loadCarrierPlanning.server.d.ts","sourceRoot":"","sources":["../../src/lib/loadCarrierPlanning.server.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,8 +5,10 @@
|
|
|
5
5
|
// draait de pure planner per ladingdragertype en schrijft het resultaat weg
|
|
6
6
|
// naar order_carts / order_cart_items.
|
|
7
7
|
// ============================================================================
|
|
8
|
-
import { planLoadUnits, LOAD_CARRIER_PLANNER_VERSION, } from "./loadCarrierPlanner.js";
|
|
8
|
+
import { planLoadUnits, LOAD_CARRIER_PLANNER_VERSION, bepaalLaagMenging, } from "./loadCarrierPlanner.js";
|
|
9
9
|
import { traceBatch } from "./trace.server.js";
|
|
10
|
+
import { zonderQuarantaine } from "./quarantaine.js";
|
|
11
|
+
import { zonderStandaardBelading } from "./hoofdverpakking.js";
|
|
10
12
|
import { MODULE_VERSION } from "./moduleVersion.js";
|
|
11
13
|
import { fallbackCarrierProfile } from "./loadCarrierTypes.js";
|
|
12
14
|
import { WAAR_INVULLEN, gewichtOnbekendTekst, ladingdragerNietInBeheerTekst } from "./invoerTeksten.js";
|
|
@@ -207,6 +209,24 @@ export async function expandOrderItemsForPlanner(sb, rows, options = {}) {
|
|
|
207
209
|
.flat()
|
|
208
210
|
.filter((l) => l.unit_kind === "groepslid" && l.product_id)
|
|
209
211
|
.map((l) => String(l.product_id))));
|
|
212
|
+
// 1.0.208: welke producten hebben een hoofdverpakking? Zonder hoofdverpakking telt 1/10/4 niet.
|
|
213
|
+
const alleProductIds = Array.from(new Set([...memberIds, ...rows.map((r) => (r.product_id ? String(r.product_id) : "")).filter(Boolean)]));
|
|
214
|
+
let metHoofdverpakking = null;
|
|
215
|
+
if (alleProductIds.length > 0) {
|
|
216
|
+
const { data: pp, error: ppError } = await sb
|
|
217
|
+
.from("product_packings")
|
|
218
|
+
.select("product_id, is_primary")
|
|
219
|
+
.in("product_id", alleProductIds);
|
|
220
|
+
if (ppError) {
|
|
221
|
+
const ontbreekt = /does not exist|42P01|PGRST205|schema cache/i.test(`${ppError.code ?? ""} ${ppError.message}`);
|
|
222
|
+
if (!ontbreekt) {
|
|
223
|
+
throw new Error(`Indeling geblokkeerd: hoofdverpakkingen konden niet worden gelezen (${ppError.message}).`);
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
else {
|
|
227
|
+
metHoofdverpakking = new Set((Array.isArray(pp) ? pp : []).filter((r) => r.is_primary === true).map((r) => String(r.product_id)));
|
|
228
|
+
}
|
|
229
|
+
}
|
|
210
230
|
const prodById = new Map();
|
|
211
231
|
if (memberIds.length > 0) {
|
|
212
232
|
const { data: prods, error } = await sb
|
|
@@ -215,9 +235,11 @@ export async function expandOrderItemsForPlanner(sb, rows, options = {}) {
|
|
|
215
235
|
.in("id", memberIds);
|
|
216
236
|
if (error)
|
|
217
237
|
throw new Error(`Indeling geblokkeerd: groepsleden konden niet worden gelezen (${error.message}).`);
|
|
218
|
-
for (const p of Array.isArray(prods) ? prods : [])
|
|
219
|
-
prodById.set(String(p.id), p);
|
|
238
|
+
for (const p of Array.isArray(prods) ? prods : []) {
|
|
239
|
+
prodById.set(String(p.id), zonderStandaardBelading(p, String(p.id), metHoofdverpakking));
|
|
240
|
+
}
|
|
220
241
|
}
|
|
242
|
+
rows = rows.map((r) => r.products ? { ...r, products: zonderStandaardBelading(r.products, r.product_id, metHoofdverpakking) } : r);
|
|
221
243
|
for (const row of rows) {
|
|
222
244
|
const orderKey = row.order_id ? String(row.order_id) : null;
|
|
223
245
|
const packing = orderKey ? options.packingByOrder?.get(orderKey) ?? null : null;
|
|
@@ -639,6 +661,7 @@ export function applyRulesToProfile(profile, rules) {
|
|
|
639
661
|
layers_per_carrier: rules.maxLayers != null
|
|
640
662
|
? Math.max(1, Math.min(profile.layers_per_carrier || 1, rules.maxLayers))
|
|
641
663
|
: profile.layers_per_carrier,
|
|
664
|
+
werkwijze_max_lagen: rules.maxLayers ?? null,
|
|
642
665
|
max_boxes: rules.maxBoxes != null
|
|
643
666
|
? Math.min(profile.max_boxes ?? Number.MAX_SAFE_INTEGER, rules.maxBoxes)
|
|
644
667
|
: profile.max_boxes ?? null,
|
|
@@ -1150,14 +1173,16 @@ async function replanBufferUnlocked(sb, bufferId, options = {}) {
|
|
|
1150
1173
|
}
|
|
1151
1174
|
}
|
|
1152
1175
|
const idList = orderIds.length > 0 ? orderIds : ["00000000-0000-0000-0000-000000000000"];
|
|
1153
|
-
const { data:
|
|
1176
|
+
const { data: rawItemsDb } = await sb
|
|
1154
1177
|
.from("order_items")
|
|
1155
1178
|
.select("id, order_id, product_id, product_name, quantity, unit, plants_per_crate, crates_per_layer, layers_per_cart, " +
|
|
1156
|
-
"packing_locked_at, packing_locked_by, source_line_key, load_carrier_type, " +
|
|
1179
|
+
"packing_locked_at, packing_locked_by, source_line_key, load_carrier_type, quarantined_at, " +
|
|
1157
1180
|
"products(plants_per_crate, crates_per_layer, layers_per_cart, weight, floriday_trade_item_id, fust_type_id)")
|
|
1158
1181
|
.in("order_id", idList)
|
|
1159
1182
|
// Regels in quarantaine (Verkoop-herstel) nooit inplannen.
|
|
1160
1183
|
.is("quarantined_at", null);
|
|
1184
|
+
// 1.0.205: dubbele bescherming — ook na het lezen nooit regels in quarantaine plannen.
|
|
1185
|
+
const rawItems = zonderQuarantaine((rawItemsDb ?? []));
|
|
1161
1186
|
// 1.0.166: regels die in Floriday zijn afgehandeld nooit inplannen. Onleesbaar = niet plannen (fail closed).
|
|
1162
1187
|
const { data: extern, error: externError } = await sb
|
|
1163
1188
|
.from("logistics_external_fulfillment")
|
|
@@ -1819,7 +1844,16 @@ async function replanBufferUnlocked(sb, bufferId, options = {}) {
|
|
|
1819
1844
|
}
|
|
1820
1845
|
for (const [code, list] of groups) {
|
|
1821
1846
|
const profile = applyRulesToProfile(profileFor(profiles, code), rules);
|
|
1847
|
+
const maxBelPerLaag = rules && !rules.optimalFill ? 1 : (settings?.max_beladingen_per_layer ?? 2);
|
|
1848
|
+
const mengregels = bepaalLaagMenging({
|
|
1849
|
+
optimalFill: rules?.optimalFill ?? null,
|
|
1850
|
+
maxBeladingenPerLayer: maxBelPerLaag,
|
|
1851
|
+
maxCustomersPerLayer: rules?.maxCustomersPerLayer ?? null,
|
|
1852
|
+
oneCustomerPerLayer: Boolean(settings?.max_one_customer_per_layer),
|
|
1853
|
+
});
|
|
1822
1854
|
const result = planLoadUnits(list, {
|
|
1855
|
+
laagMenging: mengregels.menging,
|
|
1856
|
+
laagGroepen: mengregels.groepen,
|
|
1823
1857
|
carrier: profile,
|
|
1824
1858
|
maxPartySharePerLayerPct: settings?.max_party_share_per_layer_pct ?? 50,
|
|
1825
1859
|
// Zonder optimale vulling wordt er niet bijgemengd in een laag.
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const MODULE_VERSION = "1.0.
|
|
1
|
+
export declare const MODULE_VERSION = "1.0.209";
|
|
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.209";
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/** Is deze orderregel in quarantaine? */
|
|
2
|
+
export declare function inQuarantaine(row: {
|
|
3
|
+
quarantined_at?: unknown;
|
|
4
|
+
} | null | undefined): boolean;
|
|
5
|
+
/** Alleen regels die niet in quarantaine staan. */
|
|
6
|
+
export declare function zonderQuarantaine<T extends {
|
|
7
|
+
quarantined_at?: unknown;
|
|
8
|
+
}>(rows: T[] | null | undefined): T[];
|
|
9
|
+
//# sourceMappingURL=quarantaine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quarantaine.d.ts","sourceRoot":"","sources":["../../src/lib/quarantaine.ts"],"names":[],"mappings":"AAKA,yCAAyC;AACzC,wBAAgB,aAAa,CAAC,GAAG,EAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAG3F;AAED,mDAAmD;AACnD,wBAAgB,iBAAiB,CAAC,CAAC,SAAS;IAAE,cAAc,CAAC,EAAE,OAAO,CAAA;CAAE,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,GAAG,SAAS,GAAG,CAAC,EAAE,CAE3G"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
// 1.0.205: orderregels in quarantaine (Verkoop-herstel, order_items.quarantined_at gevuld)
|
|
2
|
+
// worden nergens in de Engine ingedeeld, geteld of verstuurd. Eén regel voor alle plekken:
|
|
3
|
+
// planner, dekking, pakbonplan en Floriday-belading (SQL-kant: logistics_active.order_items
|
|
4
|
+
// en filters op oi.quarantined_at IS NULL).
|
|
5
|
+
/** Is deze orderregel in quarantaine? */
|
|
6
|
+
export function inQuarantaine(row) {
|
|
7
|
+
const v = row?.quarantined_at;
|
|
8
|
+
return v !== null && v !== undefined && String(v).trim() !== "";
|
|
9
|
+
}
|
|
10
|
+
/** Alleen regels die niet in quarantaine staan. */
|
|
11
|
+
export function zonderQuarantaine(rows) {
|
|
12
|
+
return (Array.isArray(rows) ? rows : []).filter((r) => !inQuarantaine(r));
|
|
13
|
+
}
|