added bank code and filename as composite key for ach_processed_files table
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user