Commit c10fa4a7 authored by Fares's avatar Fares

fix(cashier): show death case form_number by falling back to death_cases table

The form_number wasn't showing because earlier payment requests had notes
without form_number. Now both cashier process and queue views fall back to
reading form_number directly from death_cases table when not in notes JSON.
Co-Authored-By: 's avatarClaude Opus 4.6 <noreply@anthropic.com>
parent 537ed628
......@@ -76,8 +76,13 @@ class CashierController extends Controller
$notesData = json_decode($pr['notes'], true);
if (!empty($notesData['recipient_name'])) {
$pr['member_name'] = $notesData['recipient_name'];
$pr['form_number'] = $notesData['form_number'] ?? null;
$pr['membership_number'] = null;
// Form number: try notes first, then fall back to death_cases table
$pr['form_number'] = $notesData['form_number'] ?? null;
if (empty($pr['form_number']) && $pr['related_entity_type'] === 'death_cases' && !empty($pr['related_entity_id'])) {
$dc = $db->selectOne("SELECT form_number FROM death_cases WHERE id = ?", [(int) $pr['related_entity_id']]);
$pr['form_number'] = $dc['form_number'] ?? null;
}
}
}
......
......@@ -157,6 +157,10 @@
$nd3 = json_decode($r['notes'], true);
$fnDisplay = $nd3['form_number'] ?? null;
}
if (!$fnDisplay && $r['payment_type'] === 'death_fee' && !empty($r['related_entity_id']) && ($r['related_entity_type'] ?? '') === 'death_cases') {
$dcRow = \App\Core\App::getInstance()->db()->selectOne("SELECT form_number FROM death_cases WHERE id = ?", [(int) $r['related_entity_id']]);
$fnDisplay = $dcRow['form_number'] ?? null;
}
echo e($fnDisplay ?: '—');
?></td>
<td><?= $typeLabel ?></td>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment