feat:정산관리 기간설정 체크박스 필터 추가 (시작~끝 년월 범위 조회)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
김보곤
2026-02-20 14:11:21 +09:00
parent a945c63a83
commit fb47badb18
3 changed files with 155 additions and 21 deletions

View File

@@ -35,19 +35,38 @@ public function index(Request $request): View|Response
// 수당 정산 탭 데이터 (기본 탭이므로 즉시 로드)
$year = $request->input('year', now()->year);
$month = $request->input('month', now()->month);
$dateRange = $request->boolean('date_range');
$filters = [
'scheduled_year' => $year,
'scheduled_month' => $month,
'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 = $this->service->getSettlementStats($year, $month);
$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);
$partners = SalesPartner::with('user')
->active()
@@ -91,10 +110,9 @@ public function commissionTable(Request $request): View
{
$year = $request->input('year', now()->year);
$month = $request->input('month', now()->month);
$dateRange = $request->boolean('date_range');
$filters = [
'scheduled_year' => $year,
'scheduled_month' => $month,
'status' => $request->input('status'),
'payment_type' => $request->input('payment_type'),
'partner_id' => $request->input('partner_id'),
@@ -102,6 +120,16 @@ public function commissionTable(Request $request): View
'search' => $request->input('search'),
];
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'));