feat: [hr] 사업소득자 임금대장 동적 행 입력 리디자인

- earner 고정 행 → 동적 행 추가/삭제 구조로 변경
- 상호/성명 datalist 콤보박스 (드롭다운 선택 + 직접 입력)
- display_name/business_reg_number 컬럼 직접 저장
- bulkSave: payment_id 기반 upsert + 미제출 draft 자동 삭제
- confirmed/paid 행 수정/삭제 불가 유지
- 엑셀 내보내기 display_name 직접 사용으로 단순화
This commit is contained in:
김보곤
2026-03-03 14:20:44 +09:00
parent 9b989c5190
commit bd42adad55
6 changed files with 327 additions and 89 deletions

View File

@@ -34,12 +34,18 @@ public function index(Request $request): View|Response
$earners = $this->service->getActiveEarners();
$payments = $this->service->getPayments($year, $month);
$paymentsByUser = $payments->keyBy('user_id');
$stats = $this->service->getMonthlyStats($year, $month);
$earnersForJs = $earners->map(fn ($e) => [
'user_id' => $e->user_id,
'business_name' => $e->business_name ?? ($e->user?->name ?? ''),
'user_name' => $e->user?->name ?? '',
'business_reg_number' => $e->business_registration_number ?? '',
])->values();
return view('hr.business-income-payments.index', [
'earners' => $earners,
'paymentsByUser' => $paymentsByUser,
'payments' => $payments,
'earnersForJs' => $earnersForJs,
'stats' => $stats,
'year' => $year,
'month' => $month,