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 // Struck for customer
if (order.totalPaid > 0) { 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 // 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 // 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 // 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 // Struck for bar if exist product bar
final itemsBar = order.orderItems.where( final itemsBar = order.orderItems.where(
(item) => item.printerType == 'bar', (item) => item.printerType == 'bar',
); );
if (itemsBar.isNotEmpty) { 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); return right(unit);
@ -561,6 +590,7 @@ class PrinterRepository implements IPrinterRepository {
); );
} }
} else { } else {
log('Receipt printer not found', name: _logName);
FirebaseCrashlytics.instance.recordError( FirebaseCrashlytics.instance.recordError(
'Receipt printer not found', 'Receipt printer not found',
null, null,
@ -569,7 +599,9 @@ class PrinterRepository implements IPrinterRepository {
information: ['Order ID: ${order.id}'], information: ['Order ID: ${order.id}'],
); );
return left( 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}'], information: ['Order ID: ${order.id}'],
); );
return left( 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}'], information: ['Order ID: ${order.id}'],
); );
return left( 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 { } else {
log('Checker printer not found', name: _logName);
FirebaseCrashlytics.instance.recordError( FirebaseCrashlytics.instance.recordError(
'Checker printer not found', 'Checker printer not found',
null, null,
@ -728,7 +765,9 @@ class PrinterRepository implements IPrinterRepository {
information: ['Order ID: ${order.id}'], information: ['Order ID: ${order.id}'],
); );
return left( 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}'], information: ['Order ID: ${order.id}'],
); );
return left( 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}'], information: ['Order ID: ${order.id}'],
); );
return left( 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}'], information: ['Order ID: ${order.id}'],
); );
return left( return left(
const PrinterFailure.dynamicErrorMessage('SplitBill printer not found'), const PrinterFailure.dynamicErrorMessage(
'Receipt printer belum terhubung, Silahkan hubungkan printer di pengaturan.',
),
); );
} }
} }