fix: [payroll] 전표 기타공제 항목별 분리 및 음수 금액 처리

- 기타공제를 합산 단일 라인에서 항목별(연말정산소득세, 연말정산지방소득세 등) 분리
- formatInputCurrency/parseInputCurrency 음수 부호 처리 추가
- JournalEntryController validation에서 min:0 제거하여 음수 credit_amount 허용
This commit is contained in:
김보곤
2026-03-10 12:44:09 +09:00
parent 5bf2914e22
commit bde4be4123
3 changed files with 27 additions and 17 deletions

View File

@@ -149,8 +149,8 @@ public function store(Request $request): JsonResponse
'lines.*.account_name' => 'required|string|max:100',
'lines.*.trading_partner_id' => 'nullable|integer',
'lines.*.trading_partner_name' => 'nullable|string|max:100',
'lines.*.debit_amount' => 'required|integer|min:0',
'lines.*.credit_amount' => 'required|integer|min:0',
'lines.*.debit_amount' => 'required|integer',
'lines.*.credit_amount' => 'required|integer',
'lines.*.description' => 'nullable|string|max:300',
]);
@@ -265,8 +265,8 @@ public function update(Request $request, int $id): JsonResponse
'lines.*.account_name' => 'required|string|max:100',
'lines.*.trading_partner_id' => 'nullable|integer',
'lines.*.trading_partner_name' => 'nullable|string|max:100',
'lines.*.debit_amount' => 'required|integer|min:0',
'lines.*.credit_amount' => 'required|integer|min:0',
'lines.*.debit_amount' => 'required|integer',
'lines.*.credit_amount' => 'required|integer',
'lines.*.description' => 'nullable|string|max:300',
]);
@@ -570,8 +570,8 @@ public function storeFromBank(Request $request): JsonResponse
'lines.*.account_name' => 'required|string|max:100',
'lines.*.trading_partner_id' => 'nullable|integer',
'lines.*.trading_partner_name' => 'nullable|string|max:100',
'lines.*.debit_amount' => 'required|integer|min:0',
'lines.*.credit_amount' => 'required|integer|min:0',
'lines.*.debit_amount' => 'required|integer',
'lines.*.credit_amount' => 'required|integer',
'lines.*.description' => 'nullable|string|max:300',
]);
@@ -1038,8 +1038,8 @@ public function storeFromCard(Request $request): JsonResponse
'lines.*.account_name' => 'required|string|max:100',
'lines.*.trading_partner_id' => 'nullable|integer',
'lines.*.trading_partner_name' => 'nullable|string|max:100',
'lines.*.debit_amount' => 'required|integer|min:0',
'lines.*.credit_amount' => 'required|integer|min:0',
'lines.*.debit_amount' => 'required|integer',
'lines.*.credit_amount' => 'required|integer',
'lines.*.description' => 'nullable|string|max:300',
]);