Compare commits
2
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f5b0e66706 | ||
|
|
1ff144a1a2 |
@@ -460,78 +460,78 @@ class PrinterRepository implements IPrinterRepository {
|
||||
required Order order,
|
||||
}) async {
|
||||
return await _globalPrintLock.synchronized(() async {
|
||||
try {
|
||||
final outlet = await _outletLocalDatasource.currentOutlet();
|
||||
final user = await _authLocalDataProvider.currentUser();
|
||||
try {
|
||||
final outlet = await _outletLocalDatasource.currentOutlet();
|
||||
final user = await _authLocalDataProvider.currentUser();
|
||||
|
||||
// Struck for customer
|
||||
if (order.totalPaid > 0) {
|
||||
final result = await _printReceipt(
|
||||
// Struck for customer
|
||||
if (order.totalPaid > 0) {
|
||||
final result = await _printReceipt(
|
||||
order: order,
|
||||
outlet: outlet,
|
||||
cashieName: user.name,
|
||||
);
|
||||
if (result.isLeft()) return result; // Jika gagal, return error
|
||||
}
|
||||
|
||||
// Struck for cashier
|
||||
final cashierResult = await _printCashier(
|
||||
order: order,
|
||||
outlet: outlet,
|
||||
cashieName: user.name,
|
||||
);
|
||||
if (result.isLeft()) return result; // Jika gagal, return error
|
||||
}
|
||||
if (cashierResult.isLeft()) return cashierResult;
|
||||
|
||||
// Struck for cashier
|
||||
final cashierResult = await _printCashier(
|
||||
order: order,
|
||||
outlet: outlet,
|
||||
cashieName: user.name,
|
||||
);
|
||||
if (cashierResult.isLeft()) return cashierResult;
|
||||
|
||||
// Struck for bar if exist product bar
|
||||
final itemsKitchen = order.orderItems.where(
|
||||
(item) => item.printerType == 'kitchen',
|
||||
);
|
||||
|
||||
if (itemsKitchen.isNotEmpty) {
|
||||
final kitchenResult = await _printKitchen(
|
||||
// Struck for checker
|
||||
final checkerResult = await _printChecker(
|
||||
order: order,
|
||||
outlet: outlet,
|
||||
cashieName: user.name,
|
||||
);
|
||||
if (kitchenResult.isLeft()) return kitchenResult;
|
||||
}
|
||||
if (checkerResult.isLeft()) return checkerResult;
|
||||
|
||||
// Struck for bar if exist product bar
|
||||
final itemsBar = order.orderItems.where(
|
||||
(item) => item.printerType == 'bar',
|
||||
);
|
||||
|
||||
if (itemsBar.isNotEmpty) {
|
||||
final barResult = await _printBar(
|
||||
order: order,
|
||||
outlet: outlet,
|
||||
cashieName: user.name,
|
||||
// Struck for bar if exist product bar
|
||||
final itemsKitchen = order.orderItems.where(
|
||||
(item) => item.printerType == 'kitchen',
|
||||
);
|
||||
|
||||
if (itemsKitchen.isNotEmpty) {
|
||||
final kitchenResult = await _printKitchen(
|
||||
order: order,
|
||||
outlet: outlet,
|
||||
cashieName: user.name,
|
||||
);
|
||||
if (kitchenResult.isLeft()) return kitchenResult;
|
||||
}
|
||||
|
||||
// Struck for bar if exist product bar
|
||||
final itemsBar = order.orderItems.where(
|
||||
(item) => item.printerType == 'bar',
|
||||
);
|
||||
|
||||
if (itemsBar.isNotEmpty) {
|
||||
final barResult = await _printBar(
|
||||
order: order,
|
||||
outlet: outlet,
|
||||
cashieName: user.name,
|
||||
);
|
||||
if (barResult.isLeft()) return barResult;
|
||||
}
|
||||
|
||||
return right(unit);
|
||||
} catch (e, stackTrace) {
|
||||
FirebaseCrashlytics.instance.recordError(
|
||||
'Print Struck Order Error: $e',
|
||||
stackTrace,
|
||||
reason:
|
||||
'Print struck order error / Printer not setting in printer page',
|
||||
information: ['Order ID: ${order.id}'],
|
||||
);
|
||||
log("Error printing struck order", name: _logName, error: e);
|
||||
return left(
|
||||
const PrinterFailure.dynamicErrorMessage('Error printing order'),
|
||||
);
|
||||
if (barResult.isLeft()) return barResult;
|
||||
}
|
||||
|
||||
// Struck for checker
|
||||
final checkerResult = await _printChecker(
|
||||
order: order,
|
||||
outlet: outlet,
|
||||
cashieName: user.name,
|
||||
);
|
||||
if (checkerResult.isLeft()) return checkerResult;
|
||||
|
||||
return right(unit);
|
||||
} catch (e, stackTrace) {
|
||||
FirebaseCrashlytics.instance.recordError(
|
||||
'Print Struck Order Error: $e',
|
||||
stackTrace,
|
||||
reason:
|
||||
'Print struck order error / Printer not setting in printer page',
|
||||
information: ['Order ID: ${order.id}'],
|
||||
);
|
||||
log("Error printing struck order", name: _logName, error: e);
|
||||
return left(
|
||||
const PrinterFailure.dynamicErrorMessage('Error printing order'),
|
||||
);
|
||||
}
|
||||
}); // end _globalPrintLock.synchronized
|
||||
}
|
||||
|
||||
@@ -540,69 +540,69 @@ class PrinterRepository implements IPrinterRepository {
|
||||
required Order order,
|
||||
}) async {
|
||||
return await _globalPrintLock.synchronized(() async {
|
||||
try {
|
||||
final outlet = await _outletLocalDatasource.currentOutlet();
|
||||
final user = await _authLocalDataProvider.currentUser();
|
||||
try {
|
||||
final outlet = await _outletLocalDatasource.currentOutlet();
|
||||
final user = await _authLocalDataProvider.currentUser();
|
||||
|
||||
// Struck for cashier
|
||||
final cashierResult = await _printCashier(
|
||||
order: order,
|
||||
outlet: outlet,
|
||||
cashieName: user.name,
|
||||
);
|
||||
if (cashierResult.isLeft()) return cashierResult;
|
||||
|
||||
// Struck for kitchen
|
||||
// Struck for bar if exist product bar
|
||||
final itemsKitchen = order.orderItems.where(
|
||||
(item) => item.printerType == 'kitchen',
|
||||
);
|
||||
|
||||
if (itemsKitchen.isNotEmpty) {
|
||||
final kitchenResult = await _printKitchen(
|
||||
// Struck for cashier
|
||||
final cashierResult = await _printCashier(
|
||||
order: order,
|
||||
outlet: outlet,
|
||||
cashieName: user.name,
|
||||
);
|
||||
if (kitchenResult.isLeft()) return kitchenResult;
|
||||
}
|
||||
if (cashierResult.isLeft()) return cashierResult;
|
||||
|
||||
// Struck for bar if exist product bar
|
||||
final itemsBar = order.orderItems.where(
|
||||
(item) => item.printerType == 'bar',
|
||||
);
|
||||
|
||||
if (itemsBar.isNotEmpty) {
|
||||
final barResult = await _printBar(
|
||||
// Struck for checker
|
||||
final checkerResult = await _printChecker(
|
||||
order: order,
|
||||
outlet: outlet,
|
||||
cashieName: user.name,
|
||||
);
|
||||
if (barResult.isLeft()) return barResult;
|
||||
if (checkerResult.isLeft()) return checkerResult;
|
||||
|
||||
// Struck for kitchen
|
||||
// Struck for bar if exist product bar
|
||||
final itemsKitchen = order.orderItems.where(
|
||||
(item) => item.printerType == 'kitchen',
|
||||
);
|
||||
|
||||
if (itemsKitchen.isNotEmpty) {
|
||||
final kitchenResult = await _printKitchen(
|
||||
order: order,
|
||||
outlet: outlet,
|
||||
cashieName: user.name,
|
||||
);
|
||||
if (kitchenResult.isLeft()) return kitchenResult;
|
||||
}
|
||||
|
||||
// Struck for bar if exist product bar
|
||||
final itemsBar = order.orderItems.where(
|
||||
(item) => item.printerType == 'bar',
|
||||
);
|
||||
|
||||
if (itemsBar.isNotEmpty) {
|
||||
final barResult = await _printBar(
|
||||
order: order,
|
||||
outlet: outlet,
|
||||
cashieName: user.name,
|
||||
);
|
||||
if (barResult.isLeft()) return barResult;
|
||||
}
|
||||
|
||||
return right(unit);
|
||||
} catch (e, stackTrace) {
|
||||
FirebaseCrashlytics.instance.recordError(
|
||||
'Print Struck Save Order Error: $e',
|
||||
stackTrace,
|
||||
reason:
|
||||
'Print struck save order error / Printer not setting in printer page',
|
||||
information: ['Order ID: ${order.id}'],
|
||||
);
|
||||
log("Error printing struck save order", name: _logName, error: e);
|
||||
return left(
|
||||
const PrinterFailure.dynamicErrorMessage('Error printing save order'),
|
||||
);
|
||||
}
|
||||
|
||||
// Struck for checker
|
||||
final checkerResult = await _printChecker(
|
||||
order: order,
|
||||
outlet: outlet,
|
||||
cashieName: user.name,
|
||||
);
|
||||
if (checkerResult.isLeft()) return checkerResult;
|
||||
|
||||
return right(unit);
|
||||
} catch (e, stackTrace) {
|
||||
FirebaseCrashlytics.instance.recordError(
|
||||
'Print Struck Save Order Error: $e',
|
||||
stackTrace,
|
||||
reason:
|
||||
'Print struck save order error / Printer not setting in printer page',
|
||||
information: ['Order ID: ${order.id}'],
|
||||
);
|
||||
log("Error printing struck save order", name: _logName, error: e);
|
||||
return left(
|
||||
const PrinterFailure.dynamicErrorMessage('Error printing save order'),
|
||||
);
|
||||
}
|
||||
}); // end _globalPrintLock.synchronized
|
||||
}
|
||||
|
||||
@@ -611,9 +611,9 @@ class PrinterRepository implements IPrinterRepository {
|
||||
required Order order,
|
||||
}) async {
|
||||
return await _globalPrintLock.synchronized(() async {
|
||||
final outlet = await _outletLocalDatasource.currentOutlet();
|
||||
final user = await _authLocalDataProvider.currentUser();
|
||||
return _printCashier(order: order, outlet: outlet, cashieName: user.name);
|
||||
final outlet = await _outletLocalDatasource.currentOutlet();
|
||||
final user = await _authLocalDataProvider.currentUser();
|
||||
return _printCashier(order: order, outlet: outlet, cashieName: user.name);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -622,9 +622,9 @@ class PrinterRepository implements IPrinterRepository {
|
||||
required Order order,
|
||||
}) async {
|
||||
return await _globalPrintLock.synchronized(() async {
|
||||
final outlet = await _outletLocalDatasource.currentOutlet();
|
||||
final user = await _authLocalDataProvider.currentUser();
|
||||
return _printVoid(order: order, outlet: outlet, cashieName: user.name);
|
||||
final outlet = await _outletLocalDatasource.currentOutlet();
|
||||
final user = await _authLocalDataProvider.currentUser();
|
||||
return _printVoid(order: order, outlet: outlet, cashieName: user.name);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -633,9 +633,13 @@ class PrinterRepository implements IPrinterRepository {
|
||||
required Order order,
|
||||
}) async {
|
||||
return await _globalPrintLock.synchronized(() async {
|
||||
final outlet = await _outletLocalDatasource.currentOutlet();
|
||||
final user = await _authLocalDataProvider.currentUser();
|
||||
return _printSplitBill(order: order, outlet: outlet, cashieName: user.name);
|
||||
final outlet = await _outletLocalDatasource.currentOutlet();
|
||||
final user = await _authLocalDataProvider.currentUser();
|
||||
return _printSplitBill(
|
||||
order: order,
|
||||
outlet: outlet,
|
||||
cashieName: user.name,
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -644,9 +648,9 @@ class PrinterRepository implements IPrinterRepository {
|
||||
required Order order,
|
||||
}) async {
|
||||
return await _globalPrintLock.synchronized(() async {
|
||||
final outlet = await _outletLocalDatasource.currentOutlet();
|
||||
final user = await _authLocalDataProvider.currentUser();
|
||||
return _printReceipt(order: order, outlet: outlet, cashieName: user.name);
|
||||
final outlet = await _outletLocalDatasource.currentOutlet();
|
||||
final user = await _authLocalDataProvider.currentUser();
|
||||
return _printReceipt(order: order, outlet: outlet, cashieName: user.name);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1075,9 +1079,9 @@ class PrinterRepository implements IPrinterRepository {
|
||||
required Order order,
|
||||
}) async {
|
||||
return await _globalPrintLock.synchronized(() async {
|
||||
final outlet = await _outletLocalDatasource.currentOutlet();
|
||||
final user = await _authLocalDataProvider.currentUser();
|
||||
return _printBar(order: order, outlet: outlet, cashieName: user.name);
|
||||
final outlet = await _outletLocalDatasource.currentOutlet();
|
||||
final user = await _authLocalDataProvider.currentUser();
|
||||
return _printBar(order: order, outlet: outlet, cashieName: user.name);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1086,9 +1090,9 @@ class PrinterRepository implements IPrinterRepository {
|
||||
required Order order,
|
||||
}) async {
|
||||
return await _globalPrintLock.synchronized(() async {
|
||||
final outlet = await _outletLocalDatasource.currentOutlet();
|
||||
final user = await _authLocalDataProvider.currentUser();
|
||||
return _printChecker(order: order, outlet: outlet, cashieName: user.name);
|
||||
final outlet = await _outletLocalDatasource.currentOutlet();
|
||||
final user = await _authLocalDataProvider.currentUser();
|
||||
return _printChecker(order: order, outlet: outlet, cashieName: user.name);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1097,9 +1101,9 @@ class PrinterRepository implements IPrinterRepository {
|
||||
required Order order,
|
||||
}) async {
|
||||
return await _globalPrintLock.synchronized(() async {
|
||||
final outlet = await _outletLocalDatasource.currentOutlet();
|
||||
final user = await _authLocalDataProvider.currentUser();
|
||||
return _printKitchen(order: order, outlet: outlet, cashieName: user.name);
|
||||
final outlet = await _outletLocalDatasource.currentOutlet();
|
||||
final user = await _authLocalDataProvider.currentUser();
|
||||
return _printKitchen(order: order, outlet: outlet, cashieName: user.name);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ description: "A new Flutter project."
|
||||
|
||||
publish_to: "none"
|
||||
|
||||
version: 1.0.10+16
|
||||
version: 1.0.11+17
|
||||
|
||||
environment:
|
||||
sdk: ^3.8.1
|
||||
|
||||
Reference in New Issue
Block a user