@flowselections/floriday-verkoop-module 1.0.77 → 1.0.82

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 (90) hide show
  1. package/dist-lib/components/verkoop/CreateOrderPage.d.ts.map +1 -1
  2. package/dist-lib/components/verkoop/CreateOrderPage.js +33 -8
  3. package/dist-lib/components/verkoop/EditLocalOrderDialog.d.ts.map +1 -1
  4. package/dist-lib/components/verkoop/EditLocalOrderDialog.js +1 -1
  5. package/dist-lib/components/verkoop/FloridayStageLine.d.ts +15 -0
  6. package/dist-lib/components/verkoop/FloridayStageLine.d.ts.map +1 -0
  7. package/dist-lib/components/verkoop/FloridayStageLine.js +25 -0
  8. package/dist-lib/components/verkoop/PlanCoverageBadge.d.ts +1 -1
  9. package/dist-lib/components/verkoop/PlanCoverageBadge.d.ts.map +1 -1
  10. package/dist-lib/components/verkoop/PlanCoverageBadge.js +5 -2
  11. package/dist-lib/components/verkoop/SalesOrderDetailPage.d.ts.map +1 -1
  12. package/dist-lib/components/verkoop/SalesOrderDetailPage.js +1 -1
  13. package/dist-lib/components/verkoop/SalesOrderDetailView.d.ts.map +1 -1
  14. package/dist-lib/components/verkoop/SalesOrderDetailView.js +38 -6
  15. package/dist-lib/components/verkoop/SalesOrdersTable.d.ts.map +1 -1
  16. package/dist-lib/components/verkoop/SalesOrdersTable.js +4 -8
  17. package/dist-lib/components/verkoop/VerkoopOrdersPage.d.ts.map +1 -1
  18. package/dist-lib/components/verkoop/VerkoopOrdersPage.js +7 -1
  19. package/dist-lib/integrations/supabase/types.d.ts +1486 -2
  20. package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
  21. package/dist-lib/integrations/supabase/types.js +1 -0
  22. package/dist-lib/lib/belading.server.d.ts +0 -11
  23. package/dist-lib/lib/belading.server.d.ts.map +1 -1
  24. package/dist-lib/lib/belading.server.js +4 -41
  25. package/dist-lib/lib/cart-replan.functions.d.ts.map +1 -1
  26. package/dist-lib/lib/cart-replan.functions.js +3 -22
  27. package/dist-lib/lib/central-secrets.server.d.ts +5 -0
  28. package/dist-lib/lib/central-secrets.server.d.ts.map +1 -0
  29. package/dist-lib/lib/central-secrets.server.js +65 -0
  30. package/dist-lib/lib/create-order.functions.d.ts +15 -0
  31. package/dist-lib/lib/create-order.functions.d.ts.map +1 -1
  32. package/dist-lib/lib/create-order.functions.js +28 -13
  33. package/dist-lib/lib/customer-name.d.ts +8 -0
  34. package/dist-lib/lib/customer-name.d.ts.map +1 -0
  35. package/dist-lib/lib/customer-name.js +9 -0
  36. package/dist-lib/lib/engine-block-alerts.d.ts +22 -0
  37. package/dist-lib/lib/engine-block-alerts.d.ts.map +1 -0
  38. package/dist-lib/lib/engine-block-alerts.js +43 -0
  39. package/dist-lib/lib/engine-block-alerts.server.d.ts +7 -0
  40. package/dist-lib/lib/engine-block-alerts.server.d.ts.map +1 -0
  41. package/dist-lib/lib/engine-block-alerts.server.js +75 -0
  42. package/dist-lib/lib/floriday-change-diff.check.d.ts +2 -0
  43. package/dist-lib/lib/floriday-change-diff.check.d.ts.map +1 -0
  44. package/dist-lib/lib/floriday-change-diff.check.js +27 -0
  45. package/dist-lib/lib/floriday-change-diff.d.ts +7 -0
  46. package/dist-lib/lib/floriday-change-diff.d.ts.map +1 -0
  47. package/dist-lib/lib/floriday-change-diff.js +51 -0
  48. package/dist-lib/lib/floriday-mirror.functions.d.ts.map +1 -1
  49. package/dist-lib/lib/floriday-mirror.functions.js +38 -39
  50. package/dist-lib/lib/floriday-status.d.ts +48 -0
  51. package/dist-lib/lib/floriday-status.d.ts.map +1 -0
  52. package/dist-lib/lib/floriday-status.js +99 -0
  53. package/dist-lib/lib/floriday-status.server.d.ts +7 -0
  54. package/dist-lib/lib/floriday-status.server.d.ts.map +1 -0
  55. package/dist-lib/lib/floriday-status.server.js +74 -0
  56. package/dist-lib/lib/load-carriers.server.d.ts +1 -1
  57. package/dist-lib/lib/load-carriers.server.d.ts.map +1 -1
  58. package/dist-lib/lib/load-carriers.server.js +3 -6
  59. package/dist-lib/lib/logistics-engine.server.d.ts.map +1 -1
  60. package/dist-lib/lib/logistics-engine.server.js +2 -22
  61. package/dist-lib/lib/order-block-mail.server.d.ts.map +1 -1
  62. package/dist-lib/lib/order-block-mail.server.js +31 -15
  63. package/dist-lib/lib/order-cancel.server.d.ts +9 -0
  64. package/dist-lib/lib/order-cancel.server.d.ts.map +1 -1
  65. package/dist-lib/lib/order-cancel.server.js +90 -0
  66. package/dist-lib/lib/plan-coverage.check.d.ts +2 -0
  67. package/dist-lib/lib/plan-coverage.check.d.ts.map +1 -0
  68. package/dist-lib/lib/plan-coverage.check.js +17 -0
  69. package/dist-lib/lib/plan-coverage.d.ts +12 -0
  70. package/dist-lib/lib/plan-coverage.d.ts.map +1 -1
  71. package/dist-lib/lib/plan-coverage.js +27 -1
  72. package/dist-lib/lib/plan-coverage.server.d.ts.map +1 -1
  73. package/dist-lib/lib/plan-coverage.server.js +20 -13
  74. package/dist-lib/lib/review-dismissals.server.d.ts +3 -0
  75. package/dist-lib/lib/review-dismissals.server.d.ts.map +1 -0
  76. package/dist-lib/lib/review-dismissals.server.js +26 -0
  77. package/dist-lib/lib/salesorders-list.functions.d.ts +1 -1
  78. package/dist-lib/lib/salesorders-list.functions.js +1 -1
  79. package/dist-lib/lib/salesorders-list.server.d.ts +1 -1
  80. package/dist-lib/lib/salesorders-list.server.d.ts.map +1 -1
  81. package/dist-lib/lib/salesorders-list.server.js +104 -3
  82. package/dist-lib/lib/salesorders-mapping.d.ts +17 -0
  83. package/dist-lib/lib/salesorders-mapping.d.ts.map +1 -1
  84. package/dist-lib/lib/salesorders-mapping.js +1 -0
  85. package/dist-lib/lib/salesorders.functions.d.ts +1 -5
  86. package/dist-lib/lib/salesorders.functions.d.ts.map +1 -1
  87. package/dist-lib/lib/salesorders.functions.js +32 -2
  88. package/dist-lib/lib/useSalesOrdersQuery.d.ts +1 -1
  89. package/dist-lib/lib/useSalesOrdersQuery.d.ts.map +1 -1
  90. package/package.json +5 -5
