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') { // 差额异常备注是页面级判定,不再按库里的标注列分组