fix printer

This commit is contained in:
efrilm 2025-11-13 12:56:28 +07:00
parent 97313371c3
commit d3974b8eda

View File

@ -413,21 +413,50 @@ class PrinterRepository implements IPrinterRepository {
// Struck for customer
if (order.totalPaid > 0) {
_printReceipt(order: order, outlet: outlet, cashieName: user.name);
final result = await _printReceipt(
order: order,
outlet: outlet,
cashieName: user.name,
);
if (result.isLeft()) return result; // Jika gagal, return error
}
// Struck for cashier
_printCashier(order: order, outlet: outlet, cashieName: user.name);
final cashierResult = await _printCashier(
order: order,
outlet: outlet,
cashieName: user.name,
);
if (cashierResult.isLeft()) return cashierResult;
// Struck for kitchen
_printKitchen(order: order, outlet: outlet, cashieName: user.name);
final kitchenResult = await _printKitchen(
order: order,
outlet: outlet,
cashieName: user.name,
);
if (kitchenResult.isLeft()) return kitchenResult;
// Struck for checker
_printChecker(order: order, outlet: outlet, cashieName: user.name);
final checkerResult = await _printChecker(
order: order,
outlet: outlet,
cashieName: user.name,
);
if (checkerResult.isLeft()) return checkerResult;
// Struck for bar if exist product bar
final itemsBar = order.orderItems.where(
(item) => item.printerType == 'bar',
);
if (itemsBar.isNotEmpty) {
_printBar(order: order, outlet: outlet, cashieName: user.name);
final barResult = await _printBar(
order: order,
outlet: outlet,
cashieName: user.name,
);
if (barResult.isLeft()) return barResult;
}
return right(unit);
@ -561,6 +590,7 @@ class PrinterRepository implements IPrinterRepository {
);
}
} else {
log('Receipt printer not found', name: _logName);
FirebaseCrashlytics.instance.recordError(
'Receipt printer not found',
null,
@ -569,7 +599,9 @@ class PrinterRepository implements IPrinterRepository {
information: ['Order ID: ${order.id}'],
);
return left(
const PrinterFailure.dynamicErrorMessage('Receipt printer not found'),
const PrinterFailure.dynamicErrorMessage(
'Receipt printer belum terhubung, Silahkan hubungkan printer di pengaturan.',
),
);
}
}
@ -622,7 +654,9 @@ class PrinterRepository implements IPrinterRepository {
information: ['Order ID: ${order.id}'],
);
return left(
const PrinterFailure.dynamicErrorMessage('Cashier printer not found'),
const PrinterFailure.dynamicErrorMessage(
'Receipt printer belum terhubung, Silahkan hubungkan printer di pengaturan.',
),
);
}
}
@ -675,7 +709,9 @@ class PrinterRepository implements IPrinterRepository {
information: ['Order ID: ${order.id}'],
);
return left(
const PrinterFailure.dynamicErrorMessage('Kitchen printer not found'),
const PrinterFailure.dynamicErrorMessage(
'Kitchen printer belum terhubung, Silahkan hubungkan printer di pengaturan.',
),
);
}
}
@ -720,6 +756,7 @@ class PrinterRepository implements IPrinterRepository {
);
}
} else {
log('Checker printer not found', name: _logName);
FirebaseCrashlytics.instance.recordError(
'Checker printer not found',
null,
@ -728,7 +765,9 @@ class PrinterRepository implements IPrinterRepository {
information: ['Order ID: ${order.id}'],
);
return left(
const PrinterFailure.dynamicErrorMessage('Checker printer not found'),
const PrinterFailure.dynamicErrorMessage(
'Checker printer belum terhubung, Silahkan hubungkan printer di pengaturan.',
),
);
}
}
@ -785,7 +824,9 @@ class PrinterRepository implements IPrinterRepository {
information: ['Order ID: ${order.id}'],
);
return left(
const PrinterFailure.dynamicErrorMessage('Bar printer not found'),
const PrinterFailure.dynamicErrorMessage(
'Bar printer belum terhubung, Silahkan hubungkan printer di pengaturan.',
),
);
}
}
@ -833,7 +874,9 @@ class PrinterRepository implements IPrinterRepository {
information: ['Order ID: ${order.id}'],
);
return left(
const PrinterFailure.dynamicErrorMessage('Void printer not found'),
const PrinterFailure.dynamicErrorMessage(
'Receipt printer belum terhubung, Silahkan hubungkan printer di pengaturan.',
),
);
}
}
@ -886,7 +929,9 @@ class PrinterRepository implements IPrinterRepository {
information: ['Order ID: ${order.id}'],
);
return left(
const PrinterFailure.dynamicErrorMessage('SplitBill printer not found'),
const PrinterFailure.dynamicErrorMessage(
'Receipt printer belum terhubung, Silahkan hubungkan printer di pengaturan.',
),
);
}
}