@@ -51,7 +51,11 @@ async function runSalesOrdersMirror(mirrorLimit) {
51
51
  return { ok: mirrorOk, mirrorOk, mirrored };
52
52
  }
53
53
  export async function runSalesOrdersSyncFromCron() {
54
- return runSalesOrdersMirror(500);
54
+ const result = await runSalesOrdersMirror(500);
55
+ // Blokkade-alarm alleen op basis van de Engine (koppelprompt 22).
56
+ const { checkDefinitiveBlocks } = await import("./engine-block-alerts.server");
57
+ const alerts = await checkDefinitiveBlocks();
58
+ return { ...result, blockAlerts: { mailed: alerts.mailed, closed: alerts.closed } };
55
59
  }
56
60
  // Knop "Verversen": direct spiegelen uit de gedeelde cache, kleine limiet.
57
61
  export const runSalesOrdersSync = createServerFn({ method: "POST" })
@@ -308,7 +312,7 @@ export const getSalesOrderDetail = createServerFn({ method: "POST" })
308
312
  try {
309
313
  const ownRes = await supabase
310
314
  .from("orders")
311
- .select("id, buffer_id, status, is_reservation, custom_fields, order_items(product_id, product_name, source_line_key, quarantined_at)")
315
+ .select("id, buffer_id, status, is_reservation, custom_fields, order_items(product_id, product_name, source_line_key, quarantined_at, quantity, unit_price)")
312
316
  .eq("floriday_sales_order_id", data.id)
313
317
  .maybeSingle();
314
318
  const ownRow = ownRes.data ?? null;
@@ -336,6 +340,12 @@ export const getSalesOrderDetail = createServerFn({ method: "POST" })
336
340
  at: reviewCf.floriday_change_detected_at ?? null,
337
341
  }
338
342
  : null;
343
+ if (dto.needsManualReview && ownRow?.id) {
344
+ const { loadReviewDismissals, isReviewDismissed } = await import("./review-dismissals.server");
345
+ const dismissed = await loadReviewDismissals(supabase, [String(ownRow.id)]);
346
+ if (isReviewDismissed(dismissed, String(ownRow.id), dto.needsManualReview.reason))
347
+ dto.needsManualReview = null;
348
+ }
339
349
  // Karren en indelingsstatus uit de Engine (logistics_order_plan_coverage).
340
350
  // Fail closed: bij een fout "Indeling onbekend" en geen aantal.
