@flowselections/floriday-verkoop-module 1.0.94 → 1.0.100
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/components/verkoop/AnalyticsCards.d.ts +1 -1
- package/dist-lib/components/verkoop/AnalyticsCards.d.ts.map +1 -1
- package/dist-lib/components/verkoop/CartAssignmentWizard.d.ts +1 -1
- package/dist-lib/components/verkoop/CartAssignmentWizard.d.ts.map +1 -1
- package/dist-lib/components/verkoop/CartLayersDialog.d.ts +1 -1
- package/dist-lib/components/verkoop/CartLayersDialog.d.ts.map +1 -1
- package/dist-lib/components/verkoop/ConfirmDialog.d.ts +11 -0
- package/dist-lib/components/verkoop/ConfirmDialog.d.ts.map +1 -0
- package/dist-lib/components/verkoop/ConfirmDialog.js +10 -0
- package/dist-lib/components/verkoop/CreateOrderPage.d.ts +1 -1
- package/dist-lib/components/verkoop/CreateOrderPage.d.ts.map +1 -1
- package/dist-lib/components/verkoop/CreateOrderPage.js +111 -48
- package/dist-lib/components/verkoop/DiagnoseConnectionDialog.d.ts +1 -1
- package/dist-lib/components/verkoop/DiagnoseConnectionDialog.d.ts.map +1 -1
- package/dist-lib/components/verkoop/EditLocalOrderDialog.d.ts +1 -1
- package/dist-lib/components/verkoop/EditLocalOrderDialog.d.ts.map +1 -1
- package/dist-lib/components/verkoop/EngineBufferCard.d.ts +1 -1
- package/dist-lib/components/verkoop/EngineBufferCard.d.ts.map +1 -1
- package/dist-lib/components/verkoop/FloridayStageLine.d.ts +2 -2
- package/dist-lib/components/verkoop/FloridayStageLine.d.ts.map +1 -1
- package/dist-lib/components/verkoop/InvoiceTimingSettings.d.ts +1 -1
- package/dist-lib/components/verkoop/InvoiceTimingSettings.d.ts.map +1 -1
- package/dist-lib/components/verkoop/OrderAfleverbrievenCard.d.ts +1 -1
- package/dist-lib/components/verkoop/OrderAfleverbrievenCard.d.ts.map +1 -1
- package/dist-lib/components/verkoop/OrderCarrierPicker.d.ts +1 -1
- package/dist-lib/components/verkoop/OrderCarrierPicker.d.ts.map +1 -1
- package/dist-lib/components/verkoop/OrderControlStatusCard.d.ts +1 -1
- package/dist-lib/components/verkoop/OrderControlStatusCard.d.ts.map +1 -1
- package/dist-lib/components/verkoop/OrderKarindelingCard.d.ts +1 -1
- package/dist-lib/components/verkoop/OrderKarindelingCard.d.ts.map +1 -1
- package/dist-lib/components/verkoop/OrderKarindelingCard.js +28 -2
- package/dist-lib/components/verkoop/OrderLinePackingCard.d.ts +1 -1
- package/dist-lib/components/verkoop/OrderLinePackingCard.d.ts.map +1 -1
- package/dist-lib/components/verkoop/OrderPickupMomentPicker.d.ts +1 -1
- package/dist-lib/components/verkoop/OrderPickupMomentPicker.d.ts.map +1 -1
- package/dist-lib/components/verkoop/OrderPickupMomentPicker.js +2 -1
- package/dist-lib/components/verkoop/OrderShipmentsCard.d.ts +1 -1
- package/dist-lib/components/verkoop/OrderShipmentsCard.d.ts.map +1 -1
- package/dist-lib/components/verkoop/OrderShipmentsCard.js +16 -13
- package/dist-lib/components/verkoop/PlanCoverageBadge.d.ts +1 -1
- package/dist-lib/components/verkoop/PlanCoverageBadge.d.ts.map +1 -1
- package/dist-lib/components/verkoop/PlanCoverageBadge.js +7 -5
- package/dist-lib/components/verkoop/ProductDimensionsSettings.d.ts +1 -1
- package/dist-lib/components/verkoop/ProductDimensionsSettings.d.ts.map +1 -1
- package/dist-lib/components/verkoop/SalesOrderDetailPage.d.ts +1 -1
- package/dist-lib/components/verkoop/SalesOrderDetailPage.d.ts.map +1 -1
- package/dist-lib/components/verkoop/SalesOrderDetailPage.js +6 -6
- package/dist-lib/components/verkoop/SalesOrderDetailView.d.ts +1 -1
- package/dist-lib/components/verkoop/SalesOrderDetailView.d.ts.map +1 -1
- package/dist-lib/components/verkoop/SalesOrderDetailView.js +2 -1
- package/dist-lib/components/verkoop/SalesOrdersFilterPanel.d.ts +1 -1
- package/dist-lib/components/verkoop/SalesOrdersFilterPanel.d.ts.map +1 -1
- package/dist-lib/components/verkoop/SalesOrdersFilters.d.ts +1 -1
- package/dist-lib/components/verkoop/SalesOrdersFilters.d.ts.map +1 -1
- package/dist-lib/components/verkoop/SalesOrdersTable.d.ts +2 -1
- package/dist-lib/components/verkoop/SalesOrdersTable.d.ts.map +1 -1
- package/dist-lib/components/verkoop/SalesOrdersTable.js +1 -1
- package/dist-lib/components/verkoop/SearchableSelect.d.ts +1 -1
- package/dist-lib/components/verkoop/SearchableSelect.d.ts.map +1 -1
- package/dist-lib/components/verkoop/StockConsumptionAlertsBanner.d.ts +1 -1
- package/dist-lib/components/verkoop/StockConsumptionAlertsBanner.d.ts.map +1 -1
- package/dist-lib/components/verkoop/VerkoopOrdersPage.d.ts +1 -1
- package/dist-lib/components/verkoop/VerkoopOrdersPage.d.ts.map +1 -1
- package/dist-lib/components/verkoop/WeekCalendar.d.ts +1 -1
- package/dist-lib/components/verkoop/WeekCalendar.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/client.js +1 -1
- package/dist-lib/integrations/supabase/client.server.js +1 -1
- package/dist-lib/integrations/supabase/types.d.ts +352 -0
- package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
- package/dist-lib/lib/carrier-availability.d.ts +0 -28
- package/dist-lib/lib/carrier-availability.d.ts.map +1 -1
- package/dist-lib/lib/carrier-availability.js +3 -141
- package/dist-lib/lib/cart-replan.functions.d.ts +5 -0
- package/dist-lib/lib/cart-replan.functions.d.ts.map +1 -1
- package/dist-lib/lib/cart-replan.functions.js +25 -1
- package/dist-lib/lib/create-order.functions.d.ts +8 -0
- package/dist-lib/lib/create-order.functions.d.ts.map +1 -1
- package/dist-lib/lib/create-order.functions.js +110 -54
- package/dist-lib/lib/departure-preview.check.d.ts +2 -0
- package/dist-lib/lib/departure-preview.check.d.ts.map +1 -0
- package/dist-lib/lib/departure-preview.check.js +60 -0
- package/dist-lib/lib/departure-preview.d.ts +71 -0
- package/dist-lib/lib/departure-preview.d.ts.map +1 -0
- package/dist-lib/lib/departure-preview.functions.d.ts +14 -0
- package/dist-lib/lib/departure-preview.functions.d.ts.map +1 -0
- package/dist-lib/lib/departure-preview.functions.js +18 -0
- package/dist-lib/lib/departure-preview.js +133 -0
- package/dist-lib/lib/departure-preview.server.d.ts +11 -0
- package/dist-lib/lib/departure-preview.server.d.ts.map +1 -0
- package/dist-lib/lib/departure-preview.server.js +32 -0
- package/dist-lib/lib/floriday-external-fulfillment.check.d.ts +2 -0
- package/dist-lib/lib/floriday-external-fulfillment.check.d.ts.map +1 -0
- package/dist-lib/lib/floriday-external-fulfillment.check.js +21 -0
- package/dist-lib/lib/floriday-external-fulfillment.d.ts +19 -0
- package/dist-lib/lib/floriday-external-fulfillment.d.ts.map +1 -0
- package/dist-lib/lib/floriday-external-fulfillment.js +24 -0
- package/dist-lib/lib/floriday-external-fulfillment.server.d.ts +5 -0
- package/dist-lib/lib/floriday-external-fulfillment.server.d.ts.map +1 -0
- package/dist-lib/lib/floriday-external-fulfillment.server.js +110 -0
- package/dist-lib/lib/floriday-fulfillment-status.server.d.ts +2 -0
- package/dist-lib/lib/floriday-fulfillment-status.server.d.ts.map +1 -1
- package/dist-lib/lib/floriday-fulfillment-status.server.js +3 -0
- package/dist-lib/lib/floriday-line-key.check.d.ts +2 -0
- package/dist-lib/lib/floriday-line-key.check.d.ts.map +1 -0
- package/dist-lib/lib/floriday-line-key.check.js +31 -0
- package/dist-lib/lib/floriday-line-key.d.ts +12 -0
- package/dist-lib/lib/floriday-line-key.d.ts.map +1 -0
- package/dist-lib/lib/floriday-line-key.js +20 -0
- package/dist-lib/lib/floriday-mirror.functions.d.ts.map +1 -1
- package/dist-lib/lib/floriday-mirror.functions.js +38 -2
- package/dist-lib/lib/invoice-timing.server.d.ts +3 -1
- package/dist-lib/lib/invoice-timing.server.d.ts.map +1 -1
- package/dist-lib/lib/invoice-timing.server.js +3 -2
- package/dist-lib/lib/logistics-engine.functions.d.ts +1 -1
- package/dist-lib/lib/module-version.d.ts +2 -0
- package/dist-lib/lib/module-version.d.ts.map +1 -0
- package/dist-lib/lib/module-version.js +3 -0
- package/dist-lib/lib/order-cart-count.server.d.ts +8 -0
- package/dist-lib/lib/order-cart-count.server.d.ts.map +1 -0
- package/dist-lib/lib/order-cart-count.server.js +69 -0
- package/dist-lib/lib/order-departure.server.d.ts +1 -0
- package/dist-lib/lib/order-departure.server.d.ts.map +1 -1
- package/dist-lib/lib/order-departure.server.js +16 -4
- package/dist-lib/lib/order-pickup.functions.d.ts +4 -0
- package/dist-lib/lib/order-pickup.functions.d.ts.map +1 -1
- package/dist-lib/lib/order-pickup.functions.js +7 -0
- package/dist-lib/lib/plan-coverage.d.ts +13 -1
- package/dist-lib/lib/plan-coverage.d.ts.map +1 -1
- package/dist-lib/lib/plan-coverage.js +20 -1
- package/dist-lib/lib/salesorders-list.server.d.ts.map +1 -1
- package/dist-lib/lib/salesorders-list.server.js +8 -7
- package/dist-lib/lib/salesorders-mapping.d.ts +7 -0
- package/dist-lib/lib/salesorders-mapping.d.ts.map +1 -1
- package/dist-lib/lib/salesorders.functions.d.ts.map +1 -1
- package/dist-lib/lib/salesorders.functions.js +10 -0
- package/dist-lib/lib/tradeitems.functions.d.ts +1117 -12
- package/dist-lib/lib/tradeitems.functions.d.ts.map +1 -1
- package/dist-lib/lib/useBufferEvents.d.ts +2 -2
- package/dist-lib/lib/useBufferEvents.d.ts.map +1 -1
- package/dist-lib/lib/useLocalSalesOrderDetailQuery.d.ts +2 -2
- package/dist-lib/lib/useLocalSalesOrderDetailQuery.d.ts.map +1 -1
- package/dist-lib/lib/useSalesOrderDetailQuery.d.ts +1 -1
- package/dist-lib/lib/useSalesOrderDetailQuery.d.ts.map +1 -1
- package/dist-lib/lib/useSalesOrdersQuery.d.ts +1 -1
- package/dist-lib/lib/useSalesOrdersQuery.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist-lib/components/floriday/FlorydaySyncHealthBanner.d.ts +0 -9
- package/dist-lib/components/floriday/FlorydaySyncHealthBanner.d.ts.map +0 -1
- package/dist-lib/components/floriday/FlorydaySyncHealthBanner.js +0 -26
- package/dist-lib/components/karindeling/AfmetingenTab.d.ts +0 -6
- package/dist-lib/components/karindeling/AfmetingenTab.d.ts.map +0 -1
- package/dist-lib/components/karindeling/AfmetingenTab.js +0 -128
- package/dist-lib/components/karindeling/KarindelingPage.d.ts +0 -2
- package/dist-lib/components/karindeling/KarindelingPage.d.ts.map +0 -1
- package/dist-lib/components/karindeling/KarindelingPage.js +0 -102
- package/dist-lib/components/ui/dropdown-menu.d.ts +0 -9
- package/dist-lib/components/ui/dropdown-menu.d.ts.map +0 -1
- package/dist-lib/components/ui/dropdown-menu.js +0 -14
- package/dist-lib/components/verkoop/AutoFulfillmentStatusCard.d.ts +0 -4
- package/dist-lib/components/verkoop/AutoFulfillmentStatusCard.d.ts.map +0 -1
- package/dist-lib/components/verkoop/AutoFulfillmentStatusCard.js +0 -95
- package/dist-lib/components/verkoop/CreateOrderDialog.d.ts +0 -5
- package/dist-lib/components/verkoop/CreateOrderDialog.d.ts.map +0 -1
- package/dist-lib/components/verkoop/CreateOrderDialog.js +0 -33
- package/dist-lib/lib/cron/mirror-floriday-orders.d.ts +0 -4
- package/dist-lib/lib/cron/mirror-floriday-orders.d.ts.map +0 -1
- package/dist-lib/lib/cron/mirror-floriday-orders.js +0 -23
- package/dist-lib/lib/cron/push-order-statuses.d.ts +0 -4
- package/dist-lib/lib/cron/push-order-statuses.d.ts.map +0 -1
- package/dist-lib/lib/cron/push-order-statuses.js +0 -23
- package/dist-lib/lib/floriday/floriday.server.d.ts +0 -14
- package/dist-lib/lib/floriday/floriday.server.d.ts.map +0 -1
- package/dist-lib/lib/floriday/floriday.server.js +0 -92
- package/dist-lib/lib/floriday/sales-orders.functions.d.ts +0 -4736
- package/dist-lib/lib/floriday/sales-orders.functions.d.ts.map +0 -1
- package/dist-lib/lib/floriday/sales-orders.functions.js +0 -193
- package/dist-lib/lib/floriday-auto-fulfillment.functions.d.ts +0 -77581
- package/dist-lib/lib/floriday-auto-fulfillment.functions.d.ts.map +0 -1
- package/dist-lib/lib/floriday-auto-fulfillment.functions.js +0 -65
- package/dist-lib/lib/floriday-auto-fulfillment.server.d.ts +0 -21
- package/dist-lib/lib/floriday-auto-fulfillment.server.d.ts.map +0 -1
- package/dist-lib/lib/floriday-auto-fulfillment.server.js +0 -352
- package/dist-lib/lib/floriday-status-sync.server.d.ts +0 -14
- package/dist-lib/lib/floriday-status-sync.server.d.ts.map +0 -1
- package/dist-lib/lib/floriday-status-sync.server.js +0 -130
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { diffBuyerChanges } from "./floriday-change-diff.js";
|
|
2
|
+
import { MISSING_LINE_KEY_NOTICE, splitByLineKey } from "./floriday-line-key.js";
|
|
2
3
|
// Spiegelt Floriday-verkooporders (FO's) uit `floriday_salesorders_cache`
|
|
3
4
|
// naar de lokale `orders`-tabel, zodat ze via `resolveBufferForOrderInternal`
|
|
4
5
|
// in dezelfde buffer terechtkomen als lokale orders en gedeelde karren
|
|
@@ -717,6 +718,7 @@ async function mirrorUnlocked(limit) {
|
|
|
717
718
|
lineInfoByFoId.set(l.foId, lineInfoOf(l));
|
|
718
719
|
// Orders die in deze ronde al door een andere bestelling zijn geschreven.
|
|
719
720
|
const handledOrderIds = new Set();
|
|
721
|
+
const legacyExternalIds = new Set();
|
|
720
722
|
// Welke velden per order echt veranderden (voor melding en syncresultaat).
|
|
721
723
|
const changedFieldsByOrder = new Map();
|
|
722
724
|
const noteChange = (orderId, field) => {
|
|
@@ -756,7 +758,9 @@ async function mirrorUnlocked(limit) {
|
|
|
756
758
|
floriday_status: primary.d?.status ?? null,
|
|
757
759
|
floriday_trade_item_id: primary.tradeItemId || null,
|
|
758
760
|
floriday_fulfilled: anyFulfilled,
|
|
759
|
-
|
|
761
|
+
// Afgehandeld in Floriday = er is een afhandeling die niet door het ERP
|
|
762
|
+
// is gemaakt; het aantal fust doet er niet toe (koppelprompt 1.0.96).
|
|
763
|
+
floriday_fulfilled_externally: group.some((l) => Boolean(l.ff?.external)),
|
|
760
764
|
floriday_fulfilled_by_erp: anyFulfilled && Boolean(ffPrimary?.createdByErp),
|
|
761
765
|
floriday_delivery_notes: ffPrimary?.deliveryNoteCodes ?? [],
|
|
762
766
|
floriday_received_at: ffPrimary?.receivedAt ?? null,
|
|
@@ -921,6 +925,11 @@ async function mirrorUnlocked(limit) {
|
|
|
921
925
|
// samenvoegen, nooit overschrijven — de order kan door de Engine uit
|
|
922
926
|
// meerdere bestellingen zijn samengesteld.
|
|
923
927
|
const prevCf = { ...(target.custom_fields ?? {}) };
|
|
928
|
+
// Bestaande orders die vóór 1.0.96 al als "buiten het ERP afgehandeld"
|
|
929
|
+
// stonden, worden niet vanzelf omgezet (eerst akkoord gebruiker).
|
|
930
|
+
if (prevCf.floriday_fulfilled_externally === true && !prevCf.floriday_external_fulfilled_sales_order_ids && !prevCf.floriday_external_fulfilled_at) {
|
|
931
|
+
legacyExternalIds.add(String(target.id));
|
|
932
|
+
}
|
|
924
933
|
// Oudere orders kennen floriday_groups nog niet: hun eigen bestelling
|
|
925
934
|
// als eerste groep overnemen, zodat die lijst niet verloren gaat.
|
|
926
935
|
const prevGroups = (prevCf.floriday_groups ??
|
|
@@ -952,6 +961,20 @@ async function mirrorUnlocked(limit) {
|
|
|
952
961
|
mergedCf.floriday_sales_order_ids = [...allIds].sort();
|
|
953
962
|
mergedCf.floriday_lines = [...otherLines, ...floridayLines].sort((a, b) => String(a?.sales_order_id).localeCompare(String(b?.sales_order_id)));
|
|
954
963
|
mergedCf.floriday_line_count = mergedCf.floriday_lines.length;
|
|
964
|
+
// Regels zonder geldige Floriday-salesOrderId worden niet overgenomen,
|
|
965
|
+
// maar nooit stil: zichtbare melding op de order + foutregel.
|
|
966
|
+
{
|
|
967
|
+
const { invalid } = splitByLineKey(group);
|
|
968
|
+
if (invalid.length > 0) {
|
|
969
|
+
mergedCf.floriday_missing_line_key_notice = MISSING_LINE_KEY_NOTICE;
|
|
970
|
+
mergedCf.floriday_missing_line_key_count = invalid.length;
|
|
971
|
+
errors.push(`${primary.foId}: ${invalid.length} regel(s) zonder geldig Floriday-bestelnummer niet overgenomen`);
|
|
972
|
+
}
|
|
973
|
+
else {
|
|
974
|
+
delete mergedCf.floriday_missing_line_key_notice;
|
|
975
|
+
delete mergedCf.floriday_missing_line_key_count;
|
|
976
|
+
}
|
|
977
|
+
}
|
|
955
978
|
if (Object.keys(failures).length > 0)
|
|
956
979
|
mergedCf.mirror_failures = failures;
|
|
957
980
|
else {
|
|
@@ -1161,7 +1184,8 @@ async function mirrorUnlocked(limit) {
|
|
|
1161
1184
|
// een vaste herkomstsleutel (source_line_key = Floriday sales order id),
|
|
1162
1185
|
// nooit meer wissen-en-opnieuw-toevoegen: dat veroorzaakte duplicaten
|
|
1163
1186
|
// zodra de verwijdering op een timeout stuk liep.
|
|
1164
|
-
|
|
1187
|
+
// Alleen regels met een geldige Floriday-salesOrderId (uuid) als sleutel.
|
|
1188
|
+
const lineRows = splitByLineKey(group).valid.map((l) => {
|
|
1165
1189
|
const locked = lockedByKey.get(l.foId);
|
|
1166
1190
|
return {
|
|
1167
1191
|
order_id: orderId,
|
|
@@ -1346,6 +1370,18 @@ async function mirrorUnlocked(limit) {
|
|
|
1346
1370
|
// Batch enqueue voor karherplanning. processed_at resetten, anders blijft een
|
|
1347
1371
|
// eerder verwerkte order voor altijd overgeslagen door de cron.
|
|
1348
1372
|
// Annuleringen uit Floriday afhandelen (koppelprompt 1.0.77).
|
|
1373
|
+
// Afgehandeld in Floriday (buiten het ERP om) — na de ronde, per order.
|
|
1374
|
+
for (const oid of Array.from(handledOrderIds)) {
|
|
1375
|
+
if (legacyExternalIds.has(oid))
|
|
1376
|
+
continue;
|
|
1377
|
+
try {
|
|
1378
|
+
const { handleFloridayExternalFulfillment } = await import("./floriday-external-fulfillment.server.js");
|
|
1379
|
+
await handleFloridayExternalFulfillment(oid, fulfillmentStates);
|
|
1380
|
+
}
|
|
1381
|
+
catch (err) {
|
|
1382
|
+
errors.push(`${oid}: afhandeling in Floriday verwerken faalde: ${err.message}`.slice(0, 200));
|
|
1383
|
+
}
|
|
1384
|
+
}
|
|
1349
1385
|
for (const cid of Array.from(new Set(floridayCancelIds))) {
|
|
1350
1386
|
try {
|
|
1351
1387
|
const { handleFloridayCancellation } = await import("./order-cancel.server.js");
|
|
@@ -21,7 +21,9 @@ export declare function releaseDueInvoices(supabase: any, limit?: number): Promi
|
|
|
21
21
|
}>;
|
|
22
22
|
/** Volledige cyclus: eerst herberekenen, daarna vrijgeven. */
|
|
23
23
|
export declare function runInvoiceTimingCycle(): Promise<{
|
|
24
|
-
|
|
24
|
+
version: string;
|
|
25
|
+
checked: number;
|
|
26
|
+
changed: number;
|
|
25
27
|
released: number;
|
|
26
28
|
}>;
|
|
27
29
|
//# sourceMappingURL=invoice-timing.server.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invoice-timing.server.d.ts","sourceRoot":"","sources":["../../src/lib/invoice-timing.server.ts"],"names":[],"mappings":"AACA,OAAO,EAML,KAAK,qBAAqB,EAC3B,MAAM,kBAAkB,CAAC;AAE1B,gFAAgF;AAChF,eAAO,MAAM,oBAAoB,2BAA2B,CAAC;AAE7D,wBAAsB,yBAAyB,CAAC,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAkB7F;AA6ED;;;;;GAKG;AACH,wBAAsB,wBAAwB,CAC5C,QAAQ,EAAE,GAAG,EACb,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;CAAO,GACpC,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAmD/C;AAED,8EAA8E;AAC9E,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,GAAG,EACb,KAAK,SAAM,GACV,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAgCnD;AAED,8DAA8D;AAC9D,wBAAsB,qBAAqB,IAAI,OAAO,CAAC;IACrD,
|
|
1
|
+
{"version":3,"file":"invoice-timing.server.d.ts","sourceRoot":"","sources":["../../src/lib/invoice-timing.server.ts"],"names":[],"mappings":"AACA,OAAO,EAML,KAAK,qBAAqB,EAC3B,MAAM,kBAAkB,CAAC;AAE1B,gFAAgF;AAChF,eAAO,MAAM,oBAAoB,2BAA2B,CAAC;AAE7D,wBAAsB,yBAAyB,CAAC,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAkB7F;AA6ED;;;;;GAKG;AACH,wBAAsB,wBAAwB,CAC5C,QAAQ,EAAE,GAAG,EACb,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;CAAO,GACpC,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAmD/C;AAED,8EAA8E;AAC9E,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,GAAG,EACb,KAAK,SAAM,GACV,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAgCnD;AAED,8DAA8D;AAC9D,wBAAsB,qBAAqB,IAAI,OAAO,CAAC;IACrD,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC,CAMD"}
|
|
@@ -185,7 +185,8 @@ export async function releaseDueInvoices(supabase, limit = 200) {
|
|
|
185
185
|
/** Volledige cyclus: eerst herberekenen, daarna vrijgeven. */
|
|
186
186
|
export async function runInvoiceTimingCycle() {
|
|
187
187
|
const { supabaseAdmin } = await import("../integrations/supabase/client.server.js");
|
|
188
|
-
const
|
|
188
|
+
const { MODULE_VERSION } = await import("./module-version.js");
|
|
189
|
+
const r = await recomputeInvoiceDueDates(supabaseAdmin);
|
|
189
190
|
const released = (await releaseDueInvoices(supabaseAdmin, 200)).released;
|
|
190
|
-
return {
|
|
191
|
+
return { version: MODULE_VERSION, checked: r.checked, changed: r.updated, released };
|
|
191
192
|
}
|
|
@@ -5,7 +5,7 @@ export declare const sendOrderEventToEngine: import("@tanstack/start-client-core
|
|
|
5
5
|
claims: import("@supabase/auth-js").User;
|
|
6
6
|
}, undefined, undefined, undefined>], (input: unknown) => {
|
|
7
7
|
orderId: string;
|
|
8
|
-
type: "order.
|
|
8
|
+
type: "order.changed" | "order.received";
|
|
9
9
|
}, Promise<{
|
|
10
10
|
ok: false;
|
|
11
11
|
error: string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module-version.d.ts","sourceRoot":"","sources":["../../src/lib/module-version.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,cAAc,WAAW,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export interface OrderCartInfo {
|
|
2
|
+
count: number;
|
|
3
|
+
carrierTypes: string[];
|
|
4
|
+
sharedCount: number;
|
|
5
|
+
cartIds: string[];
|
|
6
|
+
}
|
|
7
|
+
export declare function loadCartsByOrder(supabase: any, orderIds: string[]): Promise<Map<string, OrderCartInfo>>;
|
|
8
|
+
//# sourceMappingURL=order-cart-count.server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"order-cart-count.server.d.ts","sourceRoot":"","sources":["../../src/lib/order-cart-count.server.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAID,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,GAAG,EACb,QAAQ,EAAE,MAAM,EAAE,GACjB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CA2DrC"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
// Alleen-lezen telling van karren per order via de KARREGELS.
|
|
2
|
+
//
|
|
3
|
+
// Een order in een buffer ligt op gedeelde karren waarvan order_carts.order_id
|
|
4
|
+
// LEEG is (de kar hoort bij order_carts.buffer_id). Tellen op order_id geeft
|
|
5
|
+
// dan 0. Daarom: actieve order_items -> order_cart_items -> order_carts.
|
|
6
|
+
// Schrijft nooit iets; de indeling is van de Logistiek Engine.
|
|
7
|
+
const CHUNK = 200;
|
|
8
|
+
export async function loadCartsByOrder(supabase, orderIds) {
|
|
9
|
+
const out = new Map();
|
|
10
|
+
const ids = Array.from(new Set(orderIds.filter(Boolean)));
|
|
11
|
+
if (ids.length === 0)
|
|
12
|
+
return out;
|
|
13
|
+
// 1) actieve regels
|
|
14
|
+
const itemOrder = new Map();
|
|
15
|
+
for (let i = 0; i < ids.length; i += CHUNK) {
|
|
16
|
+
const { data, error } = await supabase
|
|
17
|
+
.from("order_items")
|
|
18
|
+
.select("id, order_id")
|
|
19
|
+
.in("order_id", ids.slice(i, i + CHUNK))
|
|
20
|
+
.is("quarantined_at", null);
|
|
21
|
+
if (error)
|
|
22
|
+
throw new Error(`orderregels lezen: ${error.message}`);
|
|
23
|
+
for (const r of (data ?? []))
|
|
24
|
+
itemOrder.set(String(r.id), String(r.order_id));
|
|
25
|
+
}
|
|
26
|
+
const itemIds = Array.from(itemOrder.keys());
|
|
27
|
+
// 2) karregels
|
|
28
|
+
const cartsPerOrder = new Map();
|
|
29
|
+
for (let i = 0; i < itemIds.length; i += CHUNK) {
|
|
30
|
+
const { data, error } = await supabase
|
|
31
|
+
.from("order_cart_items")
|
|
32
|
+
.select("order_item_id, cart_id")
|
|
33
|
+
.in("order_item_id", itemIds.slice(i, i + CHUNK));
|
|
34
|
+
if (error)
|
|
35
|
+
throw new Error(`karregels lezen: ${error.message}`);
|
|
36
|
+
for (const r of (data ?? [])) {
|
|
37
|
+
const oid = itemOrder.get(String(r.order_item_id));
|
|
38
|
+
if (!oid || !r.cart_id)
|
|
39
|
+
continue;
|
|
40
|
+
const s = cartsPerOrder.get(oid) ?? new Set();
|
|
41
|
+
s.add(String(r.cart_id));
|
|
42
|
+
cartsPerOrder.set(oid, s);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
// 3) karren zelf (type + gedeeld)
|
|
46
|
+
const allCartIds = Array.from(new Set([...cartsPerOrder.values()].flatMap((s) => [...s])));
|
|
47
|
+
const cartRow = new Map();
|
|
48
|
+
for (let i = 0; i < allCartIds.length; i += CHUNK) {
|
|
49
|
+
const { data, error } = await supabase
|
|
50
|
+
.from("order_carts")
|
|
51
|
+
.select("id, order_id, carrier_type")
|
|
52
|
+
.in("id", allCartIds.slice(i, i + CHUNK));
|
|
53
|
+
if (error)
|
|
54
|
+
throw new Error(`karren lezen: ${error.message}`);
|
|
55
|
+
for (const r of (data ?? []))
|
|
56
|
+
cartRow.set(String(r.id), { order_id: r.order_id ?? null, carrier_type: r.carrier_type ?? null });
|
|
57
|
+
}
|
|
58
|
+
for (const oid of ids) {
|
|
59
|
+
const set = cartsPerOrder.get(oid);
|
|
60
|
+
const cartIds = set ? [...set].filter((c) => cartRow.has(c)) : [];
|
|
61
|
+
out.set(oid, {
|
|
62
|
+
count: cartIds.length,
|
|
63
|
+
cartIds,
|
|
64
|
+
carrierTypes: cartIds.map((c) => String(cartRow.get(c)?.carrier_type ?? "")),
|
|
65
|
+
sharedCount: cartIds.filter((c) => cartRow.get(c)?.order_id !== oid).length,
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
return out;
|
|
69
|
+
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type OrderDeparture } from "./order-departure.js";
|
|
2
|
+
export declare const LIST_CHUNK = 1000;
|
|
2
3
|
export declare function loadOrderDepartures(supabase: any, orderIds: string[]): Promise<Map<string, OrderDeparture>>;
|
|
3
4
|
export declare function forgetOrderDeparture(orderId: string): void;
|
|
4
5
|
//# sourceMappingURL=order-departure.server.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"order-departure.server.d.ts","sourceRoot":"","sources":["../../src/lib/order-departure.server.ts"],"names":[],"mappings":"AAGA,OAAO,EAAsB,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"order-departure.server.d.ts","sourceRoot":"","sources":["../../src/lib/order-departure.server.ts"],"names":[],"mappings":"AAGA,OAAO,EAAsB,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAG5E,eAAO,MAAM,UAAU,OAAO,CAAC;AAI/B,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,GAAG,EACb,QAAQ,EAAE,MAAM,EAAE,GACjB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAwDtC;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,QAEnD"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
// order (maximaal 12 tegelijk). Fout => order ontbreekt in het resultaat.
|
|
4
4
|
import { normalizeDeparture } from "./order-departure.js";
|
|
5
5
|
const PARALLEL = 12;
|
|
6
|
+
export const LIST_CHUNK = 1000;
|
|
6
7
|
const CACHE_MS = 30000;
|
|
7
8
|
const cache = new Map();
|
|
8
9
|
export async function loadOrderDepartures(supabase, orderIds) {
|
|
@@ -18,11 +19,22 @@ export async function loadOrderDepartures(supabase, orderIds) {
|
|
|
18
19
|
}
|
|
19
20
|
if (todo.length === 0)
|
|
20
21
|
return out;
|
|
21
|
-
// Lijstversie (Engine 1.0.162+): één aanroep.
|
|
22
|
+
// Lijstversie (Engine 1.0.162+): één aanroep per 1000 orders.
|
|
22
23
|
try {
|
|
23
|
-
const
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
const rows = [];
|
|
25
|
+
let listOk = true;
|
|
26
|
+
for (let i = 0; i < todo.length; i += LIST_CHUNK) {
|
|
27
|
+
const { data, error } = await supabase.rpc("logistics_order_departure_list", {
|
|
28
|
+
p_order_ids: todo.slice(i, i + LIST_CHUNK),
|
|
29
|
+
});
|
|
30
|
+
if (error) {
|
|
31
|
+
listOk = false;
|
|
32
|
+
break;
|
|
33
|
+
}
|
|
34
|
+
if (Array.isArray(data))
|
|
35
|
+
rows.push(...data);
|
|
36
|
+
}
|
|
37
|
+
if (listOk) {
|
|
26
38
|
for (const row of rows) {
|
|
27
39
|
const r = (row && typeof row === "object" && "departure" in row ? row.departure : row);
|
|
28
40
|
const id = String(row?.order_id ?? row?.orderId ?? r?.orderId ?? "");
|
|
@@ -20,6 +20,10 @@ export declare const getOrderPickupMoment: import("@tanstack/start-client-core")
|
|
|
20
20
|
options: PickupMomentOption[];
|
|
21
21
|
hasCarrier: boolean;
|
|
22
22
|
deliveryTime: string | null;
|
|
23
|
+
lateOverride: {
|
|
24
|
+
by: string | null;
|
|
25
|
+
at: string | null;
|
|
26
|
+
} | null;
|
|
23
27
|
}>>;
|
|
24
28
|
export declare const setOrderPickupMoment: import("@tanstack/start-client-core").OptionalFetcher<readonly [import("@tanstack/start-client-core").FunctionMiddlewareAfterServer<{}, unknown, undefined, {
|
|
25
29
|
supabase: import("../integrations/supabase/auth-middleware.js").AuthedSupabaseClient;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"order-pickup.functions.d.ts","sourceRoot":"","sources":["../../src/lib/order-pickup.functions.ts"],"names":[],"mappings":"AAMA,OAAO,EAAiB,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAG3F,MAAM,WAAW,kBAAkB;IACjC,uEAAuE;IACvE,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;CACf;AAOD,8EAA8E;AAC9E,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI,GAAG,kBAAkB,EAAE,CAoB9E;AAaD,eAAO,MAAM,oBAAoB;;;;8CAEP,OAAO
|
|
1
|
+
{"version":3,"file":"order-pickup.functions.d.ts","sourceRoot":"","sources":["../../src/lib/order-pickup.functions.ts"],"names":[],"mappings":"AAMA,OAAO,EAAiB,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAG3F,MAAM,WAAW,kBAAkB;IACjC,uEAAuE;IACvE,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;CACf;AAOD,8EAA8E;AAC9E,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI,GAAG,kBAAkB,EAAE,CAoB9E;AAaD,eAAO,MAAM,oBAAoB;;;;8CAEP,OAAO;;;;;;;;;;YA2CgE,MAAM,GAAG,IAAI;YACtD,MAAM,GAAG,IAAI;;GAIjE,CAAC;AAEL,eAAO,MAAM,oBAAoB;;;;8CAEP,OAAO;;;;;GAoB7B,CAAC"}
|
|
@@ -68,6 +68,7 @@ export const getOrderPickupMoment = createServerFn({ method: "GET" })
|
|
|
68
68
|
options: [],
|
|
69
69
|
hasCarrier: false,
|
|
70
70
|
deliveryTime: null,
|
|
71
|
+
lateOverride: null,
|
|
71
72
|
};
|
|
72
73
|
}
|
|
73
74
|
const cf = (order.custom_fields ?? {});
|
|
@@ -88,6 +89,12 @@ export const getOrderPickupMoment = createServerFn({ method: "GET" })
|
|
|
88
89
|
options,
|
|
89
90
|
hasCarrier: !!carrier,
|
|
90
91
|
deliveryTime: normalizeTime(cf.delivery_time),
|
|
92
|
+
lateOverride: cf.late_signup_override
|
|
93
|
+
? {
|
|
94
|
+
by: (cf.late_signup_override.by_name ?? cf.late_signup_override.by_email ?? null),
|
|
95
|
+
at: (cf.late_signup_override.at ?? null),
|
|
96
|
+
}
|
|
97
|
+
: null,
|
|
91
98
|
};
|
|
92
99
|
});
|
|
93
100
|
export const setOrderPickupMoment = createServerFn({ method: "POST" })
|
|
@@ -1,4 +1,12 @@
|
|
|
1
|
-
export type PlanCoverageState = "ingedeeld" | "deels" | "geen_indeling" | "geen_regels" | "onbekend";
|
|
1
|
+
export type PlanCoverageState = "ingedeeld" | "deels" | "geen_indeling" | "geen_regels" | "afgehandeld_extern" | "onbekend";
|
|
2
|
+
/** Afgehandeld in Floriday volgens de Engine (alleen detailversie). */
|
|
3
|
+
export interface PlanCoverageExternal {
|
|
4
|
+
full: boolean;
|
|
5
|
+
salesOrderIds: string[];
|
|
6
|
+
reason: string | null;
|
|
7
|
+
appliedAt: string | null;
|
|
8
|
+
eventId: string | null;
|
|
9
|
+
}
|
|
2
10
|
export interface PlanCoverageLine {
|
|
3
11
|
orderItemId: string | null;
|
|
4
12
|
productId: string | null;
|
|
@@ -44,6 +52,8 @@ export interface PlanCoverage {
|
|
|
44
52
|
bufferCartCount?: number | null;
|
|
45
53
|
/** Alleen uit de lijstversie: ordernummer (ter informatie; match blijft op order_id). */
|
|
46
54
|
orderNumber?: string | null;
|
|
55
|
+
/** Afgehandeld in Floriday (Engine); null = niet van toepassing. */
|
|
56
|
+
externalFulfilled?: PlanCoverageExternal | null;
|
|
47
57
|
/** Gezet als de Engine-vraag mislukte (fail closed: niets geschreven). */
|
|
48
58
|
error?: string | null;
|
|
49
59
|
}
|
|
@@ -51,6 +61,8 @@ export declare function defaultLabel(state: PlanCoverageState): string;
|
|
|
51
61
|
export declare function unknownCoverage(error: string): PlanCoverage;
|
|
52
62
|
/** Leest het jsonb-antwoord defensief in; ontbrekende velden worden leeg. */
|
|
53
63
|
export declare function parsePlanCoverage(raw: unknown): PlanCoverage;
|
|
64
|
+
/** Leest externalFulfilled defensief; ongeldig of ontbrekend = null. */
|
|
65
|
+
export declare function parseExternal(v: unknown): PlanCoverageExternal | null;
|
|
54
66
|
/** Leest één rij van logistics_order_plan_coverage_list (platte kolommen, geen karregels). */
|
|
55
67
|
export declare function parsePlanCoverageListRow(r: any): PlanCoverage;
|
|
56
68
|
/** Samenvatting voor één rij in de lijst (buffer: de zwakste status wint). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan-coverage.d.ts","sourceRoot":"","sources":["../../src/lib/plan-coverage.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,iBAAiB,
|
|
1
|
+
{"version":3,"file":"plan-coverage.d.ts","sourceRoot":"","sources":["../../src/lib/plan-coverage.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// Indelingsstatus per order zoals de Logistiek Engine die levert via
|
|
2
2
|
// public.logistics_order_plan_coverage. Alleen types en een veilige parser —
|
|
3
3
|
// browser-veilig, geen databasecode. Deze module telt nooit zelf karren.
|
|
4
|
-
const STATES = ["ingedeeld", "deels", "geen_indeling", "geen_regels"];
|
|
4
|
+
const STATES = ["ingedeeld", "deels", "geen_indeling", "geen_regels", "afgehandeld_extern"];
|
|
5
5
|
const PICK = ["geen_pickrij", "open", "bezig", "gepickt"];
|
|
6
6
|
const str = (v) => typeof v === "string" && v.trim() !== "" ? v : typeof v === "number" ? String(v) : null;
|
|
7
7
|
const num = (v) => {
|
|
@@ -18,6 +18,8 @@ export function defaultLabel(state) {
|
|
|
18
18
|
return "Geen indeling";
|
|
19
19
|
case "geen_regels":
|
|
20
20
|
return "Geen regels";
|
|
21
|
+
case "afgehandeld_extern":
|
|
22
|
+
return "Afgehandeld in Floriday";
|
|
21
23
|
default:
|
|
22
24
|
return "Indeling onbekend";
|
|
23
25
|
}
|
|
@@ -73,9 +75,25 @@ export function parsePlanCoverage(raw) {
|
|
|
73
75
|
pickRows,
|
|
74
76
|
pickStatus: PICK.includes(d.pickStatus) ? d.pickStatus : null,
|
|
75
77
|
pickedAt: str(d.pickedAt),
|
|
78
|
+
externalFulfilled: parseExternal(d.externalFulfilled),
|
|
76
79
|
error: state === "onbekend" ? "Onbekende indelingsstatus van de Engine" : null,
|
|
77
80
|
};
|
|
78
81
|
}
|
|
82
|
+
/** Leest externalFulfilled defensief; ongeldig of ontbrekend = null. */
|
|
83
|
+
export function parseExternal(v) {
|
|
84
|
+
if (!v || typeof v !== "object")
|
|
85
|
+
return null;
|
|
86
|
+
const e = v;
|
|
87
|
+
if (typeof e.full !== "boolean")
|
|
88
|
+
return null;
|
|
89
|
+
return {
|
|
90
|
+
full: e.full,
|
|
91
|
+
salesOrderIds: (Array.isArray(e.salesOrderIds) ? e.salesOrderIds : []).map(String).filter(Boolean),
|
|
92
|
+
reason: str(e.reason),
|
|
93
|
+
appliedAt: str(e.appliedAt),
|
|
94
|
+
eventId: str(e.eventId),
|
|
95
|
+
};
|
|
96
|
+
}
|
|
79
97
|
/** Leest één rij van logistics_order_plan_coverage_list (platte kolommen, geen karregels). */
|
|
80
98
|
export function parsePlanCoverageListRow(r) {
|
|
81
99
|
if (!r || typeof r !== "object")
|
|
@@ -107,6 +125,7 @@ const RANK = {
|
|
|
107
125
|
deels: 2,
|
|
108
126
|
ingedeeld: 3,
|
|
109
127
|
geen_regels: 4,
|
|
128
|
+
afgehandeld_extern: 5,
|
|
110
129
|
};
|
|
111
130
|
export function summarize(c) {
|
|
112
131
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"salesorders-list.server.d.ts","sourceRoot":"","sources":["../../src/lib/salesorders-list.server.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAML,KAAK,aAAa,EAClB,KAAK,iBAAiB,EAEvB,MAAM,uBAAuB,CAAC;AAQ/B,OAAO,EAAkC,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAIjF,4EAA4E;AAC5E,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,UAAU,GAAG,SAAS,GAAG,cAAc,CAAC;AAExE,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,SAAS,GAAG,UAAU,CAAC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,SAAS,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,+DAA+D;IAC/D,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,yEAAyE;IACzE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,aAAa,EAAE,CAAC;IACtB,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,2DAA2D;IAC3D,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;CACpB;AA8ID,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,UAAU,EAClB,kBAAkB,GAAE,cAAyB,GAC5C,OAAO,CAAC,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"salesorders-list.server.d.ts","sourceRoot":"","sources":["../../src/lib/salesorders-list.server.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAML,KAAK,aAAa,EAClB,KAAK,iBAAiB,EAEvB,MAAM,uBAAuB,CAAC;AAQ/B,OAAO,EAAkC,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAIjF,4EAA4E;AAC5E,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,UAAU,GAAG,SAAS,GAAG,cAAc,CAAC;AAExE,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,SAAS,GAAG,UAAU,CAAC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,SAAS,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,+DAA+D;IAC/D,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,yEAAyE;IACzE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,aAAa,EAAE,CAAC;IACtB,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,2DAA2D;IAC3D,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;CACpB;AA8ID,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,UAAU,EAClB,kBAAkB,GAAE,cAAyB,GAC5C,OAAO,CAAC,UAAU,CAAC,CA8lCrB"}
|
|
@@ -6,7 +6,7 @@ import { resolveProductName } from "./product-name.js";
|
|
|
6
6
|
import { centralOrderNumber, computeTotals, mapJsonbToSalesOrderDTO, packingConfigFromFloridayPacking, } from "./salesorders-mapping.js";
|
|
7
7
|
import { cratePackageName, loadCarrierName, mergeTypeNames } from "./load-carrier-labels.js";
|
|
8
8
|
import { engineLoadCarrierLabel, normalizeLoadCarrierCode } from "./load-carriers.js";
|
|
9
|
-
import { normalizeTime
|
|
9
|
+
import { normalizeTime } from "./carrier-availability.js";
|
|
10
10
|
import { loadPlanCoverage } from "./plan-coverage.server.js";
|
|
11
11
|
import { combineStages } from "./floriday-status.js";
|
|
12
12
|
import { combinedCartCount, mergeSummaries, summarize } from "./plan-coverage.js";
|
|
@@ -654,11 +654,8 @@ export async function buildSalesOrdersList(supabase, params, connectionSupabase
|
|
|
654
654
|
? rawOrderDate
|
|
655
655
|
: (r.created_at ?? rawOrderDate ?? "");
|
|
656
656
|
const rawDeliveryDate = String(r.delivery_date ?? "");
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
const createdAt = r.created_at ? new Date(r.created_at) : new Date();
|
|
660
|
-
deliveryTime = resolveDeliveryTimeForDate(carrierById.get(String(cf.carrier)) ?? null, rawDeliveryDate.slice(0, 10), createdAt);
|
|
661
|
-
}
|
|
657
|
+
// Aanlevertijd alleen zoals vastgelegd; geen eigen berekening.
|
|
658
|
+
const deliveryTime = normalizeTime(cf.delivery_time);
|
|
662
659
|
const deliveryAt = rawDeliveryDate && !rawDeliveryDate.includes("T") && deliveryTime
|
|
663
660
|
? `${rawDeliveryDate.slice(0, 10)}T${deliveryTime}:00`
|
|
664
661
|
: rawDeliveryDate;
|
|
@@ -725,6 +722,10 @@ export async function buildSalesOrdersList(supabase, params, connectionSupabase
|
|
|
725
722
|
],
|
|
726
723
|
packingSource: localPackingSource,
|
|
727
724
|
floridayFulfilled: Boolean(cf.floriday_fulfilled),
|
|
725
|
+
floridayExternalFulfilledAt: cf.floriday_external_fulfilled_at ?? null,
|
|
726
|
+
floridayMissingLineKeyNotice: typeof cf.floriday_missing_line_key_notice === "string" ? cf.floriday_missing_line_key_notice : null,
|
|
727
|
+
customerReference: typeof cf.customer_reference === "string" && cf.customer_reference.trim() ? cf.customer_reference.trim() : null,
|
|
728
|
+
floridayExternalFulfilledIds: Array.isArray(cf.floriday_external_fulfilled_sales_order_ids) ? cf.floriday_external_fulfilled_sales_order_ids : [],
|
|
728
729
|
notReportedToFloriday: (sourceRaw === "floriday" || !!r.floriday_sales_order_id) &&
|
|
729
730
|
isNotReportedLocally(resolveOrderStage({
|
|
730
731
|
status: r.status,
|
|
@@ -969,7 +970,7 @@ export async function buildSalesOrdersList(supabase, params, connectionSupabase
|
|
|
969
970
|
// 13) Filteren (zoek + status), tellen, pagineren — op samengevouwen rijen.
|
|
970
971
|
const search = (params.search ?? "").trim().toLowerCase();
|
|
971
972
|
const matchesSearch = (members) => !search ||
|
|
972
|
-
members.some((o) => `${o.productName} ${o.sku} ${o.orderNumber} ${o.customer.name}`.toLowerCase().includes(search));
|
|
973
|
+
members.some((o) => `${o.productName} ${o.sku} ${o.orderNumber} ${o.customer.name} ${o.customerReference ?? ""}`.toLowerCase().includes(search));
|
|
973
974
|
const stageOf = (members) => mergeStages(members.map((m) => m.stage ?? "incoming"));
|
|
974
975
|
const matchesStatusFilter = (members) => {
|
|
975
976
|
const stage = stageOf(members);
|
|
@@ -50,6 +50,13 @@ export interface SalesOrderDTO {
|
|
|
50
50
|
* Nooit sturend voor status, tabs, filters, facturatie of voorraadverbruik.
|
|
51
51
|
*/
|
|
52
52
|
floridayFulfilled?: boolean;
|
|
53
|
+
/** Tijdstip waarop de order in Floriday zelf (buiten het ERP om) is afgehandeld. */
|
|
54
|
+
floridayExternalFulfilledAt?: string | null;
|
|
55
|
+
floridayMissingLineKeyNotice?: string | null;
|
|
56
|
+
/** Referentie van de klant (custom_fields.customer_reference), alleen lezen. */
|
|
57
|
+
customerReference?: string | null;
|
|
58
|
+
/** Floriday-bestellingen op deze order die in Floriday zijn afgehandeld. */
|
|
59
|
+
floridayExternalFulfilledIds?: string[];
|
|
53
60
|
/** Verzonden in het ERP, nog niet afgemeld bij Floriday (alleen weergave). */
|
|
54
61
|
notReportedToFloriday?: boolean;
|
|
55
62
|
notReportedCount?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"salesorders-mapping.d.ts","sourceRoot":"","sources":["../../src/lib/salesorders-mapping.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmB,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAElE,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IACnE,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,gEAAgE;IAChE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,0DAA0D;IAC1D,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,wEAAwE;IACxE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,yGAAyG;IACzG,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,mEAAmE;IACnE,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,0FAA0F;IAC1F,aAAa,CAAC,EAAE,aAAa,CAAC;IAE9B,WAAW,EAAE,MAAM,CAAC;IAEpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,2EAA2E;IAC3E,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,sDAAsD;IACtD,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,6CAA6C;IAC7C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,sDAAsD;IACtD,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,kEAAkE;IAClE,YAAY,CAAC,EAAE,KAAK,GAAG,UAAU,CAAC;IAClC,8CAA8C;IAC9C,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,8EAA8E;IAC9E,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,uEAAuE;IACvE,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC;;;OAGG;IACH,iBAAiB,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;IACjE,+EAA+E;IAC/E,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,uEAAuE;IACvE,gBAAgB,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,EAAE,CAAC;IAElE,mFAAmF;IACnF,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,2DAA2D;IAC3D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,+EAA+E;IAC/E,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,2EAA2E;IAC3E,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,iBAAiB,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAEpE;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,wEAAwE;IACxE,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,+DAA+D;IAC/D,cAAc,CAAC,EAAE,OAAO,mBAAmB,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAC1E,0EAA0E;IAC1E,UAAU,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACrD,oEAAoE;IACpE,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,+CAA+C;IAC/C,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,iEAAiE;IACjE,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAGtB,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,+EAA+E;QAC/E,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,UAAU,EAAE,MAAM,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;KACxB,CAAC;IACF,MAAM,EAAE;QACN,WAAW,EAAE,OAAO,CAAC;QACrB,SAAS,EAAE,OAAO,CAAC;QACnB,UAAU,EAAE,OAAO,CAAC;QACpB,WAAW,EAAE,OAAO,CAAC;QACrB,YAAY,EAAE,OAAO,CAAC;QACtB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;KAC7B,CAAC;IAEF,GAAG,EAAE;QACH,KAAK,EAAE,GAAG,CAAC;QACX,QAAQ,EAAE,GAAG,GAAG,IAAI,CAAC;QACrB,SAAS,EAAE,GAAG,GAAG,IAAI,CAAC;KACvB,CAAC;CACH;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,GAAG,CAAC,EAAE,GAAG,CAAC;CACX;AACD,MAAM,MAAM,cAAc,GAAG,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;AAE9D,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,GAAG,CAAC,EAAE,GAAG,CAAC;CACX;AACD,MAAM,MAAM,eAAe,GAAG,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;AAWhE;;;;;;;GAOG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,YAAY,GAAG,SAAS,GAAG,YAAY,CAAC;AAmD9E;;;;GAIG;AACH,wBAAgB,gCAAgC,CAAC,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAmBpE;AAKD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAEpE;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAEzD;AAED,wFAAwF;AACxF,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,UAAU,GAAG,UAAU,CAAC;AAK7D,wBAAgB,eAAe,CAC7B,EAAE,EAAE,MAAM,GACT;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAa7C;AAED,wBAAgB,uBAAuB,CACrC,CAAC,EAAE,GAAG,EACN,cAAc,CAAC,EAAE,cAAc,EAC/B,eAAe,CAAC,EAAE,eAAe,EACjC,wBAAwB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAC7C,aAAa,CAkGf;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,iBAAiB,CAUxE;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC;IACnC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;CACnE;AAGD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,IAAI,CAAA;CAAE,CAWnF;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,IAAI,CAAA;CAAE,CAIlF;AAYD,wBAAgB,YAAY,CAC1B,MAAM,EAAE,aAAa,EAAE,EACvB,CAAC,EAAE,iBAAiB,GACnB,aAAa,EAAE,CAuDjB;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAyCtF"}
|
|
1
|
+
{"version":3,"file":"salesorders-mapping.d.ts","sourceRoot":"","sources":["../../src/lib/salesorders-mapping.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"salesorders.functions.d.ts","sourceRoot":"","sources":["../../src/lib/salesorders.functions.ts"],"names":[],"mappings":"AAMA,OAAO,EAIL,KAAK,aAAa,EAEnB,MAAM,uBAAuB,CAAC;AAqD/B,wBAAsB,0BAA0B,iBAM/C;AAGD,eAAO,MAAM,kBAAkB;;;;;QA3BzB,OAAO;cACD,OAAO;cACP,MAAM;GA2B+B,CAAC;AA6BlD,eAAO,MAAM,gBAAgB;;;;6CAEJ,OAAO;;;;;;;;;;;;;GAmC5B,CAAC;AAGL,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDnC,CAAC;AASL,MAAM,MAAM,sBAAsB,GAAG;IACnC,KAAK,EAAE,aAAa,GAAG,IAAI,CAAC;IAC5B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,WAAW,EAAE,SAAS,GAAG,MAAM,CAAC;IAChC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,cAAc,EAAE,aAAa,EAAE,CAAC;CACjC,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;;0CAEV,OAAO;;
|
|
1
|
+
{"version":3,"file":"salesorders.functions.d.ts","sourceRoot":"","sources":["../../src/lib/salesorders.functions.ts"],"names":[],"mappings":"AAMA,OAAO,EAIL,KAAK,aAAa,EAEnB,MAAM,uBAAuB,CAAC;AAqD/B,wBAAsB,0BAA0B,iBAM/C;AAGD,eAAO,MAAM,kBAAkB;;;;;QA3BzB,OAAO;cACD,OAAO;cACP,MAAM;GA2B+B,CAAC;AA6BlD,eAAO,MAAM,gBAAgB;;;;6CAEJ,OAAO;;;;;;;;;;;;;GAmC5B,CAAC;AAGL,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDnC,CAAC;AASL,MAAM,MAAM,sBAAsB,GAAG;IACnC,KAAK,EAAE,aAAa,GAAG,IAAI,CAAC;IAC5B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,WAAW,EAAE,SAAS,GAAG,MAAM,CAAC;IAChC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,cAAc,EAAE,aAAa,EAAE,CAAC;CACjC,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;;0CAEV,OAAO;;mCA+ZzB,CAAC;AAQL,eAAO,MAAM,uBAAuB;;;;0CAEd,OAAO;;;;;GAQzB,CAAC;AAOL,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,SAAS,GAAG,MAAM,GAAG,IAAI,CAAC;IACvC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,KAAK,EAAE,OAAO,CAAC;IACf,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,qEAAqE;IACrE,iBAAiB,EAAE,MAAM,EAAE,CAAC;CAC7B,CAAC;AAIF,eAAO,MAAM,qBAAqB;;;;6EA4E9B,CAAC"}
|
|
@@ -330,6 +330,16 @@ export const getSalesOrderDetail = createServerFn({ method: "POST" })
|
|
|
330
330
|
isReservation: ownRow ? !!ownRow.is_reservation : false,
|
|
331
331
|
});
|
|
332
332
|
dto.floridayFulfilled = Boolean((ownRow?.custom_fields ?? {})?.floriday_fulfilled);
|
|
333
|
+
dto.floridayExternalFulfilledAt = (ownRow?.custom_fields ?? {})?.floriday_external_fulfilled_at ?? null;
|
|
334
|
+
{
|
|
335
|
+
const r = (ownRow?.custom_fields ?? {})?.customer_reference;
|
|
336
|
+
dto.customerReference = typeof r === "string" && r.trim() ? r.trim() : null;
|
|
337
|
+
}
|
|
338
|
+
{
|
|
339
|
+
const n = (ownRow?.custom_fields ?? {})?.floriday_missing_line_key_notice;
|
|
340
|
+
dto.floridayMissingLineKeyNotice = typeof n === "string" ? n : null;
|
|
341
|
+
}
|
|
342
|
+
dto.floridayExternalFulfilledIds = (ownRow?.custom_fields ?? {})?.floriday_external_fulfilled_sales_order_ids ?? [];
|
|
333
343
|
const reviewCf = (ownRow?.custom_fields ?? {});
|
|
334
344
|
dto.mixedDeliveryDates = Boolean(reviewCf?.floriday_mixed_delivery_dates);
|
|
335
345
|
dto.unlinkedProducts = ownRow ? unlinkedFloridayProducts(ownRow) : [];
|