66 lines
2.2 KiB
TypeScript
66 lines
2.2 KiB
TypeScript
import { OcrDocument, OcrStats } from '../types';
|
|
|
|
export const initialOcrDocuments: OcrDocument[] = [
|
|
{
|
|
id: 'ocr-1',
|
|
fileName: 'laporan_timbang_0308.pdf',
|
|
uploadedAt: new Date(Date.now() - 10 * 60 * 1000),
|
|
status: 'Completed',
|
|
documentType: 'Laporan Timbang',
|
|
accuracy: 99.2,
|
|
imageUrl: 'https://i.imgur.com/7g2Cw2s.png',
|
|
extractedText:
|
|
'LAPORAN TIMBANG HARIAN\nTanggal: 03-08-2025\nKandang: A-1\nTotal Timbang: 500 ekor\nBobot Rata-rata: 1565 g\nADG: 75 g',
|
|
},
|
|
{
|
|
id: 'ocr-2',
|
|
fileName: 'faktur_pakan_CP511.jpg',
|
|
uploadedAt: new Date(Date.now() - 35 * 60 * 1000),
|
|
status: 'Needs Review',
|
|
documentType: 'Faktur Pakan',
|
|
accuracy: 85.6,
|
|
imageUrl: 'https://i.imgur.com/rM2a3YV.png',
|
|
extractedText:
|
|
'FAKTUR PEMBELIAN PAKAN\nNo: INV/2025/VII/123\nSupplier: PT Pakan Sejahtera\nItem: CP 511 Bravo\nJumlah: 200 karung\nTotal Harga: Rp 95.000,000',
|
|
},
|
|
{
|
|
id: 'ocr-3',
|
|
fileName: 'catatan_harian_kdg_C.png',
|
|
uploadedAt: new Date(Date.now() - 2 * 60 * 60 * 1000),
|
|
status: 'Completed',
|
|
documentType: 'Catatan Harian',
|
|
accuracy: 96.8,
|
|
imageUrl: 'https://i.imgur.com/KqW6F9p.png',
|
|
extractedText:
|
|
'CATATAN HARIAN - KANDANG C\nOperator: Budi\n- Mortalitas: 12 ekor\n- Suhu maks: 32.1 C\n- Kelembaban min: 65%\n- Kipas menyala pukul 11:00 - 15:00',
|
|
},
|
|
{
|
|
id: 'ocr-4',
|
|
fileName: 'IMG_20250802_1530.jpg',
|
|
uploadedAt: new Date(Date.now() - 1 * 24 * 60 * 60 * 1000),
|
|
status: 'Processing',
|
|
documentType: 'Tidak Dikenal',
|
|
accuracy: 0,
|
|
imageUrl: 'https://i.imgur.com/7g2Cw2s.png',
|
|
extractedText: '',
|
|
},
|
|
{
|
|
id: 'ocr-5',
|
|
fileName: 'scan_faktur_pakan_0108.pdf',
|
|
uploadedAt: new Date(Date.now() - 2 * 24 * 60 * 60 * 1000),
|
|
status: 'Failed',
|
|
documentType: 'Faktur Pakan',
|
|
accuracy: 0,
|
|
imageUrl: 'https://i.imgur.com/rM2a3YV.png',
|
|
extractedText: 'Error: Dokumen tidak dapat dibaca, kualitas gambar terlalu rendah.',
|
|
},
|
|
];
|
|
|
|
export const initialOcrStats: OcrStats = {
|
|
processedToday: initialOcrDocuments.filter(
|
|
(d) => d.uploadedAt.toDateString() === new Date().toDateString()
|
|
).length,
|
|
avgAccuracy: 93.9,
|
|
needsReview: initialOcrDocuments.filter((d) => d.status === 'Needs Review').length,
|
|
};
|