341
351
  if (ownRow?.id) {
@@ -361,6 +371,26 @@ export const getSalesOrderDetail = createServerFn({ method: "POST" })
361
371
  }
362
372
  }
363
373
  bufferId = ownRow?.buffer_id ?? null;
374
+ // Totaalregel: actieve orderregels (stuks × prijs per stuk).
375
+ const activeItems = (ownRow?.order_items ?? []).filter((it) => !it?.quarantined_at);
376
+ if (activeItems.length) {
377
+ dto.priceLines = activeItems.map((it) => ({
378
+ pieces: Number(it?.quantity) || 0,
379
+ unitPrice: Number(it?.unit_price) || 0,
380
+ }));
381
+ }
382
+ // Floriday-stand (alleen weergave), voor alle bestellingen op deze order.
383
+ {
384
+ const foIds = Array.from(new Set([String(data.id), ...activeItems.map((it) => String(it?.source_line_key ?? ""))].filter((v) => /^[0-9a-f-]{36}$/i.test(v)))).slice(0, 100);
385
+ const { loadFloridayStatuses } = await import("./floriday-status.server");
386
+ const { combineStages } = await import("./floriday-status");
387
+ const res = await loadFloridayStatuses(foIds);
388
+ const found = foIds.map((id) => res.entries.get(id)).filter((e) => !!e);
389
+ dto.floridayStatus =
390
+ found.length > 0
391
+ ? { stage: combineStages(found.map((e) => e.floridayStage)), error: null, entries: found }
392
+ : { stage: "onbekend", error: res.error ?? "geen antwoord", entries: [] };
393
+ }
364
394
  if (bufferId) {
365
395
  dto.bufferId = bufferId;
366
396
  const sibRes = await supabase
@@ -1,6 +1,6 @@
1
1
  import { type SalesOrderDTO, type SalesOrderFilters, type SalesOrdersTotals } from "./salesorders-mapping";
2
2
  import type { OrderStage } from "./order-status";
3
- export type StatusTab = "all" | OrderStage | "backlog";
3
+ export type StatusTab = "all" | OrderStage | "backlog" | "not_reported";
4
4
  export interface SalesOrdersPage {
5
5
  orders: SalesOrderDTO[];
6
6
  totalCount: number;
@@ -1 +1 @@
1
- {"version":3,"file":"useSalesOrdersQuery.d.ts","sourceRoot":"","sources":["../../src/lib/useSalesOrdersQuery.ts"],"names":[],"mappings":"AASA,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACvB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,UAAU,GAAG,SAAS,CAAC;AAEvD,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACxC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,WAAW,EAAE,SAAS,GAAG,MAAM,CAAC;IAChC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,uBAAuB;IACtC,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,SAAS,GAAG,UAAU,CAAC;CACnC,CAwCA;AAED,wBAAgB,mBAAmB,CACjC,OAAO,CAAC,EAAE,iBAAiB,EAC3B,OAAO,CAAC,EAAE,uBAAuB,0EAgElC"}
1
+ {"version":3,"file":"useSalesOrdersQuery.d.ts","sourceRoot":"","sources":["../../src/lib/useSalesOrdersQuery.ts"],"names":[],"mappings":"AASA,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACvB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,UAAU,GAAG,SAAS,GAAG,cAAc,CAAC;AAExE,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACxC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,WAAW,EAAE,SAAS,GAAG,MAAM,CAAC;IAChC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,uBAAuB;IACtC,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,SAAS,GAAG,UAAU,CAAC;CACnC,CAwCA;AAED,wBAAgB,mBAAmB,CACjC,OAAO,CAAC,EAAE,iBAAiB,EAC3B,OAAO,CAAC,EAAE,uBAAuB,0EAgElC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flowselections/floriday-verkoop-module",
3
- "version": "1.0.77",
3
+ "version": "1.0.82",
4
4
  "private": false,
5
5
  "sideEffects": false,
6
6
  "type": "module",
@@ -52,13 +52,13 @@
52
52
  "@cloudflare/vite-plugin": "^1.25.5",
53
53
  "@eslint/js": "^9.32.0",
54
54
  "@flowselections/core": "1.0.29",
55
- "@lovable.dev/vite-tanstack-config": "2.25.3",
55
+ "@lovable.dev/vite-tanstack-config": "2.26.5",
56
56
  "@rsbuild/core": "^1.0.0",
57
57
  "@tailwindcss/vite": "^4.2.1",
58
58
  "@tanstack/react-query": "^5.83.0",
59
- "@tanstack/react-router": "^1.168.0",
60
- "@tanstack/react-start": "^1.167.14",
61
- "@tanstack/router-plugin": "^1.167.10",
59
+ "@tanstack/react-router": "1.169.1",
60
+ "@tanstack/react-start": "1.167.63",
61
+ "@tanstack/router-plugin": "1.167.33",
62
62
  "@types/node": "^22.16.5",
63
63
  "@types/react": "^19.2.0",
64
64
  "@types/react-dom": "^19.2.0",