diff --git a/app/Services/Transaction/TransactionService.php b/app/Services/Transaction/TransactionService.php index c9f8380..b6d1832 100644 --- a/app/Services/Transaction/TransactionService.php +++ b/app/Services/Transaction/TransactionService.php @@ -371,7 +371,9 @@ class TransactionService // 2. Record Invoice — 後台開立版:finalize 帶 invoice 輸入(status=pending)時建 pending 發票, // commit 後派 IssueInvoiceJob 去綠界開立(不在交易內等 ECPay,避免長交易)。 - if (!empty($data['invoice'])) { + // 開立條件:機台「電子發票開關」開啟 AND 上報帶 invoice,兩者皆成立才開立。 + // 機台關閉電子發票時略過開立(不建發票、不送綠界),僅留 warning log 供日後追查。 + if (!empty($data['invoice']) && $order->machine?->tax_invoice_enabled) { $invoiceData = $data['invoice']; $invoiceData['serial_no'] = $serialNo; $invoiceData['flow_id'] = $order->flow_id; @@ -384,6 +386,13 @@ class TransactionService \App\Jobs\Transaction\IssueInvoiceJob::dispatch($invoice->id); }); } + } elseif (!empty($data['invoice'])) { + // 上報帶了 invoice,但機台「電子發票開關」為關閉 → 略過開立,留軌跡供追查。 + Log::warning('機台已關閉電子發票,略過開立', [ + 'machine_id' => $order->machine_id, + 'flow_id' => $order->flow_id, + 'order_id' => $order->id, + ]); } // 3. Record Dispense Results (B602) - Optional/Multiple diff --git a/resources/views/admin/sales/partials/order-detail-panel.blade.php b/resources/views/admin/sales/partials/order-detail-panel.blade.php index c244e02..1eeec53 100644 --- a/resources/views/admin/sales/partials/order-detail-panel.blade.php +++ b/resources/views/admin/sales/partials/order-detail-panel.blade.php @@ -309,57 +309,29 @@ -
- @if($invStatus === 'issued') - {{-- 列印(捐贈發票無紙本,僅非捐贈可列印) --}} - @if($invPrintable) -
- @csrf - -
- @else - {{ __('Donation invoices cannot be printed') }} - @endif - {{-- 作廢:使用自製確認框 UI(不用瀏覽器原生 confirm) --}} - - - @elseif(in_array($invStatus, ['pending', 'failed'])) - {{-- 查詢(對帳) --}} -
- @csrf - -
- {{-- 補開 --}} - - + + @else + {{ __('Donation invoices cannot be printed') }} @endif + {{-- 作廢:使用自製確認框 UI(不用瀏覽器原生 confirm) --}} + +
+ @endif diff --git a/resources/views/admin/sales/partials/tab-invoices.blade.php b/resources/views/admin/sales/partials/tab-invoices.blade.php index 8219e52..f8bd0af 100644 --- a/resources/views/admin/sales/partials/tab-invoices.blade.php +++ b/resources/views/admin/sales/partials/tab-invoices.blade.php @@ -238,21 +238,27 @@
@if(in_array($st, ['pending', 'failed'])) + {{-- 查詢(對帳) --}}
@csrf
-
+ {{-- 補開:使用自製確認框 UI --}} + @csrf -
+ @endif {{-- 作廢按鈕僅在「訂單詳情」提供,列表操作欄不再顯示 --}}