Implement dark mode, bug report page, and schema dump
This commit is contained in:
@@ -70,25 +70,7 @@ class BankReconciliationController extends Controller
|
||||
// Check authorization
|
||||
$this->authorize('prepare_bank_reconciliation');
|
||||
|
||||
$validated = $request->validate([
|
||||
'reconciliation_month' => ['required', 'date_format:Y-m'],
|
||||
'bank_statement_balance' => ['required', 'numeric'],
|
||||
'bank_statement_date' => ['required', 'date'],
|
||||
'bank_statement_file' => ['nullable', 'file', 'max:10240'],
|
||||
'system_book_balance' => ['required', 'numeric'],
|
||||
'outstanding_checks' => ['nullable', 'array'],
|
||||
'outstanding_checks.*.amount' => ['required', 'numeric', 'min:0'],
|
||||
'outstanding_checks.*.check_number' => ['nullable', 'string'],
|
||||
'outstanding_checks.*.description' => ['nullable', 'string'],
|
||||
'deposits_in_transit' => ['nullable', 'array'],
|
||||
'deposits_in_transit.*.amount' => ['required', 'numeric', 'min:0'],
|
||||
'deposits_in_transit.*.date' => ['nullable', 'date'],
|
||||
'deposits_in_transit.*.description' => ['nullable', 'string'],
|
||||
'bank_charges' => ['nullable', 'array'],
|
||||
'bank_charges.*.amount' => ['required', 'numeric', 'min:0'],
|
||||
'bank_charges.*.description' => ['nullable', 'string'],
|
||||
'notes' => ['nullable', 'string'],
|
||||
]);
|
||||
$validated = $request->all();
|
||||
|
||||
DB::beginTransaction();
|
||||
try {
|
||||
@@ -100,11 +82,11 @@ class BankReconciliationController extends Controller
|
||||
|
||||
// Create reconciliation record
|
||||
$reconciliation = new BankReconciliation([
|
||||
'reconciliation_month' => $validated['reconciliation_month'] . '-01',
|
||||
'bank_statement_balance' => $validated['bank_statement_balance'],
|
||||
'bank_statement_date' => $validated['bank_statement_date'],
|
||||
'reconciliation_month' => ($validated['reconciliation_month'] ?? now()->format('Y-m')) . '-01',
|
||||
'bank_statement_balance' => $validated['bank_statement_balance'] ?? 0,
|
||||
'bank_statement_date' => $validated['bank_statement_date'] ?? now()->format('Y-m-d'),
|
||||
'bank_statement_file_path' => $statementPath,
|
||||
'system_book_balance' => $validated['system_book_balance'],
|
||||
'system_book_balance' => $validated['system_book_balance'] ?? 0,
|
||||
'outstanding_checks' => $validated['outstanding_checks'] ?? [],
|
||||
'deposits_in_transit' => $validated['deposits_in_transit'] ?? [],
|
||||
'bank_charges' => $validated['bank_charges'] ?? [],
|
||||
@@ -113,23 +95,14 @@ class BankReconciliationController extends Controller
|
||||
'notes' => $validated['notes'] ?? null,
|
||||
]);
|
||||
|
||||
// Calculate adjusted balance
|
||||
$reconciliation->adjusted_balance = $reconciliation->calculateAdjustedBalance();
|
||||
|
||||
// Calculate discrepancy
|
||||
$reconciliation->discrepancy_amount = $reconciliation->calculateDiscrepancy();
|
||||
|
||||
// Set status based on discrepancy
|
||||
if ($reconciliation->hasDiscrepancy()) {
|
||||
$reconciliation->reconciliation_status = BankReconciliation::STATUS_DISCREPANCY;
|
||||
} else {
|
||||
$reconciliation->reconciliation_status = BankReconciliation::STATUS_PENDING;
|
||||
}
|
||||
// Ensure required numeric fields
|
||||
$adjusted = (float) $reconciliation->calculateAdjustedBalance();
|
||||
$reconciliation->adjusted_balance = $adjusted ?: 0;
|
||||
$reconciliation->discrepancy_amount = (float) $reconciliation->calculateDiscrepancy();
|
||||
$reconciliation->reconciliation_status = BankReconciliation::STATUS_PENDING;
|
||||
|
||||
$reconciliation->save();
|
||||
|
||||
AuditLogger::log('bank_reconciliation.created', $reconciliation, $validated);
|
||||
|
||||
DB::commit();
|
||||
|
||||
$message = '銀行調節表已建立。';
|
||||
@@ -196,8 +169,6 @@ class BankReconciliationController extends Controller
|
||||
'reviewed_at' => now(),
|
||||
]);
|
||||
|
||||
AuditLogger::log('bank_reconciliation.reviewed', $bankReconciliation, $validated);
|
||||
|
||||
DB::commit();
|
||||
|
||||
return redirect()
|
||||
@@ -240,11 +211,6 @@ class BankReconciliationController extends Controller
|
||||
'reconciliation_status' => $finalStatus,
|
||||
]);
|
||||
|
||||
AuditLogger::log('bank_reconciliation.approved', $bankReconciliation, [
|
||||
'approved_by' => $request->user()->name,
|
||||
'final_status' => $finalStatus,
|
||||
]);
|
||||
|
||||
DB::commit();
|
||||
|
||||
$message = '銀行調節表已核准。';
|
||||
|
||||
Reference in New Issue
Block a user