@flowselections/logistiek-engine 1.0.159 → 1.0.162

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.
@@ -1 +1 @@
1
- {"version":3,"file":"modulePrompts.d.ts","sourceRoot":"","sources":["../../src/lib/modulePrompts.ts"],"names":[],"mappings":"AAWA;;;;GAIG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;CAKvB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,MAAM,OAAO,oBAAoB,CAAC;AAKhE,MAAM,WAAW,oBAAoB;IACnC,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC;IACf,mCAAmC;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,qEAAqE;IACrE,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,iFAAiF;IACjF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,eAAe,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,oBAAoB,EAAE,CAAC;CACnC;AA0qLD,eAAO,MAAM,cAAc,EAAE,YAAY,EAUL,CAAC;AAErC,gEAAgE;AAChE,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,oBAAoB,GAC7B,MAAM,CAmBR;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAE9D;AAED,oEAAoE;AACpE,wBAAgB,qBAAqB,IAAI,MAAM,CAiB9C;AAED,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,eAAe,EAC1B,cAAc,CAAC,EAAE,MAAM,GACtB,MAAM,CAIR"}
1
+ {"version":3,"file":"modulePrompts.d.ts","sourceRoot":"","sources":["../../src/lib/modulePrompts.ts"],"names":[],"mappings":"AAWA;;;;GAIG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;CAKvB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,MAAM,OAAO,oBAAoB,CAAC;AAKhE,MAAM,WAAW,oBAAoB;IACnC,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC;IACf,mCAAmC;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,qEAAqE;IACrE,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,iFAAiF;IACjF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,eAAe,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,oBAAoB,EAAE,CAAC;CACnC;AAguLD,eAAO,MAAM,cAAc,EAAE,YAAY,EAUL,CAAC;AAErC,gEAAgE;AAChE,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,oBAAoB,GAC7B,MAAM,CAmBR;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAE9D;AAED,oEAAoE;AACpE,wBAAgB,qBAAqB,IAAI,MAAM,CAiB9C;AAED,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,eAAe,EAC1B,cAAc,CAAC,EAAE,MAAM,GACtB,MAAM,CAIR"}
@@ -1050,6 +1050,59 @@ REGELS
1050
1050
  CONTROLELIJST
1051
1051
  [ ] Buffer met 2 orders en 2 karren: beide orders tonen 2 karren, "gedeeld".
1052
1052
  [ ] Losse order: geen "gedeeld".
