@flowselections/logistiek-engine 1.0.27 → 1.0.28

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.
Files changed (95) hide show
  1. package/README.md +24 -24
  2. package/dist-lib/components/AfmetingenBronnenCard.d.ts +2 -0
  3. package/dist-lib/components/AfmetingenBronnenCard.d.ts.map +1 -0
  4. package/dist-lib/components/AfmetingenBronnenCard.js +46 -0
  5. package/dist-lib/components/BufferDebugCard.d.ts.map +1 -1
  6. package/dist-lib/components/BufferDebugCard.js +6 -1
  7. package/dist-lib/components/ConsistentieCard.d.ts.map +1 -1
  8. package/dist-lib/components/ConsistentieCard.js +1 -1
  9. package/dist-lib/components/KarplanStatusCard.d.ts +2 -0
  10. package/dist-lib/components/KarplanStatusCard.d.ts.map +1 -0
  11. package/dist-lib/components/KarplanStatusCard.js +31 -0
  12. package/dist-lib/components/RegiePage.d.ts.map +1 -1
  13. package/dist-lib/components/RegiePage.js +3 -1
  14. package/dist-lib/components/RuleEnginePage.d.ts.map +1 -1
  15. package/dist-lib/components/RuleEnginePage.js +7 -4
  16. package/dist-lib/components/rule-engine/FloridayConnectionBanner.d.ts +2 -0
  17. package/dist-lib/components/rule-engine/FloridayConnectionBanner.d.ts.map +1 -0
  18. package/dist-lib/components/rule-engine/FloridayConnectionBanner.js +41 -0
  19. package/dist-lib/components/rule-engine/RuleFieldInput.d.ts.map +1 -1
  20. package/dist-lib/components/rule-engine/RuleFieldInput.js +9 -0
  21. package/dist-lib/hooks/useRecalcJob.d.ts.map +1 -1
  22. package/dist-lib/hooks/useRecalcJob.js +26 -1
  23. package/dist-lib/hooks/useScannersPrinters.d.ts +11 -0
  24. package/dist-lib/hooks/useScannersPrinters.d.ts.map +1 -0
  25. package/dist-lib/hooks/useScannersPrinters.js +65 -0
  26. package/dist-lib/index.d.ts +2 -0
  27. package/dist-lib/index.d.ts.map +1 -1
  28. package/dist-lib/index.js +2 -0
  29. package/dist-lib/integrations/supabase/auth-middleware.d.ts +2063 -78
  30. package/dist-lib/integrations/supabase/auth-middleware.d.ts.map +1 -1
  31. package/dist-lib/integrations/supabase/client.d.ts +20293 -0
  32. package/dist-lib/integrations/supabase/client.d.ts.map +1 -0
  33. package/dist-lib/integrations/supabase/client.js +13 -0
  34. package/dist-lib/integrations/supabase/client.server.d.ts +2063 -78
  35. package/dist-lib/integrations/supabase/client.server.d.ts.map +1 -1
  36. package/dist-lib/integrations/supabase/client.server.js +1 -1
  37. package/dist-lib/integrations/supabase/moduleClient.d.ts +2063 -78
  38. package/dist-lib/integrations/supabase/moduleClient.d.ts.map +1 -1
  39. package/dist-lib/integrations/supabase/types.d.ts +2097 -68
  40. package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
  41. package/dist-lib/integrations/supabase/types.js +1 -0
  42. package/dist-lib/lib/attachAuthToken.d.ts +2 -0
  43. package/dist-lib/lib/attachAuthToken.d.ts.map +1 -0
  44. package/dist-lib/lib/attachAuthToken.js +50 -0
  45. package/dist-lib/lib/bufferMatching.d.ts.map +1 -1
  46. package/dist-lib/lib/bufferMatching.js +1 -0
  47. package/dist-lib/lib/cartPlanRequests.server.d.ts +13 -0
  48. package/dist-lib/lib/cartPlanRequests.server.d.ts.map +1 -0
  49. package/dist-lib/lib/cartPlanRequests.server.js +168 -0
  50. package/dist-lib/lib/controlScan.server.d.ts +12 -0
  51. package/dist-lib/lib/controlScan.server.d.ts.map +1 -0
  52. package/dist-lib/lib/controlScan.server.js +197 -0
  53. package/dist-lib/lib/dimensionData.server.d.ts +11 -1
  54. package/dist-lib/lib/dimensionData.server.d.ts.map +1 -1
  55. package/dist-lib/lib/dimensionData.server.js +58 -48
  56. package/dist-lib/lib/dimensionPlanner.d.ts +26 -1
  57. package/dist-lib/lib/dimensionPlanner.d.ts.map +1 -1
  58. package/dist-lib/lib/dimensionPlanner.js +37 -6
  59. package/dist-lib/lib/floridayDocuments.functions.d.ts +6240 -285
  60. package/dist-lib/lib/floridayDocuments.functions.d.ts.map +1 -1
  61. package/dist-lib/lib/floridayDocuments.functions.js +4 -3
  62. package/dist-lib/lib/floridayPush.functions.d.ts +2064 -79
  63. package/dist-lib/lib/floridayPush.functions.d.ts.map +1 -1
  64. package/dist-lib/lib/floridayPush.functions.js +2 -1
  65. package/dist-lib/lib/handlers/logistics-tick.server.d.ts.map +1 -1
  66. package/dist-lib/lib/handlers/logistics-tick.server.js +57 -0
  67. package/dist-lib/lib/loadCarrierPlanning.functions.d.ts +10302 -377
  68. package/dist-lib/lib/loadCarrierPlanning.functions.d.ts.map +1 -1
  69. package/dist-lib/lib/loadCarrierPlanning.functions.js +6 -5
  70. package/dist-lib/lib/loadCarrierPlanning.server.d.ts +42 -0
  71. package/dist-lib/lib/loadCarrierPlanning.server.d.ts.map +1 -1
  72. package/dist-lib/lib/loadCarrierPlanning.server.js +563 -31
  73. package/dist-lib/lib/logisticsPlanner.d.ts.map +1 -1
  74. package/dist-lib/lib/logisticsPlanner.js +24 -9
  75. package/dist-lib/lib/logisticsRecalcJob.functions.d.ts +4163 -193
  76. package/dist-lib/lib/logisticsRecalcJob.functions.d.ts.map +1 -1
  77. package/dist-lib/lib/logisticsRecalcJob.functions.js +3 -2
  78. package/dist-lib/lib/logisticsRecalcJob.server.d.ts.map +1 -1
  79. package/dist-lib/lib/logisticsRecalcJob.server.js +1 -0
  80. package/dist-lib/lib/logisticsRecalculate.functions.d.ts +2064 -79
  81. package/dist-lib/lib/logisticsRecalculate.functions.d.ts.map +1 -1
  82. package/dist-lib/lib/logisticsRecalculate.functions.js +3 -1
  83. package/dist-lib/lib/modulePrompts.d.ts.map +1 -1
  84. package/dist-lib/lib/modulePrompts.js +2560 -1586
  85. package/dist-lib/lib/planQueue.server.d.ts.map +1 -1
  86. package/dist-lib/lib/planQueue.server.js +6 -0
  87. package/dist-lib/lib/readableServerErrors.d.ts +2 -0
  88. package/dist-lib/lib/readableServerErrors.d.ts.map +1 -0
  89. package/dist-lib/lib/readableServerErrors.js +36 -0
  90. package/dist-lib/lib/ruleEngineSchema.d.ts +1 -1
  91. package/dist-lib/lib/ruleEngineSchema.d.ts.map +1 -1
  92. package/dist-lib/lib/ruleEngineSchema.js +72 -51
  93. package/dist-lib/lib/ruleEngineWizard.d.ts.map +1 -1
  94. package/dist-lib/lib/ruleEngineWizard.js +5 -6
  95. package/package.json +1 -1
