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()
|
cursor.close()
|
||||||
conn.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:
|
Args:
|
||||||
filename: Name of the file to check
|
filename: Name of the file to check
|
||||||
|
bankcode: Bank code to check
|
||||||
|
|
||||||
Returns:
|
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()
|
conn = self.connector.get_connection()
|
||||||
try:
|
try:
|
||||||
cursor = conn.cursor()
|
cursor = conn.cursor()
|
||||||
cursor.execute(
|
cursor.execute(
|
||||||
"SELECT COUNT(*) FROM ach_processed_files WHERE filename = :filename",
|
"SELECT COUNT(*) FROM ach_processed_files WHERE filename = :filename AND bankcode = :bankcode",
|
||||||
{'filename': filename}
|
{'filename': filename, 'bankcode': bankcode}
|
||||||
)
|
)
|
||||||
count = cursor.fetchone()[0]
|
count = cursor.fetchone()[0]
|
||||||
return count > 0
|
return count > 0
|
||||||
|
|||||||
@@ -62,9 +62,9 @@ class FileProcessor:
|
|||||||
try:
|
try:
|
||||||
logger.info(f"Starting processing: {filename} (bank: {bankcode})")
|
logger.info(f"Starting processing: {filename} (bank: {bankcode})")
|
||||||
|
|
||||||
# Step 1: Check if already processed
|
# Step 1: Check if already processed for this bank
|
||||||
if self.repository.is_file_processed(filename):
|
if self.repository.is_file_processed(filename, bankcode):
|
||||||
logger.info(f"File already processed: {filename}")
|
logger.info(f"File already processed for {bankcode}: {filename}")
|
||||||
return True
|
return True
|
||||||
|
|
||||||
# Step 2: Download file
|
# Step 2: Download file
|
||||||
|
|||||||
Reference in New Issue
Block a user