1053
+ [ ] Meld terug met je pakketversie.`,
1054
+ },
1055
+ {
1056
+ number: 24,
1057
+ title: "Ophaalmoment uitsluitend uit logistics_order_departure",
1058
+ date: "2026-10-19",
1059
+ summary: "Verkoop rekent ophalen/aanmelden zelf en toont bij HO-2601441 wo 21-10; de juiste uitkomst is di 20-10 15:00. Toon alleen wat de Engine teruggeeft.",
1060
+ body: `KOPPELPROMPT VERKOOP 24 – vereist Logistiek Engine 1.0.160
1061
+
1062
+ WAAROM
1063
+ Bij HO-2601441 (levering wo 21 okt 08:00, vervoerder met ophaalmoment
1064
+ "1 werkdag vóór levering 15:00, aanmelden 13:00") toont Verkoop
1065
+ "wo 21 okt 15:00 ophalen · aanmelden di 20 okt 13:00 · aanlevering 08:00".
1066
+ Dat klopt niet: ophalen is di 20 okt 15:00, aanmelden di 20 okt 13:00.
1067
+ Verkoop rekent het ophaalmoment zelf uit en telt de dagen voor ophalen niet
1068
+ terug. Pickstation, taken en karren gebruiken de Engine-uitkomst; Verkoop
1069
+ moet exact hetzelfde tonen.
1070
+
1071
+ WAT ER IS
1072
+ public.logistics_order_departure(p_order_id uuid) RETURNS jsonb
1073
+ Rechten: authenticated en service_role (niet anon). Eén aanroep per order.
1074
+ Velden (ontbrekend = null):
1075
+ - ok boolean – false als er geen geldig ophaalmoment is
1076
+ - reason text – Nederlandse reden als ok = false (of bij terugval op levermoment)
1077
+ - carrierId uuid – vervoerder van de order
1078
+ - momentKey text – ophaalmomentsleutel in Afhandeling-formaat, bv. "1@15:00|1@13:00"
1079
+ - departureAt timestamptz – ophaal/vertrekmoment
1080
+ - signupDeadline timestamptz – aanmelddeadline
1081
+ - lateSignup boolean – order kwam binnen na de aanmelddeadline
1082
+ Werkdagen komen uit logistics_is_pick_workday (incl. afwijkende dagen), de
1083
+ tijdzone uit Werktijden.
1084
+
1085
+ WAT JIJ DOET
1086
+ 1. Verwijder de eigen berekening van ophaal- en aanmeldmoment in Verkoop.
1087
+ 2. Toon "ophalen" uit departureAt en "aanmelden" uit signupDeadline, in de
1088
+ tijdzone die de Shell al gebruikt voor datums.
1089
+ 3. lateSignup = true: toon "te laat aangemeld" naast het ophaalmoment.
1090
+ 4. ok = false of geen antwoord: toon de reden uit reason, geen eigen
1091
+ berekening of terugvaltijd.
1092
+ 5. "aanlevering" (levermoment van de order) mag blijven, maar los van het
1093
+ ophaalmoment.
1094
+ 6. Meerdere orders tegelijk: roep per zichtbare order aan, of vraag de
1095
+ Engine om een lijstfunctie (meld dat terug); niet zelf rekenen.
1096
+
1097
+ REGELS
1098
+ - Match op id. Geen omgevingswaarden. Wijzig geen Engine-functies of -rechten.
1099
+ - Teksten in "je"-vorm, zonder technische termen.
1100
+
1101
+ CONTROLELIJST
1102
+ [ ] HO-2601441: "di 20 okt 15:00 ophalen · aanmelden di 20 okt 13:00".
1103
+ [ ] FO-2601440 (levering ma 26 okt): "vr 23 okt 15:00 ophalen".
1104
+ [ ] MO-2601442: "wo 21 okt 09:30 ophalen".
1105
+ [ ] Order zonder vervoerder: reden zichtbaar, geen verzonnen tijd.
1053
1106
  [ ] Meld terug met je pakketversie.`,
1054
1107
  },
1055
1108
  ],
@@ -1,2 +1,2 @@
1
- export declare const MODULE_VERSION = "1.0.159";
1
+ export declare const MODULE_VERSION = "1.0.162";
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.159";
2
+ export const MODULE_VERSION = "1.0.162";
@@ -14,6 +14,8 @@ export declare function runPlanQueue(sb: SupabaseClient, options?: {
14
14
  deadlineAt?: number;
15
15
  limit?: number | null;
16
16
  }): Promise<PlanQueueResult>;
17
+ /** Elke minuut: vertrek op nieuwe karren en taakstatus laten meelopen (alleen nieuwe orders). */
18
+ export declare const FOLLOW_UP_CALLS: readonly ["logistics_fill_cart_departure", "logistics_sync_task_status"];
17
19
  /** Ruimt afgeronde wachtrijrijen op volgens de ingestelde bewaartermijn. */
18
20
  export declare function prunePlanQueue(sb: SupabaseClient): Promise<void>;
19
21
  //# sourceMappingURL=planQueue.server.d.ts.map
@@ -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;AAQ5D,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,CAwR1B;AAmDD,4EAA4E;AAE5E,wBAAsB,cAAc,CAAC,EAAE,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAEtE"}
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;AAQ5D,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,CAwR1B;AAgCD,iGAAiG;AACjG,eAAO,MAAM,eAAe,0EAA2E,CAAC;AAgCxG,4EAA4E;AAE5E,wBAAsB,cAAc,CAAC,EAAE,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAEtE"}
@@ -310,6 +310,16 @@ async function runDayLevelSteps(sb, dates, result) {
310
310
  if (error && result.errors.length < 10)
311
311
  result.errors.push(`${call.fn}: ${error.message}`);
312
312
  }
313
+ await runCartAndTaskFollowUp(sb, result);
314
+ }
315
+ /** Elke minuut: vertrek op nieuwe karren en taakstatus laten meelopen (alleen nieuwe orders). */
316
+ export const FOLLOW_UP_CALLS = ["logistics_fill_cart_departure", "logistics_sync_task_status"];
317
+ async function runCartAndTaskFollowUp(sb, result) {
318
+ for (const fn of FOLLOW_UP_CALLS) {
319
+ const { error } = await sb.rpc(fn, {});
320
+ if (error && result.errors.length < 10)
321
+ result.errors.push(`${fn}: ${error.message}`);
322
+ }
313
323
  }
314
324
  /** Werkt alleen de pickwachtrij bij, ook als er niets te plannen viel. */
315
325
  async function syncPickQueue(sb, result) {
@@ -322,6 +332,7 @@ async function syncPickQueue(sb, result) {
322
332
  if (pruneError && result.errors.length < 10) {
323
333
  result.errors.push(`logistics_prune_buffer_member_queue: ${pruneError.message}`);
324
334
  }
335
+ await runCartAndTaskFollowUp(sb, result);
325
336
  // Ook zonder nieuwe planning schuift de reis van bestaande orders door.
326
337
  const { error: traceError } = await sb.rpc("logistics_trace_progress", { p_limit: 200 });
327
338
  if (traceError && result.errors.length < 10) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flowselections/logistiek-engine",
3
- "version": "1.0.159",
3
+ "version": "1.0.162",
4
4
  "flowselections": {
5
5
  "moduleId": "logistiek-engine",
6
6
  "pages": [