@@ -3,8 +3,9 @@
3
3
  // ============================================================================
4
4
  import { createServerFn } from "@tanstack/react-start";
5
5
  import { requireSupabaseAuth } from "../integrations/supabase/auth-middleware";
6
+ import { readableServerErrors } from "../lib/readableServerErrors";
6
7
  export const replanOrderLoadCarriers = createServerFn({ method: "POST" })
7
- .middleware([requireSupabaseAuth])
8
+ .middleware([readableServerErrors, requireSupabaseAuth])
8
9
  .inputValidator((data) => {
9
10
  if (!data || typeof data.orderId !== "string" || data.orderId.length === 0) {
10
11
  throw new Error("orderId is verplicht");
@@ -24,7 +25,7 @@ export const replanOrderLoadCarriers = createServerFn({ method: "POST" })
24
25
  return result;
25
26
  });
26
27
  export const replanBufferLoadCarriers = createServerFn({ method: "POST" })
27
- .middleware([requireSupabaseAuth])
28
+ .middleware([readableServerErrors, requireSupabaseAuth])
28
29
  .inputValidator((data) => {
29
30
  if (!data || typeof data.bufferId !== "string" || data.bufferId.length === 0) {
30
31
  throw new Error("bufferId is verplicht");
@@ -48,7 +49,7 @@ export const replanBufferLoadCarriers = createServerFn({ method: "POST" })
48
49
  * `done` waar is en schakelt dan door naar de volgende fase.
49
50
  */
50
51
  export const planAllLoadCarriers = createServerFn({ method: "POST" })
51
- .middleware([requireSupabaseAuth])
52
+ .middleware([readableServerErrors, requireSupabaseAuth])
52
53
  .inputValidator((data) => data ?? {})
53
54
  .handler(async ({ data }) => {
54
55
  const { supabaseAdmin } = await import("../integrations/supabase/client.server");
@@ -64,7 +65,7 @@ export const planAllLoadCarriers = createServerFn({ method: "POST" })
64
65
  * de volledige keten (inclusief load.compose) aanmaakt.
65
66
  */
66
67
  export const ensureLogisticsTasks = createServerFn({ method: "POST" })
67
- .middleware([requireSupabaseAuth])
68
+ .middleware([readableServerErrors, requireSupabaseAuth])
68
69
  .inputValidator((data) => data ?? {})
69
70
  .handler(async ({ data, context }) => {
70
71
  const { supabaseAdmin } = await import("../integrations/supabase/client.server");
@@ -98,7 +99,7 @@ export const ensureLogisticsTasks = createServerFn({ method: "POST" })
98
99
  return { checked: orders.length, created, errors };
99
100
  });
100
101
  export const previewLoadCarrierPlan = createServerFn({ method: "POST" })
101
- .middleware([requireSupabaseAuth])
102
+ .middleware([readableServerErrors, requireSupabaseAuth])
102
103
  .inputValidator((data) => {
103
104
  if (!data || typeof data.orderId !== "string")
104
105
  throw new Error("orderId is verplicht");
@@ -54,6 +54,14 @@ export declare function applyRulesToProfile(profile: CarrierProfile, rules: Bela
54
54
  * Geen optimalisatie, geen mengregels, geen laagherverdeling — alleen vullen.
55
55
  */
56
56
  export declare function planByFloridayPacking(inputs: PlannerInputItem[], profile: CarrierProfile, packing: Belading): PlannedLoadUnit[];
57
+ /** Herkomst van de laagindeling, zoals vastgelegd in order_cart_layer_positions. */
58
+ export declare const LAYER_POSITION_SOURCE = "afmetingen-planken";
59
+ /**
60
+ * Zet de laagindeling van één kar om naar rijen voor
61
+ * public.order_cart_layer_positions. (0,0) is linksboven van de laag,
62
+ * x loopt naar rechts, y naar beneden, alles in millimeters.
63
+ */
64
+ export declare function layerPositionRows(cartId: string, cart: DimensionCart): Array<Record<string, unknown>>;
57
65
  export declare function dimensionCartsToPlannedUnits(carts: DimensionCart[]): PlannedLoadUnit[];
58
66
  export interface ReplanResult {
59
67
  ok: boolean;
@@ -75,7 +83,41 @@ export interface ReplanOptions {
75
83
  dryRun?: boolean;
76
84
  /** Overschrijf het ladingdragertype dat de Rule Engine zou kiezen. */
77
85
  carrierType?: string | null;
86
+ /**
87
+ * Karren die hun fysieke identiteit al hebben (geprint, gescand of
88
+ * gecontroleerd). Die karren blijven exact zoals ze zijn: zelfde id, zelfde
89
+ * nummer, zelfde inhoud. Alles wat nog niet op zo'n kar ligt wordt van de
90
+ * hele buffer in één keer opnieuw ingedeeld.
91
+ */
92
+ keepCartIds?: string[];
93
+ }
94
+ interface PersistedCartIdentity {
95
+ ownerOrderId: string | null;
96
+ cartNumber: number;
97
+ totalCarts: number | null;
98
+ }
99
+ export interface CartIdentityOptions {
100
+ /** Alle karren van deze ronde zijn bufferkarren zonder eigen order. */
101
+ shared?: boolean;
102
+ /** Eerste vrije karnummer (bij aanvullen na bevroren karren). */
103
+ startNumber?: number;
104
+ /** Aantal karren dat al bevroren bestaat en meetelt in total_carts. */
105
+ existingCount?: number;
78
106
  }
107
+ /**
108
+ * Bepaalt de definitieve, persistente identiteit van iedere fysieke kar.
109
+ * Bij een bufferorder met meerdere orders zijn alle karren gedeelde
110
+ * bufferkarren: geen eigen order, doorlopend genummerd binnen de buffer.
111
+ * Bij één order per buffer krijgt die order exact 1..N.
112
+ */
113
+ export declare function assignPersistentCartIdentities(carts: PlannedLoadUnit[], itemToOrder: Map<string, string>, identityOptions?: CartIdentityOptions): PersistedCartIdentity[];
114
+ /**
115
+ * Leden van een buffer die nog helemaal geen fysieke kar hebben: geen eigen kar
116
+ * (order_carts.order_id) én geen gedeelde bufferkar waar een van hun orderregels
117
+ * op ligt. Zonder kar krijgt zo'n order ook geen pickdocument, dus dit mag nooit
118
+ * blijven staan.
119
+ */
120
+ export declare function bufferOrdersWithoutCarts(sb: SupabaseClient, bufferId: string, orderIds: string[]): Promise<string[]>;
79
121
  export declare function replanBufferInternal(sb: SupabaseClient, bufferId: string, options?: ReplanOptions): Promise<ReplanResult>;
80
122
  export declare function replanOrderInternal(sb: SupabaseClient, orderId: string, options?: ReplanOptions): Promise<ReplanResult | null>;
81
123
  export {};
@@ -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,EACtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAA0B,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACrF,OAAO,EAA+C,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAkCrG,wBAAgB,cAAc,CAC5B,KAAK,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,aAAa,CAAC,EAAE,GAAG,CAAA;CAAE,EACtG,IAAI,EAAE,MAAM,GACX;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAqCvD;AAID,wBAAsB,6BAA6B,CAAC,EAAE,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAmE/G;AAMD,UAAU,QAAQ;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,wDAAwD;AACxD,MAAM,MAAM,cAAc,GAAG,kBAAkB,GAAG,aAAa,GAAG,SAAS,GAAG,MAAM,CAAC;AAOrF;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,OAAO,GAAG,QAAQ,GAAG,IAAI,CAQ7E;AAiCD,MAAM,WAAW,aAAa;IAC5B,oEAAoE;IACpE,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACvC,iEAAiE;IACjE,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;CACvC;AAED,wBAAsB,0BAA0B,CAC9C,EAAE,EAAE,cAAc,EAClB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,EAChC,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAmI7B;AAMD,wBAAsB,mBAAmB,CAAC,EAAE,EAAE,cAAc,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAO3F;AAUD,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,WAAW,EAAE,OAAO,CAAC;IACrB,8CAA8C;IAC9C,YAAY,EAAE,UAAU,GAAG,YAAY,CAAC;CACzC;AAOD,wFAAwF;AACxF,wBAAsB,iBAAiB,CAAC,EAAE,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAuBzF;AAED,2FAA2F;AAC3F,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,aAAa,GAAG,IAAI,GAAG,cAAc,CAaxG;AAMD;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,gBAAgB,EAAE,EAC1B,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,QAAQ,GAChB,eAAe,EAAE,CAkEnB;AAUD,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,eAAe,EAAE,CAwCtF;AAUD,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,OAAO,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC/B,mDAAmD;IACnD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iFAAiF;IACjF,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,KAAK,CAAC,EAAE,eAAe,EAAE,CAAC;CAC3B;AAGD,MAAM,WAAW,aAAa;IAC5B,4CAA4C;IAC5C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,sEAAsE;IACtE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,wBAAsB,oBAAoB,CACxC,EAAE,EAAE,cAAc,EAClB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,YAAY,CAAC,CA0YvB;AAGD,wBAAsB,mBAAmB,CACvC,EAAE,EAAE,cAAc,EAClB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAI9B"}
1
+ {"version":3,"file":"loadCarrierPlanning.server.d.ts","sourceRoot":"","sources":["../../src/lib/loadCarrierPlanning.server.ts"],"names":[],"mappings":"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"}