From 5ceeae9c3d14412042fe746c31edad4e9bc5bb19 Mon Sep 17 00:00:00 2001 From: asif Date: Tue, 3 Feb 2026 17:05:08 +0530 Subject: [PATCH] added bank code and filename as composite key for ach_processed_files table --- db/repository.py | 11 ++++++----- processors/file_processor.py | 6 +++--- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/db/repository.py b/db/repository.py index aad1ae3..ca6099c 100644 --- a/db/repository.py +++ b/db/repository.py @@ -107,22 +107,23 @@ class Repository: cursor.close() conn.close() - def is_file_processed(self, filename: str) -> bool: + def is_file_processed(self, filename: str, bankcode: str) -> bool: """ - Check if file has already been processed. + Check if file has already been processed for a specific bank. Args: filename: Name of the file to check + bankcode: Bank code to check Returns: - True if file is in processed list, False otherwise + True if file is in processed list for this bank, False otherwise """ conn = self.connector.get_connection() try: cursor = conn.cursor() cursor.execute( - "SELECT COUNT(*) FROM ach_processed_files WHERE filename = :filename", - {'filename': filename} + "SELECT COUNT(*) FROM ach_processed_files WHERE filename = :filename AND bankcode = :bankcode", + {'filename': filename, 'bankcode': bankcode} ) count = cursor.fetchone()[0] return count > 0 diff --git a/processors/file_processor.py b/processors/file_processor.py index b01e2f4..a050f41 100644 --- a/processors/file_processor.py +++ b/processors/file_processor.py @@ -62,9 +62,9 @@ class FileProcessor: try: logger.info(f"Starting processing: {filename} (bank: {bankcode})") - # Step 1: Check if already processed - if self.repository.is_file_processed(filename): - logger.info(f"File already processed: {filename}") + # Step 1: Check if already processed for this bank + if self.repository.is_file_processed(filename, bankcode): + logger.info(f"File already processed for {bankcode}: {filename}") return True # Step 2: Download file