u
This commit is contained in:
@@ -203,7 +203,7 @@ export async function importOrders({
|
|||||||
log.warn('Could not list carriers:', err.message);
|
log.warn('Could not list carriers:', err.message);
|
||||||
}
|
}
|
||||||
|
|
||||||
const resolveCarrierId = async (name) => {
|
const resolveCarrierId = async (name, { hasPackages = true } = {}) => {
|
||||||
const cleanName = (name || '').trim() || 'Standard';
|
const cleanName = (name || '').trim() || 'Standard';
|
||||||
const key = cleanName.toLowerCase();
|
const key = cleanName.toLowerCase();
|
||||||
if (carrierMap.has(key)) return carrierMap.get(key);
|
if (carrierMap.has(key)) return carrierMap.get(key);
|
||||||
@@ -211,7 +211,7 @@ export async function importOrders({
|
|||||||
try {
|
try {
|
||||||
const carrier = await store.carrier.create(googleAuthId, {
|
const carrier = await store.carrier.create(googleAuthId, {
|
||||||
name: cleanName,
|
name: cleanName,
|
||||||
hasPackages: true,
|
hasPackages,
|
||||||
});
|
});
|
||||||
carrierMap.set(key, carrier.id);
|
carrierMap.set(key, carrier.id);
|
||||||
return carrier.id;
|
return carrier.id;
|
||||||
@@ -379,31 +379,31 @@ export async function importOrders({
|
|||||||
const isSelbstabholer = (shippingType || '').trim().toLowerCase() === 'selbstabholer';
|
const isSelbstabholer = (shippingType || '').trim().toLowerCase() === 'selbstabholer';
|
||||||
const deliveryState = isShipped ? 'delivered' : 'new';
|
const deliveryState = isShipped ? 'delivered' : 'new';
|
||||||
|
|
||||||
const shipment = await store.shipment.create(googleAuthId, {
|
const trackingCode = isSelbstabholer
|
||||||
|
? ''
|
||||||
|
: cleanValue(m.trackingCode ?? m.tracking_code ?? m.cTracking);
|
||||||
|
const carrierName = isSelbstabholer
|
||||||
|
? 'Selbstabholer'
|
||||||
|
: cleanValue(m.carrier ?? m.cCarrier) || 'Standard';
|
||||||
|
const carrierId = await resolveCarrierId(carrierName, { hasPackages: !isSelbstabholer });
|
||||||
|
if (!carrierId) {
|
||||||
|
throw new Error(`Could not resolve carrier "${carrierName}"`);
|
||||||
|
}
|
||||||
|
|
||||||
|
await store.shipment.create(googleAuthId, {
|
||||||
orderId: createdOrder.id,
|
orderId: createdOrder.id,
|
||||||
date: validDate,
|
date: validDate,
|
||||||
state: deliveryState,
|
state: deliveryState,
|
||||||
lines: shippableLines,
|
lines: shippableLines,
|
||||||
|
shipping: {
|
||||||
|
carrierId,
|
||||||
|
type: shippingType || 'standard',
|
||||||
|
state: isShipped ? 'shipped' : 'draft',
|
||||||
|
trackingCode: trackingCode || undefined,
|
||||||
|
warehouseId: defaultWarehouseId || undefined,
|
||||||
|
},
|
||||||
});
|
});
|
||||||
|
shippingsImported++;
|
||||||
if (!isSelbstabholer) {
|
|
||||||
const trackingCode = cleanValue(m.trackingCode ?? m.tracking_code ?? m.cTracking);
|
|
||||||
const carrierName = cleanValue(m.carrier ?? m.cCarrier) || 'Standard';
|
|
||||||
const carrierId = await resolveCarrierId(carrierName);
|
|
||||||
const shippingState = isShipped ? 'shipped' : 'draft';
|
|
||||||
|
|
||||||
if (carrierId) {
|
|
||||||
await store.shipping.create(googleAuthId, {
|
|
||||||
manifestId: shipment.id,
|
|
||||||
carrierId,
|
|
||||||
type: shippingType || 'standard',
|
|
||||||
state: shippingState,
|
|
||||||
trackingCode: trackingCode || undefined,
|
|
||||||
warehouseId: defaultWarehouseId || undefined,
|
|
||||||
});
|
|
||||||
shippingsImported++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
log.warn(`Failed to create shipment/shipping for order ${orderNumber}:`, err.message);
|
log.warn(`Failed to create shipment/shipping for order ${orderNumber}:`, err.message);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user