fix:재무 대시보드 계좌 잔액을 DB 저장된 최신 거래내역에서 조회

- latestBalances API 추가 (barobill_bank_transactions 테이블)
- 바로빌 GetBankAccountEx 대신 로컬 DB 최신 잔액 사용

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
김보곤
2026-02-06 06:23:28 +09:00
parent bde743c440
commit a7670c6ecf
3 changed files with 52 additions and 11 deletions

View File

@@ -240,6 +240,50 @@ public function accounts(Request $request): JsonResponse
}
}
/**
* 계좌별 최신 잔액 조회 (DB에서 조회 - 대시보드용)
*/
public function latestBalances(Request $request): JsonResponse
{
try {
$tenantId = session('selected_tenant_id', self::HEADQUARTERS_TENANT_ID);
// 각 계좌의 가장 최근 거래에서 잔액 조회
$balances = BankTransaction::where('tenant_id', $tenantId)
->select('bank_account_num', 'bank_name', 'balance', 'trans_date', 'trans_time')
->whereIn('id', function ($query) use ($tenantId) {
$query->select(DB::raw('MAX(id)'))
->from('barobill_bank_transactions')
->where('tenant_id', $tenantId)
->groupBy('bank_account_num');
})
->get();
$result = [];
foreach ($balances as $b) {
$result[] = [
'bankAccountNum' => $b->bank_account_num,
'bankName' => $b->bank_name,
'balance' => (float) $b->balance,
'lastTransDate' => $b->trans_date,
'lastTransTime' => $b->trans_time,
];
}
return response()->json([
'success' => true,
'balances' => $result,
'count' => count($result)
]);
} catch (\Throwable $e) {
Log::error('최신 잔액 조회 오류: ' . $e->getMessage());
return response()->json([
'success' => false,
'error' => $e->getMessage()
]);
}
}
/**
* 계좌 입출금내역 조회 (GetPeriodBankAccountTransLog)
*/