u
This commit is contained in:
@@ -290,9 +290,18 @@ export async function importOrders({
|
||||
const parsedDate = dateStr ? new Date(dateStr) : new Date();
|
||||
const validDate = !Number.isNaN(parsedDate.getTime()) ? parsedDate.toISOString() : new Date().toISOString();
|
||||
|
||||
const orderTotal = Math.round(
|
||||
lines.reduce(
|
||||
(sum, l) => sum + (l.amount * l.net * (1 - (l.rebate || 0) / 100) * (1 + (l.taxrate || 0) / 100)),
|
||||
0
|
||||
) * 100
|
||||
) / 100;
|
||||
const isRetoure = orderTotal < 0;
|
||||
const domainStore = isRetoure ? store.retoure : store.order;
|
||||
|
||||
let createdOrder = null;
|
||||
try {
|
||||
createdOrder = await store.order.create(googleAuthId, {
|
||||
createdOrder = await domainStore.create(googleAuthId, {
|
||||
number: orderNumber,
|
||||
externalNumber: cleanValue(m.extnr ?? m.cExterneAuftragsnummer) || null,
|
||||
date: validDate,
|
||||
@@ -311,7 +320,7 @@ export async function importOrders({
|
||||
if (l.sku === offendingSku) l.sku = null;
|
||||
}
|
||||
try {
|
||||
createdOrder = await store.order.create(googleAuthId, {
|
||||
createdOrder = await domainStore.create(googleAuthId, {
|
||||
number: orderNumber,
|
||||
externalNumber: cleanValue(m.extnr ?? m.cExterneAuftragsnummer) || null,
|
||||
date: validDate,
|
||||
@@ -322,10 +331,10 @@ export async function importOrders({
|
||||
existingOrderNumbers.add(orderNumber);
|
||||
ordersImported++;
|
||||
} catch (retryErr) {
|
||||
log.warn(`Failed to create order ${orderNumber} after stripping parent SKU ${offendingSku}:`, retryErr.message);
|
||||
log.warn(`Failed to create ${isRetoure ? 'retoure' : 'order'} ${orderNumber} after stripping parent SKU ${offendingSku}:`, retryErr.message);
|
||||
}
|
||||
} else {
|
||||
log.warn(`Failed to create order ${orderNumber}:`, err.message);
|
||||
log.warn(`Failed to create ${isRetoure ? 'retoure' : 'order'} ${orderNumber}:`, err.message);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -333,29 +342,20 @@ export async function importOrders({
|
||||
// Handle Payment
|
||||
const isPayed = String(m.payed ?? '').trim() === '1';
|
||||
const paymentType = cleanValue(m.paymentType);
|
||||
if (isPayed && paymentType) {
|
||||
const orderTotal = Math.round(
|
||||
lines.reduce(
|
||||
(sum, l) => sum + (l.amount * l.net * (1 - (l.rebate || 0) / 100) * (1 + (l.taxrate || 0) / 100)),
|
||||
0
|
||||
) * 100
|
||||
) / 100;
|
||||
|
||||
if (orderTotal > 0) {
|
||||
try {
|
||||
const accountId = await resolveAccountId(paymentType);
|
||||
if (accountId) {
|
||||
await store.payment.create(googleAuthId, {
|
||||
accountId,
|
||||
manifestId: createdOrder.id,
|
||||
type: paymentType,
|
||||
amount: orderTotal,
|
||||
});
|
||||
paymentsImported++;
|
||||
}
|
||||
} catch (err) {
|
||||
log.warn(`Failed to create payment for order ${orderNumber}:`, err.message);
|
||||
if (isPayed && paymentType && orderTotal !== 0) {
|
||||
try {
|
||||
const accountId = await resolveAccountId(paymentType);
|
||||
if (accountId) {
|
||||
await store.payment.create(googleAuthId, {
|
||||
accountId,
|
||||
manifestId: createdOrder.id,
|
||||
type: paymentType,
|
||||
amount: orderTotal,
|
||||
});
|
||||
paymentsImported++;
|
||||
}
|
||||
} catch (err) {
|
||||
log.warn(`Failed to create payment for ${isRetoure ? 'retoure' : 'order'} ${orderNumber}:`, err.message);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user