From 4d6081beb6ae7b599a6dd653b0192fa3139e9444 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EB=B3=B4=EA=B3=A4?= Date: Fri, 20 Feb 2026 14:04:21 +0900 Subject: [PATCH] =?UTF-8?q?fix:=EC=A0=95=EC=82=B0=EA=B4=80=EB=A6=AC=20?= =?UTF-8?q?=ED=95=84=ED=84=B0=EB=A5=BC=20=EA=B8=B0=EA=B0=84=20=EB=B2=94?= =?UTF-8?q?=EC=9C=84=20=EA=B3=A0=EC=A0=95=20=EB=B0=A9=EC=8B=9D=EC=9C=BC?= =?UTF-8?q?=EB=A1=9C=20=EB=B3=80=EA=B2=BD=20(=EC=B2=B4=ED=81=AC=EB=B0=95?= =?UTF-8?q?=EC=8A=A4=20=EC=A0=9C=EA=B1=B0,=20=EC=BB=B4=ED=8C=A9=ED=8A=B8?= =?UTF-8?q?=201=EC=A4=84=20=EB=A0=88=EC=9D=B4=EC=95=84=EC=9B=83)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.6 --- .../Finance/SettlementController.php | 69 ++++------- .../partials/commission/filters.blade.php | 116 ++++++------------ 2 files changed, 65 insertions(+), 120 deletions(-) diff --git a/app/Http/Controllers/Finance/SettlementController.php b/app/Http/Controllers/Finance/SettlementController.php index 7b9a0ac1..d2f77d4d 100644 --- a/app/Http/Controllers/Finance/SettlementController.php +++ b/app/Http/Controllers/Finance/SettlementController.php @@ -32,41 +32,30 @@ public function index(Request $request): View|Response $initialTab = $request->input('tab', 'commission'); - // 수당 정산 탭 데이터 (기본 탭이므로 즉시 로드) - $year = $request->input('year', now()->year); - $month = $request->input('month', now()->month); - $dateRange = $request->boolean('date_range'); + // 수당 정산 탭 데이터 (기간 범위 방식) + $year = (int) $request->input('start_year', now()->year); + $month = (int) $request->input('start_month', now()->month); + $endYear = (int) $request->input('end_year', $year); + $endMonth = (int) $request->input('end_month', $month); $filters = [ + 'scheduled_start_year' => $year, + 'scheduled_start_month' => $month, + 'scheduled_end_year' => $endYear, + 'scheduled_end_month' => $endMonth, + 'start_year' => $year, + 'start_month' => $month, + 'end_year' => $endYear, + 'end_month' => $endMonth, 'status' => $request->input('status'), 'payment_type' => $request->input('payment_type'), 'partner_id' => $request->input('partner_id'), 'commission_type' => $request->input('commission_type'), 'search' => $request->input('search'), - 'date_range' => $dateRange, ]; - if ($dateRange) { - $filters['scheduled_start_year'] = (int) $request->input('start_year', $year); - $filters['scheduled_start_month'] = (int) $request->input('start_month', $month); - $filters['scheduled_end_year'] = (int) $request->input('end_year', $year); - $filters['scheduled_end_month'] = (int) $request->input('end_month', $month); - $filters['start_year'] = $filters['scheduled_start_year']; - $filters['start_month'] = $filters['scheduled_start_month']; - $filters['end_year'] = $filters['scheduled_end_year']; - $filters['end_month'] = $filters['scheduled_end_month']; - } else { - $filters['scheduled_year'] = $year; - $filters['scheduled_month'] = $month; - } - $commissions = $this->service->getCommissions($filters); - $stats = $dateRange - ? $this->service->getSettlementStatsForRange( - $filters['scheduled_start_year'], $filters['scheduled_start_month'], - $filters['scheduled_end_year'], $filters['scheduled_end_month'] - ) - : $this->service->getSettlementStats($year, $month); + $stats = $this->service->getSettlementStatsForRange($year, $month, $endYear, $endMonth); $partners = SalesPartner::with('user') ->active() @@ -96,9 +85,11 @@ public function index(Request $request): View|Response */ public function commissionStats(Request $request): View { - $year = $request->input('year', now()->year); - $month = $request->input('month', now()->month); - $stats = $this->service->getSettlementStats($year, $month); + $year = (int) $request->input('start_year', now()->year); + $month = (int) $request->input('start_month', now()->month); + $endYear = (int) $request->input('end_year', $year); + $endMonth = (int) $request->input('end_month', $month); + $stats = $this->service->getSettlementStatsForRange($year, $month, $endYear, $endMonth); return view('finance.settlement.partials.commission.stats-cards', compact('stats', 'year', 'month')); } @@ -108,29 +99,23 @@ public function commissionStats(Request $request): View */ public function commissionTable(Request $request): View { - $year = $request->input('year', now()->year); - $month = $request->input('month', now()->month); - $dateRange = $request->boolean('date_range'); + $year = (int) $request->input('start_year', now()->year); + $month = (int) $request->input('start_month', now()->month); + $endYear = (int) $request->input('end_year', $year); + $endMonth = (int) $request->input('end_month', $month); $filters = [ + 'scheduled_start_year' => $year, + 'scheduled_start_month' => $month, + 'scheduled_end_year' => $endYear, + 'scheduled_end_month' => $endMonth, 'status' => $request->input('status'), 'payment_type' => $request->input('payment_type'), 'partner_id' => $request->input('partner_id'), 'commission_type' => $request->input('commission_type'), 'search' => $request->input('search'), - 'date_range' => $dateRange, ]; - if ($dateRange) { - $filters['scheduled_start_year'] = (int) $request->input('start_year', $year); - $filters['scheduled_start_month'] = (int) $request->input('start_month', $month); - $filters['scheduled_end_year'] = (int) $request->input('end_year', $year); - $filters['scheduled_end_month'] = (int) $request->input('end_month', $month); - } else { - $filters['scheduled_year'] = $year; - $filters['scheduled_month'] = $month; - } - $commissions = $this->service->getCommissions($filters); return view('finance.settlement.partials.commission.table', compact('commissions')); diff --git a/resources/views/finance/settlement/partials/commission/filters.blade.php b/resources/views/finance/settlement/partials/commission/filters.blade.php index e9840f13..641370f4 100644 --- a/resources/views/finance/settlement/partials/commission/filters.blade.php +++ b/resources/views/finance/settlement/partials/commission/filters.blade.php @@ -1,69 +1,41 @@ {{-- 수당 정산 필터 --}} -
+
-
- {{-- 기간설정 체크박스 --}} -
- -
- - {{-- 단일 년/월 (기본) --}} -
-
- - -
-
- - -
-
- - {{-- 기간 범위 (체크 시 표시) --}} -
-
- - @for ($y = now()->year - 2; $y <= now()->year + 1; $y++) @endfor
-
- - @for ($m = 1; $m <= 12; $m++) @endfor
- ~ -
- - @for ($y = now()->year - 2; $y <= now()->year + 1; $y++) @endfor
-
- - @for ($m = 1; $m <= 12; $m++) @endfor @@ -71,9 +43,12 @@ class="rounded border-gray-300 text-emerald-600 focus:ring-emerald-500">
-
- - @@ -82,18 +57,20 @@ class="rounded border-gray-300 text-emerald-600 focus:ring-emerald-500">
-
- -
-
- - @foreach ($partners as $partner)
-
+ {{-- 조회 / 초기화 --}} +
+ class="h-8 px-3 inline-flex items-center bg-gray-100 hover:bg-gray-200 text-gray-600 text-sm rounded transition-colors"> 초기화
- -