From 1214fc365ea0df3d4cb561714fb56e3697cecf54 Mon Sep 17 00:00:00 2001 From: yueyang <2495544247@qq.com> Date: Thu, 15 Oct 2026 14:59:44 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=9A=E7=BB=A9=E6=98=8E=E7=BB=86=EF=BC=9A?= =?UTF-8?q?=E3=80=8C=E8=AE=A2=E5=8D=95=E5=AE=9E=E4=BB=98=E6=8C=89=E5=BA=94?= =?UTF-8?q?=E4=BB=98/=E5=B7=B2=E4=BB=98=E6=A0=B8=E5=AF=B9=E3=80=8D?= =?UTF-8?q?=E6=A0=87=E6=B3=A8=E5=9C=A8=E9=A1=B5=E9=9D=A2=E5=B1=95=E7=A4=BA?= =?UTF-8?q?=E5=B9=B6=E7=BA=B3=E5=85=A5=E7=AD=9B=E9=80=89=E4=B8=8E=E8=81=94?= =?UTF-8?q?=E5=8A=A8=E8=AE=A1=E6=95=B0=EF=BC=88=E6=AD=A4=E5=89=8D=E5=8F=AA?= =?UTF-8?q?=E5=9C=A8=E5=BA=93=E9=87=8C=E6=9C=89=E3=80=81=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=E4=B8=8D=E6=98=BE=E7=A4=BA=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Http/Controllers/Business/Pages.php | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/app/Http/Controllers/Business/Pages.php b/app/Http/Controllers/Business/Pages.php index 36330db2..5fa1aa5e 100644 --- a/app/Http/Controllers/Business/Pages.php +++ b/app/Http/Controllers/Business/Pages.php @@ -146,6 +146,7 @@ class Pages extends Controller $basis['no_amount_remark'], '无收款账单', '订单实付按卖家实收核对', + '订单实付按应付/已付核对', ]; } @@ -1080,7 +1081,8 @@ class Pages extends Controller // 未匹配原因列:未匹配行照旧;「订单实付按卖家实收核对」这类口径标识在已匹配行同样展示。 $row->unmatched_reason = $rawRemark === '' ? null - : (((($row->match_status ?? '') === '未匹配') || $rawRemark === '订单实付按卖家实收核对') ? $rawRemark : null); + : (((($row->match_status ?? '') === '未匹配') + || in_array($rawRemark, ['订单实付按卖家实收核对', '订单实付按应付/已付核对'], true)) ? $rawRemark : null); $row->remark = self::receiptDifferenceRemark($row); if ($row->difference === null) { @@ -1140,13 +1142,15 @@ class Pages extends Controller return; } - // 「订单实付按卖家实收核对」是已匹配行的口径标识,不按未匹配过滤。 - $query->where(function ($group) use ($labels): void { + // 双口径标识(卖家实收 / 应付已付)是已匹配行的口径标识,不按未匹配过滤。 + $basisMarks = ['订单实付按卖家实收核对', '订单实付按应付/已付核对']; + $query->where(function ($group) use ($labels, $basisMarks): void { $group->where(function ($unmatched) use ($labels): void { $unmatched->where('match_status', '未匹配')->whereIn('remark', $labels); }); - if (in_array('订单实付按卖家实收核对', $labels, true)) { - $group->orWhere('remark', '订单实付按卖家实收核对'); + $selected = array_values(array_intersect($labels, $basisMarks)); + if ($selected !== []) { + $group->orWhereIn('remark', $selected); } }); } @@ -1392,10 +1396,12 @@ class Pages extends Controller foreach ($rows as $value => $total) { $counts[(string) $value] = (int) $total; } - // 「订单实付按卖家实收核对」是已匹配行的口径标识,单独统计,保证下拉里能选到。 - $marker = (clone $base)->where('remark', '订单实付按卖家实收核对')->count(); - if ($marker > 0) { - $counts['订单实付按卖家实收核对'] = (int) $marker; + // 双口径标识打在已匹配行上,单独统计,保证下拉里能选到。 + foreach (['订单实付按卖家实收核对', '订单实付按应付/已付核对'] as $basisMark) { + $marker = (clone $base)->where('remark', $basisMark)->count(); + if ($marker > 0) { + $counts[$basisMark] = (int) $marker; + } } } elseif ($column !== 'remark') { // 差额异常备注是页面级判定,不再按库里的标注列分组