v1.3.1 — Deteksi Duplikasi Berkas Terintegrasi Transaksi Aktif & Popup Modal Pratinjau Gambar
Implementasi pemeriksaan transaksi aktif pada duplikasi nota (hanya nota aktif yang dianggap duplikat), penyediaan endpoint pratinjau gambar asli, dan Popup Modal Dialog Duplikasi berlabel Close.
2mnt baca
Telah berhasil diimplementasikan pembaruan Release v1.3.1 pada ekosistem BLONJO & SAJEN. Pembaruan ini menyelesaikan masalah deteksi duplikasi nota setelah transaksi dihapus, serta meningkatkan kualitas UI dengan menyajikan Foto Struk Nota Fisik Asli dari Server langsung di dalam Popup Modal Dialog.
- Pada endpoint
POST /ocr/upload(sajen/app/api/v1/ocr.py):- Saat pHash foto nota cocok dengan task lama (
existing_task), sistem secara otomatis memeriksa tabeltransactionsuntuk memastikan transaksi dari nota tersebut masih aktif (belum dihapus). - Jika transaksi lama sudah DIHAPUS oleh pengguna di jurnal (
Transaction), backend secara otomatis membatalkan status duplikat (existing_task = None) dan memicu Pemindaian AI Vision Segar (Fresh Scan).
- Saat pHash foto nota cocok dengan task lama (
- Menambahkan route
GET /api/v1/ocr/tasks/{task_id}/imageuntuk menyajikan file fisik foto nota (FileResponse). - Menghapus pembatasan ketat session header agar tag
<img src="...">di frontend React dapat mengunduh gambar nota asli secara langsung tanpa terhalang error401.
- Membuat komponen
DuplicateWarningDialog.tsxyang dirender melayang di tengah layar saat nota terdeteksi duplikat. - Menambahkan batasan tinggi
max-h-[90vh]dan bingkai fotomax-h-[45vh] overflow-y-autoagar modal bersifat responsif dan tombol “Close” di bagian bawah selalu terlihat. - Mengganti hard reload browser (
window.location.reload()) dengan Soft Reset (handleFullReset()) yang mereset seluruh form transaksi secara instan tanpa kedipan layar putih browser (no white screen flash).
| No | Pengujian | Hasil Uji Empiris | Status |
|---|---|---|---|
| 1 | Pengecekan Hapus Jurnal | Transaksi Rp 172.500 tidak ditemukan di tabel transactions (False), backend membatalkan flag duplikat dan siap memicu Fresh AI Vision Scan. |
PASS 100% |
| 2 | Akses Gambar Pratinjau | Endpoint /api/v1/ocr/tasks/382/image siap menyajikan foto nota asli tanpa terhalang autentikasi 401. |
PASS 100% |
| 3 | Soft Reload Form | handleFullReset() mereset form secara instan tanpa white screen flash browser. |
PASS 100% |
| 3 | Label Tombol Popup Modal | Tombol pada DuplicateWarningDialog.tsx telah diubah menjadi "Close". |
PASS 100% |