fix: print

This commit is contained in:
efrilm 2025-08-07 14:28:52 +07:00
parent d0e1f9a5b6
commit 9d78c9dcce
5 changed files with 31 additions and 11 deletions

View File

@ -5,6 +5,7 @@ import 'package:enaklo_pos/core/utils/printer_service.dart';
import 'package:enaklo_pos/data/dataoutputs/print_dataoutputs.dart';
import 'package:enaklo_pos/data/datasources/auth_local_datasource.dart';
import 'package:enaklo_pos/data/datasources/product_local_datasource.dart';
import 'package:enaklo_pos/data/datasources/settings_local_datasource.dart';
import 'package:enaklo_pos/data/models/response/order_response_model.dart';
import 'package:enaklo_pos/presentation/home/models/product_quantity.dart';
import 'package:flutter/material.dart';
@ -21,6 +22,8 @@ Future<void> onPrint(
final barPrinter =
await ProductLocalDatasource.instance.getPrinterByCode('bar');
final authData = await AuthLocalDataSource().getAuthData();
// Checker printer
if (checkerPrinter != null) {
try {
@ -28,7 +31,7 @@ Future<void> onPrint(
productQuantity,
order.tableNumber ?? "",
order.orderNumber ?? "",
'kasir',
authData.user?.name ?? "",
checkerPrinter.paper.toIntegerFromText,
order.orderType ?? "",
);
@ -51,7 +54,7 @@ Future<void> onPrint(
productQuantity,
order.tableNumber!,
order.orderNumber ?? "",
'kasir',
authData.user?.name ?? "",
kitchenPrinter.paper.toIntegerFromText,
order.orderType ?? "",
);
@ -73,7 +76,7 @@ Future<void> onPrint(
productQuantity,
order.tableNumber ?? "",
order.orderNumber ?? "",
'kasir',
authData.user?.name ?? "",
barPrinter.paper.toIntegerFromText,
order.orderType ?? "",
);
@ -94,11 +97,11 @@ Future<void> onPrintRecipt(
required String paymentMethod,
required int nominalBayar,
required int kembalian,
required int taxPercentage,
}) async {
final receiptPrinter =
await ProductLocalDatasource.instance.getPrinterByCode('receipt');
final authData = await AuthLocalDataSource().getAuthData();
final settings = await SettingsLocalDatasource().getTax();
if (receiptPrinter != null) {
try {
@ -108,7 +111,7 @@ Future<void> onPrintRecipt(
paymentMethod,
nominalBayar,
kembalian,
taxPercentage,
settings.value,
receiptPrinter.paper.toIntegerFromText,
);
await PrinterService()

View File

@ -375,6 +375,8 @@ class _PaymentPageState extends State<PaymentPage> {
.toList() ??
[],
payment: data,
paymentMethod: selectedPaymentMethod?.name ?? '',
nominalBayar: totalPriceController.text.toIntegerFromText,
));
},
error: (message) {

View File

@ -343,6 +343,8 @@ class _PaymentDialogState extends State<PaymentDialog> {
.toList() ??
[],
payment: data,
paymentMethod: selectedPaymentMethod?.name ?? "",
nominalBayar: totalPriceController.text.toIntegerFromText,
));
},
error: (message) {

View File

@ -1005,10 +1005,11 @@ class _SuccessOrderPageState extends State<SuccessOrderPage>
context,
order: widget.order,
paymentMethod: widget.paymentMethod,
nominalBayar: widget.nominalBayar,
nominalBayar: widget.paymentMethod == "Cash"
? widget.nominalBayar
: widget.order.totalAmount ?? 0,
kembalian: widget.nominalBayar -
(widget.order.totalAmount ?? 0),
taxPercentage: widget.taxPercentage,
);
onPrint(
context,

View File

@ -14,8 +14,15 @@ import 'package:flutter_bloc/flutter_bloc.dart';
class SuccessPaymentPage extends StatefulWidget {
final List<ProductQuantity> productQuantity;
final PaymentData payment;
const SuccessPaymentPage(
{super.key, required this.payment, required this.productQuantity});
final String paymentMethod;
final int nominalBayar;
const SuccessPaymentPage({
super.key,
required this.payment,
required this.productQuantity,
required this.paymentMethod,
required this.nominalBayar,
});
@override
State<SuccessPaymentPage> createState() => _SuccessPaymentPageState();
@ -781,10 +788,15 @@ class _SuccessPaymentPageState extends State<SuccessPaymentPage> {
child: InkWell(
borderRadius: BorderRadius.circular(16),
onTap: () async {
onPrint(
onPrintRecipt(
context,
productQuantity: widget.productQuantity,
order: order,
paymentMethod: widget.paymentMethod,
nominalBayar: widget.paymentMethod == "Cash"
? widget.nominalBayar
: order.totalAmount ?? 0,
kembalian:
widget.nominalBayar - (order.totalAmount ?? 0),
);
},
child: const Row(