From be1eabfd1678d1d4e24f91e5bd9db15259079175 Mon Sep 17 00:00:00 2001 From: shanshi <3316401569@qq.com> Date: Wed, 11 Nov 2026 19:36:25 +0800 Subject: [PATCH] feat: add Wangshang bank to account flow summary Adds a separate Wangshang bank view to account flow summary and excludes Wangshang accounts from the bank-account view. --- .../View/FinanceLedgerPageData.php | 4 +-- .../pages/financial-ledger/ledger.blade.php | 1 + .../FinanceLedgerHeaderControlsTest.php | 26 ++++++++++++++++++- 3 files changed, 28 insertions(+), 3 deletions(-) diff --git a/modules/EcommerceFinance/View/FinanceLedgerPageData.php b/modules/EcommerceFinance/View/FinanceLedgerPageData.php index 638768db..669460bf 100644 --- a/modules/EcommerceFinance/View/FinanceLedgerPageData.php +++ b/modules/EcommerceFinance/View/FinanceLedgerPageData.php @@ -88,7 +88,7 @@ class FinanceLedgerPageData $openingDate = (string) config('finance_ledger.opening_date', '2026-10-17'); $transactionView = $this->transactionView(); $requestedFlowView = trim((string) request('flows_view', 'summary')); - $flowView = in_array($requestedFlowView, ['summary', 'bank', 'non_store', 'daily'], true) + $flowView = in_array($requestedFlowView, ['summary', 'bank', 'non_store', 'wangshang', 'daily'], true) ? $requestedFlowView : 'summary'; $requestedAccountView = trim((string) request('accounts_view', 'all')); @@ -663,7 +663,7 @@ class FinanceLedgerPageData $this->db()->table('fin_accounts as a'), 'a.account_short', ); - $this->applyAccountCategoryScope($accountQuery, $view, 'a.account_short', 'a.account_type'); + $this->applyAccountCategoryScope($accountQuery, $view, 'a.account_short', 'a.account_type', true); foreach (['flows_company' => 'a.company_name', 'flows_account' => 'a.account_short'] as $param => $column) { $value = trim((string) request($param, '')); if ($value !== '') { diff --git a/resources/views/business/pages/financial-ledger/ledger.blade.php b/resources/views/business/pages/financial-ledger/ledger.blade.php index db7424b5..acdca8d3 100644 --- a/resources/views/business/pages/financial-ledger/ledger.blade.php +++ b/resources/views/business/pages/financial-ledger/ledger.blade.php @@ -1092,6 +1092,7 @@ 账户汇总 银行账户 支付宝 + 网商银行 按日流水 @if ($flowUsesAccountSummary && $canEditAccounts) diff --git a/tests/Feature/Business/FinanceLedgerHeaderControlsTest.php b/tests/Feature/Business/FinanceLedgerHeaderControlsTest.php index b806ab18..1ff70b0e 100644 --- a/tests/Feature/Business/FinanceLedgerHeaderControlsTest.php +++ b/tests/Feature/Business/FinanceLedgerHeaderControlsTest.php @@ -463,8 +463,18 @@ class FinanceLedgerHeaderControlsTest extends FeatureTestCase $this->assertStringContainsString('>2026-10-17', $dailyHtml); } - public function test_account_flow_summary_separates_bank_accounts_and_alipay_only(): void + public function test_account_flow_summary_separates_bank_accounts_alipay_and_wangshang(): void { + DB::connection('business_mirror')->table('fin_accounts')->insert([ + 'company_name' => '丁公司', + 'account_short' => '账户丁网商', + 'bank_name' => '网商银行', + 'account_type' => '公户', + 'current_balance' => 0, + 'daily_available' => 0, + 'blocked_amount' => 0, + ]); + $bankHtml = $this->loginAs()->get($this->pageUrl([ 'flows_view' => 'bank', 'flows_from' => '2026-10-01', @@ -474,10 +484,12 @@ class FinanceLedgerHeaderControlsTest extends FeatureTestCase $this->assertStringContainsString('>账户汇总', $bankHtml); $this->assertStringContainsString('>银行账户', $bankHtml); $this->assertStringContainsString('>支付宝', $bankHtml); + $this->assertStringContainsString('>网商银行', $bankHtml); $this->assertStringNotContainsString('>非店铺账户', $bankHtml); $this->assertStringContainsString('>按日流水', $bankHtml); $this->assertStringContainsString('data-flow-summary-account="账户甲"', $bankHtml); $this->assertStringNotContainsString('data-flow-summary-account="账户乙"', $bankHtml); + $this->assertStringNotContainsString('data-flow-summary-account="账户丁网商"', $bankHtml); $nonStoreHtml = $this->loginAs()->get($this->pageUrl([ 'flows_view' => 'non_store', @@ -487,6 +499,18 @@ class FinanceLedgerHeaderControlsTest extends FeatureTestCase $this->assertStringContainsString('data-flow-summary-account="账户乙"', $nonStoreHtml); $this->assertStringNotContainsString('data-flow-summary-account="账户甲"', $nonStoreHtml); + $this->assertStringNotContainsString('data-flow-summary-account="账户丁网商"', $nonStoreHtml); + + $wangshangHtml = $this->loginAs()->get($this->pageUrl([ + 'flows_view' => 'wangshang', + 'flows_from' => '2026-10-01', + 'flows_to' => '2026-10-31', + ]))->assertOk()->getContent(); + + $this->assertStringContainsString('name="flows_view" value="wangshang"', $wangshangHtml); + $this->assertStringContainsString('data-flow-summary-account="账户丁网商"', $wangshangHtml); + $this->assertStringNotContainsString('data-flow-summary-account="账户甲"', $wangshangHtml); + $this->assertStringNotContainsString('data-flow-summary-account="账户乙"', $wangshangHtml); } public function test_account_directory_separates_bank_accounts_and_alipay_only(): void