fix:재무 대시보드 계좌 잔액을 DB 저장된 최신 거래내역에서 조회
- latestBalances API 추가 (barobill_bank_transactions 테이블) - 바로빌 GetBankAccountEx 대신 로컬 DB 최신 잔액 사용 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -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)
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user