Lanjut ke konten
Samkarsa Logbook

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 tabel transactions untuk 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).

  • Menambahkan route GET /api/v1/ocr/tasks/{task_id}/image untuk 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 error 401.

  • Membuat komponen DuplicateWarningDialog.tsx yang dirender melayang di tengah layar saat nota terdeteksi duplikat.
  • Menambahkan batasan tinggi max-h-[90vh] dan bingkai foto max-h-[45vh] overflow-y-auto agar 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%